[package] name = "irongit" version = "0.1.0" edition = "2024" [features] default = ["hot-reload"] # src/dev.rs: the bun rebuild, the file watcher and /dev-ws. Build a # production binary with --no-default-features to leave all of it out. hot-reload = ["dep:notify"] [dependencies] notify = { version = "8", optional = true } irongit-shared = { path = "../shared" } anyhow = "1.0.104" axum = { version = "0.8.9", features = ["ws", "multipart", "macros"] } tokio = { version = "1.53.2", features = ["full"] } tower-http = { version = "0.7.1", features = ["trace", "compression-gzip", "limit", "set-header", "timeout"] } sqlx = { version = "0.9.0", default-features = false, features = ["runtime-tokio", "tls-rustls-ring-webpki", "postgres", "macros", "migrate", "uuid", "chrono", "json"] } uuid = { version = "1.27.0", features = ["v4", "v7", "serde"] } chrono = { version = "0.4.45", features = ["serde"] } serde = { version = "1.0.229", features = ["derive"] } serde_json = "1.0.151" mime_guess = "2.0.5" rust-embed = "8.13.0" tracing = "0.1.44" tracing-appender = "0.2.5" dotenvy = "0.15.7" argon2 = "0.6.0" rand = "0.10.3" sha2 = "0.11.0" hex = "0.4.3" hmac = "0.13.0" base64 = "0.23.1" bytes = "1.12.1" futures = "0.3.34" tokio-util = { version = "0.7.19", features = ["io", "io-util"] } url = "2.5.8" maud = { version = "0.27.0", features = ["axum"] } regex = "1.13.1" once_cell = "1.21.4" time = "0.3.55" tracing-subscriber = { version = "0.3.23", features = ["env-filter", "json"] } rusty-s3 = "0.10.2" reqwest = { version = "0.13.5", default-features = false, features = ["rustls", "stream", "json", "http2", "form", "query"] } russh = "0.64.1" comrak = "0.56.0" syntect = "5.3.0" flate2 = "1.1.10" clap = { version = "4.6.7", features = ["derive", "env"] } lettre = { version = "0.11.23", default-features = false, features = ["tokio1-rustls-tls", "smtp-transport", "builder", "hostname"] } axum-extra = { version = "0.12.6", features = ["cookie", "typed-header"] } async-compression = { version = "0.4.50", features = ["tokio", "gzip"] }