79 lines
2.2 KiB
TOML
79 lines
2.2 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/domain",
|
|
"crates/application",
|
|
"crates/presentation",
|
|
"crates/adapters/tree-sitter",
|
|
"crates/adapters/walkdir",
|
|
"crates/adapters/mermaid",
|
|
"crates/adapters/ascii",
|
|
"crates/adapters/file-writer",
|
|
"crates/adapters/stdout-writer",
|
|
"crates/adapters/toml-config",
|
|
"crates/adapters/cargo-workspace",
|
|
"crates/adapters/python-project",
|
|
"crates/adapters/d2",
|
|
"crates/adapters/html-viewer",
|
|
"crates/adapters/rendering-primitives",
|
|
]
|
|
|
|
[workspace.dependencies]
|
|
# Internal crates
|
|
archlens-domain = { path = "crates/domain" }
|
|
archlens-application = { path = "crates/application" }
|
|
archlens-tree-sitter = { path = "crates/adapters/tree-sitter" }
|
|
archlens-walkdir = { path = "crates/adapters/walkdir" }
|
|
archlens-mermaid = { path = "crates/adapters/mermaid" }
|
|
archlens-ascii = { path = "crates/adapters/ascii" }
|
|
archlens-file-writer = { path = "crates/adapters/file-writer" }
|
|
archlens-stdout-writer = { path = "crates/adapters/stdout-writer" }
|
|
archlens-toml-config = { path = "crates/adapters/toml-config" }
|
|
archlens-cargo-workspace = { path = "crates/adapters/cargo-workspace" }
|
|
archlens-python-project = { path = "crates/adapters/python-project" }
|
|
archlens-d2 = { path = "crates/adapters/d2" }
|
|
archlens-html = { path = "crates/adapters/html-viewer" }
|
|
archlens-rendering-primitives = { path = "crates/adapters/rendering-primitives" }
|
|
serde_json = "1"
|
|
|
|
# Error handling
|
|
thiserror = "2"
|
|
anyhow = "1"
|
|
|
|
# Parsing
|
|
tree-sitter = "0.24"
|
|
tree-sitter-rust = "0.23"
|
|
tree-sitter-python = "0.23"
|
|
tree-sitter-c-sharp = "0.23"
|
|
|
|
# File discovery
|
|
walkdir = "2"
|
|
ignore = "0.4"
|
|
|
|
# Config
|
|
toml = "0.8"
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
# CLI
|
|
clap = { version = "4", features = ["derive"] }
|
|
|
|
# Observability
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# Parallelism
|
|
rayon = "1"
|
|
|
|
# File watching
|
|
notify = { version = "7", features = ["serde"] }
|
|
|
|
# Testing
|
|
tempfile = "3"
|
|
|
|
[profile.release]
|
|
opt-level = "z" # optimise for size
|
|
lto = true # cross-crate dead-code elimination
|
|
codegen-units = 1 # single unit = better LTO
|
|
strip = true # strip symbols from final binary
|
|
panic = "abort" # drop unwinding machinery (~200 KB)
|