[package]
name = "hoardom"
version = "1.1.8"
edition = "2021"
description = "Domain hoarding made less painful"
default-run = "hoardom"


[features]
default = ["builtin-whois"]

# Use the systems whois command instead of our builtin TCP implementation
# Disable with: cargo build --no-default-features
# Cannot be used together with builtin-whois
system-whois = []

# Use our builtin raw TCP whois implementation (no system dependency)
# Enable with: cargo build --no-default-features --features builtin-whois
# Cannot be used together with system-whois
builtin-whois = []

# native gui wrapper binary (hoardom-app)
# spawns hoardom --tui in a pty and renders it in its own window
# so it shows up as its own app with its own dock icon
gui = ["dep:eframe", "dep:portable-pty", "dep:vte", "dep:image"]

# Configurable values baked into the binary at compile time via build.rs
[package.metadata.hoardom]
whois-command = "whois"
whois-flags = ""
rdap-bootstrap-url = "https://data.iana.org/rdap/dns.json"

[dependencies]
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", features = ["json"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
dirs = "6"
colored = "3"
ratatui = "0.29"
crossterm = "0.28"
indicatif = "0.17"
chrono = "0.4"
futures = "0.3"

# gui wrapper deps (only built with --features gui)
eframe = { version = "0.30", optional = true }
portable-pty = { version = "0.8", optional = true }
vte = { version = "0.14", optional = true }
image = { version = "0.25", optional = true, default-features = false, features = ["png"] }

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

[[bin]]
name = "hoardom-app"
path = "src/app.rs"
required-features = ["gui"]
