| 1 | [package] |
| 2 | name = "ferrenium" |
| 3 | version = "0.1.0" |
| 4 | edition = "2024" |
| 5 | rust-version = "1.89" |
| 6 | description = "A fast, read-only Git repository browser" |
| 7 | publish = false |
| 8 | |
| 9 | [dependencies] |
| 10 | ammonia = "4.2" |
| 11 | anyhow = "1.0.104" |
| 12 | arc-swap = "1.9.3" |
| 13 | askama = "0.16.1" |
| 14 | axum = { version = "0.8.9", default-features = false, features = ["http1", "tokio", "query"] } |
| 15 | clap = { version = "4.6.7", features = ["derive", "env"] } |
| 16 | comrak = { version = "0.59", default-features = false } |
| 17 | # No `extras`/`interrupt`: they install their own signal handlers. |
| 18 | gix = { version = "0.90.0", default-features = false, features = ["max-performance", "revision", "blob-diff", "blame", "mailmap", "worktree-archive", "sha1"] } |
| 19 | jiff = "0.2.39" |
| 20 | mime_guess = "2.0.5" |
| 21 | moka = { version = "0.12", features = ["sync"] } |
| 22 | notify = { version = "8.2.1", default-features = false } |
| 23 | rust-embed = "8.13.0" |
| 24 | sd-notify = "0.5.0" |
| 25 | serde = { version = "1.0.229", features = ["derive"] } |
| 26 | syntect = { version = "5.3", default-features = false, features = ["parsing", "html", "regex-fancy"] } |
| 27 | thiserror = "2.0.21" |
| 28 | tokio = { version = "1.54.1", features = ["rt-multi-thread", "macros", "net", "signal", "sync", "time"] } |
| 29 | toml = "1.2.0" |
| 30 | tower = { version = "0.5.3", features = ["util"] } |
| 31 | tower-http = { version = "0.7.1", features = ["trace", "timeout", "catch-panic", "compression-gzip", "compression-br", "set-header"] } |
| 32 | tracing = "0.1.44" |
| 33 | tracing-subscriber = { version = "0.3.23", features = ["env-filter", "fmt"] } |
| 34 | two-face = { version = "0.5", default-features = false, features = ["syntect-fancy"] } |
| 35 | |
| 36 | [dev-dependencies] |
| 37 | tempfile = "3" |
| 38 | |
| 39 | [profile.release] |
| 40 | lto = "thin" |
| 41 | codegen-units = 1 |
| 42 | strip = true |