[workspace] members = [ "src-tauri", "crates/clash-verge-draft", "crates/clash-verge-media-unlock", "crates/clash-verge-logging", "crates/clash-verge-signal", "crates/tauri-plugin-clash-verge-sysinfo", "crates/clash-verge-i18n", "crates/clash-verge-limiter", ] resolver = "2" [profile.release] panic = "unwind" codegen-units = 1 lto = "thin" opt-level = 3 debug = 1 strip = "none" overflow-checks = false split-debuginfo = "unpacked" rpath = false [profile.dev] incremental = true codegen-units = 64 opt-level = 0 debug = true strip = "none" overflow-checks = true lto = false rpath = false [profile.fast-release] inherits = "release" codegen-units = 64 incremental = true lto = false opt-level = 0 debug = true strip = false [profile.debug-release] inherits = "fast-release" codegen-units = 1 split-debuginfo = "unpacked" [patch.crates-io] # Backport Windows menu command ID recycling on the muda 0.20 compatibility branch. muda = { git = "https://github.com/wonfen/muda.git", rev = "547de49352791653fbdfa785f20f3c7ece8468e2" } [workspace.dependencies] clash-verge-draft = { path = "crates/clash-verge-draft" } clash-verge-media-unlock = { path = "crates/clash-verge-media-unlock" } clash-verge-logging = { path = "crates/clash-verge-logging" } clash-verge-signal = { path = "crates/clash-verge-signal" } clash-verge-i18n = { path = "crates/clash-verge-i18n" } clash-verge-limiter = { path = "crates/clash-verge-limiter" } tracing-estuary = { git = "https://github.com/Tunglies/tracing-estuary.git", branch = "main" } tauri-plugin-clash-verge-sysinfo = { path = "crates/tauri-plugin-clash-verge-sysinfo" } tracing = "0.1.44" tauri = { version = "2.12.1" } tauri-plugin-clipboard-manager = "2.4.1" parking_lot = { version = "0.12.5", features = ["hardware-lock-elision"] } anyhow = "1.0.104" chrono = "0.4.45" criterion = { version = "0.8.2", features = ["async_tokio"] } tokio = { version = "1.53.2", features = [ "rt-multi-thread", "macros", "time", "sync", ] } flexi_logger = "0.31.10" log = "0.4.34" regex = "1.13.1" reqwest = { version = "0.13.5", features = [ "json", "cookies", "gzip", "rustls", "form", ] } rust_iso3166 = "0.2.0" smartstring = { version = "1.0.1" } serde = { version = "1.0.229" } serde_json = { version = "1.0.151" } serde_yaml_ng = { version = "0.10.0" } bitflags = { version = "2.13.2" } socket2 = "0.6.5" # *** For Windows platform only *** deelevate = "0.2.0" windows-sys = { version = "0.61.2", features = [ "Win32_Foundation", "Win32_NetworkManagement_IpHelper", "Win32_Networking_WinSock", "Win32_Security", "Win32_Security_Authorization", "Win32_Storage_FileSystem", "Win32_System_Threading", "Win32_System_Diagnostics_ToolHelp", "Win32_System_JobObjects", ] } # ********************************* [workspace.lints.clippy] # fallible_impl_from = "deny" // 过于激进,暂时不开启 # implicit_clone = "deny" // 可能会造成额外开销,暂时不开启 # option_if_let_else = "deny" // 过于激进,暂时不开启 # self_only_used_in_recursion = "deny" // Since 1.92.0 async_yields_async = "deny" await_holding_lock = "deny" branches_sharing_code = "deny" clone_on_ref_ptr = "warn" cloned_instead_of_copied = "deny" cognitive_complexity = "deny" collection_is_never_read = "deny" copy_iterator = "deny" correctness = { level = "deny", priority = -1 } dbg_macro = "warn" equatable_if_let = "deny" expect_used = "warn" expl_impl_clone_on_copy = "deny" future_not_send = "deny" iter_on_empty_collections = "deny" iter_on_single_items = "deny" iter_with_drain = "deny" large_const_arrays = "warn" large_futures = "deny" large_stack_arrays = "warn" large_types_passed_by_value = "deny" missing_const_for_fn = "deny" mutex_atomic = "deny" mutex_integer = "deny" needless_collect = "deny" needless_continue = "deny" needless_pass_by_ref_mut = "deny" needless_raw_string_hashes = "deny" option_as_ref_cloned = "deny" or_fun_call = "deny" panic = "deny" pathbuf_init_then_push = "deny" rc_clone_in_vec_init = "warn" rc_mutex = "deny" redundant_clone = "deny" redundant_else = "deny" significant_drop_in_scrutinee = "deny" significant_drop_tightening = "deny" string_lit_as_bytes = "deny" suspicious = { level = "deny", priority = -1 } suspicious_operation_groupings = "deny" todo = "warn" trait_duplication_in_bounds = "deny" tuple_array_conversions = "deny" unimplemented = "deny" unnecessary_self_imports = "deny" unnecessary_wraps = "deny" unused_async = "deny" unused_trait_names = "deny" unwrap_used = "warn" use_self = "deny" useless_let_if_seq = "deny" wildcard_imports = "deny"