Heavily customized version of smokesignal - https://whtwnd.com/kayrozen.com/3lpwe4ymowg2t
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[lib]
18name = "smokesignal"
19path = "src/lib.rs"
20
21[[bin]]
22name = "i18n-tester"
23path = "src/bin/i18n_tester.rs"
24
25[features]
26default = ["reload"]
27embed = ["dep:minijinja-embed"]
28reload = ["dep:minijinja-autoreload", "minijinja/loader"]
29
30[build-dependencies]
31minijinja-embed = {version = "2.7"}
32
33[dependencies]
34anyhow = "1.0"
35async-trait = "0.1"
36axum-extra = { version = "0.10", features = ["cookie", "cookie-private", "form", "query", "cookie-key-expansion", "typed-header", "typed-routing"] }
37axum = { version = "0.8", features = ["http2", "macros"] }
38axum-template = { version = "3.0", features = ["minijinja-autoreload", "minijinja"] }
39base64 = "0.22"
40base64-url = "2.0.2"
41chrono-tz = { version = "0.10", features = ["serde"] }
42chrono = { version = "0.4", default-features = false, features = ["std", "alloc", "now", "serde"] }
43futures-util = { version = "0.3", features = ["sink"] }
44headers = "0.4"
45html-escape = "0.2"
46http = "1.1"
47regex = "1.10"
48serde_json = { version = "1.0", features = ["alloc"] }
49serde = { version = "1.0", features = ["alloc", "derive"] }
50thiserror = "2.0"
51tokio-util = { version = "0.7", features = ["net", "rt", "tracing"] }
52tokio = { version = "1.41", features = ["bytes", "macros", "net", "rt", "rt-multi-thread", "signal", "sync"] }
53tower-http = { version = "0.6", features = ["cors", "fs", "timeout", "trace", "tracing"] }
54tower = { version = "0.5", features = ["limit", "timeout", "tokio", "tracing"] }
55tracing-subscriber = { version = "0.3", features = ["env-filter", "chrono", "json"] }
56tracing = { version = "0.1", features = ["async-await", "log", "valuable"] }
57reqwest = { version = "0.12", features = ["json", "zstd", "rustls-tls"] }
58reqwest-chain = "1"
59reqwest-middleware = { version = "0.4", features = ["http2", "json", "multipart"] }
60reqwest-retry = "0.7"
61duration-str = "0.11"
62minijinja = { version = "2.7", features = ["builtins", "json", "urlencode"] }
63minijinja-autoreload = { version = "2.7", optional = true }
64minijinja-embed = { version = "2.7", optional = true }
65axum-htmx = { version = "0.7", features = ["auto-vary"] }
66hickory-resolver = { version = "0.24", features = ["dns-over-https-rustls", "dns-over-rustls", "rustls", "tokio-rustls"] }
67cityhasher = "0.1"
68rand = "0.8"
69async-stream = "0.3"
70tokio-stream = "0.1"
71url = "2.5"
72cookie = "0.18"
73ammonia = "4"
74rust-embed = "8.5"
75sqlx = { version = "0.8", default-features = false, features = ["derive", "macros", "migrate", "json", "runtime-tokio", "postgres", "chrono", "tls-rustls-ring-native-roots"] }
76elliptic-curve = { version = "0.13.8", features = ["pem", "pkcs8", "sec1", "std", "alloc", "digest", "ecdh", "jwk", "bits", "hash2curve"] }
77p256 = { version = "0.13.2", features = ["ecdsa-core", "jwk", "serde", "ecdh"] }
78ordermap = "0.5"
79urlencoding = "2.1"
80ulid = { version = "1.1", features = ["serde"] }
81unic-langid = "0.9"
82intl-memoizer = "0.5"
83fluent = "0.16"
84fluent-bundle = "0.15"
85fluent-syntax = "0.11"
86sha2 = "0.10.8"
87redis = { version = "0.28", features = ["tokio-comp", "tokio-rustls-comp"] }
88itertools = "0.14.0"
89deadpool = "0.12.2"
90deadpool-redis = {version = "0.20.0", features = ["connection-manager", "tokio-comp", "tokio-rustls-comp"] }
91crockford = "1.2.1"
92tokio-websockets = { version = "0.11.3", features = ["client", "rand", "ring", "rustls-native-roots"] }
93zstd = "0.13.3"
94once_cell = "1.19"
95parking_lot = "0.12"
96metrohash = "1.0.7"
97fluent-templates = { version = "0.13.0", features = ["handlebars"] }
98serde_urlencoded = "0.7.1"
99ics = "0.5"
100
101# AT Protocol / Atrium dependencies
102# Atrium API ecosystem for AT Protocol
103atrium-api = "0.25.4"
104atrium-oauth = "0.1.3"
105atrium-identity = "0.1.5"
106atrium-xrpc = "0.12.3"
107atrium-xrpc-client = "0.5.14"
108atrium-common = "0.1.2"
109atrium-repo = "0.1.4"
110uuid = { version = "1.11", features = ["v4", "serde"] }
111
112[dev-dependencies]
113tokio-test = "0.4"
114
115[profile.release]
116opt-level = 3
117lto = true
118strip = true
119
120[lints.rust]
121unsafe_code = "forbid"