[package]
name = "ag-wasm"
version = "0.0.1"
authors = ["Lo <l709937065@gmail.com>"]
edition = "2018"
keywords = ["ast", "pattern", "codemod", "search", "rewrite"]
license = "MIT"

[lib]
crate-type = ["cdylib", "rlib"]

[features]
default = []

[dependencies]
wasm-bindgen = { version = "0.2.92", features = ["serde-serialize"] }
wasm-bindgen-futures = "0.4.42"
serde = { version = "1.0", features = ["derive"] }

# The `console_error_panic_hook` crate provides better debugging of panics by
# logging them with `console.error`. This is great for development, but requires
# all the `std::fmt` and `std::panicking` infrastructure, so isn't great for
# code size when deploying.
console_error_panic_hook = { version = "0.1.7", optional = true }

once_cell = "1.19.0"
wee_alloc = { version = "0.4.5" }
ast-grep-core = { version = "0.19.4" }
ast-grep-config = { version = "0.19.4" }
ast-grep-language = { version = "0.19.4", default-features = false }
web-tree-sitter-sg = "1.3.4"
tree-sitter = { version = "0.9.2", package = "tree-sitter-facade-sg" }
serde-wasm-bindgen = "0.6"
serde_json = "1.0.114"

[dev-dependencies]
wasm-bindgen-test = "0.3.42"
tree-sitter-rust = "0.20.4"

[profile.release]
panic = "abort"
# Tell `rustc` to optimize for small code size.
opt-level = "s"
lto = true