[package]
edition = "2024"
rust-version = "1.96.0"
name = "reinhardt-utils"
version = "0.3.13"
authors = ["kent8192 <51869472+kent8192@users.noreply.github.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Utility functions aggregator for Reinhardt"
readme = "README.md"
license = "BSD-3-Clause"
repository = "https://github.com/kent8192/reinhardt-web"
[features]
advanced-minification = [
"processing",
"dep:oxc_allocator",
"dep:oxc_parser",
"dep:oxc_span",
"dep:oxc_minifier",
"dep:oxc_mangler",
"dep:oxc_codegen",
]
all = [
"logging",
"cache",
"storage",
"staticfiles",
"utils-core",
]
all-backends = [
"redis-backend",
"redis-sentinel",
"memcached-backend",
]
azure = [
"dep:hmac",
"dep:percent-encoding",
]
cache = []
compression = [
"processing",
"dep:alloc-stdlib",
"dep:brotli-decompressor",
"dep:brotli",
"dep:flate2",
]
default = []
dev-server = ["dep:notify"]
full = [
"advanced-minification",
"all-backends",
"azure",
"compression",
"dev-server",
"gcs",
"image-optimization",
"processing",
"s3",
"source-maps",
]
gcs = [
"dep:google-cloud-storage",
"dep:google-cloud-auth",
]
image-optimization = [
"processing",
"dep:oxipng",
"dep:image",
"dep:webp",
]
logging = []
memcached-backend = [
"memcache-async",
"tokio-util",
]
processing = []
redis-backend = [
"redis",
"deadpool-redis",
]
redis-sentinel = ["redis-backend"]
s3 = [
"dep:aws-config",
"dep:aws-sdk-s3",
"time",
]
source-maps = ["processing"]
staticfiles = []
storage = []
utils-core = []
utils-full = [
"logging",
"cache",
"storage",
"staticfiles",
"utils-core",
]
[lib]
name = "reinhardt_utils"
path = "src/lib.rs"
[[test]]
name = "cache_backend"
path = "tests/cache_backend.rs"
[[test]]
name = "humanize_tests"
path = "tests/humanize_tests.rs"
[[test]]
name = "staticfiles_pipeline"
path = "tests/staticfiles_pipeline.rs"
[[test]]
name = "storage_backend"
path = "tests/storage_backend.rs"
[[test]]
name = "vendor_pipeline"
path = "tests/vendor_pipeline.rs"
[dependencies.alloc-stdlib]
version = "=0.2.2"
optional = true
[dependencies.anyhow]
version = "1.0.102"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.aws-config]
version = "1.0"
optional = true
[dependencies.aws-sdk-s3]
version = "1.0"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.brotli]
version = "8.0.2"
optional = true
[dependencies.brotli-decompressor]
version = "=5.0.1"
optional = true
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4.44"
features = [
"serde",
"serde",
]
[dependencies.chrono-tz]
version = "0.10.4"
[dependencies.deadpool-redis]
version = "0.23.0"
optional = true
[dependencies.flate2]
version = "1.0"
optional = true
[dependencies.futures]
version = "0.3.32"
[dependencies.glob]
version = "0.3"
[dependencies.google-cloud-auth]
version = "1.10.0"
optional = true
[dependencies.google-cloud-storage]
version = "1.12.0"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.http]
version = "1.0"
[dependencies.hyper]
version = "1.9.0"
features = ["full"]
[dependencies.image]
version = "0.25"
optional = true
[dependencies.inventory]
version = "0.3"
[dependencies.memcache-async]
version = "0.9.0"
optional = true
[dependencies.mime_guess]
version = "2.0"
[dependencies.notify]
version = "8.2.0"
optional = true
[dependencies.once_cell]
version = "1.21.4"
optional = false
[dependencies.oxc_allocator]
version = "0.96.0"
optional = true
[dependencies.oxc_codegen]
version = "0.96.0"
optional = true
[dependencies.oxc_mangler]
version = "0.96.0"
optional = true
[dependencies.oxc_minifier]
version = "0.96.0"
optional = true
[dependencies.oxc_parser]
version = "0.96.0"
optional = true
[dependencies.oxc_span]
version = "0.96.0"
optional = true
[dependencies.oxipng]
version = "9.0"
optional = true
[dependencies.percent-encoding]
version = "2.3"
optional = true
[dependencies.rand]
version = "0.9"
[dependencies.redis]
version = "1.2.0"
features = [
"tokio-comp",
"connection-manager",
"tokio-comp",
"connection-manager",
"cluster",
"cluster-async",
"sentinel",
]
optional = true
[dependencies.regex]
version = "1.10"
[dependencies.reinhardt-core]
version = "0.3.13"
features = [
"exception",
"security",
"types",
]
default-features = false
[dependencies.reinhardt-http]
version = "0.3.13"
[dependencies.reqwest]
version = "0.13.2"
features = [
"http2",
"json",
"form",
"rustls",
]
default-features = false
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.sha2]
version = "0.10"
[dependencies.sourcemap]
version = "9.0"
[dependencies.tempfile]
version = "3.14"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.time]
version = ">=0.3, <0.3.48"
optional = true
[dependencies.tokio]
version = "1.51.0"
features = [
"rt-multi-thread",
"sync",
"time",
"macros",
"net",
"io-util",
"fs",
]
[dependencies.tokio-util]
version = "0.7"
features = ["compat"]
optional = true
[dependencies.tracing]
version = "0.1.44"
[dependencies.uuid]
version = "1.23.0"
features = [
"v4",
"v5",
"v7",
"serde",
]
[dependencies.walkdir]
version = "2.4"
[dependencies.webp]
version = "0.3"
optional = true
[dev-dependencies.bytes]
version = "1.11.1"
[dev-dependencies.insta]
version = "1.47.2"
features = [
"json",
"toml",
]
[dev-dependencies.proptest]
version = "1.11.0"
[dev-dependencies.regex]
version = "1.0"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.serial_test]
version = "3.4.0"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.testcontainers]
version = "0.27.2"
features = ["blocking"]
[dev-dependencies.testcontainers-modules]
version = "0.15.0"
features = [
"postgres",
"mysql",
"redis",
]
[dev-dependencies.tokio]
version = "1.51.0"
features = [
"rt-multi-thread",
"sync",
"time",
"macros",
"net",
"io-util",
"macros",
"rt-multi-thread",
]
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.uuid]
version = "1.23.0"
features = [
"v4",
"v5",
"v7",
"serde",
]
[dev-dependencies.wiremock]
version = "0.6"