2020-05-09 22:11:48 -07:00
|
|
|
[package]
|
2020-07-23 22:46:33 +02:00
|
|
|
name = "labrinth"
|
2023-02-01 10:08:02 -07:00
|
|
|
version = "2.7.0"
|
2025-06-14 01:16:48 +02:00
|
|
|
edition.workspace = true
|
2025-08-16 17:47:11 +02:00
|
|
|
license = "AGPL-3.0-only"
|
2020-05-09 22:11:48 -07:00
|
|
|
|
2022-12-23 15:19:15 -05:00
|
|
|
# This seems redundant, but it's necessary for Docker to work
|
2020-07-23 22:46:33 +02:00
|
|
|
[[bin]]
|
|
|
|
|
name = "labrinth"
|
|
|
|
|
path = "src/main.rs"
|
|
|
|
|
|
2020-05-09 22:11:48 -07:00
|
|
|
[dependencies]
|
2025-10-12 21:18:38 +01:00
|
|
|
actix-cors = { workspace = true }
|
|
|
|
|
actix-files = { workspace = true }
|
2026-01-21 18:59:05 +00:00
|
|
|
actix-http = { workspace = true }
|
2025-10-12 21:18:38 +01:00
|
|
|
actix-multipart = { workspace = true }
|
|
|
|
|
actix-rt = { workspace = true }
|
|
|
|
|
actix-web = { workspace = true }
|
2025-05-15 22:47:29 +02:00
|
|
|
actix-web-prom = { workspace = true, features = ["process"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
actix-ws = { workspace = true }
|
2025-11-03 14:19:46 -08:00
|
|
|
arc-swap = { workspace = true }
|
2025-10-12 21:18:38 +01:00
|
|
|
argon2 = { workspace = true }
|
|
|
|
|
ariadne = { workspace = true }
|
2026-03-03 22:20:48 +00:00
|
|
|
async-minecraft-ping = { workspace = true, features = ["srv"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
async-stripe = { workspace = true, features = [
|
|
|
|
|
"billing",
|
|
|
|
|
"checkout",
|
|
|
|
|
"connect",
|
2026-03-12 17:58:55 +00:00
|
|
|
"webhook-events"
|
2025-10-12 21:18:38 +01:00
|
|
|
] }
|
|
|
|
|
async-trait = { workspace = true }
|
2026-05-01 05:58:26 -04:00
|
|
|
aws-sdk-s3 = { workspace = true }
|
2025-10-12 21:18:38 +01:00
|
|
|
base64 = { workspace = true }
|
|
|
|
|
bitflags = { workspace = true }
|
|
|
|
|
bytes = { workspace = true }
|
|
|
|
|
censor = { workspace = true }
|
|
|
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
|
|
|
clap = { workspace = true, features = ["derive"] }
|
|
|
|
|
clickhouse = { workspace = true, features = ["time", "uuid"] }
|
|
|
|
|
color-eyre = { workspace = true }
|
|
|
|
|
color-thief = { workspace = true }
|
|
|
|
|
const_format = { workspace = true }
|
|
|
|
|
dashmap = { workspace = true }
|
|
|
|
|
deadpool-redis.workspace = true
|
2026-01-28 13:38:57 +00:00
|
|
|
derive_more = { workspace = true, features = ["deref", "deref_mut"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
dotenvy = { workspace = true }
|
|
|
|
|
either = { workspace = true }
|
2026-03-12 17:58:55 +00:00
|
|
|
elasticsearch = { workspace = true, features = ["experimental-apis"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
eyre = { workspace = true }
|
|
|
|
|
futures = { workspace = true }
|
|
|
|
|
futures-util = { workspace = true }
|
2026-03-13 13:34:51 +00:00
|
|
|
heck = { workspace = true }
|
2025-10-12 21:18:38 +01:00
|
|
|
hex = { workspace = true }
|
|
|
|
|
hmac = { workspace = true }
|
|
|
|
|
hyper-rustls = { workspace = true }
|
|
|
|
|
hyper-util = { workspace = true }
|
|
|
|
|
image = { workspace = true, features = [
|
|
|
|
|
"avif",
|
|
|
|
|
"bmp",
|
|
|
|
|
"dds",
|
|
|
|
|
"exr",
|
|
|
|
|
"ff",
|
|
|
|
|
"gif",
|
|
|
|
|
"hdr",
|
|
|
|
|
"ico",
|
|
|
|
|
"jpeg",
|
|
|
|
|
"png",
|
|
|
|
|
"pnm",
|
|
|
|
|
"qoi",
|
|
|
|
|
"tga",
|
|
|
|
|
"tiff",
|
|
|
|
|
"webp",
|
|
|
|
|
] }
|
|
|
|
|
itertools = { workspace = true }
|
|
|
|
|
json-patch = { workspace = true }
|
|
|
|
|
lettre = { workspace = true }
|
2025-05-15 22:47:29 +02:00
|
|
|
meilisearch-sdk = { workspace = true, features = ["reqwest"] }
|
2026-01-21 18:59:05 +00:00
|
|
|
modrinth-util = { workspace = true, features = ["decimal", "sentry", "utoipa"] }
|
2025-12-08 20:34:41 +00:00
|
|
|
muralpay = { workspace = true, features = ["client", "mock", "utoipa"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
murmur2 = { workspace = true }
|
|
|
|
|
paste = { workspace = true }
|
|
|
|
|
path-util = { workspace = true }
|
|
|
|
|
prometheus = { workspace = true }
|
2026-04-19 10:58:32 -04:00
|
|
|
quick-xml = { workspace = true }
|
2025-10-12 21:18:38 +01:00
|
|
|
rand = { workspace = true }
|
|
|
|
|
rand_chacha = { workspace = true }
|
|
|
|
|
redis = { workspace = true, features = ["ahash", "r2d2", "tokio-comp"] }
|
|
|
|
|
regex = { workspace = true }
|
|
|
|
|
reqwest = { workspace = true, features = [
|
|
|
|
|
"http2",
|
|
|
|
|
"json",
|
|
|
|
|
"multipart",
|
2026-03-12 17:58:55 +00:00
|
|
|
"rustls-tls-webpki-roots"
|
2025-10-12 21:18:38 +01:00
|
|
|
] }
|
|
|
|
|
rust_decimal = { workspace = true, features = [
|
|
|
|
|
"serde-with-float",
|
2026-03-12 17:58:55 +00:00
|
|
|
"serde-with-str"
|
2025-10-12 21:18:38 +01:00
|
|
|
] }
|
|
|
|
|
rust_iso3166 = { workspace = true }
|
2025-10-15 14:45:47 -06:00
|
|
|
rustls.workspace = true
|
2025-10-12 21:18:38 +01:00
|
|
|
rusty-money = { workspace = true }
|
|
|
|
|
sentry = { workspace = true }
|
2025-05-15 22:47:29 +02:00
|
|
|
serde = { workspace = true, features = ["derive"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
serde_json = { workspace = true }
|
|
|
|
|
serde_with = { workspace = true }
|
|
|
|
|
sha1 = { workspace = true }
|
|
|
|
|
sha2 = { workspace = true }
|
2025-05-15 22:47:29 +02:00
|
|
|
spdx = { workspace = true, features = ["text"] }
|
|
|
|
|
sqlx = { workspace = true, features = [
|
2025-10-12 21:18:38 +01:00
|
|
|
"chrono",
|
|
|
|
|
"json",
|
|
|
|
|
"macros",
|
|
|
|
|
"migrate",
|
|
|
|
|
"postgres",
|
|
|
|
|
"runtime-tokio",
|
|
|
|
|
"rust_decimal",
|
2025-10-15 14:45:47 -06:00
|
|
|
"tls-rustls-aws-lc-rs",
|
2023-10-06 17:58:02 -05:00
|
|
|
] }
|
2026-01-28 13:38:57 +00:00
|
|
|
sqlx-tracing = { workspace = true, features = ["postgres"] }
|
2026-03-12 17:58:55 +00:00
|
|
|
strum = { workspace = true, features = ["derive"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
thiserror = { workspace = true }
|
|
|
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "sync"] }
|
|
|
|
|
tokio-stream = { workspace = true }
|
|
|
|
|
totp-rs = { workspace = true, features = ["gen_secret"] }
|
|
|
|
|
tracing = { workspace = true }
|
|
|
|
|
tracing-actix-web = { workspace = true }
|
|
|
|
|
url = { workspace = true }
|
|
|
|
|
urlencoding = { workspace = true }
|
2025-12-18 18:02:49 +00:00
|
|
|
utoipa = { workspace = true, features = ["url"] }
|
2025-10-24 07:44:50 -07:00
|
|
|
utoipa-actix-web = { workspace = true }
|
2026-04-07 23:14:26 +01:00
|
|
|
utoipa-scalar = { workspace = true, features = ["actix-web"] }
|
2025-10-12 21:18:38 +01:00
|
|
|
uuid = { workspace = true, features = ["fast-rng", "serde", "v4"] }
|
|
|
|
|
validator = { workspace = true, features = ["derive"] }
|
|
|
|
|
webp = { workspace = true }
|
|
|
|
|
woothee = { workspace = true }
|
|
|
|
|
yaserde = { workspace = true, features = ["derive"] }
|
|
|
|
|
zip = { workspace = true }
|
|
|
|
|
zxcvbn = { workspace = true }
|
2024-01-27 18:13:52 -05:00
|
|
|
|
2025-10-12 21:18:38 +01:00
|
|
|
[dev-dependencies]
|
2025-11-08 12:26:24 -08:00
|
|
|
labrinth = { path = ".", features = ["test"] }
|
2025-03-01 20:53:43 -08:00
|
|
|
|
2025-10-12 21:18:38 +01:00
|
|
|
[build-dependencies]
|
|
|
|
|
chrono = { workspace = true }
|
|
|
|
|
dotenv-build = { workspace = true }
|
|
|
|
|
iana-time-zone = { workspace = true }
|
2025-03-15 09:28:20 -05:00
|
|
|
|
2025-05-05 21:38:10 +02:00
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
2025-10-12 21:18:38 +01:00
|
|
|
jemalloc_pprof = { workspace = true, features = ["flamegraph"] }
|
|
|
|
|
tikv-jemalloc-ctl = { workspace = true, features = ["stats"] }
|
feat: consistently format all HTML, XML, JSON, CSS, JS, TS, SQL, TOML, YAML, and Markdown files as far as possible (#4193)
* feat: consistently format all HTML, XML, JSON, CSS, JS, TS, SQL, TOML, YAML, and Markdown files
* chore: deal with VS Code not being able to parse valid editorconfig syntax
Sometimes I'm surprised that computers even work.
* chore: get rid of IntelliJ IDE config files that should not be there
These were already added to the `.gitignore` a long time ago, and now
are being ignored by Prettier.
* fix: rename `tooling-config` `format` script to `fix` for it to run with Turbo
2025-08-16 19:40:31 +02:00
|
|
|
tikv-jemallocator = { workspace = true, features = [
|
2025-10-12 21:18:38 +01:00
|
|
|
"profiling",
|
|
|
|
|
"unprefixed_malloc_on_supported_platforms",
|
feat: consistently format all HTML, XML, JSON, CSS, JS, TS, SQL, TOML, YAML, and Markdown files as far as possible (#4193)
* feat: consistently format all HTML, XML, JSON, CSS, JS, TS, SQL, TOML, YAML, and Markdown files
* chore: deal with VS Code not being able to parse valid editorconfig syntax
Sometimes I'm surprised that computers even work.
* chore: get rid of IntelliJ IDE config files that should not be there
These were already added to the `.gitignore` a long time ago, and now
are being ignored by Prettier.
* fix: rename `tooling-config` `format` script to `fix` for it to run with Turbo
2025-08-16 19:40:31 +02:00
|
|
|
] }
|
2025-06-14 01:16:48 +02:00
|
|
|
|
2025-11-08 12:26:24 -08:00
|
|
|
[features]
|
2026-01-21 18:59:05 +00:00
|
|
|
test = []
|
2025-11-08 12:26:24 -08:00
|
|
|
|
2025-06-14 01:16:48 +02:00
|
|
|
[lints]
|
|
|
|
|
workspace = true
|