forked from
smokesignal.events/smokesignal
i18n+filtering fork - fluent-templates v2
1[package]
2name = "smokesignal"
3version = "1.0.2"
4edition = "2021"
5rust-version = "1.83"
6authors = ["Nick Gerakines <nick.gerakines@gmail.com>"]
7description = "An event and RSVP management application."
8readme = "README.md"
9homepage = "https://smokesignal.events/"
10repository = "https://tangled.sh/@smokesignal.events/smokesignal"
11license = "MIT"
12build = "build.rs"
13publish = false
14include = ["/src", "/templates", "/static", "/i18n", "/migrations", "/build.rs", "/LICENSE", "/README.md", "/Dockerfile"]
15default-run = "smokesignal"
16
17[features]
18default = ["reload"]
19embed = ["dep:minijinja-embed"]
20reload = ["dep:minijinja-autoreload", "minijinja/loader"]
21
22[build-dependencies]
23minijinja-embed = {version = "2.7"}
24
25[dependencies]
26anyhow = "1.0"
27async-trait = "0.1"
28axum-extra = { version = "0.10", features = ["cookie", "cookie-private", "form", "query", "cookie-key-expansion", "typed-header", "typed-routing"] }
29axum = { version = "0.8", features = ["http2", "macros"] }
30axum-template = { version = "3.0", features = ["minijinja-autoreload", "minijinja"] }
31base64 = "0.22"
32chrono-tz = { version = "0.10", features = ["serde"] }
33chrono = { version = "0.4", default-features = false, features = ["std", "alloc", "now", "serde"] }
34futures-util = { version = "0.3", features = ["sink"] }
35headers = "0.4"
36http = "1.1"
37serde_json = { version = "1.0", features = ["alloc"] }
38serde = { version = "1.0", features = ["alloc", "derive"] }
39thiserror = "2.0"
40tokio-util = { version = "0.7", features = ["net", "rt", "tracing"] }
41tokio = { version = "1.41", features = ["bytes", "macros", "net", "rt", "rt-multi-thread", "signal", "sync"] }
42tower-http = { version = "0.6", features = ["cors", "fs", "timeout", "trace", "tracing"] }
43tower = { version = "0.5", features = ["limit", "timeout", "tokio", "tracing"] }
44tracing-subscriber = { version = "0.3", features = ["env-filter", "chrono", "json"] }
45tracing = { version = "0.1", features = ["async-await", "log", "valuable"] }
46reqwest = { version = "0.12", features = ["json", "zstd", "rustls-tls"] }
47reqwest-chain = "1"
48reqwest-middleware = { version = "0.4", features = ["http2", "json", "multipart"] }
49reqwest-retry = "0.7"
50duration-str = "0.11"
51minijinja = { version = "2.7", features = ["builtins", "json", "urlencode"] }
52minijinja-autoreload = { version = "2.7", optional = true }
53minijinja-embed = { version = "2.7", optional = true }
54axum-htmx = { version = "0.7", features = ["auto-vary"] }
55hickory-resolver = { version = "0.24", features = ["dns-over-https-rustls", "dns-over-rustls", "rustls", "tokio-rustls"] }
56cityhasher = "0.1"
57rand = "0.8"
58async-stream = "0.3"
59tokio-stream = "0.1"
60url = "2.5"
61cookie = "0.18"
62ammonia = "4"
63rust-embed = "8.5"
64sqlx = { version = "0.8", default-features = false, features = ["derive", "macros", "migrate", "json", "runtime-tokio", "postgres", "chrono", "tls-rustls-ring-native-roots"] }
65elliptic-curve = { version = "0.13.8", features = ["pem", "pkcs8", "sec1", "std", "alloc", "digest", "ecdh", "jwk", "bits"] }
66p256 = { version = "0.13.2", features = ["ecdsa-core", "jwk", "serde", "ecdh"] }
67ordermap = "0.5"
68urlencoding = "2.1"
69ulid = { version = "1.1", features = ["serde"] }
70unic-langid = "0.9"
71intl-memoizer = "0.5"
72fluent = "0.16"
73fluent-bundle = "0.15"
74fluent-syntax = "0.11"
75sha2 = "0.10.8"
76redis = { version = "0.28", features = ["tokio-comp", "tokio-rustls-comp"] }
77itertools = "0.14.0"
78deadpool = "0.12.2"
79deadpool-redis = {version = "0.20.0", features = ["connection-manager", "tokio-comp", "tokio-rustls-comp"] }
80crockford = "1.2.1"
81tokio-websockets = { version = "0.11.3", features = ["client", "rand", "ring", "rustls-native-roots"] }
82zstd = "0.13.3"
83once_cell = "1.19"
84parking_lot = "0.12"
85metrohash = "1.0.7"
86
87[profile.release]
88opt-level = 3
89lto = true
90strip = true
91
92[lints.rust]
93unsafe_code = "forbid"