cure-cli 0.2.0

CLI for cure: fault-tolerant Java, TypeScript/JavaScript and Python simplifier/formatter (source in, source out)
[package]
name = "cure-cli"
description = "CLI for cure: fault-tolerant Java, TypeScript/JavaScript and Python simplifier/formatter (source in, source out)"
version.workspace = true
edition.workspace = true
license.workspace = true
readme = "README.md"
repository.workspace = true
rust-version.workspace = true
keywords = ["java", "typescript", "javascript", "python", "deobfuscation"]
categories = ["command-line-utilities", "development-tools"]

# cargo-binstall: fetch the prebuilt release binary instead of compiling.
# binstall resolves this metadata from crates.io, then downloads the RAW
# (pkg-fmt = "bin") release asset named cure-v{version}-{target}[.exe] —
# release.yml stages exactly that naming. {archive-suffix} is ".exe" on
# Windows and "" elsewhere, matching how the workflow stages assets.
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/cure-v{ version }-{ target }{ archive-suffix }"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "bin"

[[bin]]
name = "cure"
path = "src/main.rs"

[features]
# Linux io_uring 批量读后端(可选启用;默认构建保持零运行时依赖)。
# 启用:cargo build --release --features io-uring(仅 Linux 生效,
# 其他平台 feature 静默空转)。详见 src/io_batch.rs 顶部策略表。
io-uring = ["dep:io-uring"]

[target.'cfg(target_os = "linux")'.dependencies]
io-uring = { version = "0.7", optional = true }

[dependencies]
cure-ts-ast = { path = "../cure-ts-ast", version = "0.2.0" }
cure-ts-parser = { path = "../cure-ts-parser", version = "0.2.0" }
cure-ts-print = { path = "../cure-ts-print", version = "0.2.0" }
cure-ts-simplify = { path = "../cure-ts-simplify", version = "0.2.0" }
cure-python-ast = { path = "../cure-python-ast", version = "0.2.0" }
cure-python-parser = { path = "../cure-python-parser", version = "0.2.0" }
cure-python-print = { path = "../cure-python-print", version = "0.2.0" }
cure-python-simplify = { path = "../cure-python-simplify", version = "0.2.0" }
cure-java-parser = { workspace = true }
cure-java-simplify = { workspace = true }
cure-java-print = { workspace = true }
cure-java-ast = { workspace = true }
cure-engine = { workspace = true }

[dev-dependencies]
assert_cmd = "2"
predicates = "1"
tempfile = "3"