[package]
name = "xqpath"
version = "1.4.2"
edition = "2021"
authors = ["Thne"]
description = "A high-performance jq-inspired path extractor and updater for structured data in Rust with advanced debugging and performance monitoring capabilities"
license = "Apache-2.0"
repository = "https://github.com/ThneS/xqpath"
keywords = ["json", "yaml", "path", "query", "jq"]
categories = ["command-line-utilities", "parsing"]
[[bin]]
name = "xqpath"
path = "src/cli.rs"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", optional = true }
serde_yaml = { version = "0.9", optional = true }
winnow = "0.5"
clap = { version = "4.0", features = [
"derive",
"color",
"help",
"usage",
"error-context",
], optional = true }
colored = { version = "2.0", optional = true }
anyhow = { version = "1.0", optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", optional = true, features = [
"json",
"env-filter",
] }
tracing-appender = { version = "0.2", optional = true }
sysinfo = { version = "0.30", optional = true }
pprof = { version = "0.13", optional = true, features = [
"flamegraph",
"protobuf-codec",
] }
criterion = { version = "0.5", optional = true, features = ["html_reports"] }
tokio = { version = "1.0", optional = true, features = ["full"] }
prometheus = { version = "0.13", optional = true }
crossterm = { version = "0.27", optional = true }
rustyline = { version = "13.0", optional = true }
[features]
default = ["json", "yaml", "cli"]
json = ["serde_json"]
yaml = ["serde_yaml"]
update = ["serde_json/preserve_order"]
debug = ["dep:tracing", "dep:tracing-subscriber", "dep:tracing-appender"]
profiling = ["debug", "dep:sysinfo", "dep:pprof", "dep:criterion"]
benchmark = ["profiling"]
monitoring = ["profiling", "dep:tokio", "dep:prometheus"]
interactive-debug = ["monitoring", "dep:crossterm", "dep:rustyline"]
cli = ["dep:clap", "dep:colored", "dep:anyhow"]
cli-debug = ["cli", "debug"]
cli-full = ["cli-debug", "interactive-debug"]
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "performance"
harness = false
[[bench]]
name = "advanced_benchmarks"
harness = false