[package]
edition = "2024"
rust-version = "1.85"
name = "code2graph"
version = "0.0.0-beta.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Purpose-neutral code-graph extraction: source files → symbols, references, and cross-file edges. Tree-sitter based, no storage opinion."
readme = "README.md"
keywords = [
"code-graph",
"tree-sitter",
"static-analysis",
"symbols",
"cpg",
]
categories = [
"development-tools",
"parsing",
]
license = "Apache-2.0"
repository = "https://github.com/nodedb-lab/code2graph"
[features]
_extractors = []
c = [
"dep:tree-sitter-c",
"_extractors",
]
cpp = [
"dep:tree-sitter-cpp",
"_extractors",
]
csharp = [
"dep:tree-sitter-c-sharp",
"_extractors",
]
dart = [
"dep:tree-sitter-dart",
"_extractors",
]
default = [
"rust",
"python",
"typescript",
"go",
"java",
"c",
"cpp",
"ruby",
"php",
"shell",
"swift",
"kotlin",
"solidity",
"sql",
"hcl",
"csharp",
"scala",
"dart",
"lua",
"luau",
"pascal",
"svelte",
]
go = [
"dep:tree-sitter-go",
"_extractors",
]
hcl = [
"dep:tree-sitter-hcl",
"_extractors",
]
java = [
"dep:tree-sitter-java",
"_extractors",
]
kotlin = [
"dep:tree-sitter-kotlin-ng",
"_extractors",
]
lua = [
"dep:tree-sitter-lua",
"_extractors",
]
luau = [
"dep:tree-sitter-luau",
"_extractors",
]
manifest = [
"dep:toml",
"dep:serde_json",
"serde",
]
pascal = [
"dep:tree-sitter-pascal",
"_extractors",
]
php = [
"dep:tree-sitter-php",
"_extractors",
]
python = [
"dep:tree-sitter-python",
"_extractors",
]
ruby = [
"dep:tree-sitter-ruby",
"_extractors",
]
rust = [
"dep:tree-sitter-rust",
"_extractors",
]
scala = [
"dep:tree-sitter-scala",
"_extractors",
]
serde = ["dep:serde"]
shell = [
"dep:tree-sitter-bash",
"_extractors",
]
solidity = [
"dep:tree-sitter-solidity",
"_extractors",
]
sql = [
"dep:tree-sitter-sequel",
"_extractors",
]
svelte = [
"dep:tree-sitter-svelte-ng",
"typescript",
"_extractors",
]
swift = [
"dep:tree-sitter-swift",
"_extractors",
]
typescript = [
"dep:tree-sitter-typescript",
"_extractors",
]
[lib]
name = "code2graph"
path = "src/lib.rs"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.tree-sitter]
version = ">=0.24, <0.27"
[dependencies.tree-sitter-bash]
version = "0.25.1"
optional = true
[dependencies.tree-sitter-c]
version = "0.24.2"
optional = true
[dependencies.tree-sitter-c-sharp]
version = "0.23.5"
optional = true
[dependencies.tree-sitter-cpp]
version = "0.23.4"
optional = true
[dependencies.tree-sitter-dart]
version = "0.2.0"
optional = true
[dependencies.tree-sitter-go]
version = "0.25.0"
optional = true
[dependencies.tree-sitter-hcl]
version = "1.1"
optional = true
[dependencies.tree-sitter-java]
version = "0.23.5"
optional = true
[dependencies.tree-sitter-kotlin-ng]
version = "1.1.0"
optional = true
[dependencies.tree-sitter-lua]
version = "0.5.0"
optional = true
[dependencies.tree-sitter-luau]
version = "1.2.0"
optional = true
[dependencies.tree-sitter-pascal]
version = "0.10.2"
optional = true
[dependencies.tree-sitter-php]
version = "0.24.2"
optional = true
[dependencies.tree-sitter-python]
version = "0.23"
optional = true
[dependencies.tree-sitter-ruby]
version = "0.23.1"
optional = true
[dependencies.tree-sitter-rust]
version = "0.23"
optional = true
[dependencies.tree-sitter-scala]
version = "0.26.0"
optional = true
[dependencies.tree-sitter-sequel]
version = "0.3"
optional = true
[dependencies.tree-sitter-solidity]
version = "1.2.13"
optional = true
[dependencies.tree-sitter-svelte-ng]
version = "1.0.2"
optional = true
[dependencies.tree-sitter-swift]
version = "0.7.3"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true
[dev-dependencies.serde_json]
version = "1"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1