[[bench]]
name = "aggregation_benchmark"
path = "benches/aggregation_benchmark.rs"
[[bench]]
harness = false
name = "ast_parsing_optimization_bench"
path = "benches/ast_parsing_optimization_bench.rs"
[[bench]]
harness = false
name = "cache_pruning"
path = "benches/cache_pruning.rs"
[[bench]]
harness = false
name = "call_graph_bench"
path = "benches/call_graph_bench.rs"
[[bench]]
name = "concise_recommendation_bench"
path = "benches/concise_recommendation_bench.rs"
[[bench]]
harness = false
name = "constructor_detection_bench"
path = "benches/constructor_detection_bench.rs"
[[bench]]
harness = false
name = "coverage_performance"
path = "benches/coverage_performance.rs"
[[bench]]
harness = false
name = "coverage_scoring"
path = "benches/coverage_scoring.rs"
[[bench]]
name = "cross_file_resolution_bench"
path = "benches/cross_file_resolution_bench.rs"
[[bench]]
name = "evidence_formatter_bench"
path = "benches/evidence_formatter_bench.rs"
[[bench]]
name = "framework_patterns"
path = "benches/framework_patterns.rs"
[[bench]]
name = "god_object_struct_ownership_bench"
path = "benches/god_object_struct_ownership_bench.rs"
[[bench]]
harness = false
name = "lcov_parallel_bench"
path = "benches/lcov_parallel_bench.rs"
[[bench]]
name = "orchestration_adjustment_bench"
path = "benches/orchestration_adjustment_bench.rs"
[[bench]]
harness = false
name = "parallel_performance"
path = "benches/parallel_performance.rs"
[[bench]]
name = "pattern_detection_bench"
path = "benches/pattern_detection_bench.rs"
[[bench]]
name = "python_callback_tracking_bench"
path = "benches/python_callback_tracking_bench.rs"
[[bench]]
harness = false
name = "python_import_resolution_bench"
path = "benches/python_import_resolution_bench.rs"
[[bench]]
harness = false
name = "python_type_inference_bench"
path = "benches/python_type_inference_bench.rs"
[[bench]]
name = "rebalanced_scoring_bench"
path = "benches/rebalanced_scoring_bench.rs"
[[bench]]
harness = false
name = "score_based_sorting_bench"
path = "benches/score_based_sorting_bench.rs"
[[bench]]
harness = false
name = "unified_output_format_bench"
path = "benches/unified_output_format_bench.rs"
[[bench]]
harness = false
name = "validate_parallel_bench"
path = "benches/validate_parallel_bench.rs"
[[bin]]
name = "debtmap"
path = "src/main.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.bincode]
version = "1.3"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive", "env"]
version = "4.5"
[dependencies.colored]
version = "3.0"
[dependencies.comfy-table]
version = "7.1"
[dependencies.crossbeam]
version = "0.8"
[dependencies.dashmap]
version = "6.1"
[dependencies.env_logger]
version = "0.11"
[dependencies.glob]
version = "0.3"
[dependencies.ignore]
version = "0.4"
[dependencies.im]
features = ["serde"]
version = "15.1"
[dependencies.indicatif]
features = ["rayon"]
version = "0.18"
[dependencies.lazy_static]
version = "1.5.0"
[dependencies.lcov]
version = "0.8"
[dependencies.log]
version = "0.4"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.pathdiff]
version = "0.2"
[dependencies.petgraph]
version = "0.8"
[dependencies.proc-macro2]
features = ["span-locations"]
version = "1.0"
[dependencies.quote]
version = "1.0"
[dependencies.rayon]
version = "1.10"
[dependencies.regex]
version = "1.10"
[dependencies.rustc-demangle]
version = "0.1"
[dependencies.rustpython-parser]
version = "0.4"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.syn]
features = ["full", "visit", "extra-traits"]
version = "2.0"
[dependencies.thiserror]
version = "2.0"
[dependencies.toml]
version = "0.9"
[dependencies.tree-sitter]
version = "0.25"
[dependencies.tree-sitter-javascript]
version = "0.25"
[dependencies.tree-sitter-typescript]
version = "0.23"
[dependencies.walkdir]
version = "2.5"
[dependencies.which]
version = "8.0"
[dependencies.xxhash-rust]
features = ["xxh64"]
version = "0.8"
[dev-dependencies.cargo-modules]
version = "0.25"
[dev-dependencies.criterion]
version = "0.7"
[dev-dependencies.indoc]
version = "2.0"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.10"
[[example]]
name = "enhanced_complexity_demo"
path = "examples/enhanced_complexity_demo.rs"
[[example]]
name = "extreme_debt_example"
path = "examples/extreme_debt_example.rs"
[[example]]
name = "false_positive_reduction_demo"
path = "examples/false_positive_reduction_demo.rs"
[[example]]
name = "simple_calls"
path = "examples/simple_calls.rs"
[lib]
name = "debtmap"
path = "src/lib.rs"
[package]
authors = ["Glen Baker <iepathos@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["development-tools", "command-line-utilities"]
description = "Code complexity and technical debt analyzer"
edition = "2021"
keywords = ["code-analysis", "technical-debt", "complexity", "static-analysis"]
license = "MIT"
name = "debtmap"
readme = "README.md"
repository = "https://github.com/iepathos/debtmap"
version = "0.3.5"
[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/.*"]
[profile.dev]
debug = 2
incremental = true
opt-level = 0
split-debuginfo = "unpacked"
[profile.dev.package."*"]
opt-level = 3
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
strip = true
[[test]]
name = "analyzer_tests"
path = "tests/analyzer_tests.rs"
[[test]]
name = "apply_entropy_dampening_tests"
path = "tests/apply_entropy_dampening_tests.rs"
[[test]]
name = "blog_samples_recommendation_test"
path = "tests/blog_samples_recommendation_test.rs"
[[test]]
name = "boilerplate_integration_test"
path = "tests/boilerplate_integration_test.rs"
[[test]]
name = "boilerplate_performance_test"
path = "tests/boilerplate_performance_test.rs"
[[test]]
name = "bug_documentation_tests"
path = "tests/bug_documentation_tests.rs"
[[test]]
name = "cache_auto_pruning"
path = "tests/cache_auto_pruning.rs"
[[test]]
name = "cache_integration"
path = "tests/cache_integration.rs"
[[test]]
name = "call_graph_closure_test"
path = "tests/call_graph_closure_test.rs"
[[test]]
name = "call_graph_comprehensive_test"
path = "tests/call_graph_comprehensive_test.rs"
[[test]]
name = "call_graph_cross_file_resolution_test"
path = "tests/call_graph_cross_file_resolution_test.rs"
[[test]]
name = "call_graph_cross_module_resolution_test"
path = "tests/call_graph_cross_module_resolution_test.rs"
[[test]]
name = "call_graph_debug_output_test"
path = "tests/call_graph_debug_output_test.rs"
[[test]]
name = "call_graph_disambiguation_test"
path = "tests/call_graph_disambiguation_test.rs"
[[test]]
name = "call_graph_extraction_test"
path = "tests/call_graph_extraction_test.rs"
[[test]]
name = "call_graph_improved_test"
path = "tests/call_graph_improved_test.rs"
[[test]]
name = "call_graph_resolution_test"
path = "tests/call_graph_resolution_test.rs"
[[test]]
name = "call_graph_struct_literal_test"
path = "tests/call_graph_struct_literal_test.rs"
[[test]]
name = "cleanup_test"
path = "tests/cleanup_test.rs"
[[test]]
name = "cli_output_format_integration_test"
path = "tests/cli_output_format_integration_test.rs"
[[test]]
name = "closure_purity_test"
path = "tests/closure_purity_test.rs"
[[test]]
name = "cognitive_complexity_tests"
path = "tests/cognitive_complexity_tests.rs"
[[test]]
name = "compare_integration_test"
path = "tests/compare_integration_test.rs"
[[test]]
name = "complexity_comparison_test"
path = "tests/complexity_comparison_test.rs"
[[test]]
name = "complexity_module_tests"
path = "tests/complexity_module_tests.rs"
[[test]]
name = "complexity_pattern_entropy_test"
path = "tests/complexity_pattern_entropy_test.rs"
[[test]]
name = "complexity_tests"
path = "tests/complexity_tests.rs"
[[test]]
name = "context_aware_integration_test"
path = "tests/context_aware_integration_test.rs"
[[test]]
name = "context_aware_test"
path = "tests/context_aware_test.rs"
[[test]]
name = "core_ast_tests"
path = "tests/core_ast_tests.rs"
[[test]]
name = "core_cache_tests"
path = "tests/core_cache_tests.rs"
[[test]]
name = "core_display_tests"
path = "tests/core_display_tests.rs"
[[test]]
name = "core_metrics_tests"
path = "tests/core_metrics_tests.rs"
[[test]]
name = "core_monadic_tests"
path = "tests/core_monadic_tests.rs"
[[test]]
name = "core_untested_functions_tests"
path = "tests/core_untested_functions_tests.rs"
[[test]]
name = "coverage_data_optional_test"
path = "tests/coverage_data_optional_test.rs"
[[test]]
name = "coverage_fixes_test"
path = "tests/coverage_fixes_test.rs"
[[test]]
name = "coverage_performance_regression_test"
path = "tests/coverage_performance_regression_test.rs"
[[test]]
name = "coverage_scoring_integration_test"
path = "tests/coverage_scoring_integration_test.rs"
[[test]]
name = "coverage_warning_message_test"
path = "tests/coverage_warning_message_test.rs"
[[test]]
name = "cross_module_call_false_positive_test"
path = "tests/cross_module_call_false_positive_test.rs"
[[test]]
name = "cross_module_field_access_test"
path = "tests/cross_module_field_access_test.rs"
[[test]]
name = "cyclomatic_complexity_tests"
path = "tests/cyclomatic_complexity_tests.rs"
[[test]]
name = "debt_grouping_tests"
path = "tests/debt_grouping_tests.rs"
[[test]]
name = "debt_tests"
path = "tests/debt_tests.rs"
[[test]]
name = "debtitem_deserialization_test"
path = "tests/debtitem_deserialization_test.rs"
[[test]]
name = "debug_trait_analyzer"
path = "tests/debug_trait_analyzer.rs"
[[test]]
name = "demo_library_api_test"
path = "tests/demo_library_api_test.rs"
[[test]]
name = "dependency_and_coupling_tests"
path = "tests/dependency_and_coupling_tests.rs"
[[test]]
name = "dependency_injection_test"
path = "tests/dependency_injection_test.rs"
[[test]]
name = "domain_diversity_output_test"
path = "tests/domain_diversity_output_test.rs"
[[test]]
name = "entropy_framework_test"
path = "tests/entropy_framework_test.rs"
[[test]]
name = "entropy_integration_tests"
path = "tests/entropy_integration_tests.rs"
[[test]]
name = "entropy_tests"
path = "tests/entropy_tests.rs"
[[test]]
name = "error_swallowing_test"
path = "tests/error_swallowing_test.rs"
[[test]]
name = "evidence_display_integration_test"
path = "tests/evidence_display_integration_test.rs"
[[test]]
name = "external_api_detection_tests"
path = "tests/external_api_detection_tests.rs"
[[test]]
name = "external_api_detector_integration_test"
path = "tests/external_api_detector_integration_test.rs"
[[test]]
name = "extraction_patterns_test"
path = "tests/extraction_patterns_test.rs"
[[test]]
name = "false_positive_reproduction_tests"
path = "tests/false_positive_reproduction_tests.rs"
[[test]]
name = "fast_unit_tests"
path = "tests/fast_unit_tests.rs"
[[test]]
name = "field_access_chain_test"
path = "tests/field_access_chain_test.rs"
[[test]]
name = "file_level_scoring_integration_test"
path = "tests/file_level_scoring_integration_test.rs"
[[test]]
name = "framework_patterns_integration"
path = "tests/framework_patterns_integration.rs"
[[test]]
name = "function_return_type_tracking"
path = "tests/function_return_type_tracking.rs"
[[test]]
name = "functional_composition_validation_test"
path = "tests/functional_composition_validation_test.rs"
[[test]]
name = "god_object_config_rs_test"
path = "tests/god_object_config_rs_test.rs"
[[test]]
name = "god_object_detection_test"
path = "tests/god_object_detection_test.rs"
[[test]]
name = "god_object_metrics_test"
path = "tests/god_object_metrics_test.rs"
[[test]]
name = "god_object_struct_recommendations"
path = "tests/god_object_struct_recommendations.rs"
[[test]]
name = "integration_false_positive_test"
path = "tests/integration_false_positive_test.rs"
[[test]]
name = "inter_procedural_purity_test"
path = "tests/inter_procedural_purity_test.rs"
[[test]]
name = "io_walker_tests"
path = "tests/io_walker_tests.rs"
[[test]]
name = "javascript_typescript_test"
path = "tests/javascript_typescript_test.rs"
[[test]]
name = "json_serialization_test"
path = "tests/json_serialization_test.rs"
[[test]]
name = "language_specific_dead_code_test"
path = "tests/language_specific_dead_code_test.rs"
[[test]]
name = "language_tests"
path = "tests/language_tests.rs"
[[test]]
name = "lcov_coverage_matching_bug_test"
path = "tests/lcov_coverage_matching_bug_test.rs"
[[test]]
name = "lcov_path_mismatch_test"
path = "tests/lcov_path_mismatch_test.rs"
[[test]]
name = "lcov_real_path_issue"
path = "tests/lcov_real_path_issue.rs"
[[test]]
name = "lcov_tests"
path = "tests/lcov_tests.rs"
[[test]]
name = "loc_consistency_test"
path = "tests/loc_consistency_test.rs"
[[test]]
name = "macro_parsing_test"
path = "tests/macro_parsing_test.rs"
[[test]]
name = "mapping_pattern_integration_test"
path = "tests/mapping_pattern_integration_test.rs"
[[test]]
name = "method_call_detection_test"
path = "tests/method_call_detection_test.rs"
[[test]]
name = "method_function_disambiguation_integration_test"
path = "tests/method_function_disambiguation_integration_test.rs"
[[test]]
name = "method_function_disambiguation_test"
path = "tests/method_function_disambiguation_test.rs"
[[test]]
name = "method_new_constructor_disambiguation_test"
path = "tests/method_new_constructor_disambiguation_test.rs"
[[test]]
name = "multi_signal_accuracy_test"
path = "tests/multi_signal_accuracy_test.rs"
[[test]]
name = "multi_signal_integration_test"
path = "tests/multi_signal_integration_test.rs"
[[test]]
name = "nesting_calculation_test"
path = "tests/nesting_calculation_test.rs"
[[test]]
name = "orchestration_adjustment_integration_test"
path = "tests/orchestration_adjustment_integration_test.rs"
[[test]]
name = "organization_test"
path = "tests/organization_test.rs"
[[test]]
name = "output_format_tests"
path = "tests/output_format_tests.rs"
[[test]]
name = "output_tests"
path = "tests/output_tests.rs"
[[test]]
name = "parallel_unified_analysis_test"
path = "tests/parallel_unified_analysis_test.rs"
[[test]]
name = "pattern_adjustments_test"
path = "tests/pattern_adjustments_test.rs"
[[test]]
name = "pattern_detection_integration"
path = "tests/pattern_detection_integration.rs"
[[test]]
name = "purity_detection_test"
path = "tests/purity_detection_test.rs"
[[test]]
name = "python_callback_accuracy_test"
path = "tests/python_callback_accuracy_test.rs"
[[test]]
name = "python_cross_module_test"
path = "tests/python_cross_module_test.rs"
[[test]]
name = "python_dead_code_enhanced_integration_test"
path = "tests/python_dead_code_enhanced_integration_test.rs"
[[test]]
name = "python_dead_code_false_positive_validation"
path = "tests/python_dead_code_false_positive_validation.rs"
[[test]]
name = "python_dead_code_test"
path = "tests/python_dead_code_test.rs"
[[test]]
name = "python_detector_test"
path = "tests/python_detector_test.rs"
[[test]]
name = "python_entropy_test"
path = "tests/python_entropy_test.rs"
[[test]]
name = "python_event_binding_test"
path = "tests/python_event_binding_test.rs"
[[test]]
name = "python_framework_patterns_test"
path = "tests/python_framework_patterns_test.rs"
[[test]]
name = "python_import_resolution_properties"
path = "tests/python_import_resolution_properties.rs"
[[test]]
name = "python_observer_pattern_integration_test"
path = "tests/python_observer_pattern_integration_test.rs"
[[test]]
name = "python_organization_test"
path = "tests/python_organization_test.rs"
[[test]]
name = "python_pattern_extraction_test"
path = "tests/python_pattern_extraction_test.rs"
[[test]]
name = "python_resource_detection_test"
path = "tests/python_resource_detection_test.rs"
[[test]]
name = "python_specific_patterns_test"
path = "tests/python_specific_patterns_test.rs"
[[test]]
name = "python_static_errors_integration_test"
path = "tests/python_static_errors_integration_test.rs"
[[test]]
name = "python_token_extraction_test"
path = "tests/python_token_extraction_test.rs"
[[test]]
name = "python_type_tracking_integration"
path = "tests/python_type_tracking_integration.rs"
[[test]]
name = "real_struct_literal_test"
path = "tests/real_struct_literal_test.rs"
[[test]]
name = "recommendation_consistency_test"
path = "tests/recommendation_consistency_test.rs"
[[test]]
name = "refactoring_test"
path = "tests/refactoring_test.rs"
[[test]]
name = "regression_bug_10_cross_file_dead_code"
path = "tests/regression_bug_10_cross_file_dead_code.rs"
[[test]]
name = "ripgrep_flags_boilerplate_test"
path = "tests/ripgrep_flags_boilerplate_test.rs"
[[test]]
name = "risk_analysis_tests"
path = "tests/risk_analysis_tests.rs"
[[test]]
name = "risk_context_tests"
path = "tests/risk_context_tests.rs"
[[test]]
name = "risk_insights_formatting_tests"
path = "tests/risk_insights_formatting_tests.rs"
[[test]]
name = "risk_tests"
path = "tests/risk_tests.rs"
[[test]]
name = "rust_false_positive_test"
path = "tests/rust_false_positive_test.rs"
[[test]]
name = "scoring_rebalanced_integration_test"
path = "tests/scoring_rebalanced_integration_test.rs"
[[test]]
name = "semantic_normalization_test"
path = "tests/semantic_normalization_test.rs"
[[test]]
name = "simple_cross_module_test"
path = "tests/simple_cross_module_test.rs"
[[test]]
name = "smell_tests"
path = "tests/smell_tests.rs"
[[test]]
name = "state_machine_pattern_detection_test"
path = "tests/state_machine_pattern_detection_test.rs"
[[test]]
name = "stress_test_large_projects"
path = "tests/stress_test_large_projects.rs"
[[test]]
name = "struct_init_integration_test"
path = "tests/struct_init_integration_test.rs"
[[test]]
name = "struct_literal_call_test"
path = "tests/struct_literal_call_test.rs"
[[test]]
name = "suppression_tests"
path = "tests/suppression_tests.rs"
[[test]]
name = "test_async_false_positive"
path = "tests/test_async_false_positive.rs"
[[test]]
name = "test_category_filtering"
path = "tests/test_category_filtering.rs"
[[test]]
name = "test_color_validation"
path = "tests/test_color_validation.rs"
[[test]]
name = "test_concise_recommendations_ripgrep"
path = "tests/test_concise_recommendations_ripgrep.rs"
[[test]]
name = "test_cross_module_resolution"
path = "tests/test_cross_module_resolution.rs"
[[test]]
name = "test_enhanced_complexity"
path = "tests/test_enhanced_complexity.rs"
[[test]]
name = "test_file_detection_integration_test"
path = "tests/test_file_detection_integration_test.rs"
[[test]]
name = "test_formatting"
path = "tests/test_formatting.rs"
[[test]]
name = "test_framework_pattern_exclusions"
path = "tests/test_framework_pattern_exclusions.rs"
[[test]]
name = "test_markdown_enhanced_output"
path = "tests/test_markdown_enhanced_output.rs"
[[test]]
name = "test_testing_patterns"
path = "tests/test_testing_patterns.rs"
[[test]]
name = "test_type_tracking"
path = "tests/test_type_tracking.rs"
[[test]]
name = "token_classification_tests"
path = "tests/token_classification_tests.rs"
[[test]]
name = "trait_tracking_test"
path = "tests/trait_tracking_test.rs"
[[test]]
name = "type_tracker_struct_literal_test"
path = "tests/type_tracker_struct_literal_test.rs"
[[test]]
name = "type_tracking_test"
path = "tests/type_tracking_test.rs"
[[test]]
name = "validate_improvement_integration_test"
path = "tests/validate_improvement_integration_test.rs"
[[test]]
name = "validate_parallel_test"
path = "tests/validate_parallel_test.rs"
[[test]]
name = "visibility_tracking_integration_test"
path = "tests/visibility_tracking_integration_test.rs"
[[test]]
name = "well_tested_simple_function_exclusion_test"
path = "tests/well_tested_simple_function_exclusion_test.rs"