[package]
name = "waterui-cli"
version = "0.4.0"
edition = "2024"
authors = ["Lexo Liu"]
rust-version = "1.95"
license = "Apache-2.0 OR MIT"
readme = "README.md"
repository = "https://github.com/water-rs/cli"
homepage = "https://github.com/water-rs/cli"
description = "Cross-platform tooling for WaterUI applications"
keywords = ["ui", "framework", "rust", "gui", "water"]
categories = ["gui"]
[package.metadata.waterui-scaffold]
android-kotlin-version = "2.3.21"
[[bin]]
name = "water"
path = "src/terminal/main.rs"
[dependencies]
dunce = "1.0"
cargo_metadata = "0.23.1"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp", "ico"] }
cargo_toml = "1.0.1"
eyre = "0.6"
color-eyre = { version = "0.6.5", features = ["issue-url"] }
include_dir = "0.7.4"
futures-util = { version = "0.3", default-features = false, features = ["std", "async-await", "io"] }
futures-lite = "2.6"
async-channel = "2.5"
async-lock = "3.4"
reflink = "0.1.3"
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }
serde_json = "1.0"
schemars = { version = "1.2", features = ["derive"] }
smol = "2.0.2"
target-lexicon = "0.13.5"
thiserror = "2.0.20"
jiff = { version = "0.2", features = ["serde"] }
toml = "1.1.5"
plist = "1.10"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
semver = "1.0"
object = "0.37"
serialport = { version = "4", optional = true }
which = "8.0.6"
notify = { version = "8", default-features = false, features = ["macos_kqueue"], optional = true }
clap = { version = "4", features = ["derive"] }
clap_complete = "4"
dialoguer = { version = "0.12", default-features = false }
indicatif = "0.18"
console = "0.16"
anstream = "1.0"
anstyle = "1"
ctrlc = { version = "3.5", features = ["termination"] }
whoami = "2.1"
heck = "0.5"
dirs = "7"
hex = "0.4"
sha2 = "0.11"
sysinfo = { version = "0.39", default-features = false, features = ["system"] }
zip = { version = "8.6", default-features = false, features = ["deflate"] }
roxmltree = "0.21"
fs_extra = "1.3"
askama = "0.16"
resvg = { version = "0.48.1", optional = true }
ttf-parser = "0.25"
ignore = "0.4"
remove_dir_all = "1.0"
waterui-assets-core = { git = "https://github.com/water-rs/waterui", rev = "b8ae00f4d44fb85f707a684ab42a63e4cb55b355", version = "0.1.0" }
waterui-assets-planner = { git = "https://github.com/water-rs/waterui", rev = "b8ae00f4d44fb85f707a684ab42a63e4cb55b355", version = "0.2.0" }
waterui-preview-protocol = { git = "https://github.com/water-rs/waterui", rev = "b8ae00f4d44fb85f707a684ab42a63e4cb55b355", version = "0.1.2" }
waterui-inspector-protocol = { git = "https://github.com/water-rs/waterui", rev = "b8ae00f4d44fb85f707a684ab42a63e4cb55b355", version = "0.1.2" }
waterui-mcp-protocol = { git = "https://github.com/water-rs/waterui", rev = "b8ae00f4d44fb85f707a684ab42a63e4cb55b355", version = "0.1.0" }
aither-core = "0.4"
aither-mcp = { version = "0.4", default-features = false, features = ["server"] }
base64 = "0.23"
tempfile = "3.27"
walkdir = "2.5"
pathdiff = "0.2"
url = "2.5"
fs4 = "1.1.0"
fontcull-klippa = { version = "0.1.2", optional = true }
fontcull-write-fonts = { version = "0.44.3", optional = true }
toml_edit = { version = "=0.25.13", features = ["serde"] }
diffy = { version = "=0.5.0", default-features = false }
cargo-lock = { version = "=10.1.0", default-features = false }
rustc-demangle = "0.1"
[features]
default = ["esp32", "svg-icons", "preview"]
esp32 = ["dep:serialport", "dep:fontcull-klippa", "dep:fontcull-write-fonts"]
svg-icons = ["dep:resvg"]
preview = ["dep:notify"]
[target.'cfg(target_vendor = "apple")'.dependencies]
zenwave = { version = "0.6.1", default-features = false, features = ["hyper-backend", "native-tls"] }
core-graphics = "0.25"
core-foundation = "0.10"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.31", features = ["process", "signal", "user"] }
[target.'cfg(target_os = "macos")'.dependencies]
icns = "0.4"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = [
"Win32_Foundation",
"Win32_Security",
"Win32_Security_Authorization",
"Win32_System_Console",
"Win32_System_JobObjects",
"Win32_System_Threading",
] }
[target.'cfg(not(target_vendor = "apple"))'.dependencies]
zenwave = { version = "0.6.1", default-features = false, features = ["hyper-backend", "rustls"] }
[build-dependencies]
toml = "1.1.5"
[lints.rust]
missing_docs = "warn"
missing_debug_implementations = "warn"
[lints.clippy]
all = "warn"
style = "warn"
correctness = "warn"
complexity = "warn"
suspicious = "warn"
perf = "warn"
pedantic = "warn"
nursery = "warn"
cargo = "warn"
undocumented_unsafe_blocks = "warn"
multiple_crate_versions = { level = "allow", priority = 1 }
[dev-dependencies]
fontcull-skrifa = "0.39.2"
[package.metadata.cargo-machete]
ignored = ["roxmltree", "waterui-inspector-protocol"]
[profile.dist]
inherits = "release"
lto = "thin"