74 lines
2 KiB
TOML
74 lines
2 KiB
TOML
|
|
[package]
|
||
|
|
license = "Apache-2.0"
|
||
|
|
name = "xai-codebase-graph"
|
||
|
|
version = "0.1.0"
|
||
|
|
edition.workspace = true
|
||
|
|
description = "High-performance code graph generation using tree-sitter queries"
|
||
|
|
|
||
|
|
[features]
|
||
|
|
default = []
|
||
|
|
|
||
|
|
[[bin]]
|
||
|
|
name = "code-graph"
|
||
|
|
path = "src/bin/code_graph.rs"
|
||
|
|
|
||
|
|
[[bin]]
|
||
|
|
name = "bench_index"
|
||
|
|
path = "src/bin/bench_index.rs"
|
||
|
|
|
||
|
|
[[bin]]
|
||
|
|
name = "bench_file_listing"
|
||
|
|
path = "src/bin/bench_file_listing.rs"
|
||
|
|
|
||
|
|
[dependencies]
|
||
|
|
# Path utilities
|
||
|
|
dunce = { workspace = true }
|
||
|
|
xai-grok-paths = { path = "../xai-grok-paths" }
|
||
|
|
# Graph generation
|
||
|
|
petgraph = { workspace = true }
|
||
|
|
serde = { workspace = true, features = ["rc"] }
|
||
|
|
serde_json = { workspace = true, features = ["preserve_order"] }
|
||
|
|
# Parallel processing
|
||
|
|
rayon = { workspace = true }
|
||
|
|
crossbeam = { workspace = true }
|
||
|
|
num_cpus = { workspace = true }
|
||
|
|
# Directory walking with gitignore support
|
||
|
|
ignore = { workspace = true }
|
||
|
|
# Git repository access
|
||
|
|
git2 = { version = "0.20", default-features = false }
|
||
|
|
# Fast allocators for multi-threaded workloads
|
||
|
|
mimalloc = "0.1"
|
||
|
|
# Fast hash for better HashMap performance
|
||
|
|
ahash = { version = "0.8", features = ["serde"] }
|
||
|
|
# Additional hash utilities for StringInterner
|
||
|
|
hashbrown = "0.15"
|
||
|
|
nohash-hasher = "0.2"
|
||
|
|
rustc-hash = { workspace = true }
|
||
|
|
smallvec = { workspace = true }
|
||
|
|
# CLI argument parsing
|
||
|
|
clap = { version = "4", features = ["derive"] }
|
||
|
|
# Async runtime (for oneshot channels, sync feature for blocking_recv)
|
||
|
|
tokio = { workspace = true, features = ["sync"] }
|
||
|
|
# Logging
|
||
|
|
tracing = { workspace = true }
|
||
|
|
# Lazy static initialization
|
||
|
|
once_cell = { workspace = true }
|
||
|
|
# Concurrent hash map for deduplication registries
|
||
|
|
dashmap = { workspace = true }
|
||
|
|
# Parsing, keeping it here to avoid pollution
|
||
|
|
tree-sitter = "0.25.10"
|
||
|
|
tree-sitter-rust = "0.24.0"
|
||
|
|
tree-sitter-typescript = "0.23.2"
|
||
|
|
tree-sitter-python = "0.25.0"
|
||
|
|
tree-sitter-go = "0.25.0"
|
||
|
|
tree-sitter-javascript = "0.25.0"
|
||
|
|
|
||
|
|
# Unix process checking for lock staleness detection
|
||
|
|
[target.'cfg(unix)'.dependencies]
|
||
|
|
libc = { workspace = true }
|
||
|
|
|
||
|
|
[dev-dependencies]
|
||
|
|
tempfile = "3"
|
||
|
|
|
||
|
|
[lints]
|
||
|
|
workspace = true
|