[package]
name = "jpx"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "JMESPath CLI with 400+ extended functions - a powerful jq alternative"
documentation = "https://github.com/joshrotenberg/jpx"
readme = "README.md"
keywords = ["jmespath", "json", "cli", "query", "jq"]
categories = ["command-line-utilities", "parsing", "text-processing"]

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

[lib]
name = "jpx"
path = "src/lib.rs"

[build-dependencies]
toml = "0.9"
serde = { workspace = true, features = ["derive"] }

[dependencies]
jpx-engine = { workspace = true }
clap.workspace = true
clap_complete.workspace = true
serde.workspace = true
serde_json.workspace = true
anyhow.workspace = true
colored_json.workspace = true
colored = "3"
atty.workspace = true
rustyline = "17"
dirs = "6.0.0"
json-patch.workspace = true

# Output format support
serde_yaml = "0.9"
toml = "0.9"
csv = "1.3"
tabled = "0.20"

# Parquet support (optional)
parquet = { version = "54", optional = true, default-features = false, features = ["arrow", "snap"] }

[features]
default = []
let-expr = ["jpx-engine/let-expr"]
parquet = ["dep:parquet", "jpx-engine/arrow"]

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