[package]
edition = "2024"
name = "meta-ast"
version = "0.7.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Polyglot static-analysis engine: extract symbols and cross-language dependency graphs from 9 supported source languages, with optional MetaCall deployment manifest generation."
readme = "README.md"
keywords = [
"ast",
"metacall",
"polyglot",
"static-analysis",
"tree-sitter",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/metacall/meta-ast"
[features]
dataflow = []
default = []
metacall-deploy = []
watch = [
"dep:notify",
"dep:notify-debouncer-mini",
]
[lib]
name = "meta_ast"
path = "src/lib.rs"
[[bin]]
name = "meta-ast"
path = "src/main.rs"
[[test]]
name = "alloc_budget"
path = "tests/alloc_budget.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[bench]]
name = "graph"
path = "benches/graph.rs"
harness = false
[[bench]]
name = "incremental"
path = "benches/incremental.rs"
harness = false
[[bench]]
name = "pipeline"
path = "benches/pipeline.rs"
harness = false
[dependencies.anyhow]
version = "1.0"
[dependencies.blake3]
version = "1.8"
[dependencies.clap]
version = "4.6"
features = [
"color",
"derive",
"env",
]
[dependencies.dunce]
version = "1"
[dependencies.ignore]
version = "0.4"
[dependencies.notify]
version = "8.2"
optional = true
[dependencies.notify-debouncer-mini]
version = "0.7"
optional = true
[dependencies.petgraph]
version = "0.8.3"
[dependencies.rayon]
version = "1.12"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.strum]
version = "0.28"
features = ["derive"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.tree-sitter]
version = "0.27.0"
[dependencies.tree-sitter-c]
version = "0.24.2"
[dependencies.tree-sitter-cpp]
version = "0.23.4"
[dependencies.tree-sitter-go]
version = "0.25.0"
[dependencies.tree-sitter-javascript]
version = "0.25.0"
[dependencies.tree-sitter-python]
version = "0.25.0"
[dependencies.tree-sitter-ruby]
version = "0.23.1"
[dependencies.tree-sitter-rust]
version = "0.24.2"
[dependencies.tree-sitter-typescript]
version = "0.23.2"
[dependencies.url]
version = "2.5"
[dependencies.webbrowser]
version = "1.2"
[dependencies.yaml_serde]
version = "0.10"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.insta]
version = "1.48"
features = ["json"]
[dev-dependencies.tempfile]
version = "3.27"
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
debug-assertions = false
overflow-checks = false
incremental = false
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.test]
opt-level = 1
lto = false
codegen-units = 256
debug = 2
debug-assertions = true
overflow-checks = true
incremental = true