[workspace] resolver = "2" members = [ "apps/testing", "apps/desktop", "packages/core", "packages/macros" ] [workspace.package] license = "GPL-3.0-only" edition = "2021" repository = "https://github.com/Polyfrost/OneLauncher" documentation = "https://docs.polyfrost.org/onelauncher" readme = "README.md" homepage = "https://polyfrost.org/projects/onelauncher" authors = [ "Polyfrost", "Polyfrost Contributors" ] version = "1.0.0-alpha.1" [workspace.dependencies] onelauncher = { path = "./packages/core" } onelauncher_macros = { path = "./packages/macros" } # tauri uses latest crates.io beta channel (temporarily can use v2 and main branches if necessary) tauri = { version = "=2.0.0-beta.23", features = [ "rustls-tls", "tracing", "specta", "uuid", "protocol-asset" ] } tauri-utils = { version = "=2.0.0-beta.18" } tauri-build = { version = "=2.0.0-beta.18" } tauri-codegen = { version = "=2.0.0-beta.18" } tauri-macros = { version = "=2.0.0-beta.18" } tauri-plugin = { version = "=2.0.0-beta.18" } tauri-runtime = { version = "=2.0.0-beta.19" } tauri-plugin-authenticator = { version = "2.0.0-beta" } tauri-plugin-shell = { version = "2.0.0-beta" } tauri-plugin-window-state = { version = "2.0.0-beta" } tauri-plugin-single-instance = { version = "2.0.0-beta" } tauri-plugin-clipboard-manager = { version = "2.1.0-beta" } tauri-plugin-updater = { version = "2.0.0-beta", features = [ "rustls-tls" ] } tauri-plugin-dialog = { version = "2.0.0-beta" } # rspc is updated on the v0.x branch rspc = { version = "=0.2.0", features = [ "specta2" ] } # specta is updated on the main branch specta = { version = "=2.0.0-rc.12", features = [ "chrono", "uuid", "serde", "serde_json", "function", ] } # tauri-specta is updated on main branch tauri-specta = { version = "=2.0.0-rc.11", features = [ "javascript", "typescript" ] } # rspc-tauri2 is updated on the main branch rspc-tauri2 = { version = "=0.0.1" } # interpulse is updated on the main branch interpulse = { version = "=1.0.0", features = [ "specta" ] } # all other dependencies are updated to latest crates.io release channel tracing = { version = "0.1" } tracing-subscriber = { version = "0.3", features = [ "chrono", "env-filter" ] } tracing-error = { version = "0.2" } tracing-appender = { version = "0.2" } sentry = { version = "0.34", default-features = false, features = [ "rustls", "reqwest", "backtrace", "panic", "anyhow", "debug-images" ] } notify = { version = "6.1", default-features = false } notify-debouncer-mini = { version = "0.4", default-features = false } uuid = { version = "1.8", features = [ "serde", "v4" ] } tokio = { version = "1.38", features = [ "full" ] } async-tungstenite = { version = "0.26", features = [ "tokio-runtime", "tokio-rustls-native-certs" ] } tokio-stream = { version = "0.1.15", features = [ "fs" ] } serde = { version = "1.0", features = [ "derive" ] } chrono = { version = "0.4", features = [ "serde" ] } rand = { version = "0.8.5" } byteorder = { version = "1.5.0" } base64 = { version = "0.22" } p256 = { version = "0.13.2", features = [ "ecdsa" ] } reqwest = { version = "0.12", default-features = false, features = [ "json", "stream", "multipart", "blocking", "rustls-tls-native-roots", "deflate", "gzip", "brotli" ] } iota_stronghold = { version = "2.1" } iota-crypto = { version = "0.23" } zeroize = { version = "1.8", features = [ "zeroize_derive" ] } quote = { version = "1.0" } syn = { version = "2.0", features = [ "full" ] } tempfile = { version = "3.10" } dunce = { version = "1.0.4" } serde_json = { version = "1.0" } serde_ini = { version = "0.2" } flate2 = { version = "1.0" } tar = { version = "0.4" } zip = { version = "0.6" } thiserror = { version = "1.0" } anyhow = { version = "1.0" } dirs = { version = "5.0" } open = { version = "5.1" } discord-rich-presence = { version = "0.2" } winreg = { version = "0.52" } paste = { version = "1.0" } dashmap = { version = "6.0", features = [ "serde" ] } sha1_smol = { version = "1.0", features = [ "std" ] } sha2 = { version = "0.10" } bytes = { version = "1.6" } lazy_static = { version = "1.4" } indicatif = { version = "0.17" } futures = { version = "0.3" } async-recursion = { version = "1.1" } async_zip = { version = "0.0.17", features = [ "full" ] } regex = { version = "1.10" } sysinfo = { version = "0.30" } sys-info = { version = "0.9" } whoami = { version = "1.5" } cocoa = { version = "0.25" } objc = { version = "0.2" } webbrowser = { version = "1.0" } url = { version = "2.5.2" } [workspace.dependencies.prisma-client-rust] git = "https://github.com/brendonovich/prisma-client-rust" rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" features = [ "migrations", "specta", "sqlite", "sqlite-create-many", "rspc" ] default-features = false [workspace.dependencies.prisma-client-rust-cli] git = "https://github.com/brendonovich/prisma-client-rust" rev = "4f9ef9d38ca732162accff72b2eb684d2f120bab" features = [ "migrations", "specta", "sqlite", "sqlite-create-many", "rspc" ] default-features = false [patch.crates-io] specta = { git = "https://github.com/oscartbeaumont/specta", rev = "fadef54000e131008ff6e9dd7efe2ba36479c077" } tauri-specta = { git = "https://github.com/oscartbeaumont/tauri-specta", rev = "a49885967adc01c80e33962e3ecac25fe7497839" } # todo # rspc = { git = "https://github.com/oscartbeaumont/rspc", rev = "9f26d6400affdb501837cb023678268ad72feb9b" } # rspc-tauri2 = { git = "https://github.com/specta-rs/tauri2", rev = "6b9419566e2a826fb2a62538c7647f4524ab0fea" } interpulse = { git = "https://github.com/pulseflow/workers", rev = "4d247c78545703200435a4a063c3f77fd644370f" } [profile.dev] # add debug symbols/logic and optimize for reduced build time (parallel) debug = true # opt-level = 0 # strip = "none" # incremental = true # split-debuginfo = "unpacked" lto = false codegen-units = 256 rpath = false panic = "unwind" # add debug symbols/logic and optimize for reduced build time (parallel) [profile.dev-debug] inherits = "dev" split-debuginfo = "none" opt-level = 0 debug = "full" strip = "none" lto = "off" codegen-units = 256 incremental = true # Set the settings for build scripts and proc-macros. [profile.dev.build-override] opt-level = 3 # Set the default for dependencies, except workspace members. [profile.dev.package."*"] opt-level = 3 incremental = false # sets the default for dependencies, except workspace members. [profile.dev-debug.package."*"] inherits = "dev" opt-level = 3 debug = "full" incremental = false # optimize for speed and reduce size for release [profile.release] panic = "abort" # strip panic cleanup logic codegen-units = 1 # compile crate one after another for better optimization lto = true opt-level = "s" # optimize binary strip = true # remove debug symbols