[package]
name = "debtmap"
version = "0.16.7"
edition = "2021"
rust-version = "1.89"
authors = ["Glen Baker <iepathos@gmail.com>"]
description = "Code complexity and technical debt analyzer"
license = "MIT"
repository = "https://github.com/iepathos/debtmap"
homepage = "https://iepathos.github.io/debtmap/"
documentation = "https://docs.rs/debtmap"
readme = "README.md"
keywords = ["code-analysis", "technical-debt", "complexity", "static-analysis"]
categories = ["development-tools", "command-line-utilities"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-pc-windows-msvc"]
[package.metadata.llvm-cov]
ignore-filename-regex = [
"tests/.*",
".*_test\\.rs",
".*_tests\\.rs",
".*/tests/.*",
".*/test/.*",
"benches/.*",
".*/bench/.*",
".*/benchmark/.*"
]
[lib]
name = "debtmap"
path = "src/lib.rs"
[[bin]]
name = "debtmap"
path = "src/main.rs"
[dependencies]
syn = { version = "2.0", features = ["full", "visit", "extra-traits"] }
proc-macro2 = { version = "1.0", features = ["span-locations"] }
tree-sitter = "0.23"
tree-sitter-javascript = "0.23"
tree-sitter-typescript = "0.23"
tree-sitter-python = "0.23"
clap = { version = "4.6", features = ["derive", "env"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
toml = "0.9"
im = { version = "15.1", features = ["serde"] }
lcov = "0.8"
rustc-demangle = "0.1"
rayon = "1.10"
dashmap = "6.1"
crossbeam = "0.8"
parking_lot = "0.12"
sha2 = "0.10"
xxhash-rust = { version = "0.8", features = ["xxh64"] }
postcard = { version = "1.1", default-features = false, features = ["alloc"] }
quote = "1.0"
glob = "0.3"
regex = "1.10"
which = "8.0"
anyhow = "1.0.102"
thiserror = "2.0"
stillwater = { version = "1.0", features = ["async", "serde"] }
premortem = "0.6.1"
tokio = { version = "1.51", features = ["rt", "rt-multi-thread"] }
walkdir = "2.5"
ignore = "0.4.25"
colored = "3.0"
comfy-table = "7.1"
indicatif = { version = "0.18", features = ["rayon"] }
ratatui = "0.30"
crossterm = "0.29"
instability = "0.3.7"
time = "0.3.37"
libc = "0.2"
unicode-width = "0.2"
num_cpus = "1.16"
arboard = "3.5"
fuzzy-matcher = "0.3"
chrono = { version = "0.4.44", features = ["serde"] }
pathdiff = "0.2"
once_cell = "1.21.4"
dirs = "6.0"
log = "0.4"
env_logger = "0.11"
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
git2 = { version = "0.20", features = ["vendored-openssl"] }
openssl-sys = "0.9.113"
openssl-src = "300"
petgraph = "0.8.1"
lazy_static = "1.5.0"
html-escape = "0.2.13"
tui-scrollview = "0.6.3"
[dev-dependencies]
proptest = "1.11"
pretty_assertions = "1.4"
tempfile = "3.27"
criterion = "0.8"
trybuild = "1.0"
assert_cmd = "2.2"
indoc = "2.0"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[profile.dev]
opt-level = 0
debug = true
split-debuginfo = "unpacked"
incremental = true
[profile.dev.package."*"]
opt-level = 3
[[bench]]
name = "call_graph_bench"
harness = false
[[bench]]
name = "lcov_parallel_bench"
harness = false
[[bench]]
name = "parallel_performance"
harness = false
[[bench]]
name = "unified_output_format_bench"
harness = false
[[bench]]
name = "constructor_detection_bench"
harness = false
[[bench]]
name = "validate_parallel_bench"
harness = false
[[bench]]
name = "ast_parsing_optimization_bench"
harness = false
[[bench]]
name = "coverage_performance"
harness = false
[[bench]]
name = "coverage_scoring"
harness = false
[[bench]]
name = "score_based_sorting_bench"
harness = false
[[bench]]
name = "batch_analysis"
harness = false
[[bench]]
name = "tier_classification_bench"
harness = false