cachekit-rs 0.4.0

Production-ready Redis caching for Rust. Supports cachekit.io SaaS, Redis, and Cloudflare Workers.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.85"
name = "cachekit-rs"
version = "0.4.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Production-ready Redis caching for Rust. Supports cachekit.io SaaS, Redis, 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"]
l1 = ["dep:moka"]
macros = ["dep:cachekit-macros"]
redis = ["dep:fred"]
unsync = []
workers = [
    "dep:worker",
    "dep:js-sys",
    "dep:getrandom",
]

[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 = "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 = "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.4.0"
optional = true

[dependencies.fred]
version = "9"
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.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.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.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
]

[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"