* Create get_resource_file macro to get an embedded resource If the tauri feature is enabled, the resource will be loaded from Tauri resources. If the tauri feature is disabled, the resource will be extracted to a temp directory. * Wrap process execution to inject system properties through stdin * Pass the time values as ISO 8601 datetimes * Remove entirely internal modrinth.process.uuid * Redo Java version checking somewhat and fix a few bugs with it * Fix game launch with early access versions of Java * Format Java code * Fix modrinth.profile.modified being the same as modrinth.profile.created * Revert to manually extracting class files
228 lines
5.9 KiB
TOML
228 lines
5.9 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"apps/app",
|
|
"apps/app-playground",
|
|
"apps/daedalus_client",
|
|
"apps/labrinth",
|
|
"packages/app-lib",
|
|
"packages/ariadne",
|
|
"packages/daedalus",
|
|
]
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
|
|
[workspace.dependencies]
|
|
actix-cors = "0.7.1"
|
|
actix-files = "0.6.6"
|
|
actix-http = "3.11.0"
|
|
actix-multipart = "0.7.2"
|
|
actix-rt = "2.10.0"
|
|
actix-web = "4.11.0"
|
|
actix-web-prom = "0.10.0"
|
|
actix-ws = "0.3.0"
|
|
argon2 = { version = "0.5.3", features = ["std"] }
|
|
ariadne = { path = "packages/ariadne" }
|
|
async_zip = "0.0.17"
|
|
async-compression = { version = "0.4.24", default-features = false }
|
|
async-recursion = "1.1.1"
|
|
async-stripe = { version = "0.41.0", default-features = false, features = [
|
|
"runtime-tokio-hyper-rustls",
|
|
] }
|
|
async-trait = "0.1.88"
|
|
async-tungstenite = { version = "0.29.1", default-features = false, features = [
|
|
"futures-03-sink",
|
|
] }
|
|
async-walkdir = "2.1.0"
|
|
base64 = "0.22.1"
|
|
bitflags = "2.9.1"
|
|
bytes = "1.10.1"
|
|
censor = "0.3.0"
|
|
chardetng = "0.1.17"
|
|
chrono = "0.4.41"
|
|
clap = "4.5.40"
|
|
clickhouse = "0.13.3"
|
|
color-thief = "0.2.2"
|
|
console-subscriber = "0.4.1"
|
|
daedalus = { path = "packages/daedalus" }
|
|
dashmap = "6.1.0"
|
|
deadpool-redis = "0.21.1"
|
|
dirs = "6.0.0"
|
|
discord-rich-presence = "0.2.5"
|
|
dotenv-build = "0.1.1"
|
|
dotenvy = "0.15.7"
|
|
dunce = "1.0.5"
|
|
either = "1.15.0"
|
|
encoding_rs = "0.8.35"
|
|
enumset = "1.1.6"
|
|
flate2 = "1.1.2"
|
|
fs4 = { version = "0.13.1", default-features = false }
|
|
futures = { version = "0.3.31", default-features = false }
|
|
futures-util = "0.3.31"
|
|
hashlink = "0.10.0"
|
|
hex = "0.4.3"
|
|
hickory-resolver = "0.25.2"
|
|
hmac = "0.12.1"
|
|
hyper-tls = "0.6.0"
|
|
hyper-util = "0.1.14"
|
|
iana-time-zone = "0.1.63"
|
|
image = { version = "0.25.6", default-features = false, features = ["rayon"] }
|
|
indexmap = "2.9.0"
|
|
indicatif = "0.17.11"
|
|
itertools = "0.14.0"
|
|
jemalloc_pprof = "0.7.0"
|
|
json-patch = { version = "4.0.0", default-features = false }
|
|
lettre = { version = "0.11.17", default-features = false, features = [
|
|
"builder",
|
|
"hostname",
|
|
"pool",
|
|
"ring",
|
|
"rustls",
|
|
"rustls-native-certs",
|
|
"smtp-transport",
|
|
] }
|
|
maxminddb = "0.26.0"
|
|
meilisearch-sdk = { version = "0.28.0", default-features = false }
|
|
murmur2 = "0.1.0"
|
|
native-dialog = "0.9.0"
|
|
notify = { version = "8.0.0", default-features = false }
|
|
notify-debouncer-mini = { version = "0.6.0", default-features = false }
|
|
p256 = "0.13.2"
|
|
paste = "1.0.15"
|
|
prometheus = "0.14.0"
|
|
quartz_nbt = "0.2.9"
|
|
quick-xml = "0.37.5"
|
|
rand = "=0.8.5" # Locked on 0.8 until argon2 and p256 update to 0.9
|
|
rand_chacha = "=0.3.1" # Locked on 0.3 until we can update rand to 0.9
|
|
redis = "=0.31.0" # Locked on 0.31 until deadpool-redis updates to 0.32
|
|
regex = "1.11.1"
|
|
reqwest = { version = "0.12.19", default-features = false }
|
|
rust_decimal = { version = "1.37.1", features = [
|
|
"serde-with-float",
|
|
"serde-with-str",
|
|
] }
|
|
rust_iso3166 = "0.1.14"
|
|
rust-s3 = { version = "0.35.1", default-features = false, features = [
|
|
"fail-on-err",
|
|
"tags",
|
|
"tokio-rustls-tls",
|
|
] }
|
|
rusty-money = "0.4.1"
|
|
sentry = { version = "0.38.1", default-features = false, features = [
|
|
"backtrace",
|
|
"contexts",
|
|
"debug-images",
|
|
"panic",
|
|
"reqwest",
|
|
"rustls",
|
|
] }
|
|
sentry-actix = "0.38.1"
|
|
serde = "1.0.219"
|
|
serde_bytes = "0.11.17"
|
|
serde_cbor = "0.11.2"
|
|
serde_ini = "0.2.0"
|
|
serde_json = "1.0.140"
|
|
serde_with = "3.12.0"
|
|
serde-xml-rs = "0.8.1" # Also an XML (de)serializer, consider dropping yaserde in favor of this
|
|
sha1 = "0.10.6"
|
|
sha1_smol = { version = "1.0.1", features = ["std"] }
|
|
sha2 = "0.10.9"
|
|
spdx = "0.10.8"
|
|
sqlx = { version = "0.8.6", default-features = false }
|
|
sysinfo = { version = "0.35.2", default-features = false }
|
|
tar = "0.4.44"
|
|
tauri = "2.5.1"
|
|
tauri-build = "2.2.0"
|
|
tauri-plugin-deep-link = "2.3.0"
|
|
tauri-plugin-dialog = "2.2.2"
|
|
tauri-plugin-opener = "2.2.7"
|
|
tauri-plugin-os = "2.2.1"
|
|
tauri-plugin-single-instance = "2.2.4"
|
|
tauri-plugin-updater = { version = "2.7.1", default-features = false, features = [
|
|
"rustls-tls",
|
|
"zip",
|
|
] }
|
|
tauri-plugin-window-state = "2.2.2"
|
|
tempfile = "3.20.0"
|
|
theseus = { path = "packages/app-lib" }
|
|
thiserror = "2.0.12"
|
|
tikv-jemalloc-ctl = "0.6.0"
|
|
tikv-jemallocator = "0.6.0"
|
|
tokio = "1.45.1"
|
|
tokio-stream = "0.1.17"
|
|
tokio-util = "0.7.15"
|
|
totp-rs = "5.7.0"
|
|
tracing = "0.1.41"
|
|
tracing-actix-web = "0.7.18"
|
|
tracing-error = "0.2.1"
|
|
tracing-subscriber = "0.3.19"
|
|
url = "2.5.4"
|
|
urlencoding = "2.1.3"
|
|
uuid = "1.17.0"
|
|
validator = "0.20.0"
|
|
webp = { version = "0.3.0", default-features = false }
|
|
whoami = "1.6.0"
|
|
winreg = "0.55.0"
|
|
woothee = "0.13.0"
|
|
yaserde = "0.12.0"
|
|
zip = { version = "4.0.0", default-features = false, features = [
|
|
"bzip2",
|
|
"deflate",
|
|
"deflate64",
|
|
"zstd",
|
|
] }
|
|
zxcvbn = "3.1.0"
|
|
|
|
[workspace.lints.clippy]
|
|
bool_to_int_with_if = "warn"
|
|
borrow_as_ptr = "warn"
|
|
cfg_not_test = "warn"
|
|
clear_with_drain = "warn"
|
|
cloned_instead_of_copied = "warn"
|
|
collection_is_never_read = "warn"
|
|
dbg_macro = "warn"
|
|
default_trait_access = "warn"
|
|
explicit_iter_loop = "warn"
|
|
filter_map_next = "warn"
|
|
flat_map_option = "warn"
|
|
format_push_string = "warn"
|
|
get_unwrap = "warn"
|
|
large_include_file = "warn"
|
|
large_stack_arrays = "warn"
|
|
manual_assert = "warn"
|
|
manual_instant_elapsed = "warn"
|
|
manual_is_variant_and = "warn"
|
|
manual_let_else = "warn"
|
|
map_unwrap_or = "warn"
|
|
match_bool = "warn"
|
|
needless_collect = "warn"
|
|
negative_feature_names = "warn"
|
|
non_std_lazy_statics = "warn"
|
|
pathbuf_init_then_push = "warn"
|
|
read_zero_byte_vec = "warn"
|
|
redundant_clone = "warn"
|
|
redundant_feature_names = "warn"
|
|
redundant_type_annotations = "warn"
|
|
todo = "warn"
|
|
unnested_or_patterns = "warn"
|
|
wildcard_dependencies = "warn"
|
|
|
|
[workspace.lints.rust]
|
|
# Turn warnings into errors by default
|
|
warnings = "deny"
|
|
|
|
[patch.crates-io]
|
|
wry = { git = "https://github.com/modrinth/wry", rev = "cafdaa9" }
|
|
|
|
# Optimize for speed and reduce size on release builds
|
|
[profile.release]
|
|
opt-level = "s" # Optimize for binary size
|
|
strip = true # Remove debug symbols
|
|
lto = true # Enables link to optimizations
|
|
panic = "abort" # Strip expensive panic clean-up logic
|
|
codegen-units = 1 # Compile crates one after another so the compiler can optimize better
|
|
|
|
[profile.dev.package.sqlx-macros]
|
|
opt-level = 3
|