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