i18n+filtering fork - fluent-templates v2
at main 4.3 kB view raw
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" 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" 44html-escape = "0.2" 45http = "1.1" 46regex = "1.10" 47serde_json = { version = "1.0", features = ["alloc"] } 48serde = { version = "1.0", features = ["alloc", "derive"] } 49thiserror = "2.0" 50tokio-util = { version = "0.7", features = ["net", "rt", "tracing"] } 51tokio = { version = "1.41", features = ["bytes", "macros", "net", "rt", "rt-multi-thread", "signal", "sync"] } 52tower-http = { version = "0.6", features = ["cors", "fs", "timeout", "trace", "tracing"] } 53tower = { version = "0.5", features = ["limit", "timeout", "tokio", "tracing"] } 54tracing-subscriber = { version = "0.3", features = ["env-filter", "chrono", "json"] } 55tracing = { version = "0.1", features = ["async-await", "log", "valuable"] } 56reqwest = { version = "0.12", features = ["json", "zstd", "rustls-tls"] } 57reqwest-chain = "1" 58reqwest-middleware = { version = "0.4", features = ["http2", "json", "multipart"] } 59reqwest-retry = "0.7" 60duration-str = "0.11" 61minijinja = { version = "2.7", features = ["builtins", "json", "urlencode"] } 62minijinja-autoreload = { version = "2.7", optional = true } 63minijinja-embed = { version = "2.7", optional = true } 64axum-htmx = { version = "0.7", features = ["auto-vary"] } 65hickory-resolver = { version = "0.24", features = ["dns-over-https-rustls", "dns-over-rustls", "rustls", "tokio-rustls"] } 66cityhasher = "0.1" 67rand = "0.8" 68async-stream = "0.3" 69tokio-stream = "0.1" 70url = "2.5" 71cookie = "0.18" 72ammonia = "4" 73rust-embed = "8.5" 74sqlx = { version = "0.8", default-features = false, features = ["derive", "macros", "migrate", "json", "runtime-tokio", "postgres", "chrono", "tls-rustls-ring-native-roots"] } 75elliptic-curve = { version = "0.13.8", features = ["pem", "pkcs8", "sec1", "std", "alloc", "digest", "ecdh", "jwk", "bits"] } 76p256 = { version = "0.13.2", features = ["ecdsa-core", "jwk", "serde", "ecdh"] } 77ordermap = "0.5" 78urlencoding = "2.1" 79ulid = { version = "1.1", features = ["serde"] } 80unic-langid = "0.9" 81intl-memoizer = "0.5" 82fluent = "0.16" 83fluent-bundle = "0.15" 84fluent-syntax = "0.11" 85sha2 = "0.10.8" 86redis = { version = "0.28", features = ["tokio-comp", "tokio-rustls-comp"] } 87itertools = "0.14.0" 88deadpool = "0.12.2" 89deadpool-redis = {version = "0.20.0", features = ["connection-manager", "tokio-comp", "tokio-rustls-comp"] } 90crockford = "1.2.1" 91tokio-websockets = { version = "0.11.3", features = ["client", "rand", "ring", "rustls-native-roots"] } 92zstd = "0.13.3" 93once_cell = "1.19" 94parking_lot = "0.12" 95metrohash = "1.0.7" 96fluent-templates = { version = "0.13.0", features = ["handlebars"] } 97serde_urlencoded = "0.7.1" 98ics = "0.5" 99 100[dev-dependencies] 101# Testing dependencies for comprehensive i18n test suite 102tokio-test = "0.4" 103tempfile = "3.10" 104serial_test = "3.1" 105criterion = { version = "0.5", features = ["html_reports"] } 106proptest = "1.5" 107mockall = "0.13" 108wiremock = "0.6" 109 110[profile.release] 111opt-level = 3 112lto = true 113strip = true 114 115[lints.rust] 116unsafe_code = "forbid"