[package]
edition = "2024"
rust-version = "1.95.0"
name = "hearth-graph"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Standalone tree-sitter symbol index and module graph with injectable languages"
documentation = "https://docs.rs/hearth-graph"
readme = "README.md"
keywords = [
"code-intelligence",
"tree-sitter",
"symbols",
"dependency-graph",
]
categories = [
"development-tools",
"parser-implementations",
]
license = "MIT"
repository = "https://github.com/ushironoko/hearth"
[features]
bundled-languages = [
"dep:tree-sitter-rust",
"dep:tree-sitter-typescript",
"dep:tree-sitter-javascript",
"dep:tree-sitter-go",
"dep:tree-sitter-python",
"dep:tree-sitter-ruby",
"dep:tree-sitter-c",
"dep:tree-sitter-cpp",
"dep:tree-sitter-java",
"dep:tree-sitter-c-sharp",
"dep:tree-sitter-zig",
"dep:tree-sitter-bash",
"dep:tree-sitter-haskell",
"dep:tree-sitter-lua",
"dep:tree-sitter-php",
"dep:tree-sitter-swift",
"dep:tree-sitter-md",
"dep:octorus-tree-sitter-vue3",
]
default = [
"bundled-languages",
"fs",
"resolve-js",
"resolve-rust",
]
fs = []
resolve-js = [
"dep:libc",
"dep:windows-sys",
"dep:oxc_resolver",
"dep:serde_json",
"dep:json-strip-comments",
]
resolve-rust = []
[lib]
name = "hearth_graph"
path = "src/lib.rs"
[[test]]
name = "analyze"
path = "tests/analyze.rs"
[[test]]
name = "build"
path = "tests/build.rs"
[[test]]
name = "empty_registry"
path = "tests/empty_registry.rs"
[[test]]
name = "extract"
path = "tests/extract.rs"
[[test]]
name = "graph"
path = "tests/graph.rs"
[[test]]
name = "imports"
path = "tests/imports.rs"
[[test]]
name = "language_registry"
path = "tests/language_registry.rs"
[[test]]
name = "resolve"
path = "tests/resolve.rs"
[[test]]
name = "resolve_rust"
path = "tests/resolve_rust.rs"
[dependencies.compact_str]
version = "=0.10.0"
features = ["serde"]
[dependencies.json-strip-comments]
version = "=3.1.2"
optional = true
[dependencies.octorus-tree-sitter-vue3]
version = "=0.1.0"
optional = true
[dependencies.oxc_resolver]
version = "=11.24.2"
optional = true
[dependencies.parking_lot]
version = "=0.12.5"
features = ["arc_lock"]
[dependencies.rustc-hash]
version = "=2.1.3"
[dependencies.serde_json]
version = "=1.0.151"
optional = true
[dependencies.smallvec]
version = "=1.15.2"
features = [
"union",
"serde",
]
[dependencies.tree-sitter]
version = "=0.26.11"
[dependencies.tree-sitter-bash]
version = "=0.25.1"
optional = true
[dependencies.tree-sitter-c]
version = "=0.24.1"
optional = true
[dependencies.tree-sitter-c-sharp]
version = "=0.23.1"
optional = true
[dependencies.tree-sitter-cpp]
version = "=0.23.4"
optional = true
[dependencies.tree-sitter-go]
version = "=0.25.0"
optional = true
[dependencies.tree-sitter-haskell]
version = "=0.23.1"
optional = true
[dependencies.tree-sitter-java]
version = "=0.23.5"
optional = true
[dependencies.tree-sitter-javascript]
version = "=0.25.0"
optional = true
[dependencies.tree-sitter-lua]
version = "=0.4.1"
optional = true
[dependencies.tree-sitter-md]
version = "=0.5.2"
optional = true
[dependencies.tree-sitter-php]
version = "=0.24.2"
optional = true
[dependencies.tree-sitter-python]
version = "=0.25.0"
optional = true
[dependencies.tree-sitter-ruby]
version = "=0.23.1"
optional = true
[dependencies.tree-sitter-rust]
version = "=0.24.0"
optional = true
[dependencies.tree-sitter-swift]
version = "=0.7.1"
optional = true
[dependencies.tree-sitter-typescript]
version = "=0.23.2"
optional = true
[dependencies.tree-sitter-zig]
version = "=1.1.2"
optional = true
[dependencies.xxhash-rust]
version = "=0.8.18"
features = ["xxh3"]
[dev-dependencies.insta]
version = "=1.48.0"
[dev-dependencies.tempfile]
version = "=3.27.0"
[target."cfg(unix)".dependencies.libc]
version = "=0.2.189"
optional = true
[target."cfg(windows)".dependencies.windows-sys]
version = "=0.61.2"
features = ["Win32_Storage_FileSystem"]
optional = true