[workspace]
members = [".", "crates/resopt-wasm"]
default-members = ["."]
resolver = "2"
[package]
name = "resopt-cli"
version = "0.6.0"
edition = "2024"
rust-version = "1.89"
description = "Find, review and safely apply resource optimizations for Apple and Android projects."
license = "MIT"
readme = "README.md"
repository = "https://github.com/wenext-limited/resopt"
documentation = "https://docs.rs/resopt-cli"
keywords = ["xcode", "android", "png", "webp", "optimization"]
categories = ["command-line-utilities", "multimedia::images"]
[lib]
name = "resopt"
path = "src/lib.rs"
[[bin]]
name = "resopt"
path = "src/main.rs"
required-features = ["native"]
[features]
default = ["native"]
native = ["dep:webp", "dep:ignore", "dep:regex", "dep:maud", "dep:tiny_http", "dep:getrandom", "dep:clap", "dep:tempfile", "dep:toml", "dep:walkdir", "dep:xcassets", "dep:rayon", "dep:flate2", "dep:libdeflater", "dep:objc2", "dep:objc2-core-foundation", "dep:objc2-core-graphics", "dep:objc2-image-io", "oxipng/parallel"]
[dependencies]
ignore = { version = "0.4.33", optional = true }
regex = { version = "1", optional = true }
maud = { version = "0.27", optional = true }
tiny_http = { version = "0.12", optional = true }
getrandom = { version = "0.4", optional = true }
anyhow = "1"
clap = { version = "4.6", features = ["derive"], optional = true }
oxipng = { version = "=10.2.1", default-features = false }
png = "0.18"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
sha2 = "0.10"
tempfile = { version = "3", optional = true }
toml = { version = "0.8", optional = true }
walkdir = { version = "2", optional = true }
xcassets = { version = "0.3", optional = true }
rayon = { version = "1", optional = true }
flate2 = { version = "1.1", optional = true }
libdeflater = { version = "1.26", optional = true }
fast-ssim2 = "0.8.2"
webp = { version = "0.3.1", default-features = false, optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = { version = "0.6", optional = true }
objc2-core-foundation = { version = "0.3.2", optional = true }
objc2-core-graphics = { version = "0.3.2", optional = true }
objc2-image-io = { version = "0.3.2", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
oxipng = { version = "=10.2.1", default-features = false, features = ["freestanding"] }
[dev-dependencies]
crc32fast = "1"