From 566cd37d11717b21c03e44a34a53611e492c1a12 Mon Sep 17 00:00:00 2001 From: Fahd Ashour Date: Mon, 20 Oct 2025 12:49:06 +0300 Subject: [PATCH 1/4] make clippy happy --- Cargo.lock | 513 ++++++----------------- crates/html-generator/src/builder.rs | 2 +- crates/metassr-server/src/lib.rs | 4 +- crates/metassr-server/src/live_reload.rs | 2 +- crates/metassr-server/src/rebuilder.rs | 2 +- crates/metassr-watcher/src/lib.rs | 1 - crates/metassr-watcher/src/utils.rs | 1 + metassr-cli/src/cli/creator.rs | 1 - metassr-cli/src/cli/dev.rs | 4 +- 9 files changed, 136 insertions(+), 394 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index eb06ba3..ff300fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -121,7 +121,6 @@ checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", "axum-core", - "base64", "bytes", "futures-util", "http", @@ -140,10 +139,8 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sha1", "sync_wrapper 1.0.1", "tokio", - "tokio-tungstenite 0.21.0", "tower", "tower-layer", "tower-service", @@ -186,12 +183,6 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "bitflags" version = "1.3.2" @@ -200,9 +191,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.8.0" +version = "2.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" +checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" [[package]] name = "block-buffer" @@ -219,12 +210,6 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - [[package]] name = "bytes" version = "1.10.1" @@ -327,6 +312,33 @@ dependencies = [ "libc", ] +[[package]] +name = "crossterm" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" +dependencies = [ + "bitflags 2.9.4", + "crossterm_winapi", + "derive_more", + "document-features", + "mio 1.0.3", + "parking_lot", + "rustix", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -343,6 +355,27 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "digest" version = "0.10.7" @@ -354,14 +387,28 @@ dependencies = [ ] [[package]] -name = "displaydoc" -version = "0.2.5" +name = "document-features" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" dependencies = [ - "proc-macro2", - "quote", - "syn", + "litrs", +] + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.60.2", ] [[package]] @@ -451,24 +498,22 @@ dependencies = [ ] [[package]] -name = "generic-array" -version = "0.14.7" +name = "fuzzy-matcher" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" dependencies = [ - "typenum", - "version_check", + "thread_local", ] [[package]] -name = "getrandom" -version = "0.2.16" +name = "generic-array" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "typenum", + "version_check", ] [[package]] @@ -483,15 +528,6 @@ dependencies = [ "wasi 0.14.7+wasi-0.2.4", ] -[[package]] -name = "fuzzy-matcher" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" -dependencies = [ - "thread_local", -] - [[package]] name = "gimli" version = "0.29.0" @@ -626,120 +662,13 @@ dependencies = [ "cc", ] -[[package]] -name = "icu_collections" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" - -[[package]] -name = "icu_properties" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "potential_utf", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" - -[[package]] -name = "icu_provider" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" -dependencies = [ - "displaydoc", - "icu_locale_core", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - [[package]] name = "inotify" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.4", "inotify-sys", "libc", ] @@ -753,6 +682,20 @@ dependencies = [ "libc", ] +[[package]] +name = "inquire" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2628910d0114e9139056161d8644a2026be7b117f8498943f9437748b04c9e0a" +dependencies = [ + "bitflags 2.9.4", + "crossterm", + "dyn-clone", + "fuzzy-matcher", + "unicode-segmentation", + "unicode-width", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.0" @@ -802,15 +745,21 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.169" +version = "0.2.177" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] -name = "litemap" -version = "0.8.0" +name = "litrs" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" [[package]] name = "lock_api" @@ -1013,7 +962,7 @@ dependencies = [ "serde", "serde_json", "tokio", - "tokio-tungstenite 0.26.2", + "tokio-tungstenite", "tower-http", "tower-layer", "tower-service", @@ -1095,7 +1044,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.4", "fsevent-sys", "inotify", "kqueue", @@ -1249,15 +1198,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "potential_utf" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" -dependencies = [ - "zerovec", -] - [[package]] name = "ppv-lite86" version = "0.2.21" @@ -1291,35 +1231,14 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core", ] [[package]] @@ -1329,16 +1248,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.16", + "rand_core", ] [[package]] @@ -1347,7 +1257,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.3", + "getrandom", ] [[package]] @@ -1356,7 +1266,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.4", ] [[package]] @@ -1415,11 +1325,11 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags", + "bitflags 2.9.4", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -1585,12 +1495,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "strsim" version = "0.11.1" @@ -1620,44 +1524,13 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - [[package]] name = "thiserror" version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.16", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "thiserror-impl", ] [[package]] @@ -1681,16 +1554,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "tinystr" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" -dependencies = [ - "displaydoc", - "zerovec", -] - [[package]] name = "tokio" version = "1.38.0" @@ -1721,18 +1584,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tokio-tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite 0.21.0", -] - [[package]] name = "tokio-tungstenite" version = "0.26.2" @@ -1742,7 +1593,7 @@ dependencies = [ "futures-util", "log", "tokio", - "tungstenite 0.26.2", + "tungstenite", ] [[package]] @@ -1780,7 +1631,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "bitflags 2.8.0", + "bitflags 2.9.4", "bytes", "futures-util", "http", @@ -1873,25 +1724,6 @@ dependencies = [ "tracing-log", ] -[[package]] -name = "tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http", - "httparse", - "log", - "rand 0.8.5", - "sha1", - "thiserror 1.0.69", - "url", - "utf-8", -] - [[package]] name = "tungstenite" version = "0.26.2" @@ -1903,9 +1735,9 @@ dependencies = [ "http", "httparse", "log", - "rand 0.9.2", + "rand", "sha1", - "thiserror 2.0.16", + "thiserror", "utf-8", ] @@ -1931,27 +1763,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] -name = "url" -version = "2.5.4" +name = "unicode-segmentation" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] -name = "utf-8" -version = "0.7.6" +name = "unicode-width" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] -name = "utf8_iter" -version = "1.0.4" +name = "utf-8" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8parse" @@ -2324,36 +2151,6 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" -[[package]] -name = "writeable" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" - -[[package]] -name = "yoke" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - [[package]] name = "zerocopy" version = "0.8.27" @@ -2373,57 +2170,3 @@ dependencies = [ "quote", "syn", ] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "zerotrie" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] diff --git a/crates/html-generator/src/builder.rs b/crates/html-generator/src/builder.rs index 4cd029a..55557f5 100644 --- a/crates/html-generator/src/builder.rs +++ b/crates/html-generator/src/builder.rs @@ -8,7 +8,7 @@ const BODY_TAG: &str = "%BODY%"; const SCRIPTS_TAG: &str = "%SCRIPTS%"; const STYLES_TAG: &str = "%STYLES%"; -#[derive(Debug, Clone)] +#[derive(Debug)] pub struct HtmlOutput(String); impl HtmlOutput { diff --git a/crates/metassr-server/src/lib.rs b/crates/metassr-server/src/lib.rs index 67b1808..3261bd1 100644 --- a/crates/metassr-server/src/lib.rs +++ b/crates/metassr-server/src/lib.rs @@ -114,10 +114,10 @@ impl Server { ); if let Some(rebuilder) = self.configs.rebuilder.clone() { tokio::spawn(async move { - while let Ok((stream, addr)) = ws_listener.accept().await { + while let Ok((stream, _addr)) = ws_listener.accept().await { let live_reload = LiveReloadServer::new(rebuilder.subscribe()); // live_reload.handle_connection(socket).await; - tokio::spawn(live_reload.handle_connection(stream, addr)); + tokio::spawn(live_reload.handle_connection(stream)); } }); } diff --git a/crates/metassr-server/src/live_reload.rs b/crates/metassr-server/src/live_reload.rs index 09bf4cb..968d597 100644 --- a/crates/metassr-server/src/live_reload.rs +++ b/crates/metassr-server/src/live_reload.rs @@ -40,7 +40,7 @@ impl LiveReloadServer { Self { receiver } } - pub async fn handle_connection(mut self, stream: TcpStream, addr: std::net::SocketAddr) { + pub async fn handle_connection(mut self, stream: TcpStream) { let ws_stream = tokio_tungstenite::accept_async(stream) .await .expect("Error during websocket handshake"); diff --git a/crates/metassr-server/src/rebuilder.rs b/crates/metassr-server/src/rebuilder.rs index d53f3ba..03a630a 100644 --- a/crates/metassr-server/src/rebuilder.rs +++ b/crates/metassr-server/src/rebuilder.rs @@ -20,7 +20,7 @@ use std::time::Instant; use notify_debouncer_full::DebouncedEvent; -use tracing::{debug, error, info}; +use tracing::{debug, error}; #[derive(Clone, Debug)] pub enum RebuildType { diff --git a/crates/metassr-watcher/src/lib.rs b/crates/metassr-watcher/src/lib.rs index 10f7656..f0a6aa7 100644 --- a/crates/metassr-watcher/src/lib.rs +++ b/crates/metassr-watcher/src/lib.rs @@ -4,7 +4,6 @@ use notify::RecursiveMode; use notify_debouncer_full::{self, DebounceEventResult, DebouncedEvent}; use std::{path::Path, time::Duration}; use tokio::sync::broadcast; -use utils::{format_event, is_relevant_event}; pub struct FileWatcher { watcher: notify_debouncer_full::Debouncer< diff --git a/crates/metassr-watcher/src/utils.rs b/crates/metassr-watcher/src/utils.rs index d5278f6..9800d29 100644 --- a/crates/metassr-watcher/src/utils.rs +++ b/crates/metassr-watcher/src/utils.rs @@ -4,6 +4,7 @@ pub fn is_relevant_event(event: &DebouncedEvent) -> bool { use notify::event::ModifyKind; use notify::EventKind::*; + #[allow(clippy::match_like_matches_macro)] match event.kind { Create(_) => true, Modify(ModifyKind::Data(_)) => true, diff --git a/metassr-cli/src/cli/creator.rs b/metassr-cli/src/cli/creator.rs index 9e22a69..e8aa11b 100644 --- a/metassr-cli/src/cli/creator.rs +++ b/metassr-cli/src/cli/creator.rs @@ -1,5 +1,4 @@ use clap::ValueEnum; -use inquire; use metassr_create::Creator as MetassrCreator; use std::{fmt::Display, str::FromStr}; use tracing::{error, info}; diff --git a/metassr-cli/src/cli/dev.rs b/metassr-cli/src/cli/dev.rs index 085bda0..18ecd37 100644 --- a/metassr-cli/src/cli/dev.rs +++ b/metassr-cli/src/cli/dev.rs @@ -12,7 +12,7 @@ use metassr_server::rebuilder::{RebuildType, Rebuilder}; use metassr_server::{RunningType, Server, ServerConfigs}; use metassr_watcher::FileWatcher; -use tracing::{debug, error, info}; +use tracing::{debug, error}; use super::traits::AsyncExec; @@ -75,7 +75,7 @@ impl Dev { } } Err(e) => { - // error!("Error handling file change: {}", e) + error!("Error handling file change: {}", e) } } } From 24ef215332dc184763c0a19519073134a7606dfa Mon Sep 17 00:00:00 2001 From: Fahd Ashour Date: Mon, 20 Oct 2025 13:35:30 +0300 Subject: [PATCH 2/4] refactor(logger): better performance by eliminating redundant clones and lifetimes --- crates/logger/src/lib.rs | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/crates/logger/src/lib.rs b/crates/logger/src/lib.rs index 8411aec..059ca8c 100644 --- a/crates/logger/src/lib.rs +++ b/crates/logger/src/lib.rs @@ -28,19 +28,15 @@ where let mut visitor = LogVisitor(&mut fields); event.record(&mut visitor); - let binding = fields.clone(); - let message = binding.get("message"); - let target = binding.get("target"); - - fields.remove("message"); - fields.remove("target"); + let message = fields.remove("message"); + let target = fields.remove("target"); let mut logfmt = LogFormat { timestamp: Local::now(), message, target, level: event.metadata().level(), - fields: fields.clone(), + fields, }; if let Some(logfile) = &self.logfile { @@ -70,14 +66,14 @@ where } /// Formatting Logs -struct LogFormat<'a> { +struct LogFormat { timestamp: DateTime, - message: Option<&'a String>, - level: &'a Level, - target: Option<&'a String>, + message: Option, + level: &'static Level, + target: Option, fields: HashMap, } -impl<'a> LogFormat<'a> { +impl LogFormat { /// Formatting logs with styling & colors pub fn with_ansi(&mut self) -> String { format!( @@ -95,8 +91,8 @@ impl<'a> LogFormat<'a> { "{} {:<6}[{}]{} {}", self.timestamp, self.level, - self.target.unwrap_or(&"".to_string()), - self.message.unwrap_or(&"".to_string()), + self.target.as_ref().map_or("", |s| s), + self.message.as_ref().map_or("", |s| s), self.fields_as_str() ) } @@ -124,17 +120,15 @@ impl<'a> LogFormat<'a> { } /// Custom format for target fn format_target(&self) -> String { - if let Some(target) = self.target { + self.target.as_ref().map_or("".to_string(), |target| { format!("[{}]", Style::new().italic().dimmed().paint(target)) - } else { - "".to_string() - } + }) } /// Custom format for log message pub fn format_message(&self) -> String { Style::new() .bold() - .paint(self.message.unwrap_or(&"".to_string())) + .paint(self.message.as_ref().map_or("", |s| s)) .to_string() } /// Custom format for fields From f33f8870c4d0abeb324721e628bc36075beba924 Mon Sep 17 00:00:00 2001 From: Fahd Ashour Date: Mon, 20 Oct 2025 14:32:35 +0300 Subject: [PATCH 3/4] use path.display() to avoid unexpected utf-8 errors --- crates/metassr-bundler/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/metassr-bundler/src/lib.rs b/crates/metassr-bundler/src/lib.rs index e7ad259..ebe0619 100644 --- a/crates/metassr-bundler/src/lib.rs +++ b/crates/metassr-bundler/src/lib.rs @@ -68,7 +68,7 @@ impl<'a> WebBundler<'a> { .map(|(k, path)| { let path = Path::new(path); if !path.exists() { - non_found_files.push(path.to_str().unwrap()); + non_found_files.push(path.display()); } (k.into(), path) }) From 1ca55ab55a38d81a0ba8b46793358d79c2d25a1d Mon Sep 17 00:00:00 2001 From: Fahd Ashour Date: Sat, 25 Oct 2025 15:44:59 +0300 Subject: [PATCH 4/4] Update crates/metassr-bundler/src/lib.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- crates/metassr-bundler/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/metassr-bundler/src/lib.rs b/crates/metassr-bundler/src/lib.rs index ebe0619..85aa38f 100644 --- a/crates/metassr-bundler/src/lib.rs +++ b/crates/metassr-bundler/src/lib.rs @@ -68,7 +68,7 @@ impl<'a> WebBundler<'a> { .map(|(k, path)| { let path = Path::new(path); if !path.exists() { - non_found_files.push(path.display()); + non_found_files.push(path.display().to_string()); } (k.into(), path) })