[package]
name = "thread-rule-engine"
version = "0.1.0"
edition.workspace = true
rust-version.workspace = true
description = "Rule-based scanning and transformation engine for Thread"
readme = "README.md"
repository.workspace = true
license = "AGPL-3.0-or-later AND MIT"
keywords = ["ast", "codemod", "rewrite", "rules", "search"]
categories.workspace = true
include.workspace = true
[dependencies]
bit-set.workspace = true
globset = "0.4.16"
mimalloc = { workspace = true, optional = true }
regex.workspace = true
schemars.workspace = true
serde.workspace = true
serde_json = { workspace = true }
serde_yaml = { workspace = true }
thiserror.workspace = true
thread-ast-engine = { workspace = true, features = ["matching", "parsing"] }
thread-utilities = { workspace = true, default-features = false, features = [
"hashers",
"simd",
] }
[dev-dependencies]
criterion = { version = "0.8.2", features = ["html_reports"] }
thread-ast-engine = { workspace = true, features = ["matching", "parsing"] }
thread-language = { workspace = true, features = ["all-parsers"] }
tree-sitter.workspace = true
tree-sitter-javascript = "0.25.0"
tree-sitter-python = "0.25.0"
tree-sitter-rust = "0.24.0"
tree-sitter-typescript = "0.23.2"
[build-dependencies]
cc = "1.2.30"
[features]
default = ["mimalloc"]
mimalloc = ["dep:mimalloc"]
worker = [
"thread-ast-engine/worker",
"thread-utilities/worker",
]