Replaces actix with axum for web, allows us to use socket.io and gives us access to the tower ecosystem of middleware breaks compatibility with our current websocket implementation, needs to be reimplemented for socket.io
65 lines
1.7 KiB
TOML
65 lines
1.7 KiB
TOML
[package]
|
|
name = "backend"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[profile.release]
|
|
strip = true
|
|
lto = true
|
|
codegen-units = 1
|
|
|
|
# Speed up compilation to make dev bearable
|
|
[profile.dev]
|
|
debug = 0
|
|
strip = "debuginfo"
|
|
codegen-units = 512
|
|
|
|
[dependencies]
|
|
thiserror = "2.0.12"
|
|
|
|
# CLI
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
log = "0.4"
|
|
|
|
# async
|
|
futures = "0.3"
|
|
tokio = { version = "1.46", features = ["full"] }
|
|
futures-util = "0.3.31"
|
|
|
|
# Data (de)serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "0.9"
|
|
bytes = "1.10.1"
|
|
rmpv = { version = "1.3.0", features = ["with-serde"] }
|
|
|
|
# File Storage
|
|
bindet = "0.3.2"
|
|
bunny-api-tokio = { version = "0.4", features = ["edge_storage"], default-features = false }
|
|
|
|
# Web Server
|
|
axum = { version = "0.8.4", features = ["macros", "multipart"] }
|
|
tower-http = { version = "0.6.6", features = ["cors"] }
|
|
axum-extra = { version = "0.10.1", features = ["cookie", "typed-header"] }
|
|
socketioxide = { version = "0.17.2", features = ["state"] }
|
|
url = { version = "2.5", features = ["serde"] }
|
|
time = "0.3.41"
|
|
|
|
# Database
|
|
uuid = { version = "1.17", features = ["serde", "v7"] }
|
|
redis = { version = "0.32", features= ["tokio-comp"] }
|
|
deadpool = "0.12"
|
|
diesel = { version = "2.2", features = ["uuid", "chrono"], default-features = false }
|
|
diesel-async = { version = "0.6", features = ["deadpool", "postgres", "async-connection-wrapper"] }
|
|
diesel_migrations = { version = "2.2.0", features = ["postgres"] }
|
|
|
|
# Authentication
|
|
argon2 = { version = "0.5.3", features = ["std"] }
|
|
getrandom = "0.3"
|
|
hex = "0.4"
|
|
regex = "1.11"
|
|
random-string = "1.1"
|
|
lettre = { version = "0.11", features = ["tokio1", "tokio1-native-tls"] }
|
|
chrono = { version = "0.4.41", features = ["serde"] }
|
|
tracing-subscriber = "0.3.19"
|
|
|