OneLauncher-Cracked/Cargo.toml
2025-12-29 00:24:21 +09:00

262 lines
7.6 KiB
TOML

[workspace]
members = [
"apps/oneclient/desktop",
"apps/onelauncher/desktop",
"packages/core",
"packages/entity",
"packages/gamemode",
"packages/macro",
"packages/migration",
"packages/serde_json_path_to_error",
]
resolver = "2" # virtual workspace resolver so we don't need a root package
[workspace.package]
authors = [
"Polyfrost",
"Polyfrost Contributors"
]
documentation = "https://docs.polyfrost.org/onelauncher"
edition = "2024"
homepage = "https://polyfrost.org/projects/onelauncher"
license = "GPL-3.0-only"
readme = "README.md"
repository = "https://github.com/Polyfrost/OneLauncher"
version = "1.0.0-alpha.4"
[workspace.dependencies]
# workspace
onelauncher_core = { path = "./packages/core" }
onelauncher_entity = { path = "./packages/entity" }
onelauncher_gamemode = { path = "./packages/gamemode" }
onelauncher_macro = { path = "./packages/macro" }
onelauncher_migration = { path = "./packages/migration" }
serde_json_path_to_error = { path = "./packages/serde_json_path_to_error" }
# core
interpulse = { version = "=1.2.2", features = [ "specta" ] }
# tauri
tauri = { version = "=2.5.1", features = [
"rustls-tls",
"tracing",
"specta",
"uuid",
"protocol-asset",
] }
tauri-build = { version = "=2.2.0" }
tauri-plugin-clipboard-manager = { version = "=2.2.2" }
tauri-plugin-deep-link = { version = "=2.2.1" }
tauri-plugin-dialog = { version = "=2.2.1" }
tauri-plugin-fs = { version = "=2.2.1" }
tauri-plugin-os = { version = "=2.2.1" }
tauri-plugin-single-instance = { version = "=2.2.3" }
tauri-plugin-updater = { version = "=2.7.1" }
tauri-plugin-window-state = { version = "=2.2.2" }
tauri-plugin-opener = { version = "=2.3.0" }
# code gen
strum = { version = "=0.27.1", features = [ "derive" ] }
specta = { version = "=2.0.0-rc.22", features = [
"chrono",
"uuid",
"serde",
"serde_json",
"function",
"derive",
"tokio",
] }
specta-typescript = { version = "=0.0.9" }
taurpc = { version = "=0.5.0" }
# logging
tracing = { version = "0.1" }
tracing-appender = { version = "0.2" }
tracing-error = { version = "0.2" }
tracing-subscriber = { version = "0.3", features = [
"chrono",
"env-filter"
] }
# serialization & text
base64 = { version = "=0.22.1" }
byteorder = { version = "=1.5.0" }
chrono = { version = "0.4", features = [ "serde" ] }
nom = { version = "=8.0.0" }
rand = { version = "0.8" }
regex = { version = "1.11" }
serde = { version = "1.0", features = [ "derive" ] }
serde_json = { version = "=1.0" }
serde_with = { version = "=3.12.0", features = [
"chrono_0_4",
"json",
"macros"
] }
serde_repr = { version = "=0.1.20" }
toml = { version = "0.8" }
url = { version = "2.5" }
uuid = { version = "1.16", features = [
"serde",
"v4"
] }
# network
reqwest = { version = "0.12", default-features = false, features = [
"json",
"stream",
"multipart",
"blocking",
"rustls-tls",
"charset",
"http2",
"macos-system-configuration",
"deflate",
"gzip",
"brotli",
] }
webbrowser = { version = "=1.0.4" }
# io
async-compression = { version = "=0.4.23", features = [
"flate2",
"tokio"
] }
async_zip = { version = "=0.0.17", features = [ "full" ] }
bytes = { version = "=1.10.1" }
dirs = { version = "=6.0.0" }
dunce = { version = "=1.0.5" }
flate2 = { version = "=1.1.1" }
sanitize-filename = { version = "=0.6.0" }
async-tempfile = { version = "=0.7.0" }
tokio = { version = "1", features = [ "full" ] }
tokio-stream = { version = "0.1", features = [ "fs" ] }
tokio-util = { version = "0.7", features = [ "compat" ] }
governor = { version = "0.10.4" }
encoding_rs = { version = "0.8.35" }
# crypto
digest = { version = "0.10" }
md-5 = { version = "0.10" }
murmur2 = { version = "=0.1.0" }
sha1 = { version = "0.10" }
sha2 = { version = "0.10" }
p256 = { version = "0.13", features = [ "ecdsa" ] }
# db
sea-orm = { version = "1.1", features = [
"sqlx-sqlite",
"runtime-tokio-rustls",
"macros",
"with-chrono",
"with-json",
"with-uuid",
"sqlite-use-returning-for-3_35",
] }
sea-orm-migration = { version = "1.1", features = [
"sqlx-sqlite",
"runtime-tokio-rustls",
"with-chrono",
"with-json",
"with-uuid",
] }
# utils
anyhow = { version = "1" }
async-trait = { version = "=0.1.88" }
async-stream = { version = "=0.3.6" }
cc = { version = "1" }
discord-rich-presence = { version = "=0.2.5" }
futures = { version = "0.3" }
futures-lite = { version = "2.6" }
indicatif = { version = "0.17" }
libc = { version = "0.2" }
merge = { version = "=0.2.0" }
sysinfo = { version = "=0.34.2", features = [ "serde" ] }
thiserror = { version = "2" }
whoami = { version = "=1.6.0" }
opener = { version = "=0.8.2" }
shadow-rs = { version = "1.4.0", default-features = false }
# macro
paste = { version = "1" }
quote = { version = "1" }
syn = { version = "2" }
proc-macro2 = { version = "1" }
[patch.crates-io]
# tauri-specta = { git = "https://github.com/specta-rs/tauri-specta", rev = "6fe9532a44b8b683b4dacd178b0120ee585bea23" }
specta = { git = "https://github.com/specta-rs/specta", rev = "5758221bc9a11d6e827851273fd665662e90ceef" }
specta-typescript = { git = "https://github.com/specta-rs/specta", rev = "5758221bc9a11d6e827851273fd665662e90ceef" }
[workspace.lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [ 'cfg(feature, values("used_linker"))' ] }
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
cast_lossless = "warn"
cast_precision_loss = "allow"
complexity = { level = "warn", priority = -1 }
correctness = { level = "warn", priority = -1 }
dbg_macro = "warn"
deprecated_cfg_attr = "warn"
future_not_send = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
needless_return = "allow"
nursery = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
perf = { level = "warn", priority = -1 }
separated_literal_suffix = "warn"
significant_drop_tightening = "allow" # tmp
struct_field_names = "allow"
style = { level = "warn", priority = -1 }
suspicious = { level = "warn", priority = -1 }
unnecessary_cast = "warn"
[profile.dev]
# add debug symbols/logic and optimize for reduced build time (parallel)
codegen-units = 256 # make parallel incremental builds faster
debug = true # add debug info
incremental = true # enable incremental compilation
lto = false # disable link time optimizations, reduce compile time
opt-level = 0 # reduce optimizations
panic = "unwind" # add unwind panic logic because some deps require it
rpath = false # disable rpath
split-debuginfo = "unpacked" # unpack debug info
strip = "none" # don't remove debug symbols
# add debug symbols/logic and optimize for reduced build time (parallel)
[profile.dev-debug]
codegen-units = 256 # make parallel incremental builds faster
debug = "full" # add full debug info
incremental = true # enable incremental compilation
inherits = "dev" # extend the dev profile
lto = "off" # disable link time optimizations, reduce compile time
opt-level = 0 # reduce optimizations
split-debuginfo = "none" # don't split debug info
strip = "none" # don't remove debug symbols
# set the settings for build scripts and proc-macros.
[profile.dev.build-override]
opt-level = 3 # optimize build
# set the default for dependencies, except workspace members.
[profile.dev.package."*"]
incremental = false # disable incremental compilation
opt-level = 3 # optimize build
# set the default for dependencies, except workspace members.
[profile.dev-debug.package."*"]
debug = "full" # add full debug info
incremental = false # disable incremental compilation
inherits = "dev" # extend the dev profile
opt-level = 3 # optimize build
# optimize for speed and reduce size for release
[profile.release]
codegen-units = 1 # compile crate one after another for better optimization
lto = true # enable link time optimization
opt-level = "s" # optimize binary
panic = "abort" # strip panic cleanup logic
strip = true