[package]
edition = "2021"
name = "amql-engine"
version = "0.0.0-alpha.0"
authors = ["vikr01"]
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "AQL engine: parse, index, query, and validate code annotations"
homepage = "https://github.com/vikr01/aql"
readme = "README.md"
license = "MIT"
repository = "https://github.com/vikr01/aql"
[package.metadata.agents]
skills = "agents"
[package.metadata.wasm-js-bridge]
npm_name = "@amql/engine"
wasm_features = "--no-default-features --features wasm"
cjs = true
jsflow = true
peers = [
"@amql/selector",
"@amql/mutate",
]
[package.metadata.wasm-js-bridge.exports]
"." = "src/index.rs"
[package.metadata.wasm-pack.profile.release]
wasm-opt = false
[features]
codegen = [
"ts",
"flow",
"wasm",
]
default = [
"resolver",
"fs",
]
flow = [
"dep:flowjs-rs",
"amql-mutate/flow",
"amql-selector/flow",
"amql-predicates/flow",
]
fs = [
"dep:walkdir",
"dep:ignore",
"dep:rayon",
]
jsonschema = [
"dep:schemars",
"amql-mutate/jsonschema",
"amql-selector/jsonschema",
]
resolver = [
"dep:tree-sitter",
"dep:tree-sitter-rust",
"dep:tree-sitter-typescript",
"dep:tree-sitter-go",
]
ts = [
"dep:ts-rs",
"amql-mutate/ts",
"amql-selector/ts",
"amql-predicates/ts",
]
wasm = [
"dep:wasm-bindgen",
"dep:serde-wasm-bindgen",
]
[lib]
name = "amql_engine"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "code_resolution"
path = "tests/code_resolution.rs"
[[test]]
name = "express_app"
path = "tests/express_app.rs"
[[test]]
name = "navigation"
path = "tests/navigation.rs"
[[test]]
name = "project_loading"
path = "tests/project_loading.rs"
[[bench]]
name = "engine"
path = "benches/engine.rs"
harness = false
[dependencies.amql-file-lock]
version = "=0.0.0-alpha.0"
[dependencies.amql-mutate]
version = "=0.0.0-alpha.0"
[dependencies.amql-predicates]
version = "=0.0.0-alpha.0"
[dependencies.amql-selector]
version = "=0.0.0-alpha.0"
[dependencies.flowjs-rs]
version = "0.0.0-alpha.0"
features = ["serde-json-impl"]
optional = true
[dependencies.ignore]
version = "0.4"
optional = true
[dependencies.quick-xml]
version = "0.37"
[dependencies.rayon]
version = "1"
optional = true
[dependencies.rustc-hash]
version = "2"
[dependencies.schemars]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.tree-sitter]
version = "0.25"
optional = true
[dependencies.tree-sitter-go]
version = "0.25"
optional = true
[dependencies.tree-sitter-rust]
version = "0.24"
optional = true
[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true
[dependencies.ts-rs]
version = "12"
features = [
"serde-json-impl",
"no-serde-warnings",
]
optional = true
[dependencies.walkdir]
version = "2"
optional = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-js-bridge]
version = "0.0.0-alpha.0"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.pretty_assertions]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[lints.clippy]
needless_pass_by_ref_mut = "deny"
ptr_arg = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
unsafe_code = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ['cfg(dylint_lib, values("aql_lints"))']