[package]
name = "impactsense-parser"
version = "0.1.2"
edition = "2024"
description = "Multi-language static analysis: parse codebases into an in-memory dependency graph for impact analysis"
license = "MIT"
authors = ["sujal.v <sujal.v@redbus.com>"]
readme = "README.md"
keywords = ["static-analysis", "dependency-graph", "tree-sitter", "impact-analysis", "code-intelligence"]
categories = ["development-tools", "parsing"]
exclude = ["impactsense-webhook/**"]
[features]
default = ["neo4j"]
neo4j = []
compressor = []
[[bin]]
name = "impactsense-parser"
path = "src/main.rs"
[[bin]]
name = "impactsense-mcp"
path = "src/bin/impactsense-mcp/main.rs"
[workspace]
members = [".", "impactsense-webhook"]
resolver = "2"
[dependencies]
thiserror = "1.0"
tree-sitter = "0.24.7"
tree-sitter-java = "0.23.5"
tree-sitter-javascript = "0.23.1"
tree-sitter-typescript = "0.23.2"
tree-sitter-python = "0.23.6"
tree-sitter-rust = "0.23.3"
tree-sitter-go = "0.23.4"
tree-sitter-erlang = "0.15.0"
tree-sitter-c-sharp = "0.23.1"
walkdir = "2.5"
rayon = "1.10"
clap = { version = "4.5", features = ["derive", "env"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
neo4rs = "0.8"
tokio = { version = "1.40", features = ["rt-multi-thread", "macros", "sync", "time"] }
futures = "0.3"
notify = "7.0"
notify-debouncer-full = "0.4"
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
base64 = "0.22"
[dev-dependencies]
tempfile = "3"