guestbook.rs/Cargo.toml
2024-01-03 20:00:15 +01:00

52 lines
1.7 KiB
TOML

[package]
name = "guestbook"
version = "0.3.2"
authors = ["alemi <me@alemi.dev>"]
description = "an easy to deploy and customizable guestbook for your site "
repository = "https://git.alemi.dev/guestbook.rs/"
keywords = ["selfhost", "guestbook", "comments", "sqlx", "axum"]
license-file = "LICENSE.txt"
readme = "README.md"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# core
tracing = "0.1"
tracing-subscriber = "0.3"
thiserror = "1"
md-5 = "0.10"
toml = "0.8"
uuid = { version = "1.6", features = ["v4", "fast-rng"] }
chrono = { version = "0.4", features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde-inline-default = "0.1" # TODO this hopefully won't be needed anymore soon
async-trait = "0.1"
html-escape = "0.2"
clap = { version = "4.4", features = ["derive", "cargo"] }
tokio = { version = "1.35", features = ["macros", "rt-multi-thread"] }
axum = "0.7"
# db providers
sqlx = { version = "0.7", features = ["runtime-tokio", "tls-rustls", "any"] }
# notification providers
teloxide = { version = "0.12", features = ["macros"], optional = true }
mail-send = { version = "0.4", optional = true }
tokio-rustls = { version = "0.25", optional = true }
# frontend
sailfish = { version = "0.8", optional = true }
axum-extra = { version = "0.9", optional = true }
serde_default = "0.1.0"
[features]
default = ["mysql", "sqlite", "postgres", "telegram", "email", "web"] # all features by default
# db drivers
mysql = ["sqlx/mysql"]
sqlite = ["sqlx/sqlite"]
postgres = ["sqlx/postgres"]
# notifier providers
telegram = ["dep:teloxide"]
email = ["dep:mail-send", "dep:tokio-rustls"]
# frontend
web = ["dep:sailfish", "dep:axum-extra"]