[package]
name = "jiq"
version = "2.20.2"
edition = "2024"
license = "MIT OR Apache-2.0"
description = "Interactive JSON query tool with real-time output"
keywords = ["json", "jq", "cli", "interactive", "tui"]
repository = "https://github.com/bellicose100xp/jiq"
homepage = "https://github.com/bellicose100xp/jiq"
categories = ["command-line-utilities", "development-tools"]

[dependencies]
# TUI framework
ratatui = "0.29"

# Cross-platform terminal manipulation with dev-tty for piped stdin
crossterm = { version = "0.28.1", features = ["use-dev-tty"] }

# Text editor widget
tui-textarea = "0.7"

# ANSI color code parser for Ratatui
ansi-to-tui = "7"

# Better error handling for TUI apps
color-eyre = "0.6"

# Custom error types
thiserror = "1.0"

# CLI argument parsing
clap = { version = "4.5", features = ["derive"] }

# JSON validation and serialization
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }

# Find executables in PATH
which = "6.0"

# Cross-platform directory paths
dirs = "5.0"

# Clipboard support
arboard = "3.4"
base64 = "0.22"

# Configuration file parsing
toml = "0.8"

# Fuzzy matching (fzf-style)
fuzzy-matcher = "0.3"

# Logging (code only active in debug builds via #[cfg(debug_assertions)])
log = "0.4"
env_logger = "0.11"
chrono = "0.4"

[dev-dependencies]
# Testing utilities
tempfile = "3.8"
assert_cmd = "2.0"
predicates = "3.0"

# Snapshot testing
insta = { version = "1.40", features = ["yaml"] }

# Property-based testing
proptest = "1.4"

[profile.release]
# Optimize for size and performance
opt-level = 3
lto = true
codegen-units = 1
strip = true

# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
