The smokesignal.events web application
at main 105 lines 4.6 kB view raw
1[package] 2name = "smokesignal" 3version = "1.0.2" 4edition = "2024" 5rust-version = "1.90" 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", "s3"] 19embed = ["dep:minijinja-embed"] 20reload = ["dep:minijinja-autoreload", "minijinja/loader"] 21s3 = ["dep:minio"] 22 23[build-dependencies] 24minijinja-embed = {version = "2.7"} 25serde_json = "1.0" 26 27[dependencies] 28atproto-client = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs" } 29atproto-attestation = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs" } 30atproto-identity = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs", features = ["lru", "zeroize", "hickory-dns"] } 31atproto-tap = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs" } 32atproto-oauth = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs", features = ["lru", "zeroize"] } 33atproto-oauth-axum = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs", features = ["zeroize"] } 34atproto-record = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs" } 35atproto-xrpcs = { git = "https://tangled.org/@smokesignal.events/atproto-identity-rs" } 36 37ammonia = "4" 38anyhow = "1.0" 39async-trait = "0.1" 40axum = { version = "0.8", features = ["http2", "macros", "multipart"] } 41axum-extra = { version = "0.12", features = ["cookie", "cookie-private", "form", "query", "cookie-key-expansion", "typed-header", "typed-routing", "cached"] } 42axum-htmx = { version = "0.8", features = ["auto-vary"] } 43axum-template = { version = "3.0", features = ["minijinja-autoreload", "minijinja"] } 44base64 = "0.22" 45bloomfilter = "3" 46bytes = "1.10" 47chrono = { version = "0.4", default-features = false, features = ["std", "alloc", "now", "serde"] } 48chrono-tz = { version = "0.10", features = ["serde"] } 49cookie = "0.18" 50crockford = "1.2" 51css-inline = "0.18" 52deadpool-redis = {version = "0.22", features = ["connection-manager", "tokio-comp", "tokio-rustls-comp"] } 53elliptic-curve = { version = "0.13", features = ["pem", "pkcs8", "sec1", "std", "alloc", "digest", "ecdh", "jwk", "bits"] } 54fluent = "0.17" 55fluent-bundle = "0.16" 56fluent-syntax = "0.12" 57hex = "0.4.3" 58hmac = "0.12" 59http = "1.1" 60icalendar = "0.17" 61image = "0.25" 62intl-memoizer = "0.5" 63itertools = "0.14" 64lettre = {version = "0.11", default-features = false, features = ["builder", "hostname", "pool", "smtp-transport", "rustls-tls", "tokio1-rustls-tls"]} 65lru = "0.16" 66metrohash = "1.0" 67minify-html-onepass = "0.18" 68minijinja = { version = "2.7", features = ["builtins", "json", "urlencode"] } 69minijinja-autoreload = { version = "2.7", optional = true } 70minijinja-embed = { version = "2.7", optional = true } 71minio = { version = "0.3", optional = true } 72once_cell = "1.19" 73opensearch = { version = "2.3", default-features = false, features = ["rustls-tls"] } 74ordermap = { version = "1", features = ["serde"] } 75p256 = { version = "0.13", features = ["ecdsa-core", "jwk", "serde", "ecdh"] } 76rand = "0.9" 77regex = "1" 78reqwest = { version = "0.12", features = ["json", "zstd", "rustls-tls"] } 79rust-embed = "8.5" 80serde = { version = "1.0", features = ["alloc", "derive"] } 81serde_json = { version = "1.0", features = ["alloc"] } 82sha2 = "0.10" 83sqlx = { version = "0.8", default-features = false, features = ["derive", "macros", "migrate", "json", "runtime-tokio", "postgres", "chrono", "tls-rustls-ring-native-roots"] } 84thiserror = "2.0" 85tokio = { version = "1.41", features = ["bytes", "macros", "net", "rt", "rt-multi-thread", "signal", "sync"] } 86tokio-stream = "0.1" 87tokio-util = { version = "0.7", features = ["net", "rt", "tracing"] } 88tower-http = { version = "0.6", features = ["cors", "fs", "timeout", "trace", "tracing"] } 89tracing = { version = "0.1", features = ["async-await", "log", "valuable"] } 90tracing-subscriber = { version = "0.3", features = ["env-filter", "chrono", "json"] } 91ulid = { version = "1.1", features = ["serde"] } 92unic-langid = "0.9" 93url = "2.5" 94urlencoding = "2.1" 95base32 = "0.5.1" 96futures = { version = "0.3.31", default-features = false, features = ["alloc"] } 97h3o = "0.6" 98 99[profile.release] 100opt-level = 3 101lto = true 102strip = true 103 104[lints.rust] 105unsafe_code = "forbid"