forked from
smokesignal.events/smokesignal
Fork i18n + search + filtering- v0.2
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[[bin]]
18name = "i18n_checker"
19path = "src/bin/i18n_checker.rs"
20
21[lib]
22name = "smokesignal"
23path = "src/lib.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"
40chrono-tz = { version = "0.10", features = ["serde"] }
41chrono = { version = "0.4", default-features = false, features = ["std", "alloc", "now", "serde"] }
42futures-util = { version = "0.3", features = ["sink"] }
43headers = "0.4"
44http = "1.1"
45serde_json = { version = "1.0", features = ["alloc"] }
46serde = { version = "1.0", features = ["alloc", "derive"] }
47thiserror = "2.0"
48tokio-util = { version = "0.7", features = ["net", "rt", "tracing"] }
49tokio = { version = "1.41", features = ["bytes", "macros", "net", "rt", "rt-multi-thread", "signal", "sync"] }
50tower-http = { version = "0.6", features = ["cors", "fs", "timeout", "trace", "tracing"] }
51tower = { version = "0.5", features = ["limit", "timeout", "tokio", "tracing"] }
52tracing-subscriber = { version = "0.3", features = ["env-filter", "chrono", "json"] }
53tracing = { version = "0.1", features = ["async-await", "log", "valuable"] }
54reqwest = { version = "0.12", features = ["json", "zstd", "rustls-tls"] }
55reqwest-chain = "1"
56reqwest-middleware = { version = "0.4", features = ["http2", "json", "multipart"] }
57reqwest-retry = "0.7"
58duration-str = "0.11"
59minijinja = { version = "2.7", features = ["builtins", "json", "urlencode"] }
60minijinja-autoreload = { version = "2.7", optional = true }
61minijinja-embed = { version = "2.7", optional = true }
62axum-htmx = { version = "0.7", features = ["auto-vary"] }
63hickory-resolver = { version = "0.24", features = ["dns-over-https-rustls", "dns-over-rustls", "rustls", "tokio-rustls"] }
64cityhasher = "0.1"
65rand = "0.8"
66async-stream = "0.3"
67tokio-stream = "0.1"
68url = "2.5"
69cookie = "0.18"
70ammonia = "4"
71rust-embed = "8.5"
72sqlx = { version = "0.8", default-features = false, features = ["derive", "macros", "migrate", "json", "runtime-tokio", "postgres", "chrono", "tls-rustls-ring-native-roots"] }
73elliptic-curve = { version = "0.13.8", features = ["pem", "pkcs8", "sec1", "std", "alloc", "digest", "ecdh", "jwk", "bits"] }
74p256 = { version = "0.13.2", features = ["ecdsa-core", "jwk", "serde", "ecdh"] }
75ordermap = "0.5"
76urlencoding = "2.1"
77ulid = { version = "1.1", features = ["serde"] }
78unic-langid = "0.9"
79intl-memoizer = "0.5"
80fluent = "0.16"
81fluent-bundle = "0.15"
82fluent-syntax = "0.11"
83fluent-langneg = "0.13"
84sha2 = "0.10.8"
85redis = { version = "0.29", features = ["tokio-comp", "tokio-rustls-comp"] }
86itertools = "0.14.0"
87deadpool = "0.12.2"
88deadpool-redis = {version = "0.20.0", features = ["connection-manager", "tokio-comp", "tokio-rustls-comp"] }
89crockford = "1.2.1"
90tokio-websockets = { version = "0.11.3", features = ["client", "rand", "ring", "rustls-native-roots"] }
91zstd = "0.13.3"
92once_cell = "1.19"
93parking_lot = "0.12"
94metrohash = "1.0.7"
95
96[dev-dependencies]
97# For i18n validation tests - note: fluent dependencies are already in main deps
98unic-langid = { version = "0.9", features = ["unic-langid-macros"] }
99
100[[test]]
101name = "i18n_validation"
102path = "tests/i18n_validation.rs"
103
104[profile.release]
105opt-level = 3
106lto = true
107strip = true
108
109[lints.rust]
110unsafe_code = "forbid"