[package]
edition = "2024"
rust-version = "1.95.0"
name = "margaret"
version = "0.2.0"
build = false
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "An opinionated Rust application framework with compile-time verified architecture and dependency injection."
readme = "README.md"
keywords = [
"framework",
"dependency-injection",
"code-generation",
"compile-time",
]
categories = ["web-programming"]
license = "Apache-2.0"
repository = "https://github.com/intentee/margaret"
[package.metadata.docs.rs]
all-features = true
[features]
codegen = ["dep:margaret_codegen"]
default = ["runtime"]
runtime = [
"dep:anyhow",
"dep:margaret_access_token_minter",
"dep:margaret_asset_bag",
"dep:margaret_console",
"dep:margaret_construction",
"dep:margaret_http",
"dep:margaret_http_uploaded_file",
"dep:margaret_http_validation",
"dep:margaret_identity",
"dep:margaret_identity_session",
"dep:margaret_jwks_client",
"dep:margaret_jwks_endpoint",
"dep:margaret_jwks_file_secret_storage",
"dep:margaret_jwks_keygen",
"dep:margaret_jwks_roller",
"dep:margaret_jwks_roller_server",
"dep:margaret_jwks_secret_storage_selection",
"dep:margaret_jwks_secret_store",
"dep:margaret_macros",
"dep:margaret_model",
"dep:margaret_peer_identity",
"dep:margaret_route_parameter_binding",
"dep:margaret_service",
"dep:margaret_spiffe_svid",
"dep:margaret_spiffe_svid_bundle",
"dep:margaret_spiffe_svid_client",
"dep:margaret_spiffe_svid_server",
"dep:margaret_sync_holder",
"dep:margaret_token_signer",
"dep:margaret_validation",
"dep:margaret_views",
"dep:margaret_websocket",
"dep:margaret_websocket_session",
]
[lib]
name = "margaret"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.margaret_access_token_minter]
version = "0.1.0"
optional = true
[dependencies.margaret_asset_bag]
version = "0.1.0"
optional = true
[dependencies.margaret_codegen]
version = "0.2.0"
optional = true
[dependencies.margaret_console]
version = "0.1.0"
optional = true
[dependencies.margaret_construction]
version = "0.1.0"
optional = true
[dependencies.margaret_http]
version = "0.1.0"
optional = true
[dependencies.margaret_http_uploaded_file]
version = "0.1.0"
optional = true
[dependencies.margaret_http_validation]
version = "0.1.0"
optional = true
[dependencies.margaret_identity]
version = "0.1.0"
optional = true
[dependencies.margaret_identity_session]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_client]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_endpoint]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_file_secret_storage]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_keygen]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_roller]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_roller_server]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_secret_storage_selection]
version = "0.1.0"
optional = true
[dependencies.margaret_jwks_secret_store]
version = "0.1.0"
optional = true
[dependencies.margaret_macros]
version = "0.1.0"
optional = true
[dependencies.margaret_model]
version = "0.2.0"
optional = true
[dependencies.margaret_peer_identity]
version = "0.1.0"
optional = true
[dependencies.margaret_route_parameter_binding]
version = "0.1.0"
optional = true
[dependencies.margaret_service]
version = "0.1.0"
optional = true
[dependencies.margaret_spiffe_svid]
version = "0.1.0"
optional = true
[dependencies.margaret_spiffe_svid_bundle]
version = "0.1.0"
optional = true
[dependencies.margaret_spiffe_svid_client]
version = "0.1.0"
optional = true
[dependencies.margaret_spiffe_svid_server]
version = "0.1.0"
optional = true
[dependencies.margaret_sync_holder]
version = "0.1.0"
optional = true
[dependencies.margaret_token_signer]
version = "0.1.0"
optional = true
[dependencies.margaret_validation]
version = "0.1.0"
optional = true
[dependencies.margaret_views]
version = "0.1.0"
optional = true
[dependencies.margaret_websocket]
version = "0.1.0"
optional = true
[dependencies.margaret_websocket_session]
version = "0.1.0"
optional = true
[lints.clippy.all]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1