[package]
name = "rustclamp"
version = "1.0.0"
edition = "2024"
rust-version = "1.96.1"
description = "A minimal synchronous entrypoint for Clamp applications."
repository = "https://github.com/rustclamp/rustclamp"
license = "MIT OR Apache-2.0"
homepage = "https://rustclamp.com"
documentation = "https://docs.rs/rustclamp"
keywords = ["framework", "web", "composition", "sqlite", "postgres"]
categories = ["web-programming", "rust-patterns"]
readme = "README.md"
autoexamples = false
[features]
web = ["config", "log", "storage", "uuid"]
config = []
log = ["config", "time"]
time = []
storage = []
build = []
db = ["config", "time", "uuid", "dep:rusqlite", "dep:rustclamp-macros"]
uuid = ["dep:rustclamp-core"]
mail = ["config", "db", "log", "dep:rustls", "dep:webpki-roots"]
auth = ["web", "db", "crypto"]
markdown = ["web", "dep:pulldown-cmark"]
regex = ["web", "dep:regex"]
cache = []
metrics = []
redis = ["config"]
queue = ["web", "db"]
schedule = ["web", "db"]
postgres = ["db", "dep:sha2", "dep:hmac", "dep:base64ct", "dep:getrandom", "dep:rustls", "dep:webpki-roots"]
crypto = ["config", "dep:argon2", "dep:chacha20poly1305", "dep:sha2", "dep:hmac", "dep:base64ct", "dep:getrandom"]
[[example]]
name = "00-pico"
path = "examples/00-pico/main.rs"
[[example]]
name = "blog"
path = "examples/blog/main.rs"
required-features = ["auth", "mail"]
test = true
[lints.rust]
unsafe_code = "forbid"
missing_docs = "deny"
[lints.rustdoc]
broken_intra_doc_links = "deny"
[dependencies]
rusqlite = { version = "0.40.2", features = ["bundled"], optional = true }
rustclamp-macros = { version = "1.0.0", path = "macros", optional = true }
rustclamp-core = { version = "1.0.0", git = "https://github.com/rustclamp/core", branch = "main", optional = true }
argon2 = { version = "0.6.0", optional = true }
chacha20poly1305 = { version = "0.11.0", optional = true }
sha2 = { version = "0.11.0", optional = true }
hmac = { version = "0.13.0", optional = true }
base64ct = { version = "1.8.3", features = ["alloc"], optional = true }
getrandom = { version = "0.4.3", optional = true }
rustls = { version = "0.23.45", default-features = false, features = ["ring", "std", "tls12"], optional = true }
webpki-roots = { version = "1.0.9", optional = true }
pulldown-cmark = { version = "0.13.4", default-features = false, features = ["html"], optional = true }
regex = { version = "1.13.1", default-features = false, features = ["std", "unicode-perl", "unicode-case"], optional = true }
[patch."https://github.com/rustclamp/core"]
rustclamp-core = { path = "../core" }