thread-rule-engine 0.1.0

Rule-based scanning and transformation engine for Thread
Documentation
# SPDX-FileCopyrightText: 2025 Knitli Inc. <knitli@knit.li>
# SPDX-FileContributor: Adam Poulemanos <adam@knit.li>
# SPDX-License-Identifier: MIT OR Apache-2.0

[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

# [features] # we need to separate serialization, but that's a big job, and ideally rework ast-engine to allow narrower featuring

[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]
# ast-grep-config = { version = "0.39.1" }
# ast-grep-core = { version = "0.39.1", features = ["tree-sitter"] }
# ast-grep-language = { version = "0.39.1", features = ["builtin-parser"] }
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"]
# we need to separate serialization, but that's a big job, and ideally rework ast-engine to allow narrower featuring
worker = [
  "thread-ast-engine/worker",
  "thread-utilities/worker",
]  # feature flag for cloud edge deployment specific logic