diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e23cd352f..d546b0aaa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -126,7 +126,7 @@ If you changed the rust code, it's recommanded to execute code style formatting ```bash # For rust backend -$ clash-verge-rev: pnpm clippy +$ clash-verge-rev: cargo clippy-all # For frontend (not yet). ``` @@ -134,8 +134,7 @@ $ clash-verge-rev: pnpm clippy ```bash # For rust backend -$ clash-verge-rev: cd src-tauri -$ clash-verge-rev/src-tauri: cargo fmt +$ clash-verge-rev: cargo fmt # For frontend $ clash-verge-rev: pnpm format:check $ clash-verge-rev: pnpm format diff --git a/src-tauri/Cargo.lock b/Cargo.lock similarity index 97% rename from src-tauri/Cargo.lock rename to Cargo.lock index 1563b9b46..3206364e2 100644 --- a/src-tauri/Cargo.lock +++ b/Cargo.lock @@ -364,7 +364,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -404,7 +404,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -421,7 +421,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -500,9 +500,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" +checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" dependencies = [ "axum-core 0.5.5", "bytes", @@ -771,7 +771,7 @@ dependencies = [ "cow-utils", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "synstructure", ] @@ -861,7 +861,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -878,9 +878,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" dependencies = [ "serde", ] @@ -978,9 +978,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.43" +version = "1.2.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "739eb0f94557554b3ca9a86d2d37bebd49c5e6d0c1d2bda35ba5bdac830befc2" +checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36" dependencies = [ "find-msvc-tools", "jobserver", @@ -1115,6 +1115,7 @@ dependencies = [ "base64 0.22.1", "boa_engine", "chrono", + "clash-verge-draft", "clash-verge-logging", "clash_verge_logger", "clash_verge_service_ipc", @@ -1123,7 +1124,6 @@ dependencies = [ "criterion", "deelevate", "delay_timer", - "draft", "dunce", "flexi_logger", "futures", @@ -1177,6 +1177,16 @@ dependencies = [ "zip 6.0.0", ] +[[package]] +name = "clash-verge-draft" +version = "0.1.0" +dependencies = [ + "anyhow", + "criterion", + "parking_lot", + "tokio", +] + [[package]] name = "clash-verge-logging" version = "0.1.0" @@ -1189,8 +1199,8 @@ dependencies = [ [[package]] name = "clash_verge_logger" -version = "0.2.0" -source = "git+https://github.com/clash-verge-rev/clash-verge-logger#9bb189b5b5c4c2eee35168ff4997e8fb10901c81" +version = "0.2.1" +source = "git+https://github.com/clash-verge-rev/clash-verge-logger#955f1b709890640ff01fd30009df0f35816bbca6" dependencies = [ "arraydeque", "compact_str", @@ -1203,7 +1213,7 @@ dependencies = [ [[package]] name = "clash_verge_service_ipc" version = "2.0.21" -source = "git+https://github.com/clash-verge-rev/clash-verge-service-ipc#1e34c648e48f8580208ff777686092e0a94b8025" +source = "git+https://github.com/clash-verge-rev/clash-verge-service-ipc#4ebe1ca5165b45b94a3d9113c4ee87d3653edfb6" dependencies = [ "anyhow", "compact_str", @@ -1299,7 +1309,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d" dependencies = [ "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1598,9 +1608,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1631,7 +1641,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1641,7 +1651,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1674,7 +1684,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1685,7 +1695,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1790,7 +1800,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1803,7 +1813,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1954,7 +1964,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -1986,7 +1996,7 @@ checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2028,16 +2038,6 @@ dependencies = [ "serde", ] -[[package]] -name = "draft" -version = "0.1.0" -dependencies = [ - "anyhow", - "criterion", - "parking_lot", - "tokio", -] - [[package]] name = "dtoa" version = "1.0.10" @@ -2082,7 +2082,7 @@ checksum = "1ec431cd708430d5029356535259c5d645d60edd3d39c54e5eea9782d46caa7d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2144,7 +2144,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2164,7 +2164,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2175,9 +2175,9 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "erased-serde" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "259d404d09818dec19332e31d94558aeb442fea04c817006456c24b5460bbd4b" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" dependencies = [ "serde", "serde_core", @@ -2276,7 +2276,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2323,15 +2323,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] name = "fixedbitset" @@ -2418,7 +2412,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2496,7 +2490,7 @@ version = "7.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eb68017df91f2e477ed4bea586c59eaecaa47ed885a770d0444e21e62572cd2" dependencies = [ - "fixedbitset 0.5.7", + "fixedbitset", "futures-buffered", "futures-core", "futures-lite 2.6.1", @@ -2564,7 +2558,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2721,9 +2715,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.9" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -2853,7 +2847,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -2974,7 +2968,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -3274,7 +3268,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -3283,9 +3277,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ "atomic-waker", "bytes", @@ -3311,7 +3305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http 1.3.1", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-util", "rustls", "rustls-pki-types", @@ -3339,7 +3333,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.7.0", + "hyper 1.8.1", "hyper-util", "pin-project-lite", "tokio", @@ -3354,7 +3348,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-util", "native-tls", "tokio", @@ -3364,9 +3358,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" +checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" dependencies = [ "base64 0.22.1", "bytes", @@ -3375,7 +3369,7 @@ dependencies = [ "futures-util", "http 1.3.1", "http-body 1.0.1", - "hyper 1.7.0", + "hyper 1.8.1", "ipnet", "libc", "percent-encoding", @@ -3385,7 +3379,7 @@ dependencies = [ "tokio", "tower-service", "tracing", - "windows-registry", + "windows-registry 0.6.1", ] [[package]] @@ -3556,9 +3550,9 @@ dependencies = [ [[package]] name = "image" -version = "0.25.8" +version = "0.25.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7" +checksum = "e6506c6c10786659413faa717ceebcb8f70731c0a60cbae39795fdf114519c1a" dependencies = [ "bytemuck", "byteorder-lite", @@ -3688,9 +3682,9 @@ dependencies = [ [[package]] name = "iri-string" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" dependencies = [ "memchr", "serde", @@ -4121,7 +4115,7 @@ checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -4288,7 +4282,7 @@ checksum = "4568f25ccbd45ab5d5603dc34318c1ec56b117531781260002151b8530a9f931" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -4443,6 +4437,15 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nom" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +dependencies = [ + "memchr", +] + [[package]] name = "normpath" version = "1.5.0" @@ -4549,7 +4552,7 @@ dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -4891,9 +4894,9 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.74" +version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ "bitflags 2.10.0", "cfg-if", @@ -4912,7 +4915,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -4923,9 +4926,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.110" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -5123,7 +5126,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5138,11 +5141,12 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.5" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ - "fixedbitset 0.4.2", + "fixedbitset", + "hashbrown 0.15.5", "indexmap 2.12.0", ] @@ -5270,7 +5274,7 @@ dependencies = [ "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5283,7 +5287,7 @@ dependencies = [ "phf_shared 0.13.1", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5339,7 +5343,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5379,7 +5383,7 @@ checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" dependencies = [ "base64 0.22.1", "indexmap 2.12.0", - "quick-xml 0.38.3", + "quick-xml 0.38.4", "serde", "time", ] @@ -5518,9 +5522,9 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppmd-rust" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c834641d8ad1b348c9ee86dec3b9840d805acd5f24daa5f90c788951a52ff59b" +checksum = "d558c559f0450f16f2a27a1f017ef38468c1090c9ce63c8e51366232d53717b4" [[package]] name = "ppv-lite86" @@ -5553,7 +5557,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" dependencies = [ - "toml_edit 0.20.2", + "toml_edit 0.20.7", ] [[package]] @@ -5634,7 +5638,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5647,7 +5651,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5691,7 +5695,7 @@ checksum = "7347867d0a7e1208d93b46767be83e2b8f978c3dad35f775ac8d8847551d6fe1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -5730,9 +5734,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.38.3" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", ] @@ -5794,9 +5798,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.41" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] @@ -6006,7 +6010,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6071,7 +6075,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-rustls", "hyper-tls", "hyper-util", @@ -6194,7 +6198,7 @@ checksum = "bd83f5f173ff41e00337d97f6572e416d022ef8a19f371817259ae960324c482" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6243,7 +6247,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6345,9 +6349,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.34" +version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ "once_cell", "ring", @@ -6443,9 +6447,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" dependencies = [ "dyn-clone", "ref-cast", @@ -6462,7 +6466,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6612,7 +6616,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6623,7 +6627,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6647,7 +6651,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6682,9 +6686,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.15.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04" +checksum = "10574371d41b0d9b2cff89418eda27da52bcaff2cc8741db26382a77c29131f1" dependencies = [ "base64 0.22.1", "chrono", @@ -6692,7 +6696,7 @@ dependencies = [ "indexmap 1.9.3", "indexmap 2.12.0", "schemars 0.9.0", - "schemars 1.0.4", + "schemars 1.1.0", "serde_core", "serde_json", "serde_with_macros", @@ -6701,14 +6705,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.15.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" +checksum = "08a72d8216842fdd57820dc78d840bef99248e35fb2554ff923319e60f2d686b" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6756,7 +6760,7 @@ checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -6958,6 +6962,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "socket2" version = "0.6.1" @@ -7080,7 +7094,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -7113,9 +7127,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.108" +version = "2.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" +checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" dependencies = [ "proc-macro2", "quote", @@ -7145,7 +7159,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -7275,7 +7289,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -7395,7 +7409,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "syn 2.0.108", + "syn 2.0.110", "tauri-utils", "thiserror 2.0.17", "time", @@ -7413,7 +7427,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "tauri-codegen", "tauri-utils", ] @@ -7481,7 +7495,7 @@ dependencies = [ "thiserror 2.0.17", "tracing", "url", - "windows-registry", + "windows-registry 0.5.3", "windows-result 0.3.4", ] @@ -7594,7 +7608,7 @@ dependencies = [ [[package]] name = "tauri-plugin-mihomo" version = "0.1.1" -source = "git+https://github.com/clash-verge-rev/tauri-plugin-mihomo#d0f00b33cea294cc693e177441fc897426ecbc39" +source = "git+https://github.com/clash-verge-rev/tauri-plugin-mihomo#1e2ada19e20c5504a2a8cef367e87c667806dd65" dependencies = [ "base64 0.22.1", "futures-util", @@ -7806,10 +7820,11 @@ dependencies = [ [[package]] name = "tauri-winres" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd21509dd1fa9bd355dc29894a6ff10635880732396aa38c0066c1e6c1ab8074" +checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" dependencies = [ + "dunce", "embed-resource", "toml 0.9.8", ] @@ -7945,7 +7960,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -7956,7 +7971,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -8097,7 +8112,7 @@ checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -8145,9 +8160,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" dependencies = [ "bytes", "futures-core", @@ -8214,9 +8229,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.2" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ "indexmap 2.12.0", "toml_datetime 0.6.11", @@ -8304,14 +8319,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" dependencies = [ "async-trait", - "axum 0.8.6", + "axum 0.8.7", "base64 0.22.1", "bytes", "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-timeout 0.5.2", "hyper-util", "percent-encoding", @@ -8477,7 +8492,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -8543,13 +8558,12 @@ dependencies = [ [[package]] name = "tree_magic_mini" -version = "3.2.0" +version = "3.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f943391d896cdfe8eec03a04d7110332d445be7df856db382dd96a730667562c" +checksum = "b8765b90061cba6c22b5831f675da109ae5561588290f9fa2317adab2714d5a6" dependencies = [ "memchr", - "nom 7.1.3", - "once_cell", + "nom 8.0.0", "petgraph", ] @@ -8588,7 +8602,7 @@ checksum = "ee6ff59666c9cbaec3533964505d39154dc4e0a56151fdea30a09ed0301f62e2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "termcolor", ] @@ -8799,9 +8813,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-compare" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" [[package]] name = "version_check" @@ -8875,7 +8889,7 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.7.0", + "hyper 1.8.1", "hyper-util", "log", "mime", @@ -8958,7 +8972,7 @@ dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "wasm-bindgen-shared", ] @@ -9123,9 +9137,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" dependencies = [ "rustls-pki-types", ] @@ -9152,7 +9166,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -9168,9 +9182,9 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" [[package]] name = "which" @@ -9335,7 +9349,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -9346,7 +9360,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -9392,6 +9406,17 @@ dependencies = [ "windows-strings 0.4.2", ] +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + [[package]] name = "windows-result" version = "0.3.4" @@ -9963,7 +9988,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "synstructure", ] @@ -10011,7 +10036,7 @@ dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "zbus_names", "zvariant", "zvariant_utils", @@ -10046,7 +10071,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -10066,7 +10091,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "synstructure", ] @@ -10087,7 +10112,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -10121,7 +10146,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", ] [[package]] @@ -10248,7 +10273,7 @@ dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", "quote", - "syn 2.0.108", + "syn 2.0.110", "zvariant_utils", ] @@ -10261,6 +10286,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.108", + "syn 2.0.110", "winnow 0.7.13", ] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 000000000..413bdf1d4 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,118 @@ +[workspace] +members = [ + "src-tauri", + "crates/clash-verge-draft", + "crates/clash-verge-logging", +] +resolver = "2" + +[workspace.package] +edition = "2024" +rust-version = "1.91" + +[profile.release] +panic = "abort" +codegen-units = 1 +lto = "thin" +opt-level = 3 +debug = false +strip = true +overflow-checks = false +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 + +[workspace.dependencies] +clash-verge-draft = { path = "crates/clash-verge-draft" } +clash-verge-logging = { path = "crates/clash-verge-logging" } +parking_lot = { version = "0.12.5", features = [ + "hardware-lock-elision", + "send_guard", +] } +anyhow = "1.0.100" +criterion = { version = "0.7.0", features = ["async_tokio"] } +tokio = { version = "1.48.0", features = [ + "rt-multi-thread", + "macros", + "time", + "sync", +] } +compact_str = { version = "0.9.0", features = ["serde"] } +flexi_logger = "0.31.7" +log = "0.4.28" + +[workspace.lints.clippy] +correctness = { level = "deny", priority = -1 } +suspicious = { level = "deny", priority = -1 } +unwrap_used = "warn" +expect_used = "warn" +panic = "deny" +unimplemented = "deny" +todo = "warn" +dbg_macro = "warn" +clone_on_ref_ptr = "warn" +rc_clone_in_vec_init = "warn" +large_stack_arrays = "warn" +large_const_arrays = "warn" +async_yields_async = "deny" +mutex_atomic = "deny" +mutex_integer = "deny" +rc_mutex = "deny" +unused_async = "deny" +await_holding_lock = "deny" +large_futures = "deny" +future_not_send = "deny" +redundant_else = "deny" +needless_continue = "deny" +needless_raw_string_hashes = "deny" +or_fun_call = "deny" +cognitive_complexity = "deny" +useless_let_if_seq = "deny" +use_self = "deny" +tuple_array_conversions = "deny" +trait_duplication_in_bounds = "deny" +suspicious_operation_groupings = "deny" +string_lit_as_bytes = "deny" +significant_drop_tightening = "deny" +significant_drop_in_scrutinee = "deny" +redundant_clone = "deny" +# option_if_let_else = "deny" // 过于激进,暂时不开启 +needless_pass_by_ref_mut = "deny" +needless_collect = "deny" +missing_const_for_fn = "deny" +iter_with_drain = "deny" +iter_on_single_items = "deny" +iter_on_empty_collections = "deny" +# fallible_impl_from = "deny" // 过于激进,暂时不开启 +equatable_if_let = "deny" +collection_is_never_read = "deny" +branches_sharing_code = "deny" +pathbuf_init_then_push = "deny" +option_as_ref_cloned = "deny" +large_types_passed_by_value = "deny" +# implicit_clone = "deny" // 可能会造成额外开销,暂时不开启 +expl_impl_clone_on_copy = "deny" +copy_iterator = "deny" +cloned_instead_of_copied = "deny" +# self_only_used_in_recursion = "deny" // Since 1.92.0 +unnecessary_self_imports = "deny" +unused_trait_names = "deny" +wildcard_imports = "deny" +unnecessary_wraps = "deny" diff --git a/src-tauri/crates/draft/Cargo.toml b/crates/clash-verge-draft/Cargo.toml similarity index 91% rename from src-tauri/crates/draft/Cargo.toml rename to crates/clash-verge-draft/Cargo.toml index b0d51e2cc..798b9b8a8 100644 --- a/src-tauri/crates/draft/Cargo.toml +++ b/crates/clash-verge-draft/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "draft" +name = "clash-verge-draft" version = "0.1.0" edition = "2024" diff --git a/src-tauri/crates/draft/bench/benche_me.rs b/crates/clash-verge-draft/bench/benche_me.rs similarity index 99% rename from src-tauri/crates/draft/bench/benche_me.rs rename to crates/clash-verge-draft/bench/benche_me.rs index d5d8df7ea..77f329e17 100644 --- a/src-tauri/crates/draft/bench/benche_me.rs +++ b/crates/clash-verge-draft/bench/benche_me.rs @@ -3,7 +3,7 @@ use std::hint::black_box; use std::process; use tokio::runtime::Runtime; -use draft::Draft; +use clash_verge_draft::Draft; #[derive(Clone, Debug)] struct IVerge { diff --git a/src-tauri/crates/draft/src/lib.rs b/crates/clash-verge-draft/src/lib.rs similarity index 100% rename from src-tauri/crates/draft/src/lib.rs rename to crates/clash-verge-draft/src/lib.rs diff --git a/src-tauri/crates/draft/tests/test_me.rs b/crates/clash-verge-draft/tests/test_me.rs similarity index 99% rename from src-tauri/crates/draft/tests/test_me.rs rename to crates/clash-verge-draft/tests/test_me.rs index 448fc7945..9e214d163 100644 --- a/src-tauri/crates/draft/tests/test_me.rs +++ b/crates/clash-verge-draft/tests/test_me.rs @@ -1,7 +1,7 @@ #[cfg(test)] mod tests { use anyhow::anyhow; - use draft::Draft; + use clash_verge_draft::Draft; use std::future::Future; use std::pin::Pin; use std::task::{Context, Poll, RawWaker, RawWakerVTable, Waker}; diff --git a/src-tauri/crates/clash-verge-logging/Cargo.toml b/crates/clash-verge-logging/Cargo.toml similarity index 100% rename from src-tauri/crates/clash-verge-logging/Cargo.toml rename to crates/clash-verge-logging/Cargo.toml diff --git a/src-tauri/crates/clash-verge-logging/src/lib.rs b/crates/clash-verge-logging/src/lib.rs similarity index 100% rename from src-tauri/crates/clash-verge-logging/src/lib.rs rename to crates/clash-verge-logging/src/lib.rs diff --git a/package.json b/package.json index b68ed8986..0674165d8 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,6 @@ "release:autobuild": "pnpm release-version autobuild", "release:deploytest": "pnpm release-version deploytest", "publish-version": "node scripts/publish-version.mjs", - "fmt": "cargo fmt --manifest-path ./src-tauri/Cargo.toml", - "clippy": "cargo clippy --all-features --all-targets --manifest-path ./src-tauri/Cargo.toml", "lint": "eslint -c eslint.config.ts --max-warnings=0 --cache --cache-location .eslintcache src", "lint:fix": "eslint -c eslint.config.ts --max-warnings=0 --cache --cache-location .eslintcache --fix src", "format": "prettier --write .", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index e9ecdbf4b..d5ecc7d26 100755 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -6,13 +6,13 @@ authors = ["zzzgydi", "Tunglies", "wonfen", "MystiPanda"] license = "GPL-3.0-only" repository = "https://github.com/clash-verge-rev/clash-verge-rev.git" default-run = "clash-verge" -edition = "2024" build = "build.rs" -rust-version = "1.91" +edition = { workspace = true } +rust-version = { workspace = true } -[workspace] -members = ["crates/*"] -resolver = "2" +[lib] +name = "app_lib" +crate-type = ["staticlib", "cdylib", "rlib"] [features] default = ["custom-protocol"] @@ -30,11 +30,11 @@ identifier = "io.github.clash-verge-rev.clash-verge-rev" tauri-build = { version = "2.5.2", features = [] } [dependencies] -clash-verge-logging = { path = "crates/clash-verge-logging" } +clash-verge-draft = { workspace = true } +clash-verge-logging = { workspace = true } parking_lot = { workspace = true } anyhow = { workspace = true } tokio = { workspace = true } -draft = { workspace = true } compact_str = { workspace = true } flexi_logger = { workspace = true } log = { workspace = true } @@ -132,142 +132,3 @@ tauri-plugin-updater = "2.9.0" [dev-dependencies] criterion = { workspace = true } - -[workspace.dependencies] -draft = { path = "crates/draft" } -parking_lot = { version = "0.12.5", features = [ - "hardware-lock-elision", - "send_guard", -] } -anyhow = "1.0.100" -criterion = { version = "0.7.0", features = ["async_tokio"] } -tokio = { version = "1.48.0", features = [ - "rt-multi-thread", - "macros", - "time", - "sync", -] } -compact_str = { version = "0.9.0", features = ["serde"] } -flexi_logger = "0.31.7" -log = "0.4.28" - -[profile.release] -panic = "abort" -codegen-units = 1 -lto = "thin" -opt-level = 3 -debug = false -strip = true -overflow-checks = false -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 - -[lib] -name = "app_lib" -crate-type = ["staticlib", "cdylib", "rlib"] - -[lints.clippy] -# Core categories - most important for code safety and correctness -correctness = { level = "deny", priority = -1 } -suspicious = { level = "deny", priority = -1 } - -# Critical safety lints - warn for now due to extensive existing usage -unwrap_used = "warn" -expect_used = "warn" -panic = "deny" -unimplemented = "deny" - -# Development quality lints -todo = "warn" -dbg_macro = "warn" - -# 我们期望所有输出方式通过 logging 模块进行统一管理 -# print_stdout = "deny" -# print_stderr = "deny" - -# Performance lints for proxy application -clone_on_ref_ptr = "warn" -rc_clone_in_vec_init = "warn" -large_stack_arrays = "warn" -large_const_arrays = "warn" - -# Security lints -#integer_division = "warn" -#lossy_float_literal = "warn" -#default_numeric_fallback = "warn" - -# Mutex and async lints - strict control -async_yields_async = "deny" # Prevents missing await in async blocks -mutex_atomic = "deny" # Use atomics instead of Mutex -mutex_integer = "deny" # Use AtomicInt instead of Mutex -rc_mutex = "deny" # Single-threaded Rc with Mutex is wrong -unused_async = "deny" # Too many false positives in Tauri/framework code -await_holding_lock = "deny" -large_futures = "deny" -future_not_send = "deny" - -# Common style improvements -redundant_else = "deny" # Too many in existing code -needless_continue = "deny" # Too many in existing code -needless_raw_string_hashes = "deny" # Too many in existing code - -# Disable noisy categories for existing codebase but keep them available -#style = { level = "allow", priority = -1 } -#complexity = { level = "allow", priority = -1 } -#perf = { level = "allow", priority = -1 } -#pedantic = { level = "allow", priority = -1 } -#nursery = { level = "allow", priority = -1 } -#restriction = { level = "allow", priority = -1 } - -or_fun_call = "deny" -cognitive_complexity = "deny" -useless_let_if_seq = "deny" -use_self = "deny" -tuple_array_conversions = "deny" -trait_duplication_in_bounds = "deny" -suspicious_operation_groupings = "deny" -string_lit_as_bytes = "deny" -significant_drop_tightening = "deny" -significant_drop_in_scrutinee = "deny" -redundant_clone = "deny" -# option_if_let_else = "deny" // 过于激进,暂时不开启 -needless_pass_by_ref_mut = "deny" -needless_collect = "deny" -missing_const_for_fn = "deny" -iter_with_drain = "deny" -iter_on_single_items = "deny" -iter_on_empty_collections = "deny" -# fallible_impl_from = "deny" // 过于激进,暂时不开启 -equatable_if_let = "deny" -collection_is_never_read = "deny" -branches_sharing_code = "deny" -pathbuf_init_then_push = "deny" -option_as_ref_cloned = "deny" -large_types_passed_by_value = "deny" -# implicit_clone = "deny" // 可能会造成额外开销,暂时不开启 -expl_impl_clone_on_copy = "deny" -copy_iterator = "deny" -cloned_instead_of_copied = "deny" -# self_only_used_in_recursion = "deny" // Since 1.92.0 -unnecessary_self_imports = "deny" -unused_trait_names = "deny" -wildcard_imports = "deny" -unnecessary_wraps = "deny" diff --git a/src-tauri/src/cmd/verge.rs b/src-tauri/src/cmd/verge.rs index b58e9e524..a20ad6d8a 100644 --- a/src-tauri/src/cmd/verge.rs +++ b/src-tauri/src/cmd/verge.rs @@ -1,6 +1,6 @@ use super::CmdResult; use crate::{cmd::StringifyErr as _, config::IVerge, feat}; -use draft::SharedBox; +use clash_verge_draft::SharedBox; /// 获取Verge配置 #[tauri::command] diff --git a/src-tauri/src/config/config.rs b/src-tauri/src/config/config.rs index a3c9df27a..767667b56 100644 --- a/src-tauri/src/config/config.rs +++ b/src-tauri/src/config/config.rs @@ -9,8 +9,8 @@ use crate::{ }; use anyhow::{Result, anyhow}; use backoff::{Error as BackoffError, ExponentialBackoff}; +use clash_verge_draft::Draft; use clash_verge_logging::{Type, logging, logging_error}; -use draft::Draft; use smartstring::alias::String; use std::path::PathBuf; use tokio::sync::OnceCell; diff --git a/src-tauri/src/feat/config.rs b/src-tauri/src/feat/config.rs index e6a7e9d43..1160a5511 100644 --- a/src-tauri/src/feat/config.rs +++ b/src-tauri/src/feat/config.rs @@ -4,8 +4,8 @@ use crate::{ module::{auto_backup::AutoBackupManager, lightweight}, }; use anyhow::Result; +use clash_verge_draft::SharedBox; use clash_verge_logging::{Type, logging, logging_error}; -use draft::SharedBox; use serde_yaml_ng::Mapping; /// Patch Clash configuration