loctree 0.6.21

Fast, language-aware codebase analyzer for detecting dead exports, circular imports, and generating dependency graphs
Documentation
[package]
name = "loctree"
version = "0.6.21"
edition = "2024"
default-run = "loctree"
authors = ["Loctree <loct@loctree.io>"]
description = "Fast, language-aware codebase analyzer for detecting dead exports, circular imports, and generating dependency graphs"
license = "MIT"
repository = "https://github.com/Loctree/Loctree"
readme = "../README.md"
keywords = ["static-analysis", "dead-code", "imports", "exports", "codebase"]
categories = ["development-tools", "command-line-utilities"]

[lib]
name = "loctree"
path = "src/lib.rs"

[[bin]]
name = "loctree"
path = "src/bin/loctree.rs"

[[bin]]
name = "loct"
path = "src/bin/loct.rs"

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
json-five = "0.3"
regex = "1.12"
globset = "0.4"
heck = "0.5"
time = { version = "0.3", features = ["formatting"] }
report-leptos = { version = "0.1.9", path = "../reports" }
git2 = "0.20"
toml = "0.8"
urlencoding = "2.1"
once_cell = "1.19"

# AST Parsing (TypeScript/JavaScript) - OXC
oxc_allocator = "0.102.0"
oxc_parser = "0.102.0"
oxc_span = "0.102.0"
oxc_ast = "0.102.0"
oxc_ast_visit = "0.102.0"
oxc_semantic = "0.102.0"
tempfile = "3"

# AI Memory integration (memex command) - optional, pulls heavy deps (datafusion)
# rmcp-memex not yet on crates.io - disabled for publish
# rmcp-memex = { path = "../rmcp_memex", optional = true }
tokio = { version = "1.0", features = ["rt-multi-thread"] }

# Progress UI (spinners, progress bars)
indicatif = "0.18"
console = "0.16"
anyhow = "1.0"
walkdir = "2.4"
uuid = { version = "1.0", features = ["v4"] }
chrono = { version = "0.4", features = ["serde"] }
colored = "3.0"

# jq-compatible filtering for query mode
jaq-core = "2.2"
jaq-std = "2.1"
jaq-json = "1.1"

# Watch mode for live snapshot refresh
notify = "8.0"
notify-debouncer-full = "0.6"

[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.1"
regex = "1.12"

[features]
default = []
memex = []  # placeholder - rmcp-memex not yet on crates.io, feature flag exists but does nothing