[package]
edition = "2024"
name = "truss-image"
version = "0.7.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Image toolkit with a shared Rust core across the CLI, HTTP server, and WASM demo."
homepage = "https://nao1215.github.io/truss/"
readme = "README.md"
keywords = [
"image",
"image-processing",
"resize",
"thumbnail",
"webp",
]
categories = [
"command-line-utilities",
"multimedia::images",
"web-programming::http-server",
]
license = "MIT"
repository = "https://github.com/nao1215/truss"
[features]
azure = [
"server",
"dep:azure_storage_blob",
"dep:azure_core",
"dep:futures",
"dep:tokio",
]
cli = [
"dep:clap",
"dep:clap_complete",
"dep:ureq",
"server",
]
default = [
"cli",
"server",
"svg",
"webp-lossy",
]
gcs = [
"server",
"dep:google-cloud-storage",
"dep:google-cloud-auth",
"dep:tokio",
]
s3 = [
"server",
"dep:aws-sdk-s3",
"dep:aws-config",
"dep:tokio",
]
server = [
"dep:hmac",
"dep:hex",
"dep:serde_json",
"dep:sha2",
"dep:subtle",
"dep:ureq",
"dep:url",
"dep:uuid",
"dep:libc",
"dep:flate2",
"svg",
]
svg = [
"dep:quick-xml",
"dep:resvg",
]
wasm = [
"dep:serde_json",
"dep:wasm-bindgen",
]
webp-lossy = ["dep:webp"]
[lib]
name = "truss"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "truss"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "azure_integration"
path = "tests/azure_integration.rs"
[[test]]
name = "cli_inspect_avif"
path = "tests/cli_inspect_avif.rs"
[[test]]
name = "cli_metadata"
path = "tests/cli_metadata.rs"
[[test]]
name = "cli_pixel"
path = "tests/cli_pixel.rs"
[[test]]
name = "cli_serve"
path = "tests/cli_serve.rs"
[[test]]
name = "cli_sign"
path = "tests/cli_sign.rs"
[[test]]
name = "cli_url"
path = "tests/cli_url.rs"
[[test]]
name = "gcs_integration"
path = "tests/gcs_integration.rs"
[[test]]
name = "s3_integration"
path = "tests/s3_integration.rs"
[[test]]
name = "server_graceful_shutdown"
path = "tests/server_graceful_shutdown.rs"
[[test]]
name = "server_transform_auth"
path = "tests/server_transform_auth.rs"
[[test]]
name = "server_transform_basic"
path = "tests/server_transform_basic.rs"
[[test]]
name = "server_transform_cache"
path = "tests/server_transform_cache.rs"
[[test]]
name = "server_transform_multipart"
path = "tests/server_transform_multipart.rs"
[[test]]
name = "server_transform_watermark"
path = "tests/server_transform_watermark.rs"
[dependencies.aws-config]
version = "1"
optional = true
[dependencies.aws-sdk-s3]
version = "1"
optional = true
[dependencies.azure_core]
version = "0.32"
optional = true
[dependencies.azure_storage_blob]
version = "0.9"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.clap_complete]
version = "4"
optional = true
[dependencies.flate2]
version = "1"
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.google-cloud-auth]
version = "1"
optional = true
[dependencies.google-cloud-storage]
version = "1"
optional = true
[dependencies.hex]
version = "0.4.3"
optional = true
[dependencies.hmac]
version = "0.12.1"
optional = true
[dependencies.image]
version = "0.25.10"
features = [
"avif",
"bmp",
"jpeg",
"png",
"tiff",
"webp",
]
default-features = false
[dependencies.kamadak-exif]
version = "0.6.1"
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.mp4parse]
version = "0.17"
[dependencies.quick-xml]
version = "0.39"
optional = true
[dependencies.rav1d-safe]
version = "0.3"
features = [
"bitdepth_8",
"bitdepth_16",
]
default-features = false
[dependencies.resvg]
version = "0.47"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
optional = true
[dependencies.sha2]
version = "0.10.9"
optional = true
[dependencies.subtle]
version = "2"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"io-util",
"time",
]
optional = true
[dependencies.ureq]
version = "3.2.0"
optional = true
[dependencies.url]
version = "2.5.8"
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
optional = true
[dependencies.wasm-bindgen]
version = "0.2.114"
optional = true
[dependencies.webp]
version = "0.3"
optional = true
[dependencies.yuvutils-rs]
version = "0.8"
[dev-dependencies.aws-smithy-runtime-api]
version = "1"
[dev-dependencies.aws-smithy-types]
version = "1"
[dev-dependencies.bytes]
version = "1"
[dev-dependencies.http]
version = "1"
[dev-dependencies.rustls]
version = "0.23"
features = ["ring"]
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[profile.release]
lto = "thin"
codegen-units = 1
strip = true