[package]
name = "tree-sitter-generate"
version.workspace = true
description = "Library for generating C source code from a tree-sitter grammar"
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
readme = "README.md"
homepage.workspace = true
repository.workspace = true
documentation = "https://docs.rs/tree-sitter-generate"
license.workspace = true
keywords.workspace = true
categories.workspace = true

[lib]
path = "src/generate.rs"

[lints]
workspace = true

[features]
default = ["qjs-rt"]
load = ["dep:semver"]
qjs-rt = ["load", "rquickjs", "pathdiff"]

[dependencies]
bitflags = "2.9.4"
dunce = "1.0.5"
indexmap.workspace = true
indoc.workspace = true
log.workspace = true
pathdiff = { version = "0.2.3", optional = true }
regex.workspace = true
regex-syntax.workspace = true
rquickjs = { version = "0.10.0", optional = true, features = [
  "bindgen",
  "loader",
  "macro",
  "phf",
] }
rustc-hash.workspace = true
semver = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true
smallbitvec.workspace = true
thiserror.workspace = true
topological-sort.workspace = true

[dev-dependencies]
tempfile.workspace = true
