Cargo.toml 55 lignes · 1969 octets
[package]
name = "rustwarden-app"
version = "1.2.0"
edition.workspace = true
rust-version.workspace = true
description = "Reference application using the Rustwarden framework"

[[bin]]
name = "rustwarden"
path = "src/main.rs"

[features]
default = []
# Active le protocole ActivityPub headless (RFC 0001+).
# Compile et lie la crate `rustwarden-fediverse` (services, routes,
# signatures HTTP) sans aucune UI.
fediverse = [
    "dep:rustwarden-fediverse",
]
# Active l'UI HTML de référence pour la fédération (handlers, templates,
# carte dashboard). Implique automatiquement `fediverse`.
fediverse-ui = [
    "fediverse",
    "dep:rustwarden-fediverse-ui",
]
# Active la détection d'abus et le ban manager temps-réel (RFC 0028).
# Branche `GuardObserver` comme `FediverseEventObserver` sur le routeur
# de fédération ; sans cette feature, la fédération boote avec
# `NoopFediverseObserver` et les événements sont silencieusement
# ignorés. Implique automatiquement `fediverse`.
fediverse-guard = [
    "fediverse",
    "dep:rustwarden-fediverse-guard",
]

[dependencies]
rustwarden-core = { path = "../crates/rustwarden-core", features = ["oauth"] }
rustwarden-ui = { path = "../crates/rustwarden-ui" }
rustwarden-fediverse = { path = "../crates/rustwarden-fediverse", optional = true }
rustwarden-fediverse-ui = { path = "../crates/rustwarden-fediverse-ui", optional = true }
rustwarden-fediverse-guard = { path = "../crates/rustwarden-fediverse-guard", optional = true }
sea-orm = { version = "2.0.0", features = ["sqlx-postgres", "runtime-tokio-native-tls", "macros"] }
axum = { version = "0.8", features = ["macros"] }
tokio = { version = "1", features = ["full"] }
tower = { version = "0.5", features = ["limit", "util"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
dotenvy = "0.15"
anyhow = "1.0"
async-trait = "0.1"
uuid = { version = "1.0", features = ["v4"] }
serde_json = "1.0"

[lints]
workspace = true