Cargo.toml
Rama main · réplica de lectura del repositorio original.
[package]
name = "sideporch"
version = "0.7.0"
edition = "2024"
rust-version = "1.95"
description = "A small, self-hosted team chat that ships as one binary"
license = "MIT"
repository = "https://github.com/niklas-heer/sideporch"
readme = "README.md"
keywords = ["chat", "self-hosted", "slack", "webhooks"]
categories = ["web-programming::http-server"]
[dependencies]
aes-gcm = "0.11.1"
argon2 = "0.6.0"
axum = { version = "0.8.9", features = ["multipart", "ws"] }
base64ct = { version = "1.8.3", features = ["alloc"] }
clap = { version = "4.6.7", features = ["derive", "env"] }
flate2 = "1.1.10"
full_moon = { version = "2.2.0", default-features = false, features = ["lua54"] }
futures-util = "0.3.34"
getrandom = "0.4.3"
http-body-util = "0.1.5"
hyper = "1.11.1"
hyper-rustls = { version = "0.27.10", default-features = false, features = ["ring", "webpki-roots", "http1", "http2", "tls12"] }
hyper-util = { version = "0.1.21", features = ["client-legacy", "http1", "http2", "tokio"] }
jiff = { version = "0.2.37", features = ["tzdb-bundle-always"] }
lettre = { version = "0.11.23", default-features = false, features = ["builder", "hostname", "smtp-transport", "tokio1-rustls", "ring", "webpki-roots"] }
maud = { version = "0.27.0", features = ["axum"] }
minisign-verify = "0.3"
mlua = { version = "0.12.1", features = ["lua54", "vendored", "send", "serde"] }
phosphor-svgs = "0.5.0"
pulldown-cmark = { version = "0.13.4", default-features = false, features = ["html"] }
qrcode = { version = "0.14.1", default-features = false, features = ["svg"] }
ring = { version = "0.17.14", default-features = false, features = ["alloc"] }
rusqlite = { version = "0.40.2", features = ["bundled"] }
rustfft = "6.4.1"
rustls = { version = "0.23.45", default-features = false, features = ["ring", "std", "tls12"] }
selene-lib = { version = "0.31.0", default-features = false, features = ["lua54"] }
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
sha2 = "0.11.0"
stylua = { version = "2.5.2", default-features = false, features = ["lua54"] }
sysinfo = { version = "0.39.6", default-features = false, features = ["system", "disk"] }
tar = { version = "0.4.46", default-features = false }
tokio = { version = "1.53.1", features = ["fs", "macros", "rt-multi-thread", "net", "process", "signal", "sync", "time"] }
tower-service = "0.3.3"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
tract-onnx = "0.23.8"
web-push-native = "0.5.0"
whatlang = "0.18.0"
zip = { version = "8.6.0", default-features = false, features = ["deflate-flate2"] }
[build-dependencies]
encre-css = "0.21.1"
[dev-dependencies]
blake2 = "0.10"
reqwest = { version = "0.13", default-features = false, features = ["json", "cookies", "form", "multipart"] }
tempfile = "3.27.0"
tokio-tungstenite = "0.29"
[lints.rust]
unsafe_code = "forbid"
[lints.clippy]
pedantic = { level = "deny", priority = -1 }
nursery = { level = "deny", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
indexing_slicing = "deny"
arithmetic_side_effects = "deny"
unreachable = "deny"
unimplemented = "deny"
todo = "deny"
string_slice = "deny"
panic_in_result_fn = "deny"
panic = "deny"
exit = "deny"
as_conversions = "deny"
unchecked_time_subtraction = "deny"
# Speech models run slowly unoptimized; debug builds and tests optimize
# the crates that do the math.
[profile.dev.package.tract-core]
opt-level = 3
[profile.dev.package.tract-linalg]
opt-level = 3
[profile.dev.package.tract-data]
opt-level = 3
[profile.dev.package.tract-onnx-opl]
opt-level = 3
[profile.dev.package.rustfft]
opt-level = 3
[profile.dev.package.ndarray]
opt-level = 3
[profile.release]
lto = "thin"
codegen-units = 1
strip = true