[package]
edition = "2021"
rust-version = "1.85"
name = "cachekit-rs"
version = "0.5.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Production-ready caching for Rust. Supports cachekit.io SaaS, Redis, Memcached, local File, and Cloudflare Workers."
homepage = "https://cachekit.io"
readme = "README.md"
keywords = [
"cache",
"redis",
"encryption",
"moka",
"cloudflare-workers",
]
categories = [
"caching",
"web-programming",
"cryptography",
]
license = "MIT"
repository = "https://github.com/cachekit-io/cachekit-rs"
[features]
cachekitio = [
"dep:reqwest",
"dep:serde_json",
]
default = [
"cachekitio",
"encryption",
"l1",
]
encryption = ["cachekit-core/encryption"]
file = [
"dep:tokio",
"tokio/rt",
"tokio/sync",
"dep:libc",
"dep:rustix",
]
l1 = ["dep:moka"]
macros = ["dep:cachekit-macros"]
memcached = [
"dep:memcache",
"dep:tokio",
"tokio/rt",
"tokio/time",
]
redis = ["dep:fred"]
unsync = []
workers = [
"dep:worker",
"dep:js-sys",
"dep:getrandom",
"dep:serde_json",
]
[lib]
name = "cachekit"
path = "src/lib.rs"
[[test]]
name = "aad_tests"
path = "tests/aad_tests.rs"
[[test]]
name = "backend_trait_tests"
path = "tests/backend_trait_tests.rs"
[[test]]
name = "cachekitio_tests"
path = "tests/cachekitio_tests.rs"
[[test]]
name = "client_tests"
path = "tests/client_tests.rs"
[[test]]
name = "config_tests"
path = "tests/config_tests.rs"
[[test]]
name = "encryption_interop_tests"
path = "tests/encryption_interop_tests.rs"
[[test]]
name = "encryption_tests"
path = "tests/encryption_tests.rs"
[[test]]
name = "error_tests"
path = "tests/error_tests.rs"
[[test]]
name = "file_tests"
path = "tests/file_tests.rs"
[[test]]
name = "intent_tests"
path = "tests/intent_tests.rs"
[[test]]
name = "interop_vector_tests"
path = "tests/interop_vector_tests.rs"
[[test]]
name = "l1_tests"
path = "tests/l1_tests.rs"
[[test]]
name = "macro_tests"
path = "tests/macro_tests.rs"
[[test]]
name = "memcached_tests"
path = "tests/memcached_tests.rs"
[[test]]
name = "redis_tests"
path = "tests/redis_tests.rs"
[[test]]
name = "serializer_tests"
path = "tests/serializer_tests.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.blake2]
version = "0.10"
[dependencies.bytes]
version = "1"
[dependencies.cachekit-core]
version = "0.3"
features = ["messagepack"]
[dependencies.cachekit-macros]
version = "0.5.0"
optional = true
[dependencies.fred]
version = "9"
features = ["i-scripts"]
optional = true
[dependencies.getrandom]
version = "0.2"
features = ["js"]
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.memcache]
version = "0.19"
optional = true
default-features = false
[dependencies.moka]
version = "0.12"
features = ["sync"]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
]
optional = true
default-features = false
[dependencies.rmp-serde]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1"
optional = true
default-features = false
[dependencies.url]
version = "2"
[dependencies.urlencoding]
version = "2"
[dependencies.uuid]
version = "1"
features = [
"v4",
"js",
]
[dependencies.worker]
version = "0.4"
optional = true
[dependencies.zeroize]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]
[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true
[target."cfg(unix)".dependencies.rustix]
version = "1"
features = [
"fs",
"process",
"std",
]
optional = true
default-features = false
[lints.clippy]
cast_lossless = "warn"
cast_possible_truncation = "warn"
cast_sign_loss = "warn"
dbg_macro = "deny"
needless_pass_by_value = "warn"
print_stdout = "warn"
todo = "warn"
uninlined_format_args = "warn"
unused_self = "warn"
[lints.rust]
unsafe_code = "forbid"