diff --git a/Cargo.lock b/Cargo.lock index 6e5388ee28..c6dc5ad9cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,11 +14,11 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.24.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ - "gimli 0.31.0", + "gimli 0.29.0", ] [[package]] @@ -27,12 +27,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - [[package]] name = "adler32" version = "1.2.0" @@ -240,9 +234,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "anymap2" @@ -276,14 +270,14 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "as-slice" @@ -326,7 +320,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -382,14 +376,14 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ "async-task", "concurrent-queue", - "fastrand", - "futures-lite", + "fastrand 2.1.0", + "futures-lite 2.3.0", "slab", ] @@ -401,32 +395,61 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ "async-channel 2.3.1", "async-executor", - "async-io", - "async-lock", + "async-io 2.3.4", + "async-lock 3.4.0", "blocking", - "futures-lite", + "futures-lite 2.3.0", "once_cell", ] +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2 0.4.10", + "waker-fn", +] + [[package]] name = "async-io" version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" dependencies = [ - "async-lock", + "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite", + "futures-lite 2.3.0", "parking", - "polling", - "rustix", + "polling 3.7.3", + "rustix 0.38.34", "slab", "tracing", "windows-sys 0.59.0", ] +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + [[package]] name = "async-lock" version = "3.4.0" @@ -440,21 +463,22 @@ dependencies = [ [[package]] name = "async-process" -version = "2.3.0" +version = "2.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" +checksum = "a8a07789659a4d385b79b18b9127fc27e1a59e1e89117c78c5ea3b806f016374" dependencies = [ "async-channel 2.3.1", - "async-io", - "async-lock", + "async-io 2.3.4", + "async-lock 3.4.0", "async-signal", "async-task", "blocking", "cfg-if", "event-listener 5.3.1", - "futures-lite", - "rustix", + "futures-lite 2.3.0", + "rustix 0.38.34", "tracing", + "windows-sys 0.59.0", ] [[package]] @@ -465,7 +489,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -474,13 +498,13 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io", - "async-lock", + "async-io 2.3.4", + "async-lock 3.4.0", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix", + "rustix 0.38.34", "signal-hook-registry", "slab", "windows-sys 0.59.0", @@ -488,20 +512,20 @@ dependencies = [ [[package]] name = "async-std" -version = "1.13.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" +checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" dependencies = [ "async-channel 1.9.0", "async-global-executor", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", - "futures-lite", - "gloo-timers 0.3.0", + "futures-lite 1.13.0", + "gloo-timers", "kv-log-macro", "log", "memchr", @@ -531,7 +555,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -542,13 +566,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -602,9 +626,9 @@ dependencies = [ [[package]] name = "auth-git2" -version = "0.5.5" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3810b5af212b013fe7302b12d86616c6c39a48e18f2e4b812a5a9e5710213791" +checksum = "e51bd0e4592409df8631ca807716dc1e5caafae5d01ce0157c966c71c7e49c3c" dependencies = [ "dirs", "git2", @@ -619,7 +643,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -653,9 +677,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.9.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f95446d919226d587817a7d21379e6eb099b97b45110a7f272a444ca5c54070" +checksum = "4ae74d9bd0a7530e8afd1770739ad34b36838829d6ad61818f9230f683f5ad77" dependencies = [ "aws-lc-sys", "mirai-annotations", @@ -666,9 +690,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.21.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234314bd569802ec87011d653d6815c6d7b9ffb969e9fee5b8b20ef860e8dce9" +checksum = "0f0e249228c6ad2d240c2dc94b714d711629d52bad946075d8e9b2f5391f0703" dependencies = [ "bindgen", "cc", @@ -816,7 +840,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -834,7 +858,7 @@ dependencies = [ "hyper 1.4.1", "hyper-util", "pin-project-lite", - "rustls 0.23.13", + "rustls 0.23.12", "rustls-pemfile 2.1.3", "rustls-pki-types", "tokio", @@ -901,17 +925,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", + "cc", "cfg-if", "libc", - "miniz_oxide 0.8.0", + "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", ] [[package]] @@ -989,7 +1013,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.77", + "syn 2.0.74", "which", ] @@ -1022,9 +1046,9 @@ dependencies = [ [[package]] name = "bitstream-io" -version = "2.5.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b81e1519b0d82120d2fd469d5bfb2919a9361c48b02d82d04befc1cdd2002452" +checksum = "3dcde5f311c85b8ca30c2e4198d4326bc342c76541590106f5fa4a50946ea499" [[package]] name = "bitvec" @@ -1062,7 +1086,7 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite", + "futures-lite 2.3.0", "piper", ] @@ -1083,10 +1107,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ "once_cell", - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "syn_derive", ] @@ -1120,7 +1144,7 @@ dependencies = [ "ahash 0.8.11", "chrono", "either", - "indexmap 2.5.0", + "indexmap 2.4.0", "itertools 0.13.0", "nom", "once_cell", @@ -1182,9 +1206,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" [[package]] name = "byteorder" @@ -1252,9 +1276,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] @@ -1278,7 +1302,7 @@ dependencies = [ "heck 0.5.0", "home", "ignore", - "indexmap 2.5.0", + "indexmap 2.4.0", "indicatif", "liquid", "liquid-core", @@ -1357,9 +1381,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.19" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d74707dde2ba56f86ae90effb3b43ddd369504387e718014de010cec7959800" +checksum = "5fb8dd288a69fc53a1996d7ecfbf4a20d59065bff137ce7e56bbd620de191189" dependencies = [ "jobserver", "libc", @@ -1494,9 +1518,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.17" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" +checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc" dependencies = [ "clap_builder", "clap_derive", @@ -1504,9 +1528,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.17" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -1524,7 +1548,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -1535,9 +1559,9 @@ checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "cmake" -version = "0.1.51" +version = "0.1.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" +checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" dependencies = [ "cc", ] @@ -1786,18 +1810,18 @@ dependencies = [ [[package]] name = "const_format" -version = "0.2.33" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c655d81ff1114fb0dcdea9225ea9f0cc712a6f8d189378e82bdf62a473a64b" +checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" dependencies = [ "const_format_proc_macros", ] [[package]] name = "const_format_proc_macros" -version = "0.2.33" +version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff1a44b93f47b1bac19a27932f5c591e43d1ba357ee4f61526c8a25603f0eb1" +checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" dependencies = [ "proc-macro2", "quote", @@ -1925,9 +1949,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -2126,7 +2150,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2136,7 +2160,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2169,9 +2193,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.128" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ccead7d199d584d139148b04b4a368d1ec7556a1d9ea2548febb1b9d49f9a4" +checksum = "fa01254578b9046d93c2e150ab5837be49d31ee482522a4cd71d92347fbb325c" dependencies = [ "cc", "cxxbridge-flags", @@ -2181,9 +2205,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.128" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77953e99f01508f89f55c494bfa867171ef3a6c8cea03d26975368f2121a5c1" +checksum = "3db0add730d3d9a8c662490c50afc7c1ff48f8f0442aa40a9f85aafa3669e696" dependencies = [ "cc", "codespan-reporting", @@ -2191,24 +2215,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "cxxbridge-flags" -version = "1.0.128" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65777e06cc48f0cb0152024c77d6cf9e4bdb4408e7b48bea993d42fa0f5b02b6" +checksum = "22b540401b8aaaadb41beb096a762f7a2b34eb36b496a5d205e9f019530960e3" [[package]] name = "cxxbridge-macro" -version = "1.0.128" +version = "1.0.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" +checksum = "70c463609d2d980b8300ca12d14b05c6a72bed5c37143581903e82526716484e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2232,7 +2256,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2243,7 +2267,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2320,8 +2344,8 @@ dependencies = [ "convert_case 0.4.0", "proc-macro2", "quote", - "rustc_version 0.4.1", - "syn 2.0.77", + "rustc_version 0.4.0", + "syn 2.0.74", ] [[package]] @@ -2397,7 +2421,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2409,7 +2433,7 @@ dependencies = [ "pretty_assertions", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2470,11 +2494,11 @@ dependencies = [ "rayon", "regex", "reqwest", - "rustls 0.23.13", + "rustls 0.23.12", "serde", "serde_json", "subprocess", - "syn 2.0.77", + "syn 2.0.74", "tar", "tauri-bundler", "tauri-utils", @@ -2547,7 +2571,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.74", "tokio", "trybuild", ] @@ -2656,7 +2680,7 @@ dependencies = [ "dioxus-autofmt", "dioxus-rsx-rosetta", "html_parser", - "syn 2.0.77", + "syn 2.0.74", "wasm-bindgen", ] @@ -2690,7 +2714,7 @@ dependencies = [ "once_cell", "parking_lot", "pin-project", - "rustls 0.23.13", + "rustls 0.23.12", "serde", "server_fn", "thiserror", @@ -2763,7 +2787,7 @@ dependencies = [ "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "trybuild", ] @@ -2944,7 +2968,7 @@ dependencies = [ "proc-macro2", "quote", "slab", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2956,7 +2980,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -2970,7 +2994,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.77", + "syn 2.0.74", "tracing", ] @@ -2986,7 +3010,7 @@ dependencies = [ "pretty_assertions", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3071,7 +3095,7 @@ dependencies = [ "futures-util", "generational-box", "gloo-dialogs", - "gloo-timers 0.2.6", + "gloo-timers", "js-sys", "rustc-hash 1.1.0", "serde", @@ -3095,7 +3119,7 @@ dependencies = [ "quote", "serde", "server_fn_macro", - "syn 2.0.77", + "syn 2.0.74", "tower-http", ] @@ -3173,7 +3197,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3273,7 +3297,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3294,7 +3318,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3362,9 +3386,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.11" +version = "0.22.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" +checksum = "e0f0eb73b934648cd7a4a61f1b15391cd95dab0b4da6e2e66c2a072c144b4a20" dependencies = [ "num-traits", "serde", @@ -3425,7 +3449,7 @@ checksum = "ce8cd46a041ad005ab9c71263f9a0ff5b529eac0fe4cc9b4a20f4f0765d8cf4b" dependencies = [ "execute-command-tokens", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3450,7 +3474,7 @@ dependencies = [ "flume", "half", "lebe", - "miniz_oxide 0.7.4", + "miniz_oxide", "rayon-core", "smallvec", "zune-inflate", @@ -3470,9 +3494,18 @@ checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" [[package]] name = "fastrand" -version = "2.1.1" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fdeflate" @@ -3500,7 +3533,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ "memoffset", - "rustc_version 0.4.1", + "rustc_version 0.4.0", ] [[package]] @@ -3515,9 +3548,9 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.25" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" dependencies = [ "cfg-if", "libc", @@ -3533,12 +3566,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.33" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" dependencies = [ "crc32fast", - "miniz_oxide 0.8.0", + "miniz_oxide", ] [[package]] @@ -3585,7 +3618,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3627,7 +3660,7 @@ checksum = "32016f1242eb82af5474752d00fd8ebcd9004bd69b462b1c91de833972d08ed4" dependencies = [ "proc-macro2", "swc_macros_common", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -3825,13 +3858,28 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-lite" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -3846,7 +3894,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -4072,9 +4120,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gio" @@ -4169,9 +4217,9 @@ dependencies = [ [[package]] name = "gix-config-value" -version = "0.14.8" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" +checksum = "b328997d74dd15dc71b2773b162cb4af9a25c424105e4876e6d0686ab41c383e" dependencies = [ "bitflags 2.6.0", "bstr", @@ -4209,20 +4257,20 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.11.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" +checksum = "6adf99c27cdf17b1c4d77680c917e0d94d8783d4e1c73d3be0d1d63107163d7a" dependencies = [ - "fastrand", + "fastrand 2.1.0", "gix-features", "gix-utils", ] [[package]] name = "gix-glob" -version = "0.16.5" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" +checksum = "fa7df15afa265cc8abe92813cd354d522f1ac06b29ec6dfa163ad320575cb447" dependencies = [ "bitflags 2.6.0", "bstr", @@ -4307,9 +4355,9 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.10.8" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" +checksum = "1547d26fa5693a7f34f05b4a3b59a90890972922172653bcb891ab3f09f436df" dependencies = [ "bitflags 2.6.0", "gix-path", @@ -4319,9 +4367,9 @@ dependencies = [ [[package]] name = "gix-tempfile" -version = "14.0.2" +version = "14.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" +checksum = "006acf5a613e0b5cf095d8e4b3f48c12a60d9062aa2b2dd105afaf8344a5600c" dependencies = [ "gix-fs", "libc", @@ -4342,7 +4390,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" dependencies = [ - "fastrand", + "fastrand 2.1.0", "unicode-normalization", ] @@ -4390,7 +4438,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -4428,9 +4476,9 @@ dependencies = [ [[package]] name = "globset" -version = "0.4.15" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick", "bstr", @@ -4453,7 +4501,7 @@ dependencies = [ "gloo-net 0.3.1", "gloo-render", "gloo-storage", - "gloo-timers 0.2.6", + "gloo-timers", "gloo-utils 0.1.7", "gloo-worker", ] @@ -4591,16 +4639,6 @@ name = "gloo-timers" version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "gloo-timers" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" dependencies = [ "futures-channel", "futures-core", @@ -4711,7 +4749,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -4726,7 +4764,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.5.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -4735,9 +4773,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" dependencies = [ "atomic-waker", "bytes", @@ -4745,7 +4783,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.5.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util", @@ -5099,7 +5137,7 @@ dependencies = [ "httpdate", "itoa 1.0.11", "pin-project-lite", - "socket2", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -5115,7 +5153,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.6", + "h2 0.4.5", "http 1.1.0", "http-body 1.0.1", "httparse", @@ -5129,22 +5167,22 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.3" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", "http 1.1.0", "hyper 1.4.1", "hyper-util", "log", - "rustls 0.23.13", + "rustls 0.23.12", "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", "tower-service", - "webpki-roots 0.26.5", + "webpki-roots 0.26.3", ] [[package]] @@ -5177,9 +5215,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", @@ -5188,7 +5226,7 @@ dependencies = [ "http-body 1.0.1", "hyper 1.4.1", "pin-project-lite", - "socket2", + "socket2 0.5.7", "tokio", "tower", "tower-service", @@ -5197,9 +5235,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.61" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -5248,9 +5286,9 @@ checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" [[package]] name = "ignore" -version = "0.4.23" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" dependencies = [ "crossbeam-deque", "globset", @@ -5345,9 +5383,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -5447,7 +5485,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -5456,11 +5494,22 @@ version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "ipnet" -version = "2.10.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "ipnetwork" @@ -5473,9 +5522,9 @@ dependencies = [ [[package]] name = "iri-string" -version = "0.7.4" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0f755bd3806e06ad4f366f92639415d99a339a2c7ecf8c26ccea2097c11cb6" +checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" dependencies = [ "memchr", "serde", @@ -5499,7 +5548,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -5785,9 +5834,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libflate" @@ -5862,7 +5911,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", - "redox_syscall", + "redox_syscall 0.5.3", ] [[package]] @@ -5911,9 +5960,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.20" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "libc", @@ -5923,9 +5972,9 @@ dependencies = [ [[package]] name = "lightningcss" -version = "1.0.0-alpha.59" +version = "1.0.0-alpha.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e225b3fa0a8bd5562c8833b1a32afa88761c4e661d3177b8cdc4e13cbf078e" +checksum = "ec380ca49dc7f6a1cafbdd2de5e587958eac0f67ab26b1e56727fcc60a0c3d4d" dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", @@ -5974,6 +6023,12 @@ dependencies = [ "cc", ] +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -6019,7 +6074,7 @@ checksum = "3b51f1d220e3fa869e24cfd75915efe3164bd09bb11b3165db3f37f57bf673e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -6116,18 +6171,18 @@ dependencies = [ [[package]] name = "manganis" -version = "0.3.0-alpha.2" +version = "0.3.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6250942459fe37aecefbf52d5ef5904534d4c3e6383b26835fa3bde98ab5e491" +checksum = "10870c8dbbfa53eaad99e7cc0689de6f2033d8769e02df28cb681b437e159473" dependencies = [ "manganis-macro", ] [[package]] name = "manganis-cli-support" -version = "0.3.0-alpha.2" +version = "0.3.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d9251654f07951e80b1fccde6389a37059f18f1a7dd747ecd7771336f1a1ae6" +checksum = "8d41fe05b5ee629e1ac2f6edc1345dbdcc776570188bbbf26078a9d77bcd527e" dependencies = [ "anyhow", "image 0.25.2", @@ -6145,71 +6200,23 @@ dependencies = [ "serde", "serde_json", "swc", - "swc_allocator", - "swc_atoms", - "swc_cached", "swc_common", - "swc_compiler_base 0.19.0", - "swc_config", - "swc_config_macro", - "swc_ecma_ast", - "swc_ecma_codegen", - "swc_ecma_codegen_macros", - "swc_ecma_compat_bugfixes 0.12.0", - "swc_ecma_compat_common", - "swc_ecma_compat_es2015 0.12.0", - "swc_ecma_compat_es2016 0.12.0", - "swc_ecma_compat_es2017 0.12.0", - "swc_ecma_compat_es2018 0.12.0", - "swc_ecma_compat_es2019 0.12.0", - "swc_ecma_compat_es2020 0.12.0", - "swc_ecma_compat_es2021 0.12.0", - "swc_ecma_compat_es2022 0.12.0", - "swc_ecma_compat_es3 0.12.0", - "swc_ecma_ext_transforms", - "swc_ecma_lints 0.100.0", - "swc_ecma_loader", - "swc_ecma_minifier 0.204.0", - "swc_ecma_parser", - "swc_ecma_preset_env 0.217.0", - "swc_ecma_transforms 0.239.0", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_classes 0.134.0", - "swc_ecma_transforms_compat 0.171.0", - "swc_ecma_transforms_macros", - "swc_ecma_transforms_module 0.190.0", - "swc_ecma_transforms_optimization 0.208.0", - "swc_ecma_transforms_proposal 0.178.0", - "swc_ecma_transforms_react 0.191.0", - "swc_ecma_transforms_typescript 0.198.1", - "swc_ecma_usage_analyzer", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_eq_ignore_macros", - "swc_error_reporters", - "swc_fast_graph", - "swc_macros_common", - "swc_node_comments", - "swc_timer", - "swc_trace_macro", - "swc_transform_common", - "swc_typescript", - "swc_visit", "tracing", "url", ] [[package]] name = "manganis-common" -version = "0.3.0-alpha.2" +version = "0.3.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9048495439cee460d6092341dc54088895f985ca41379169502d8f46af08e" +checksum = "d9be0dd0eaf5ce21947bcc38131d7934a1f573b76e6e44fe9e401cb27dcb33cf" dependencies = [ "anyhow", "base64 0.21.7", "built", "home", "infer 0.11.0", + "reqwest", "serde", "toml 0.7.8", "tracing", @@ -6218,15 +6225,15 @@ dependencies = [ [[package]] name = "manganis-macro" -version = "0.3.0-alpha.2" +version = "0.3.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc48d9ad7dccb08194ec0613ad22ad28f4d28dd8565397a1d3fb4a6986bbebef" +checksum = "3ca00f3c266ba409900d32707f4bc66a60fbb707cf9d4d8d44d8e265c431c149" dependencies = [ "manganis-common", "proc-macro2", "quote", "serde_json", - "syn 2.0.77", + "syn 2.0.74", "tracing-subscriber", ] @@ -6298,9 +6305,9 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" dependencies = [ "libc", ] @@ -6336,7 +6343,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -6381,15 +6388,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] - [[package]] name = "mio" version = "0.8.11" @@ -6422,9 +6420,9 @@ checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" [[package]] name = "mozjpeg" -version = "0.10.10" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969e1dbc9af2f18ffe6ddba72bbe86506c7214ecb28670d98ecfba51cb9b8c6b" +checksum = "8c1e1f1b1de2ee6ef673e8c76666b93794120fa6ec1cb4f535c129ea6f32731d" dependencies = [ "arrayvec", "bytemuck", @@ -6727,7 +6725,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -6817,10 +6815,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -6879,14 +6877,14 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "flate2", "memchr", "ruzstd", - "wasmparser 0.216.0", + "wasmparser 0.215.0", ] [[package]] @@ -6941,7 +6939,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -7002,12 +7000,11 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "owo-colors" -version = "4.1.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" +checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f" dependencies = [ - "supports-color 2.1.0", - "supports-color 3.0.1", + "supports-color", ] [[package]] @@ -7037,9 +7034,9 @@ dependencies = [ [[package]] name = "parcel_selectors" -version = "0.27.0" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4d26c18a8377a64728c04bf3b2e48ec43b0c77e687a18e03eb837d65e08a14" +checksum = "512215cb1d3814e276ace4ec2dbc2cac16726ea3fcac20c22ae1197e16fdd72d" dependencies = [ "bitflags 2.6.0", "cssparser 0.33.0", @@ -7067,9 +7064,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.2.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -7089,7 +7086,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.3", "smallvec", "windows-targets 0.52.6", ] @@ -7176,9 +7173,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -7187,9 +7184,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664d22978e2815783adbdd2c588b455b1bd625299ce36b2a99881ac9627e6d8d" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -7197,22 +7194,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2d5487022d5d33f4c30d91c22afa240ce2a644e87fe08caad974d4eab6badbe" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "pest_meta" -version = "2.7.12" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0091754bbd0ea592c4deb3a122ce8ecbb0753b738aa82bc055fcc2eccc8d8174" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -7226,7 +7223,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap 2.4.0", ] [[package]] @@ -7333,7 +7330,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -7380,7 +7377,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -7402,7 +7399,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand", + "fastrand 2.1.0", "futures-io", ] @@ -7440,7 +7437,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ "base64 0.22.1", - "indexmap 2.5.0", + "indexmap 2.4.0", "quick-xml", "serde", "time", @@ -7448,9 +7445,9 @@ dependencies = [ [[package]] name = "plotters" -version = "0.3.7" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" dependencies = [ "num-traits", "plotters-backend", @@ -7461,15 +7458,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.7" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" [[package]] name = "plotters-svg" -version = "0.3.7" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" dependencies = [ "plotters-backend", ] @@ -7484,7 +7481,23 @@ dependencies = [ "crc32fast", "fdeflate", "flate2", - "miniz_oxide 0.7.4", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", ] [[package]] @@ -7497,7 +7510,7 @@ dependencies = [ "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix", + "rustix 0.38.34", "tracing", "windows-sys 0.59.0", ] @@ -7572,14 +7585,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32db37eb2b0ec0af154e9c1b33425902d8cd9481e35167c4e9ffb28fec3916bb" dependencies = [ "proc-macro2", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "pretty_assertions" -version = "1.4.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" dependencies = [ "diff", "yansi", @@ -7597,12 +7610,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.22" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -7626,11 +7639,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.2.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.22.20", + "toml_edit 0.21.1", ] [[package]] @@ -7680,7 +7693,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "version_check", ] @@ -7706,7 +7719,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -7729,7 +7742,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -7743,9 +7756,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.23" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" dependencies = [ "cc", ] @@ -7796,17 +7809,17 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.5" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684" +checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash 2.0.0", - "rustls 0.23.13", - "socket2", + "rustls 0.23.12", + "socket2 0.5.7", "thiserror", "tokio", "tracing", @@ -7822,7 +7835,7 @@ dependencies = [ "rand 0.8.5", "ring", "rustc-hash 2.0.0", - "rustls 0.23.13", + "rustls 0.23.12", "slab", "thiserror", "tinyvec", @@ -7831,22 +7844,22 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" dependencies = [ "libc", "once_cell", - "socket2", + "socket2 0.5.7", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] name = "quote" -version = "1.0.37" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -8064,18 +8077,27 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.4" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom 0.2.15", "libredox", @@ -8151,9 +8173,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.7" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64 0.22.1", "bytes", @@ -8161,7 +8183,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.6", + "h2 0.4.5", "http 1.1.0", "http-body 1.0.1", "http-body-util", @@ -8179,7 +8201,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.13", + "rustls 0.23.12", "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", @@ -8197,8 +8219,8 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.5", - "windows-registry", + "webpki-roots 0.26.3", + "winreg 0.52.0", ] [[package]] @@ -8226,9 +8248,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.50" +version = "0.8.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" +checksum = "0f86ae463694029097b846d8f99fd5536740602ae00022c0c50c5600720b2f71" dependencies = [ "bytemuck", ] @@ -8258,7 +8280,7 @@ checksum = "a5a11a05ee1ce44058fa3d5961d05194fdbe3ad6b40f904af764d81b86450e6b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -8278,9 +8300,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.45" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" dependencies = [ "bitvec", "bytecheck", @@ -8296,9 +8318,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.45" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" dependencies = [ "proc-macro2", "quote", @@ -8319,7 +8341,7 @@ checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94" dependencies = [ "base64 0.21.7", "bitflags 2.6.0", - "indexmap 2.5.0", + "indexmap 2.4.0", "serde", "serde_derive", ] @@ -8354,9 +8376,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.36.0" +version = "1.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", "borsh", @@ -8397,23 +8419,37 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ "semver 1.0.23", ] [[package]] name = "rustix" -version = "0.38.37" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -8430,25 +8466,25 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.13" +version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ "aws-lc-rs", "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.102.6", "subtle", "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.8.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" +checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" dependencies = [ "openssl-probe", "rustls-pemfile 2.1.3", @@ -8494,9 +8530,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.102.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" dependencies = [ "aws-lc-rs", "ring", @@ -8512,10 +8548,11 @@ checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ruzstd" -version = "0.7.2" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c3938e133aac070997ddc684d4b393777d293ba170f2988c8fd5ea2ad4ce21" +checksum = "5022b253619b1ba797f243056276bed8ed1a73b0f5a7ce7225d524067644bf8f" dependencies = [ + "byteorder", "twox-hash", ] @@ -8552,11 +8589,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -8677,9 +8714,9 @@ checksum = "f97841a747eef040fcd2e7b3b9a220a7205926e60488e673d9e4926d27772ce5" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "5665e14a49a4ea1b91029ba7d3bca9f299e1f7cfa194388ccc20f14743e784f2" dependencies = [ "serde_derive", ] @@ -8697,20 +8734,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "66ad62847a56b3dba58cc891acd13884b9c61138d330c0d7b6181713d4fce38d" dependencies = [ "itoa 1.0.11", "memchr", @@ -8757,7 +8794,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -8791,7 +8828,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.5.0", + "indexmap 2.4.0", "serde", "serde_derive", "serde_json", @@ -8808,14 +8845,14 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "server_fn" -version = "0.6.15" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fae7a3038a32e5a34ba32c6c45eb4852f8affaf8b794ebfcd4b1099e2d62ebe" +checksum = "024b400db1aca5bd4188714f7bbbf7a2e1962b9a12a80b2a21e937e509086963" dependencies = [ "axum 0.7.5", "bytes", @@ -8848,26 +8885,26 @@ dependencies = [ [[package]] name = "server_fn_macro" -version = "0.6.15" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaaf648c6967aef78177c0610478abb5a3455811f401f3c62d10ae9bd3901a1" +checksum = "9cf0e6f71fc924df36e87f27dfbd447f0bedd092d365db3a5396878256d9f00c" dependencies = [ "const_format", "convert_case 0.6.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "xxhash-rust", ] [[package]] name = "server_fn_macro_default" -version = "0.6.15" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2aa8119b558a17992e0ac1fd07f080099564f24532858811ce04f742542440" +checksum = "556e4fd51eb9ee3e7d9fb0febec6cef486dcbc8f7f427591dfcfebee1abe1ad4" dependencies = [ "server_fn_macro", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9051,7 +9088,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33a1b4f13e2bbf2f5b29d09dfebc9de69229ffee245aed80e3b70f9b5fd28c06" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9096,6 +9133,16 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "socket2" version = "0.5.7" @@ -9172,9 +9219,9 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.6" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bba3a93db0cc4f7bdece8bb09e77e2e785c20bfebf79eb8340ed80708048790" +checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f" dependencies = [ "nom", "unicode_categories", @@ -9217,7 +9264,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.5.0", + "indexmap 2.4.0", "ipnetwork", "log", "mac_address", @@ -9420,7 +9467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9431,15 +9478,15 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.17" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" +checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" dependencies = [ "cc", "cfg-if", "libc", "psm", - "windows-sys 0.59.0", + "winapi", ] [[package]] @@ -9450,7 +9497,7 @@ checksum = "710e9696ef338691287aeb937ee6ffe60022f579d3c8d2fd9d58973a9a10a466" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9494,7 +9541,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9558,7 +9605,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9587,15 +9634,6 @@ dependencies = [ "is_ci", ] -[[package]] -name = "supports-color" -version = "3.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8775305acf21c96926c900ad056abeef436701108518cf890020387236ac5a77" -dependencies = [ - "is_ci", -] - [[package]] name = "suspense-carousel" version = "0.6.0-alpha.2" @@ -9615,7 +9653,7 @@ dependencies = [ "base64 0.21.7", "dashmap", "either", - "indexmap 2.5.0", + "indexmap 2.4.0", "jsonc-parser", "lru 0.10.1", "once_cell", @@ -9629,20 +9667,20 @@ dependencies = [ "swc_atoms", "swc_cached", "swc_common", - "swc_compiler_base 0.16.0", + "swc_compiler_base", "swc_config", "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_ext_transforms", - "swc_ecma_lints 0.99.0", + "swc_ecma_lints", "swc_ecma_loader", - "swc_ecma_minifier 0.201.0", + "swc_ecma_minifier", "swc_ecma_parser", - "swc_ecma_preset_env 0.214.0", - "swc_ecma_transforms 0.236.0", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_compat 0.170.0", - "swc_ecma_transforms_optimization 0.205.0", + "swc_ecma_preset_env", + "swc_ecma_transforms", + "swc_ecma_transforms_base", + "swc_ecma_transforms_compat", + "swc_ecma_transforms_optimization", "swc_ecma_utils", "swc_ecma_visit", "swc_error_reporters", @@ -9696,9 +9734,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.37.5" +version = "0.37.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12d0a8eaaf1606c9207077d75828008cb2dfb51b095a766bd2b72ef893576e31" +checksum = "c4d6c716bb706926e22edc992565c98a8f00c0cfa983e97f525f473f9ce2f93f" dependencies = [ "ahash 0.8.11", "ast_node", @@ -9743,51 +9781,25 @@ dependencies = [ "swc_config", "swc_ecma_ast", "swc_ecma_codegen", - "swc_ecma_minifier 0.201.0", + "swc_ecma_minifier", "swc_ecma_parser", "swc_ecma_visit", "swc_timer", ] [[package]] -name = "swc_compiler_base" -version = "0.19.0" +name = "swc_config" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb87f8dc7be1a034d5c29bcc4be9d504ddfd2f8aa1a1338fc568e104e087d29" +checksum = "4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000" dependencies = [ "anyhow", - "base64 0.21.7", - "once_cell", - "pathdiff", - "rustc-hash 1.1.0", + "indexmap 2.4.0", "serde", "serde_json", "sourcemap", - "swc_allocator", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_codegen", - "swc_ecma_minifier 0.204.0", - "swc_ecma_parser", - "swc_ecma_visit", - "swc_timer", -] - -[[package]] -name = "swc_config" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000" -dependencies = [ - "anyhow", - "indexmap 2.5.0", - "serde", - "serde_json", - "sourcemap", - "swc_cached", - "swc_config_macro", + "swc_cached", + "swc_config_macro", ] [[package]] @@ -9799,14 +9811,14 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] name = "swc_ecma_ast" -version = "0.118.2" +version = "0.118.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f866d12e4d519052b92a0a86d1ac7ff17570da1272ca0c89b3d6f802cd79df" +checksum = "ed6c1b94abbaf080a4e4ae47101a83d4eedef90d733dd98e32b361356d3f5e4b" dependencies = [ "bitflags 2.6.0", "is-macro", @@ -9822,9 +9834,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.155.1" +version = "0.155.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7641608ef117cfbef9581a99d02059b522fcca75e5244fa0cbbd8606689c6f" +checksum = "644514f303dcad13f7d1c244b50af798e0549f6eb8c53d64dd2ba9824266c868" dependencies = [ "memchr", "num-bigint", @@ -9848,7 +9860,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -9860,25 +9872,8 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_compat_es2015 0.11.1", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_bugfixes" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75429b44cc479cbe018d5994eddae5ac7ab887ebefeb3596720921bc4cdff551" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_compat_es2015 0.12.0", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_compat_es2015", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", "swc_trace_macro", @@ -9900,40 +9895,13 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2015" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dade6e0c6e8ddb61281fee2331c3775a920c31535b91e8cace2e0c4eed6158d3" -dependencies = [ - "arrayvec", - "indexmap 2.5.0", - "is-macro", - "serde", - "serde_derive", - "smallvec", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_compat_common", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_classes 0.133.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2015" -version = "0.12.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c988d9018d6abb22b0fcc2da6a624be2db7c56681b6180d1cb5faa2672fd8001" +checksum = "bd07cbb52c1ac41115c9ddd5a4d046a7388008bd950b61a48df7f7f490f19827" dependencies = [ "arrayvec", - "indexmap 2.5.0", + "indexmap 2.4.0", "is-macro", - "rustc-hash 1.1.0", "serde", "serde_derive", "smallvec", @@ -9942,8 +9910,8 @@ dependencies = [ "swc_config", "swc_ecma_ast", "swc_ecma_compat_common", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_classes 0.134.0", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -9960,24 +9928,7 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2016" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b7a3e086151c70ff940531ddcd04c01351ae80aa4593fd2906255d18a836b4f" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -9987,33 +9938,15 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2017" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4aa87a6861b2adc8b0178fb450165101c4396409481c8726ec90ad28398cae5d" -dependencies = [ - "serde", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2017" -version = "0.12.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3b74c89c9bd4fa532fba3d1ec47b129ec450b4143d3914118cd61b0e44d4a4b" +checksum = "8a564f1b5e852a0ac656626ba689d49dd2751ba5b980903154aebc971729959d" dependencies = [ "serde", "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10032,26 +9965,7 @@ dependencies = [ "swc_common", "swc_ecma_ast", "swc_ecma_compat_common", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2018" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a40bf74a06c433eee502ea6347596d5766d77da8baf32653d14a6655df4e181a" -dependencies = [ - "serde", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_compat_common", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10068,23 +9982,7 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2019" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10afb20890ffda37eefdfe06c3bb0d12e5ec8698667cb9e3689b74066b398845" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", "swc_trace_macro", @@ -10101,26 +9999,8 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_compat_es2022 0.11.0", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2020" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0608c4814a362d5362bc536507d8c89b287521778e8b678fe4590bfa1843803a" -dependencies = [ - "serde", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_compat_es2022 0.12.0", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_compat_es2022", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", "swc_trace_macro", @@ -10136,23 +10016,7 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2021" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f12ffb0f4282f4b333efa98c9653d181d89e1b5339d4be0d789189a246ef34b" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", "swc_trace_macro", @@ -10169,27 +10033,8 @@ dependencies = [ "swc_common", "swc_ecma_ast", "swc_ecma_compat_common", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_classes 0.133.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es2022" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc16be9dd64e1b32569375b0b73ecc7dc74f9d848e8caaf2007896e2cf8d68a7" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_compat_common", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_classes 0.134.0", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10205,22 +10050,7 @@ checksum = "e55ffadc12067b21524bf7b5d6938021ee918f65f18937ed27245c23544bc910" dependencies = [ "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_compat_es3" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e684ae87d26ad3012e588d0e268158cadee10ddc0cda261069f0f280a8b23ce7" -dependencies = [ - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", "swc_trace_macro", @@ -10261,26 +10091,6 @@ dependencies = [ "swc_ecma_visit", ] -[[package]] -name = "swc_ecma_lints" -version = "0.100.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89907376ce67b56d8fbf79cca830a12cb41f93dccc306008c07d8eba8f6d388e" -dependencies = [ - "auto_impl", - "dashmap", - "parking_lot", - "rayon", - "regex", - "serde", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_utils", - "swc_ecma_visit", -] - [[package]] name = "swc_ecma_loader" version = "0.49.1" @@ -10310,42 +10120,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d75a42254926bad8b7fa9390767a18ac608d99cfd5a3be675e4739c2cf7db1b" dependencies = [ "arrayvec", - "indexmap 2.5.0", - "num-bigint", - "num_cpus", - "once_cell", - "parking_lot", - "phf 0.11.2", - "radix_fmt", - "regex", - "rustc-hash 1.1.0", - "ryu-js", - "serde", - "serde_json", - "swc_allocator", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_codegen", - "swc_ecma_parser", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_optimization 0.205.0", - "swc_ecma_usage_analyzer", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_timer", - "tracing", -] - -[[package]] -name = "swc_ecma_minifier" -version = "0.204.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d88917a66b8f457c5953d2ff2d7788259658c89578636b28e9ac6ae56bbfd9" -dependencies = [ - "arrayvec", - "indexmap 2.5.0", + "indexmap 2.4.0", "num-bigint", "num_cpus", "once_cell", @@ -10364,8 +10139,8 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_parser", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_optimization 0.208.0", + "swc_ecma_transforms_base", + "swc_ecma_transforms_optimization", "swc_ecma_usage_analyzer", "swc_ecma_utils", "swc_ecma_visit", @@ -10375,9 +10150,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.149.1" +version = "0.149.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683dada14722714588b56481399c699378b35b2ba4deb5c4db2fb627a97fb54b" +checksum = "7c7a81df222f44212c72fec4879c0d182c6eac66fb0e180afd05e8be6d920663" dependencies = [ "either", "new_debug_unreachable", @@ -10403,7 +10178,7 @@ checksum = "e85162c77f8c80b55e5aed3a5e5477b74a53ce9cca05dec6e3dabec1de0f49af" dependencies = [ "anyhow", "dashmap", - "indexmap 2.5.0", + "indexmap 2.4.0", "once_cell", "preset_env_base", "rustc-hash 1.1.0", @@ -10415,32 +10190,7 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms 0.236.0", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_preset_env" -version = "0.217.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51992e6bb854ef2e6c7a1b9a14ed8d0e3c8f905d348f694759f9a97bfa6a425" -dependencies = [ - "anyhow", - "dashmap", - "indexmap 2.5.0", - "once_cell", - "preset_env_base", - "rustc-hash 1.1.0", - "semver 1.0.23", - "serde", - "serde_json", - "st-map", - "string_enum", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms 0.239.0", + "swc_ecma_transforms", "swc_ecma_utils", "swc_ecma_visit", ] @@ -10454,29 +10204,13 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_compat 0.170.0", - "swc_ecma_transforms_module 0.187.0", - "swc_ecma_transforms_optimization 0.205.0", - "swc_ecma_transforms_proposal 0.178.0", - "swc_ecma_transforms_react 0.190.0", - "swc_ecma_transforms_typescript 0.195.1", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms" -version = "0.239.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82df2dd8048fe23f1df72acd52bfebf846b3d5a76e048eee32acf9af9bee6a98" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_compat 0.171.0", - "swc_ecma_transforms_proposal 0.179.0", + "swc_ecma_transforms_base", + "swc_ecma_transforms_compat", + "swc_ecma_transforms_module", + "swc_ecma_transforms_optimization", + "swc_ecma_transforms_proposal", + "swc_ecma_transforms_react", + "swc_ecma_transforms_typescript", "swc_ecma_utils", "swc_ecma_visit", ] @@ -10489,30 +10223,7 @@ checksum = "7c0a71579d030e12fd3cfbfc8712c4ce21afc526f2a759903c77d8df61950f5e" dependencies = [ "better_scoped_tls", "bitflags 2.6.0", - "indexmap 2.5.0", - "once_cell", - "phf 0.11.2", - "rustc-hash 1.1.0", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_parser", - "swc_ecma_utils", - "swc_ecma_visit", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_base" -version = "0.145.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65f21494e75d0bd8ef42010b47cabab9caaed8f2207570e809f6f4eb51a710d1" -dependencies = [ - "better_scoped_tls", - "bitflags 2.6.0", - "indexmap 2.5.0", + "indexmap 2.4.0", "once_cell", "phf 0.11.2", "rustc-hash 1.1.0", @@ -10536,21 +10247,7 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms_classes" -version = "0.134.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3d884594385bea9405a2e1721151470d9a14d3ceec5dd773c0ca6894791601" -dependencies = [ - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", ] @@ -10562,43 +10259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4bb500b65423646da940e289ad37e7c88332d7194248c33fc63a9e768e104fe5" dependencies = [ "arrayvec", - "indexmap 2.5.0", - "is-macro", - "num-bigint", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_compat_bugfixes 0.11.0", - "swc_ecma_compat_common", - "swc_ecma_compat_es2015 0.11.1", - "swc_ecma_compat_es2016 0.11.0", - "swc_ecma_compat_es2017 0.11.1", - "swc_ecma_compat_es2018 0.11.0", - "swc_ecma_compat_es2019 0.11.0", - "swc_ecma_compat_es2020 0.11.0", - "swc_ecma_compat_es2021 0.11.0", - "swc_ecma_compat_es2022 0.11.0", - "swc_ecma_compat_es3 0.11.0", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_classes 0.133.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_trace_macro", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_compat" -version = "0.171.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f23da29c1279b6e0c1ac0df9d0f7fd6c955a141a9770e5a0a2d54292509bcf6" -dependencies = [ - "arrayvec", - "indexmap 2.5.0", + "indexmap 2.4.0", "is-macro", "num-bigint", "serde", @@ -10607,19 +10268,19 @@ dependencies = [ "swc_common", "swc_config", "swc_ecma_ast", - "swc_ecma_compat_bugfixes 0.12.0", + "swc_ecma_compat_bugfixes", "swc_ecma_compat_common", - "swc_ecma_compat_es2015 0.12.0", - "swc_ecma_compat_es2016 0.12.0", - "swc_ecma_compat_es2017 0.12.0", - "swc_ecma_compat_es2018 0.12.0", - "swc_ecma_compat_es2019 0.12.0", - "swc_ecma_compat_es2020 0.12.0", - "swc_ecma_compat_es2021 0.12.0", - "swc_ecma_compat_es2022 0.12.0", - "swc_ecma_compat_es3 0.12.0", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_classes 0.134.0", + "swc_ecma_compat_es2015", + "swc_ecma_compat_es2016", + "swc_ecma_compat_es2017", + "swc_ecma_compat_es2018", + "swc_ecma_compat_es2019", + "swc_ecma_compat_es2020", + "swc_ecma_compat_es2021", + "swc_ecma_compat_es2022", + "swc_ecma_compat_es3", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10636,7 +10297,7 @@ dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -10648,34 +10309,7 @@ dependencies = [ "Inflector", "anyhow", "bitflags 2.6.0", - "indexmap 2.5.0", - "is-macro", - "path-clean 1.0.1", - "pathdiff", - "regex", - "serde", - "swc_atoms", - "swc_cached", - "swc_common", - "swc_ecma_ast", - "swc_ecma_loader", - "swc_ecma_parser", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_utils", - "swc_ecma_visit", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_module" -version = "0.190.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4d0255362149854b923125e9910ce0a5405ce6d03fb325c5fdd8e9f13a0845" -dependencies = [ - "Inflector", - "anyhow", - "bitflags 2.6.0", - "indexmap 2.5.0", + "indexmap 2.4.0", "is-macro", "path-clean 1.0.1", "pathdiff", @@ -10687,7 +10321,7 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_loader", "swc_ecma_parser", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_utils", "swc_ecma_visit", "tracing", @@ -10700,31 +10334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17446e46b75654901d962251ec4d0063423ee81759a325ed82fcf073308d97ca" dependencies = [ "dashmap", - "indexmap 2.5.0", - "once_cell", - "petgraph", - "rustc-hash 1.1.0", - "serde_json", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_parser", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_fast_graph", - "tracing", -] - -[[package]] -name = "swc_ecma_transforms_optimization" -version = "0.208.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d8447ea20ef76958a8240feef95743702485a84331e6df5bdbe7e383c87838" -dependencies = [ - "dashmap", - "indexmap 2.5.0", + "indexmap 2.4.0", "once_cell", "petgraph", "rustc-hash 1.1.0", @@ -10733,7 +10343,7 @@ dependencies = [ "swc_common", "swc_ecma_ast", "swc_ecma_parser", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10754,28 +10364,8 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_classes 0.133.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms_proposal" -version = "0.179.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79938ff510fc647febd8c6c3ef4143d099fdad87a223680e632623d056dae2dd" -dependencies = [ - "either", - "rustc-hash 1.1.0", - "serde", - "smallvec", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_classes 0.134.0", + "swc_ecma_transforms_base", + "swc_ecma_transforms_classes", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10789,32 +10379,7 @@ checksum = "c3e54a8c87d90812bf69b0f07931bb629111a3f24efe83b9190c3a40a5ebc25e" dependencies = [ "base64 0.21.7", "dashmap", - "indexmap 2.5.0", - "once_cell", - "serde", - "sha1", - "string_enum", - "swc_allocator", - "swc_atoms", - "swc_common", - "swc_config", - "swc_ecma_ast", - "swc_ecma_parser", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_macros", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms_react" -version = "0.191.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c76d8b9792ce51401d38da0fa62158d61f6d80d16d68fe5b03ce4bf5fba383" -dependencies = [ - "base64 0.21.7", - "dashmap", - "indexmap 2.5.0", + "indexmap 2.4.0", "once_cell", "serde", "sha1", @@ -10825,7 +10390,7 @@ dependencies = [ "swc_config", "swc_ecma_ast", "swc_ecma_parser", - "swc_ecma_transforms_base 0.145.0", + "swc_ecma_transforms_base", "swc_ecma_transforms_macros", "swc_ecma_utils", "swc_ecma_visit", @@ -10842,36 +10407,19 @@ dependencies = [ "swc_atoms", "swc_common", "swc_ecma_ast", - "swc_ecma_transforms_base 0.144.0", - "swc_ecma_transforms_react 0.190.0", - "swc_ecma_utils", - "swc_ecma_visit", -] - -[[package]] -name = "swc_ecma_transforms_typescript" -version = "0.198.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15455da4768f97186c40523e83600495210c11825d3a44db43383fd81eace88d" -dependencies = [ - "ryu-js", - "serde", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms_base 0.145.0", - "swc_ecma_transforms_react 0.191.0", + "swc_ecma_transforms_base", + "swc_ecma_transforms_react", "swc_ecma_utils", "swc_ecma_visit", ] [[package]] name = "swc_ecma_usage_analyzer" -version = "0.30.3" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7689421c6a892642c5907fd608c56d982fdef0d6456f9dba3cc418c6ea7e07" +checksum = "bbb53b6fec4526660cc460f581b049a7f4bfb26b4b5d70aa0930c70abecf2f46" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", "rustc-hash 1.1.0", "swc_atoms", "swc_common", @@ -10884,11 +10432,11 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.134.2" +version = "0.134.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029eec7dd485923a75b5a45befd04510288870250270292fc2c1b3a9e7547408" +checksum = "cde8f1ef3f7bd53340c7bd679f1ec563a45225ac8fb63f22d6de1ff4b345475d" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", "num_cpus", "once_cell", "rustc-hash 1.1.0", @@ -10903,9 +10451,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.104.8" +version = "0.104.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b1c6802e68e51f336e8bc9644e9ff9da75d7da9c1a6247d532f2e908aa33e81" +checksum = "c71f5f97db49b96208805104b381c5e117f55fad5f3d178e626c92934a4d0e36" dependencies = [ "new_debug_unreachable", "num-bigint", @@ -10924,7 +10472,7 @@ checksum = "63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -10946,7 +10494,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357e2c97bb51431d65080f25b436bc4e2fc1a7f64a643bc21a8353e478dc799f" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", "petgraph", "rustc-hash 1.1.0", "swc_common", @@ -10960,7 +10508,7 @@ checksum = "f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -10991,7 +10539,7 @@ checksum = "ff9719b6085dd2824fd61938a881937be14b08f95e2d27c64c825a9f65e052ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -11042,9 +10590,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" dependencies = [ "proc-macro2", "quote", @@ -11060,7 +10608,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -11074,26 +10622,23 @@ name = "sync_wrapper" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" -dependencies = [ - "futures-core", -] [[package]] name = "system-configuration" -version = "0.6.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "bitflags 2.6.0", + "bitflags 1.3.2", "core-foundation 0.9.4", "system-configuration-sys", ] [[package]] name = "system-configuration-sys" -version = "0.6.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" dependencies = [ "core-foundation-sys", "libc", @@ -11152,13 +10697,13 @@ dependencies = [ [[package]] name = "tao-macros" -version = "0.1.3" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" +checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 1.0.109", ] [[package]] @@ -11221,7 +10766,7 @@ dependencies = [ "uuid", "walkdir", "windows-sys 0.48.0", - "winreg", + "winreg 0.51.0", "zip", ] @@ -11269,8 +10814,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand", - "rustix", + "fastrand 2.1.0", + "rustix 0.38.34", "windows-sys 0.52.0", ] @@ -11310,7 +10855,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix", + "rustix 0.38.34", "windows-sys 0.48.0", ] @@ -11354,7 +10899,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -11447,9 +10992,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", @@ -11458,7 +11003,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.7", "tokio-macros", "tracing", "windows-sys 0.52.0", @@ -11482,7 +11027,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -11501,16 +11046,16 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.13", + "rustls 0.23.12", "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.16" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -11539,7 +11084,7 @@ dependencies = [ "futures-util", "log", "native-tls", - "rustls 0.23.13", + "rustls 0.23.12", "tokio", "tokio-native-tls", "tungstenite 0.23.0", @@ -11547,9 +11092,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -11578,7 +11123,7 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", @@ -11600,7 +11145,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", @@ -11613,7 +11158,18 @@ version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.4.0", "toml_datetime", "winnow 0.5.40", ] @@ -11624,7 +11180,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime", @@ -11741,7 +11297,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -11958,9 +11514,9 @@ checksum = "bc3882f69607a2ac8cc4de3ee7993d8f68bb06f2974271195065b3bd07f2edea" [[package]] name = "unicode-ident" -version = "1.0.13" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-linebreak" @@ -11979,15 +11535,15 @@ dependencies = [ [[package]] name = "unicode-properties" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" [[package]] name = "unicode-segmentation" -version = "1.12.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-truncate" @@ -12008,9 +11564,9 @@ checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unicode_categories" @@ -12049,10 +11605,10 @@ dependencies = [ "base64 0.22.1", "log", "once_cell", - "rustls 0.23.13", + "rustls 0.23.12", "rustls-pki-types", "url", - "webpki-roots 0.26.5", + "webpki-roots 0.26.3", ] [[package]] @@ -12143,6 +11699,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65dd7eed29412da847b0f78bcec0ac98588165988a8cfe41d4ea1d429f8ccfff" +[[package]] +name = "waker-fn" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" + [[package]] name = "walkdir" version = "2.5.0" @@ -12155,9 +11717,9 @@ dependencies = [ [[package]] name = "walrus" -version = "0.21.2" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "160c3708e3ad718ab4d84bec8de8c3d3450cd2902bd6c3ee3bbf50ad7529c2ad" +checksum = "467611cafbc8a84834b77d2b4bb191fd2f5769752def8340407e924390c6883b" dependencies = [ "anyhow", "gimli 0.26.2", @@ -12208,7 +11770,7 @@ checksum = "59195a1db0e95b920366d949ba5e0d3fc0e70b67c09be15ce5abb790106b0571" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -12251,7 +11813,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "wasm-bindgen-shared", ] @@ -12318,7 +11880,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -12363,7 +11925,7 @@ checksum = "4b8220be1fa9e4c889b30fd207d4906657e7e90b12e0e6b0c8b8d8709f5de021" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -12484,16 +12046,16 @@ dependencies = [ "ahash 0.8.11", "bitflags 2.6.0", "hashbrown 0.14.5", - "indexmap 2.5.0", + "indexmap 2.4.0", "semver 1.0.23", "serde", ] [[package]] name = "wasmparser" -version = "0.216.0" +version = "0.215.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcdee6bea3619d311fb4b299721e89a986c3470f804b6d534340e412589028e3" +checksum = "53fbde0881f24199b81cf49b6ff8f9c145ac8eb1b7fc439adb5c099734f7d90e" dependencies = [ "bitflags 2.6.0", ] @@ -12587,9 +12149,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.5" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" dependencies = [ "rustls-pki-types", ] @@ -12616,7 +12178,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -12645,16 +12207,16 @@ dependencies = [ "either", "home", "once_cell", - "rustix", + "rustix 0.38.34", ] [[package]] name = "whoami" -version = "1.5.2" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" dependencies = [ - "redox_syscall", + "redox_syscall 0.4.1", "wasite", ] @@ -12774,7 +12336,7 @@ checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -12785,7 +12347,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -12796,7 +12358,7 @@ checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -12807,18 +12369,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", -] - -[[package]] -name = "windows-registry" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" -dependencies = [ - "windows-result 0.2.0", - "windows-strings", - "windows-targets 0.52.6", + "syn 2.0.74", ] [[package]] @@ -13100,6 +12651,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "wry" version = "0.43.1" @@ -13177,8 +12738,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys", - "rustix", + "linux-raw-sys 0.4.14", + "rustix 0.38.34", ] [[package]] @@ -13199,9 +12760,9 @@ checksum = "6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984" [[package]] name = "yansi" -version = "1.0.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zbus" @@ -13242,10 +12803,10 @@ version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "zvariant_utils", ] @@ -13278,7 +12839,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] [[package]] @@ -13286,6 +12847,20 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.74", +] [[package]] name = "zip" @@ -13398,10 +12973,10 @@ version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", "zvariant_utils", ] @@ -13413,5 +12988,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.74", ] diff --git a/README.md b/README.md index c330b73998..4331276422 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,8 @@ 日本語 | Türkçe + | + 한국어
diff --git a/examples/README.md b/examples/README.md index 2d65585121..ee765254ab 100644 --- a/examples/README.md +++ b/examples/README.md @@ -98,8 +98,6 @@ cargo run --example hello_world [dog_app](./dog_app.rs) - Accesses dog API -[file_explorer](./file_explorer.rs) - File browser that uses `use_ref` to interact with the model - [todomvc](./todomvc.rs) - Todo task list example # TODO diff --git a/examples/popup.rs b/examples/popup.rs index 131d536edb..2c79e0ba75 100644 --- a/examples/popup.rs +++ b/examples/popup.rs @@ -12,7 +12,7 @@ fn app() -> Element { let mut emails_sent = use_signal(|| Vec::new() as Vec); // Wait for responses to the compose channel, and then push them to the emails_sent signal. - let handle = use_coroutine(|mut rx: UnboundedReceiver| async move { + let handle = use_coroutine(move |mut rx: UnboundedReceiver| async move { use futures_util::StreamExt; while let Some(message) = rx.next().await { emails_sent.write().push(message); diff --git a/examples/spread.rs b/examples/spread.rs index c2867865ad..d5ba817108 100644 --- a/examples/spread.rs +++ b/examples/spread.rs @@ -19,7 +19,8 @@ fn app() -> Element { extra_data: "hello{1}", extra_data2: "hello{2}", height: "10px", - left: 1 + left: 1, + "data-custom-attribute": "value", } } } diff --git a/packages/core-macro/src/props/mod.rs b/packages/core-macro/src/props/mod.rs index 865f86b7ce..f5933aa371 100644 --- a/packages/core-macro/src/props/mod.rs +++ b/packages/core-macro/src/props/mod.rs @@ -1017,21 +1017,21 @@ Finally, call `.build()` to create the instance of `{name}`. impl #impl_generics dioxus_core::prelude::HasAttributes for #builder_name < #( #ty_generics ),* > #where_clause { fn push_attribute( mut self, - name: &'static str, - ns: Option<&'static str>, - attr: impl dioxus_core::prelude::IntoAttributeValue, - volatile: bool + ____name: &'static str, + ____ns: Option<&'static str>, + ____attr: impl dioxus_core::prelude::IntoAttributeValue, + ____volatile: bool ) -> Self { let ( #(#descructuring,)* ) = self.fields; self.#field_name.push( dioxus_core::Attribute::new( - name, + ____name, { use dioxus_core::prelude::IntoAttributeValue; - attr.into_value() + ____attr.into_value() }, - ns, - volatile, + ____ns, + ____volatile, ) ); #builder_name { diff --git a/packages/core/src/global_context.rs b/packages/core/src/global_context.rs index 2fb0f82806..1930f155e1 100644 --- a/packages/core/src/global_context.rs +++ b/packages/core/src/global_context.rs @@ -310,6 +310,9 @@ pub fn schedule_update_any() -> Arc { /// This can be used to clean up side effects from the component /// (created with [`use_effect`](dioxus::prelude::use_effect)). /// +/// Note: +/// Effects do not run on the server, but use_drop **DOES**. It runs any time the component is dropped including during SSR rendering on the server. If your clean up logic targets web, the logic has to be gated by a feature, see the below example for details. +/// /// Example: /// ```rust /// use dioxus::prelude::*; @@ -346,9 +349,12 @@ pub fn schedule_update_any() -> Arc { /// }); /// /// use_drop(move || { -/// /// restore scroll to the top of the page -/// let window = web_sys::window().unwrap(); -/// window.scroll_with_x_and_y(original_scroll_position(), 0.0); +/// // This only make sense to web and hence the `web!` macro +/// web! { +/// /// restore scroll to the top of the page +/// let window = web_sys::window().unwrap(); +/// window.scroll_with_x_and_y(original_scroll_position(), 0.0); +/// } /// }); /// /// rsx! { diff --git a/packages/desktop/build.rs b/packages/desktop/build.rs index b08ad66cf5..c8b5f592ba 100644 --- a/packages/desktop/build.rs +++ b/packages/desktop/build.rs @@ -72,11 +72,6 @@ name = "errors" path = "../../examples/errors.rs" doc-scrape-examples = true -[[example]] -name = "file_explorer" -path = "../../examples/file_explorer.rs" -doc-scrape-examples = true - [[example]] name = "future" path = "../../examples/future.rs" diff --git a/packages/desktop/src/assets.rs b/packages/desktop/src/assets.rs index a02630811f..5086192320 100644 --- a/packages/desktop/src/assets.rs +++ b/packages/desktop/src/assets.rs @@ -1,4 +1,4 @@ -use dioxus_core::prelude::{Runtime, ScopeId}; +use dioxus_core::prelude::Callback; use rustc_hash::FxHashMap; use std::{cell::RefCell, rc::Rc}; use wry::{http::Request, RequestAsyncResponder}; @@ -7,20 +7,17 @@ use wry::{http::Request, RequestAsyncResponder}; pub type AssetRequest = Request>; pub struct AssetHandler { - f: Box, - scope: ScopeId, + f: Callback<(AssetRequest, RequestAsyncResponder)>, } #[derive(Clone)] pub struct AssetHandlerRegistry { - dom_rt: Rc, handlers: Rc>>, } impl AssetHandlerRegistry { - pub fn new(dom_rt: Rc) -> Self { + pub fn new() -> Self { AssetHandlerRegistry { - dom_rt, handlers: Default::default(), } } @@ -37,20 +34,16 @@ impl AssetHandlerRegistry { ) { if let Some(handler) = self.handlers.borrow().get(name) { // And run the handler in the scope of the component that created it - self.dom_rt - .on_scope(handler.scope, || (handler.f)(request, responder)); + handler.f.call((request, responder)); } } pub fn register_handler( &self, name: String, - f: Box, - scope: ScopeId, + f: Callback<(AssetRequest, RequestAsyncResponder)>, ) { - self.handlers - .borrow_mut() - .insert(name, AssetHandler { f, scope }); + self.handlers.borrow_mut().insert(name, AssetHandler { f }); } pub fn remove_handler(&self, name: &str) -> Option { diff --git a/packages/desktop/src/desktop_context.rs b/packages/desktop/src/desktop_context.rs index 415f4b73a1..9480f9e74b 100644 --- a/packages/desktop/src/desktop_context.rs +++ b/packages/desktop/src/desktop_context.rs @@ -9,7 +9,7 @@ use crate::{ AssetRequest, Config, WryEventHandler, }; use dioxus_core::{ - prelude::{current_scope_id, ScopeId}, + prelude::{Callback, ScopeId}, VirtualDom, }; use std::rc::{Rc, Weak}; @@ -236,14 +236,10 @@ impl DesktopService { pub fn register_asset_handler( &self, name: String, - handler: Box, - scope: Option, + handler: impl Fn(AssetRequest, RequestAsyncResponder) + 'static, ) { - self.asset_handlers.register_handler( - name, - handler, - scope.unwrap_or(current_scope_id().unwrap_or(ScopeId(0))), - ) + self.asset_handlers + .register_handler(name, Callback::new(move |(req, resp)| handler(req, resp))) } /// Removes an asset handler by its identifier. diff --git a/packages/desktop/src/hooks.rs b/packages/desktop/src/hooks.rs index 29e3324903..630de96726 100644 --- a/packages/desktop/src/hooks.rs +++ b/packages/desktop/src/hooks.rs @@ -5,7 +5,7 @@ use crate::{ ShortcutHandle, ShortcutRegistryError, WryEventHandler, }; use dioxus_core::{ - prelude::{consume_context, current_scope_id, use_hook_with_cleanup, RuntimeGuard}, + prelude::{consume_context, use_hook_with_cleanup, RuntimeGuard}, use_hook, Runtime, }; @@ -69,11 +69,9 @@ pub fn use_asset_handler( use_hook_with_cleanup( || { - crate::window().asset_handlers.register_handler( - name.to_string(), - Box::new(move |asset, responder| cb((asset, responder))), - current_scope_id().unwrap(), - ); + crate::window() + .asset_handlers + .register_handler(name.to_string(), cb); Rc::new(name.to_string()) }, diff --git a/packages/desktop/src/webview.rs b/packages/desktop/src/webview.rs index d09cae6ced..7be37b6541 100644 --- a/packages/desktop/src/webview.rs +++ b/packages/desktop/src/webview.rs @@ -188,7 +188,7 @@ impl WebviewInstance { let mut web_context = WebContext::new(cfg.data_dir.clone()); let edit_queue = WryQueue::default(); - let asset_handlers = AssetHandlerRegistry::new(dom.runtime()); + let asset_handlers = AssetHandlerRegistry::new(); let edits = WebviewEdits::new(dom.runtime(), edit_queue.clone()); let file_hover = NativeFileHover::default(); let headless = !cfg.window.window.visible; diff --git a/packages/fullstack/src/document/server.rs b/packages/fullstack/src/document/server.rs index 265cb2a510..74cee98c64 100644 --- a/packages/fullstack/src/document/server.rs +++ b/packages/fullstack/src/document/server.rs @@ -91,6 +91,7 @@ impl Document for ServerDocument { http_equiv: props.http_equiv, content: props.content, property: props.property, + ..props.additional_attributes } }); } @@ -98,7 +99,7 @@ impl Document for ServerDocument { fn create_script(&self, props: ScriptProps) { self.warn_if_streaming(); self.serialize_for_hydration(); - let children = props.script_contents(); + let children = props.script_contents().ok(); self.0.borrow_mut().script.push(rsx! { script { src: props.src, @@ -110,11 +111,46 @@ impl Document for ServerDocument { nonce: props.nonce, referrerpolicy: props.referrerpolicy, r#type: props.r#type, + ..props.additional_attributes, {children} } }); } + fn create_style(&self, props: StyleProps) { + self.warn_if_streaming(); + self.serialize_for_hydration(); + match (&props.href, props.style_contents()) { + // The style has inline contents, render it as a style tag + (_, Ok(contents)) => self.0.borrow_mut().script.push(rsx! { + style { + media: props.media, + nonce: props.nonce, + title: props.title, + ..props.additional_attributes, + {contents} + } + }), + // The style has a href, render it as a link tag + (Some(_), _) => { + self.0.borrow_mut().script.push(rsx! { + link { + rel: "stylesheet", + href: props.href, + media: props.media, + nonce: props.nonce, + title: props.title, + ..props.additional_attributes, + } + }); + } + // The style has neither contents nor src, log an error + (None, Err(err)) => { + err.log("Style"); + } + } + } + fn create_link(&self, props: head::LinkProps) { self.warn_if_streaming(); self.serialize_for_hydration(); diff --git a/packages/hooks/src/use_coroutine.rs b/packages/hooks/src/use_coroutine.rs index 278d242011..b0571efb5c 100644 --- a/packages/hooks/src/use_coroutine.rs +++ b/packages/hooks/src/use_coroutine.rs @@ -1,5 +1,5 @@ -use ::warnings::Warning; -use dioxus_core::prelude::{consume_context, provide_context, spawn, use_hook}; +use crate::{use_context_provider, use_future, UseFuture}; +use dioxus_core::prelude::{consume_context, use_hook}; use dioxus_core::Task; use dioxus_signals::*; pub use futures_channel::mpsc::{UnboundedReceiver, UnboundedSender}; @@ -69,35 +69,24 @@ use std::future::Future; /// }; /// ``` #[doc = include_str!("../docs/rules_of_hooks.md")] -pub fn use_coroutine(init: G) -> Coroutine +pub fn use_coroutine(mut init: G) -> Coroutine where M: 'static, - G: FnOnce(UnboundedReceiver) -> F, + G: FnMut(UnboundedReceiver) -> F + 'static, F: Future + 'static, { - let mut coroutine = use_hook(|| { - provide_context(Coroutine { - needs_regen: Signal::new(true), - tx: CopyValue::new(None), - task: CopyValue::new(None), - }) - }); + let mut tx_copy_value = use_hook(|| CopyValue::new(None)); - // We do this here so we can capture data with FnOnce - // this might not be the best API - dioxus_signals::warnings::signal_read_and_write_in_reactive_scope::allow(|| { - dioxus_signals::warnings::signal_write_in_component_body::allow(|| { - if *coroutine.needs_regen.peek() { - let (tx, rx) = futures_channel::mpsc::unbounded(); - let task = spawn(init(rx)); - coroutine.tx.set(Some(tx)); - coroutine.task.set(Some(task)); - coroutine.needs_regen.set(false); - } - }) + let future = use_future(move || { + let (tx, rx) = futures_channel::mpsc::unbounded(); + tx_copy_value.set(Some(tx)); + init(rx) }); - coroutine + use_context_provider(|| Coroutine { + tx: tx_copy_value, + future, + }) } /// Get a handle to a coroutine higher in the tree @@ -111,15 +100,14 @@ pub fn use_coroutine_handle() -> Coroutine { } pub struct Coroutine { - needs_regen: Signal, tx: CopyValue>>, - task: CopyValue>, + future: UseFuture, } impl Coroutine { /// Get the underlying task handle pub fn task(&self) -> Task { - (*self.task.read()).unwrap() + self.future.task() } /// Send a message to the coroutine @@ -132,11 +120,8 @@ impl Coroutine { } /// Restart this coroutine - /// - /// Forces the component to re-render, which will re-invoke the coroutine. pub fn restart(&mut self) { - self.needs_regen.set(true); - self.task().cancel(); + self.future.restart(); } } @@ -151,6 +136,6 @@ impl Clone for Coroutine { impl PartialEq for Coroutine { fn eq(&self, other: &Self) -> bool { - self.needs_regen == other.needs_regen && self.tx == other.tx && self.task == other.task + self.tx == other.tx && self.future == other.future } } diff --git a/packages/hooks/src/use_future.rs b/packages/hooks/src/use_future.rs index d4d41de38a..5bf314b536 100644 --- a/packages/hooks/src/use_future.rs +++ b/packages/hooks/src/use_future.rs @@ -78,7 +78,7 @@ where } } -#[derive(Clone, Copy)] +#[derive(Clone, Copy, PartialEq)] pub struct UseFuture { task: CopyValue, state: Signal, diff --git a/packages/hooks/src/use_memo.rs b/packages/hooks/src/use_memo.rs index 467795a952..8a5b71d38d 100644 --- a/packages/hooks/src/use_memo.rs +++ b/packages/hooks/src/use_memo.rs @@ -1,6 +1,6 @@ use crate::use_callback; use dioxus_core::prelude::*; -use dioxus_signals::{Memo, Signal}; +use dioxus_signals::Memo; #[doc = include_str!("../docs/derived_state.md")] #[doc = include_str!("../docs/rules_of_hooks.md")] @@ -8,6 +8,7 @@ use dioxus_signals::{Memo, Signal}; #[track_caller] pub fn use_memo(mut f: impl FnMut() -> R + 'static) -> Memo { let callback = use_callback(move |_| f()); + let caller = std::panic::Location::caller(); #[allow(clippy::redundant_closure)] - use_hook(|| Signal::memo(move || callback(()))) + use_hook(|| Memo::new_with_location(move || callback(()), caller)) } diff --git a/packages/html/src/document/head.rs b/packages/html/src/document/head.rs index 4bd923b24c..c4b29c17f7 100644 --- a/packages/html/src/document/head.rs +++ b/packages/html/src/document/head.rs @@ -2,6 +2,7 @@ use std::{cell::RefCell, collections::HashSet, rc::Rc}; +use crate as dioxus_elements; use dioxus_core::{prelude::*, DynamicNode}; use dioxus_core_macro::*; @@ -19,12 +20,42 @@ fn use_update_warning(value: &T, name: &'static } } -fn extract_single_text_node(children: &Element, component: &str) -> Option { +/// An error that can occur when extracting a single text node from a component +pub enum ExtractSingleTextNodeError<'a> { + /// The node contained an render error, so we can't extract the text node + RenderError(&'a RenderError), + /// There was only one child, but it wasn't a text node + NonTextNode, + /// There is multiple child nodes + NonTemplate, +} + +impl ExtractSingleTextNodeError<'_> { + /// Log a warning depending on the error + pub fn log(&self, component: &str) { + match self { + ExtractSingleTextNodeError::RenderError(err) => { + tracing::error!("Error while rendering {component}: {err}"); + } + ExtractSingleTextNodeError::NonTextNode => { + tracing::error!( + "Error while rendering {component}: The children of {component} must be a single text node" + ); + } + ExtractSingleTextNodeError::NonTemplate => { + tracing::error!( + "Error while rendering {component}: The children of {component} must be a single text node" + ); + } + } + } +} + +fn extract_single_text_node(children: &Element) -> Result> { let vnode = match children { Element::Ok(vnode) => vnode, Element::Err(err) => { - tracing::error!("Error while rendering {component}: {err}"); - return None; + return Err(ExtractSingleTextNodeError::RenderError(err)); } }; // The title's children must be in one of two forms: @@ -37,7 +68,7 @@ fn extract_single_text_node(children: &Element, component: &str) -> Option Some(text.to_string()), + } => Ok(text.to_string()), // rsx! { "title: {dynamic_text}" } Template { roots: &[TemplateNode::Dynamic { id }], @@ -47,19 +78,11 @@ fn extract_single_text_node(children: &Element, component: &str) -> Option { let node = &vnode.dynamic_nodes[id]; match node { - DynamicNode::Text(text) => Some(text.value.clone()), - _ => { - tracing::error!("Error while rendering {component}: The children of {component} must be a single text node. It cannot be a component, if statement, loop, or a fragment"); - None - } + DynamicNode::Text(text) => Ok(text.value.clone()), + _ => Err(ExtractSingleTextNodeError::NonTextNode), } } - _ => { - tracing::error!( - "Error while rendering title: The children of title must be a single text node" - ); - None - } + _ => Err(ExtractSingleTextNodeError::NonTemplate), } } @@ -90,8 +113,12 @@ pub struct TitleProps { #[component] pub fn Title(props: TitleProps) -> Element { let children = props.children; - let Some(text) = extract_single_text_node(&children, "Title") else { - return VNode::empty(); + let text = match extract_single_text_node(&children) { + Ok(text) => text, + Err(err) => { + err.log("Title"); + return VNode::empty(); + } }; // Update the title as it changes. NOTE: We don't use use_effect here because we need this to run on the server @@ -112,6 +139,7 @@ pub fn Title(props: TitleProps) -> Element { VNode::empty() } +#[non_exhaustive] /// Props for the [`Meta`] component #[derive(Clone, Props, PartialEq)] pub struct MetaProps { @@ -120,6 +148,8 @@ pub struct MetaProps { pub charset: Option, pub http_equiv: Option, pub content: Option, + #[props(extends = meta, extends = GlobalAttributes)] + pub additional_attributes: Vec, } impl MetaProps { @@ -179,6 +209,7 @@ pub fn Meta(props: MetaProps) -> Element { VNode::empty() } +#[non_exhaustive] #[derive(Clone, Props, PartialEq)] pub struct ScriptProps { /// The contents of the script tag. If present, the children must be a single text node. @@ -193,6 +224,8 @@ pub struct ScriptProps { pub nonce: Option, pub referrerpolicy: Option, pub r#type: Option, + #[props(extends = script, extends = GlobalAttributes)] + pub additional_attributes: Vec, } impl ScriptProps { @@ -228,8 +261,8 @@ impl ScriptProps { attributes } - pub fn script_contents(&self) -> Option { - extract_single_text_node(&self.children, "Script") + pub fn script_contents(&self) -> Result> { + extract_single_text_node(&self.children) } } @@ -277,6 +310,7 @@ pub fn Script(props: ScriptProps) -> Element { VNode::empty() } +#[non_exhaustive] #[derive(Clone, Props, PartialEq)] pub struct StyleProps { /// Styles are deduplicated by their href attribute @@ -286,6 +320,8 @@ pub struct StyleProps { pub title: Option, /// The contents of the style tag. If present, the children must be a single text node. pub children: Element, + #[props(extends = style, extends = GlobalAttributes)] + pub additional_attributes: Vec, } impl StyleProps { @@ -306,8 +342,8 @@ impl StyleProps { attributes } - pub fn style_contents(&self) -> Option { - extract_single_text_node(&self.children, "Title") + pub fn style_contents(&self) -> Result> { + extract_single_text_node(&self.children) } } @@ -357,6 +393,7 @@ pub fn Style(props: StyleProps) -> Element { use super::*; +#[non_exhaustive] #[derive(Clone, Props, PartialEq)] pub struct LinkProps { pub rel: Option, @@ -374,6 +411,8 @@ pub struct LinkProps { pub integrity: Option, pub r#type: Option, pub blocking: Option, + #[props(extends = link, extends = GlobalAttributes)] + pub additional_attributes: Vec, } impl LinkProps { diff --git a/packages/html/src/document/mod.rs b/packages/html/src/document/mod.rs index 27c05c5509..7059c1ffe9 100644 --- a/packages/html/src/document/mod.rs +++ b/packages/html/src/document/mod.rs @@ -61,14 +61,37 @@ pub trait Document { /// Create a new script tag fn create_script(&self, props: ScriptProps) { let attributes = props.attributes(); - let js = create_element_in_head("script", &attributes, props.script_contents()); + let js = match (&props.src, props.script_contents()) { + // The script has inline contents, render it as a script tag + (_, Ok(contents)) => create_element_in_head("script", &attributes, Some(contents)), + // The script has a src, render it as a script tag without a body + (Some(_), _) => create_element_in_head("script", &attributes, None), + // The script has neither contents nor src, log an error + (None, Err(err)) => { + err.log("Script"); + return; + } + }; self.new_evaluator(js); } /// Create a new style tag fn create_style(&self, props: StyleProps) { - let attributes = props.attributes(); - let js = create_element_in_head("style", &attributes, props.style_contents()); + let mut attributes = props.attributes(); + let js = match (&props.href, props.style_contents()) { + // The style has inline contents, render it as a style tag + (_, Ok(contents)) => create_element_in_head("style", &attributes, Some(contents)), + // The style has a src, render it as a link tag + (Some(_), _) => { + attributes.push(("type", "text/css".into())); + create_element_in_head("link", &attributes, None) + } + // The style has neither contents nor src, log an error + (None, Err(err)) => { + err.log("Style"); + return; + } + }; self.new_evaluator(js); } diff --git a/packages/router-macro/src/lib.rs b/packages/router-macro/src/lib.rs index 5d7bd03e65..b852ba730a 100644 --- a/packages/router-macro/src/lib.rs +++ b/packages/router-macro/src/lib.rs @@ -587,7 +587,7 @@ impl RouteEnum { impl<'a> core::convert::TryFrom<&'a str> for #name { type Error = ::Err; - fn try_from(s: &'a str) -> Result { + fn try_from(s: &'a str) -> ::std::result::Result { s.parse() } } @@ -595,7 +595,7 @@ impl RouteEnum { impl std::str::FromStr for #name { type Err = dioxus_router::routable::RouteParseError<#error_name>; - fn from_str(s: &str) -> Result { + fn from_str(s: &str) -> ::std::result::Result { let route = s; let (route, hash) = route.split_once('#').unwrap_or((route, "")); let (route, query) = route.split_once('?').unwrap_or((route, "")); diff --git a/packages/rsx/src/component.rs b/packages/rsx/src/component.rs index f3ddac785d..383cab5b99 100644 --- a/packages/rsx/src/component.rs +++ b/packages/rsx/src/component.rs @@ -24,7 +24,7 @@ use std::{collections::HashSet, vec}; use syn::{ parse::{Parse, ParseStream}, spanned::Spanned, - token, AngleBracketedGenericArguments, Expr, PathArguments, Result, + token, AngleBracketedGenericArguments, Expr, Ident, PathArguments, Result, }; #[derive(PartialEq, Eq, Clone, Debug)] @@ -179,29 +179,25 @@ impl Component { /// Ensure there's no duplicate props - this will be a compile error but we can move it to a /// diagnostic, thankfully - /// - /// Also ensure there's no stringly typed props fn validate_fields(&mut self) { let mut seen = HashSet::new(); for field in self.fields.iter() { match &field.name { - AttributeName::Custom(name) => self.diagnostics.push( - name.span() - .error("Custom attributes are not supported for Components. Only known attributes are allowed."), - ), + AttributeName::Custom(_) => {} AttributeName::BuiltIn(k) => { if !seen.contains(k) { seen.insert(k); } else { - self.diagnostics.push( - k.span() - .error("Duplicate prop field found. Only one prop field per name is allowed."), - ); + self.diagnostics.push(k.span().error( + "Duplicate prop field found. Only one prop field per name is allowed.", + )); } - }, + } AttributeName::Spread(_) => { - unreachable!("Spread attributes should be handled in the spread validation step.") + unreachable!( + "Spread attributes should be handled in the spread validation step." + ) } } } @@ -222,13 +218,9 @@ impl Component { quote! { fc_to_builder(#name #generics) } }; - for (name, value) in self.make_field_idents() { - if manual_props.is_some() { - tokens.append_all(quote! { __manual_props.#name = #value; }) - } else { - tokens.append_all(quote! { .#name(#value) }) - } - } + tokens.append_all(self.add_fields_to_builder( + manual_props.map(|_| Ident::new("__manual_props", proc_macro2::Span::call_site())), + )); if !self.children.is_empty() { let children = &self.children; @@ -259,11 +251,11 @@ impl Component { .filter(move |attr| !attr.name.is_likely_key()) } - fn make_field_idents(&self) -> Vec<(TokenStream2, TokenStream2)> { + fn add_fields_to_builder(&self, manual_props: Option) -> TokenStream2 { let mut dynamic_literal_index = 0; - self.component_props() - .map(|attribute| { - let release_value = attribute.value.to_token_stream(); + let mut tokens = TokenStream2::new(); + for attribute in self.component_props() { + let release_value = attribute.value.to_token_stream(); // In debug mode, we try to grab the value from the dynamic literal pool if possible let value = if let AttributeValue::AttrLiteral(literal) = &attribute.value { @@ -286,9 +278,29 @@ impl Component { release_value }; - (attribute.name.to_token_stream(), value) - }) - .collect() + match &attribute.name { + AttributeName::BuiltIn(name) => { + if let Some(manual_props) = &manual_props { + tokens.append_all(quote! { #manual_props.#name = #value; }) + } else { + tokens.append_all(quote! { .#name(#value) }) + } + } + AttributeName::Custom(name) => { + if manual_props.is_some() { + tokens.append_all(name.span().error( + "Custom attributes are not supported for components that are spread", + ).emit_as_expr_tokens()); + } else { + tokens.append_all(quote! { .push_attribute(#name, None, #value, false) }) + } + } + // spreads are handled elsewhere + AttributeName::Spread(_) => {} + } + } + + tokens } fn empty(name: syn::Path, generics: Option) -> Self { diff --git a/packages/signals/src/memo.rs b/packages/signals/src/memo.rs index 2e9bbe7938..3b1bdab70c 100644 --- a/packages/signals/src/memo.rs +++ b/packages/signals/src/memo.rs @@ -139,10 +139,11 @@ impl Memo { drop(peak); let mut copy = self.inner; copy.set(new_value); - update_write - .dirty - .store(false, std::sync::atomic::Ordering::Relaxed); } + // Always mark the memo as no longer dirty even if the value didn't change + update_write + .dirty + .store(false, std::sync::atomic::Ordering::Relaxed); } /// Get the scope that the signal was created in. diff --git a/packages/signals/src/signal.rs b/packages/signals/src/signal.rs index 65f6cd85b1..64fa34ac7e 100644 --- a/packages/signals/src/signal.rs +++ b/packages/signals/src/signal.rs @@ -557,6 +557,7 @@ struct SignalSubscriberDrop>> { #[allow(clippy::no_effect)] impl>> Drop for SignalSubscriberDrop { fn drop(&mut self) { + println!("dropping signal subscriber"); #[cfg(debug_assertions)] { tracing::trace!( diff --git a/packages/signals/tests/memo.rs b/packages/signals/tests/memo.rs index 2b4ea2cab5..0aa065d227 100644 --- a/packages/signals/tests/memo.rs +++ b/packages/signals/tests/memo.rs @@ -1,148 +1,178 @@ -// TODO: fix #1935 - -// #![allow(unused, non_upper_case_globals, non_snake_case)] -// use dioxus_core::NoOpMutations; -// use std::collections::HashMap; -// use std::rc::Rc; - -// use dioxus::html::p; -// use dioxus::prelude::*; -// use dioxus_core::ElementId; -// use dioxus_signals::*; -// use std::cell::RefCell; - -// #[test] -// fn memos_rerun() { -// let _ = simple_logger::SimpleLogger::new().init(); - -// #[derive(Default)] -// struct RunCounter { -// component: usize, -// effect: usize, -// } - -// let counter = Rc::new(RefCell::new(RunCounter::default())); -// let mut dom = VirtualDom::new_with_props( -// |counter: Rc>| { -// counter.borrow_mut().component += 1; - -// let mut signal = use_signal(|| 0); -// let memo = use_memo({ -// to_owned![counter]; -// move || { -// counter.borrow_mut().effect += 1; -// println!("Signal: {:?}", signal); -// signal() -// } -// }); -// assert_eq!(memo(), 0); -// signal += 1; -// assert_eq!(memo(), 1); - -// rsx! { -// div {} -// } -// }, -// counter.clone(), -// ); - -// dom.rebuild_in_place(); - -// let current_counter = counter.borrow(); -// assert_eq!(current_counter.component, 1); -// assert_eq!(current_counter.effect, 2); -// } - -// #[test] -// fn memos_prevents_component_rerun() { -// let _ = simple_logger::SimpleLogger::new().init(); - -// #[derive(Default)] -// struct RunCounter { -// component: usize, -// memo: usize, -// } - -// let counter = Rc::new(RefCell::new(RunCounter::default())); -// let mut dom = VirtualDom::new_with_props( -// |props: Rc>| { -// let mut signal = use_signal(|| 0); - -// if generation() == 1 { -// *signal.write() = 0; -// } -// if generation() == 2 { -// println!("Writing to signal"); -// *signal.write() = 1; -// } - -// rsx! { -// Child { -// signal: signal, -// counter: props.clone(), -// } -// } -// }, -// counter.clone(), -// ); - -// #[derive(Default, Props, Clone)] -// struct ChildProps { -// signal: Signal, -// counter: Rc>, -// } - -// impl PartialEq for ChildProps { -// fn eq(&self, other: &Self) -> bool { -// self.signal == other.signal -// } -// } - -// fn Child(props: ChildProps) -> Element { -// let counter = &props.counter; -// let signal = props.signal; -// counter.borrow_mut().component += 1; - -// let memo = use_memo({ -// to_owned![counter]; -// move || { -// counter.borrow_mut().memo += 1; -// println!("Signal: {:?}", signal); -// signal() -// } -// }); -// match generation() { -// 0 => { -// assert_eq!(memo(), 0); -// } -// 1 => { -// assert_eq!(memo(), 1); -// } -// _ => panic!("Unexpected generation"), -// } - -// rsx! { -// div {} -// } -// } - -// dom.rebuild_in_place(); -// dom.mark_dirty(ScopeId::ROOT); -// dom.render_immediate(&mut NoOpMutations); - -// { -// let current_counter = counter.borrow(); -// assert_eq!(current_counter.component, 1); -// assert_eq!(current_counter.memo, 2); -// } - -// dom.mark_dirty(ScopeId::ROOT); -// dom.render_immediate(&mut NoOpMutations); -// dom.render_immediate(&mut NoOpMutations); - -// { -// let current_counter = counter.borrow(); -// assert_eq!(current_counter.component, 2); -// assert_eq!(current_counter.memo, 3); -// } -// } +#![allow(unused, non_upper_case_globals, non_snake_case)] +use dioxus::html::p; +use dioxus::prelude::*; +use dioxus_core::ElementId; +use dioxus_core::NoOpMutations; +use dioxus_signals::*; +use std::cell::RefCell; +use std::collections::HashMap; +use std::rc::Rc; +use std::sync::atomic::{AtomicBool, Ordering}; + +#[test] +fn memos_rerun() { + let _ = simple_logger::SimpleLogger::new().init(); + + #[derive(Default)] + struct RunCounter { + component: usize, + effect: usize, + } + + let counter = Rc::new(RefCell::new(RunCounter::default())); + let mut dom = VirtualDom::new_with_props( + |counter: Rc>| { + counter.borrow_mut().component += 1; + + let mut signal = use_signal(|| 0); + let memo = use_memo({ + to_owned![counter]; + move || { + counter.borrow_mut().effect += 1; + println!("Signal: {:?}", signal); + signal() + } + }); + assert_eq!(memo(), 0); + signal += 1; + assert_eq!(memo(), 1); + + rsx! { + div {} + } + }, + counter.clone(), + ); + + dom.rebuild_in_place(); + + let current_counter = counter.borrow(); + assert_eq!(current_counter.component, 1); + assert_eq!(current_counter.effect, 2); +} + +#[test] +fn memos_prevents_component_rerun() { + let _ = simple_logger::SimpleLogger::new().init(); + + #[derive(Default)] + struct RunCounter { + component: usize, + memo: usize, + } + + let counter = Rc::new(RefCell::new(RunCounter::default())); + let mut dom = VirtualDom::new_with_props( + |props: Rc>| { + let mut signal = use_signal(|| 0); + + if generation() == 1 { + *signal.write() = 0; + } + if generation() == 2 { + println!("Writing to signal"); + *signal.write() = 1; + } + + rsx! { + Child { + signal: signal, + counter: props.clone(), + } + } + }, + counter.clone(), + ); + + #[derive(Default, Props, Clone)] + struct ChildProps { + signal: Signal, + counter: Rc>, + } + + impl PartialEq for ChildProps { + fn eq(&self, other: &Self) -> bool { + self.signal == other.signal + } + } + + fn Child(props: ChildProps) -> Element { + let counter = &props.counter; + let signal = props.signal; + counter.borrow_mut().component += 1; + + let memo = use_memo({ + to_owned![counter]; + move || { + counter.borrow_mut().memo += 1; + println!("Signal: {:?}", signal); + signal() + } + }); + match generation() { + 0 => { + assert_eq!(memo(), 0); + } + 1 => { + assert_eq!(memo(), 1); + } + _ => panic!("Unexpected generation"), + } + + rsx! { + div {} + } + } + + dom.rebuild_in_place(); + dom.mark_dirty(ScopeId::APP); + dom.render_immediate(&mut NoOpMutations); + + { + let current_counter = counter.borrow(); + assert_eq!(current_counter.component, 1); + assert_eq!(current_counter.memo, 2); + } + + dom.mark_dirty(ScopeId::APP); + dom.render_immediate(&mut NoOpMutations); + dom.render_immediate(&mut NoOpMutations); + + { + let current_counter = counter.borrow(); + assert_eq!(current_counter.component, 2); + assert_eq!(current_counter.memo, 3); + } +} + +// Regression test for https://github.com/DioxusLabs/dioxus/issues/2990 +#[test] +fn memos_sync_rerun_after_unrelated_write() { + static PASSED: AtomicBool = AtomicBool::new(false); + let mut dom = VirtualDom::new(|| { + let mut signal = use_signal(|| 0); + let memo = use_memo(move || dbg!(signal() < 2)); + if generation() == 0 { + assert!(memo()); + signal += 1; + } else { + // It should be fine to hold the write and read the memo at the same time + let mut write = signal.write(); + println!("Memo: {:?}", memo()); + assert!(memo()); + *write = 2; + drop(write); + assert!(!memo()); + PASSED.store(true, std::sync::atomic::Ordering::SeqCst); + } + + rsx! { + div {} + } + }); + + dom.rebuild_in_place(); + dom.mark_dirty(ScopeId::APP); + dom.render_immediate(&mut NoOpMutations); + assert!(PASSED.load(Ordering::SeqCst)); +} diff --git a/packages/ssr/tests/spread.rs b/packages/ssr/tests/spread.rs new file mode 100644 index 0000000000..36be71751a --- /dev/null +++ b/packages/ssr/tests/spread.rs @@ -0,0 +1,43 @@ +use dioxus::prelude::*; + +#[test] +fn spread() { + let dom = VirtualDom::prebuilt(app); + let html = dioxus_ssr::render(&dom); + + assert_eq!( + html, + r#""# + ); +} + +fn app() -> Element { + rsx! { + SpreadableComponent { + width: "10px", + extra_data: "hello{1}", + extra_data2: "hello{2}", + height: "10px", + left: 1, + "data-custom-attribute": "value", + } + } +} + +#[derive(Props, PartialEq, Clone)] +struct Props { + #[props(extends = GlobalAttributes)] + attributes: Vec, + + extra_data: String, + + extra_data2: String, +} + +#[component] +fn SpreadableComponent(props: Props) -> Element { + rsx! { + audio { ..props.attributes, "1: {props.extra_data}\n2: {props.extra_data2}" } + } +} diff --git a/packages/web/src/cfg.rs b/packages/web/src/cfg.rs index ab62932fb2..ddc5894146 100644 --- a/packages/web/src/cfg.rs +++ b/packages/web/src/cfg.rs @@ -1,3 +1,5 @@ +use wasm_bindgen::JsCast as _; + /// Configuration for the WebSys renderer for the Dioxus VirtualDOM. /// /// This struct helps configure the specifics of hydration and render destination for WebSys. @@ -15,7 +17,7 @@ pub struct Config { pub(crate) enum ConfigRoot { RootName(String), - RootElement(web_sys::Element), + RootNode(web_sys::Node), } impl Config { @@ -52,7 +54,15 @@ impl Config { /// /// This is akin to calling React.render() on the given element. pub fn rootelement(mut self, elem: web_sys::Element) -> Self { - self.root = ConfigRoot::RootElement(elem); + self.root = ConfigRoot::RootNode(elem.unchecked_into()); + self + } + + /// Set the node that Dioxus will use as root. + /// + /// This is akin to calling React.render() on the given element. + pub fn rootnode(mut self, node: web_sys::Node) -> Self { + self.root = ConfigRoot::RootNode(node); self } diff --git a/packages/web/src/dom.rs b/packages/web/src/dom.rs index a0b5e4afe1..3cc3568d2d 100644 --- a/packages/web/src/dom.rs +++ b/packages/web/src/dom.rs @@ -13,13 +13,13 @@ use dioxus_core::{ElementId, Template}; use dioxus_interpreter_js::unified_bindings::Interpreter; use rustc_hash::FxHashMap; use wasm_bindgen::{closure::Closure, JsCast}; -use web_sys::{Document, Element, Event, Node}; +use web_sys::{Document, Event, Node}; use crate::{load_document, virtual_event_from_websys_event, Config, WebEventConverter}; pub struct WebsysDom { #[allow(dead_code)] - pub(crate) root: Element, + pub(crate) root: Node, pub(crate) document: Document, pub(crate) templates: FxHashMap, pub(crate) interpreter: Interpreter, @@ -67,9 +67,9 @@ impl WebsysDom { document.create_element("body").ok().unwrap() } }; - (document, root) + (document, root.unchecked_into()) } - crate::cfg::ConfigRoot::RootElement(root) => { + crate::cfg::ConfigRoot::RootNode(root) => { let document = match root.owner_document() { Some(document) => document, None => load_document(), diff --git a/packages/web/src/hydration/hydrate.rs b/packages/web/src/hydration/hydrate.rs index a362eddef5..713c864f70 100644 --- a/packages/web/src/hydration/hydrate.rs +++ b/packages/web/src/hydration/hydrate.rs @@ -218,7 +218,7 @@ impl WebsysDom { // Rehydrate the root scope that was rendered on the server. We will likely run into suspense boundaries. // Any suspense boundaries we run into are stored for hydration later. - self.start_hydration_at_scope(vdom.base_scope(), vdom, vec![self.root.clone().into()])?; + self.start_hydration_at_scope(vdom.base_scope(), vdom, vec![self.root.clone()])?; Ok(rx) } diff --git a/translations/ko-kr/README.md b/translations/ko-kr/README.md new file mode 100644 index 0000000000..3273e0afe8 --- /dev/null +++ b/translations/ko-kr/README.md @@ -0,0 +1,393 @@ +

+

+ + + + + +

+

+
+ + + Crates.io version + + + + Download + + + + docs.rs docs + + + + CI status + + + + + Awesome Page + + + + Discord Link + +
+ + +
+
+ +웹, 데스크톱, 모바일 등 다양한 플랫폼을 단일 코드베이스로 구축하세요. 제로 설정 환경, 통합 핫 리로딩, 시그널 기반 상태 관리. 서버 함수로 백엔드 기능을 추가하고 CLI를 사용하여 번들링하세요. + +```rust +fn app() -> Element { + let mut count = use_signal(|| 0); + + rsx! { + h1 { "High-Five counter: {count}" } + button { onclick: move |_| count += 1, "Up high!" } + button { onclick: move |_| count -= 1, "Down low!" } + } +} +``` + +## ⭐️ 고유 기능: + +- 세 줄의 코드로 크로스 플랫폼 앱 개발 (웹, 데스크톱, 모바일, 서버 등) +- [인체공학적 상태 관리](https://dioxuslabs.com/blog/release-050)은 React, Solid, Svelte의 장점을 결합했습니다 +- 극도로 높은 성능을 자랑하며 Rust의 가장 빠른 wasm 프레임워크 [sledgehammer](https://dioxuslabs.com/blog/templates-diffing)에 의해 구동됩니다 +- 웹, macOS, Linux, Windows에 배포할 수 있는 통합 번들러 +- 그 외에도 많은 기능! [Dioxus 투어를 살펴보세요](https://dioxuslabs.com/learn/0.5/). + +## 핫 리로딩 + +한 개의 명령어, `dx serve`로 앱을 실행하세요. 마크업과 스타일을 수정하면 실시간으로 결과를 확인할 수 있습니다. Rust 코드 핫 리로딩은 아직 1차 지원은 아니지만 [hot-lib-reloader](https://docs.rs/hot-lib-reloader/latest/hot_lib_reloader/)를 통해 가능합니다. + +
+ +
+ +## 웹 및 데스크톱 배포를 위한 번들러 + +단순히 `dx bundle`을 실행하면 앱이 빌드되고 최적화된 번들로 패키징됩니다. 웹에서는 [`.avif` 생성, `.wasm` 압축, 최소화](https://dioxuslabs.com/learn/0.5/reference/assets) 등을 활용할 수 있습니다. [50kb 미만](https://github.com/ealmloff/tiny-dioxus/)의 웹앱과 15mb 미만의 데스크톱/모바일 앱을 빌드하세요. + +
+ +
+ +## 환상적인 문서 + +깨끗하고 읽기 쉽고 포괄적인 문서를 구축하는 데 많은 노력을 기울였습니다. 모든 HTML 요소와 리스너는 MDN 문서로 문서화되었으며, 저희 문서 사이트는 Dioxus 자체와 지속적인 통합을 실행하여 문서가 항상 최신 상태로 유지되도록 합니다. 가이드, 참조, 레시피 등을 보려면 [Dioxus 웹사이트](https://dioxuslabs.com/learn/0.5/)를 확인하세요. 재미있는 사실: 저희는 Dioxus 웹사이트를 새로운 Dioxus 기능의 테스트베드로 사용합니다 - [확인해보세요!](https://github.com/dioxusLabs/docsite) + +
+ +
+ +## 개발자 경험에 중점 + +Dioxus는 개발자 경험을 우선시하며, end-to-end 도구 개발에 많은 노력을 기울였습니다. RSX 코드를 자동으로 포맷하고 HTML을 RSX로 변환하는 등 다양한 기능을 제공하는 [VSCode 확장 프로그램](https://marketplace.visualstudio.com/items?itemName=DioxusLabs.dioxus)을 제작했습니다. 또한 새로운 앱 생성, 서비스 실행, 크로스 플랫폼 번들링을 지원하는 매우 강력한 [CLI](https://dioxuslabs.com/learn/0.5/CLI)를 개발했으며, 배포는 향후 로드맵에 포함되어 있습니다. + +
+ +
+ +## 커뮤니티 + +Dioxus는 커뮤니티 중심의 프로젝트로, 매우 활발한 [Discord](https://discord.gg/XgGxMSkvUM) 및 [GitHub](https://github.com/DioxusLabs/dioxus/issues) 커뮤니티를 보유하고 있습니다. 우리는 항상 도움을 구하고 있으며, 질문에 답변하고 시작하는 데 도움을 드릴 준비가 되어 있습니다. [우리의 SDK](https://github.com/DioxusLabs/dioxus-std)는 커뮤니티에서 운영되며, 무료 업그레이드와 지원을 받는 최고의 Dioxus 크레이트를 위한 [GitHub 조직](https://github.com/dioxus-community/)도 운영하고 있습니다. + +
+ +
+ +## 풀타임 코어 팀 + +Dioxus는 사이드 프로젝트에서 소수의 전임 엔지니어 팀으로 성장했습니다. FutureWei, Satellite.im, GitHub Accelerator 프로그램의 후원 덕분에 Dioxus를 풀타임으로 개발할 수 있게 되었습니다. 저희의 장기 목표는 유료 고품질 엔터프라이즈 도구를 제공하여 Dioxus가 자립할 수 있도록 하는 것입니다. 귀사가 Dioxus 도입에 관심이 있고 저희와 함께 일하고 싶다면, 연락해 주세요! + +## 지원 플랫폼 + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ Tier 1 지원 +
+
    +
  • WebAssembly을 사용하여 DOM에 직접 렌더링
  • +
  • SSR로 사전 렌더링하고 클라이언트에서 리하이드레이션
  • +
  • React와 유사한 약 50kb 크기의 간단한 "Hello World"
  • +
  • 내장된 개발 서버와 핫 리로딩으로 빠른 반복
  • +
+
+ 풀스택 +
+ Tier 1 지원 +
+
    +
  • 서스펜스, 리하이드레이션, 서버 사이드 렌더링
  • +
  • 서버 함수로 백엔드 기능을 빠르게 추가
  • +
  • 추출기, 미들웨어, 라우팅 통합
  • +
  • 데스크톱 및 모바일과 호환 가능!
  • +
+
+ 데스크톱 +
+ Tier 1 지원 +
+
    +
  • Webview를 사용하여 렌더링하거나 실험적으로 WGPU 또는 Freya (skia)와 함께 렌더링
  • +
  • 제로 설정. 간단히 `cargo run` 또는 `dx serve`로 앱을 빌드
  • +
  • IPC 없이 네이티브 시스템 접근에 대한 완전한 지원
  • +
  • macOS, Linux, Windows를 지원합니다. 3MB 미만의 포터블 바이너리
  • +
+
+ Liveview +
+ Tier 1 지원 +
+
    +
  • 앱 전체 또는 단일 컴포넌트만을 서버에서 완전히 렌더링
  • +
  • Axum, Warp와 같은 인기 있는 Rust 프레임워크와의 통합
  • +
  • 극도로 낮은 지연 시간과 10,000개 이상의 동시 앱 지원 가능
  • +
+
+ 모바일 +
+ Tier 2 지원 +
+
    +
  • Webview를 사용하여 렌더링하거나 실험적으로 WGPU 또는 Skia와 함께 렌더링
  • +
  • iOS 및 Android 지원
  • +
  • 현재는 꽤 실험적이며, 2024년 내내 많은 개선 예정
  • +
+
+ 터미널 +
+ Tier 2 지원 +
+
    +
  • ink.js와 유사하게 앱을 터미널에 직접 렌더링
  • +
  • 익숙한 브라우저의 flexbox 및 CSS 모델로 구동
  • +
  • 텍스트 입력, 버튼, 포커스 시스템과 같은 내장 위젯
  • +
+
+
+ +## 예제 실행하기 + +> 이 저장소의 메인 브랜치에 있는 예제들은 dioxus의 git 버전과 CLI를 대상으로 합니다. 최신 안정 버전의 dioxus와 호환되는 예제를 찾고 있다면 [0.5 브랜치](https://github.com/DioxusLabs/dioxus/tree/v0.5/examples)를 확인하세요. + +이 저장소 최상위에 있는 예제들은 다음과 같이 실행할 수 있습니다: + +```sh +cargo run --example +``` + +그러나 dioxus-cli 다운로드를 권장합니다. git 버전의 dioxus를 사용 중인 경우, 다음 명령어로 CLI의 일치하는 버전을 설치할 수 있습니다: + +```sh +cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli --locked +``` + +CLI를 사용하면 웹 플랫폼에서 예제를 실행할 수도 있습니다. 이 명령어로 기본 데스크톱 기능을 비활성화하고 웹 기능을 활성화하면 됩니다: + +```sh +dx serve --example --platform web -- --no-default-features +``` + +## Dioxus vs 다른 프레임워크 + +우리는 모든 프레임워크를 사랑하며 Rust 생태계의 혁신을 지켜보는 것을 즐깁니다. 실제로, 많은 프로젝트가 다른 프레임워크와 공유되고 있습니다. 예를 들어, 우리의 flex-box 라이브러리 [Taffy](https://github.com/DioxusLabs/taffy)는 [Bevy](https://bevyengine.org/), [Zed](https://zed.dev/), [Lapce](https://lapce.dev/), [Iced](https://github.com/iced-rs/iced) 등에서 사용되고 있습니다. + +Dioxus는 다른 프레임워크와 차별화되는 몇 가지 핵심 사항에 중점을 둡니다: + +- **React처럼**: 우리는 컴포넌트, props, 훅과 같은 개념을 사용하여 UI를 구축하며, 상태 관리는 SolidJS보다 Svelte에 더 가깝습니다. +- **HTML과 CSS**: 우리는 HTML과 CSS를 완전히 활용하며, 특이점도 모두 수용합니다. +- **독립적 렌더러**: [우리의 빠른 VirtualDOM](https://dioxuslabs.com/blog/templates-diffing) 덕분에 원하는 플랫폼의 렌더러로 교체할 수 있습니다. +- **협업적**: 가능한 한 [Taffy](https://github.com/DioxusLabs/taffy), [magnanis](https://github.com/DioxusLabs/manganis), [include_mdbook](https://github.com/DioxusLabs/include_mdbook), [blitz](http://github.com/dioxusLabs/blitz)와 같은 크레이트를 분리하여 생태계가 함께 성장할 수 있도록 합니다. + +### Dioxus vs Tauri + +Tauri는 프론트엔드가 React, Vue, Svelte 등의 웹 기반 프레임워크로 작성된 데스크톱(모바일 지원 예정) 앱을 구축하기 위한 프레임워크입니다. 네이티브 작업이 필요할 때마다 Rust 함수를 작성하여 프론트엔드에서 호출할 수 있습니다. + +- **네이티브 Rust**: Tauri의 아키텍처는 UI를 JavaScript 또는 WebAssembly로 제한합니다. 반면 Dioxus에서는 Rust 코드가 사용자의 머신에서 네이티브로 실행되어 스레드 생성, 파일 시스템 접근 등의 작업을 IPC 브리지를 사용하지 않고 수행할 수 있습니다. 이는 앱의 아키텍처를 대폭 단순화하고 구축을 용이하게 합니다. 원하신다면 Dioxus-Web을 프론트엔드로 사용하여 Tauri 앱을 구축할 수도 있습니다. +- **범위 차이**: Tauri는 JavaScript와 복잡한 빌드 도구를 지원해야 하므로 할 수 있는 작업의 범위가 제한됩니다. Dioxus는 Rust에 전적으로 집중하고 있기 때문에 Server Functions, 고급 번들링, 네이티브 렌더러와 같은 추가 유틸리티를 제공할 수 있습니다. +- **공유된 DNA**: Tauri와 Dioxus는 별도의 프로젝트이지만, Tao와 Wry와 같은 라이브러리를 공유합니다. 이들은 Tauri 팀에서 유지 관리하는 윈도잉 및 웹뷰 라이브러리입니다. + +### Dioxus vs Leptos + +Leptos는 SolidJS와 SolidStart와 유사하게 풀스택 웹 앱을 구축하기 위한 라이브러리입니다. 두 라이브러리는 웹에서 유사한 목표를 공유하지만 몇 가지 주요 차이점이 있습니다: + +- **반응성 모델**: Leptos는 기본 반응성으로 시그널을 사용하는 반면, Dioxus는 VirtualDom과 리렌더링을 선택합니다. 이론적으로 시그널이 더 효율적이지만, 실제로 Dioxus의 VirtualDom은 [block-dom 영감을 받은 템플릿](https://dioxuslabs.com/blog/templates-diffing) 덕분에 실제 차이점을 거의 수행하지 않으며 [실제로 Leptos보다 빠릅니다](https://krausest.github.io/js-framework-benchmark/2024/table_chrome_123.0.6312.59.html). + +- **제어 흐름**: Leptos가 반응성으로 시그널을 사용하기 때문에, `for` 루프와 `if` 문과 같은 Leptos의 원시 구조에 제한됩니다. 이를 잘못 사용하면 앱의 반응성이 상실되어 디버깅이 어려운 UI 문제가 발생할 수 있습니다. Dioxus에서는 이터레이터, 일반 Rust의 `for` 루프 및 `if` 문을 사용할 수 있으며, 앱은 여전히 반응성을 유지합니다. 실제로, 목록에 카운터를 삽입하는 Dioxus 컴포넌트는 다음과 같을 수 있습니다: + +```rust +fn Counters() -> Element { + let mut counters = use_signal(|| vec![0; 10]); + + rsx! { + button { onclick: move |_| counters.push(counters.len()), "Add Counter" } + ul { + for idx in 0..counters.len() { + li { + button { onclick: move |_| counters.write()[idx] += 1, "{counters.index(idx)}" } + button { onclick: move |_| { counters.remove(idx); }, "Remove" } + } + } + } + } +} +``` + +[Leptos에서는 `` 컴포넌트를 사용합니다.](https://book.leptos.dev/view/04_iteration.html#dynamic-rendering-with-the-for-component): + +```rust +fn Counters() -> impl IntoView { + let counters = RwSignal::new(vec![0; 10]); + + view! { + + +
  • + + +
  • +
    + } +} +``` + +- **`Copy` 상태**: Dioxus 0.1부터 0.4까지는 Rust의 borrow 검사기의 규칙을 완화하기 위해 생명주기에 의존했습니다. 이는 이벤트 핸들러에는 잘 작동했지만, 비동기 작업에서는 어려움을 겪었습니다. Dioxus 0.5에서는 Leptos에서 차용한 [`Copy` 상태 모델](https://crates.io/crates/generational-box)로 전환했습니다. + +- **범위 차이**: Dioxus는 웹, 데스크톱, 모바일, LiveView 등을 위한 렌더러를 제공합니다. 또한 커뮤니티 라이브러리와 크로스 플랫폼 SDK를 유지 관리합니다. 이 작업의 범위가 방대하여 역사적으로 Leptos보다 느린 주기로 릴리스되었습니다. Leptos는 전체 스택 웹에 중점을 두며, Dioxus에는 없는 islands, `
    ` 컴포넌트 및 기타 웹 전용 기능과 같은 기능을 제공합니다. 일반적으로 Leptos로 구축한 웹 앱은 더 작은 용량을 가집니다. + +- **다른 DSL**: 두 프레임워크 모두 웹을 목표로 하지만, Dioxus는 UI 구축을 위해 자체적인 Rust 유사 DSL을 사용하는 반면, Leptos는 더 HTML 유사한 구문을 사용합니다. 이는 코드 접기 및 구문 강조와 같은 IDE 기능과의 호환성을 유지하기 위해 선택한 것입니다. 일반적으로 Dioxus는 DSL에서 더 많은 "매직"을 활용합니다. 예를 들어, dioxus는 문자열을 자동으로 포맷해주지만, Leptos는 문자열을 정적 및 동적 세그먼트로 분할할 수 있습니다. + +```rust +// dioxus +rsx! { + div { class: "my-class", enabled: true, "Hello, {name}" } +} + +// leptos +view! { +
    + "Hello " + {name} +
    +} +``` + +### Dioxus vs Yew + +Yew는 싱글 페이지 웹 앱을 구축하기 위한 프레임워크로, 처음에는 Dioxus에 영감을 주었습니다. 불행히도 Yew의 아키텍처는 우리가 원하는 다양한 기능을 지원하지 않아 Dioxus가 탄생하게 되었습니다. + +- **싱글 페이지 앱**: Yew는 싱글 페이지 웹 앱 전용으로 설계되었으며 웹 플랫폼에 본질적으로 묶여 있습니다. Dioxus는 풀스택 및 크로스 플랫폼으로, 웹, 데스크톱, 모바일, 서버 앱을 구축하는 데 적합합니다. + +- **개발자 도구**: Dioxus는 자동 포맷팅, 핫 리로딩, 번들러 등 다양한 유틸리티를 제공합니다. + +- **지속적인 지원**: Dioxus는 새로운 기능과 버그 수정이 매일 추가되며 매우 적극적으로 유지 관리되고 있습니다. + +### Dioxus vs egui + +egui는 [Rerun.io](https://www.rerun.io)와 같은 도구를 구동하는 Rust용 크로스 플랫폼 GUI 라이브러리입니다. + +- **Immediate vs Retained**: egui는 매 프레임마다 리렌더링되도록 설계되었습니다. 이는 게임 및 기타 인터랙티브 애플리케이션에 적합하지만, 프레임 간에 스타일 및 레이아웃 상태를 유지하지 않습니다. Dioxus는 UI가 한 번 구축된 후 프레임 간에 수정되는 retained UI 프레임워크입니다. 이를 통해 Dioxus는 HTML 및 CSS와 같은 네이티브 웹 기술을 사용하여 더 나은 배터리 수명과 성능을 제공합니다. + +- **커스터마이징 가능**: egui는 자체 스타일링 및 레이아웃 솔루션을 제공하는 반면, Dioxus는 내장된 HTML 및 CSS 사용을 기대합니다. 이를 통해 Dioxus 앱은 Tailwind 또는 Material UI와 같은 CSS 라이브러리를 사용할 수 있습니다. + +- **상태 관리**: egui의 상태 관리는 단일 전역 상태 객체를 기반으로 합니다. Dioxus는 컴포넌트와 props를 사용하여 상태의 캡슐화를 장려하여 컴포넌트의 재사용성을 높입니다. + +### Dioxus vs Iced + +Iced는 Elm에서 영감을 받은 크로스 플랫폼 GUI 라이브러리입니다. Iced는 WGPU로 네이티브 렌더링을 지원하며, DOM 노드를 사용하여 웹을 지원합니다. + +- **Elm 상태 관리**: Iced는 메시지 전달과 리듀서를 기반으로 하는 Elm의 상태 관리 모델을 사용합니다. 이는 Dioxus와는 단순히 다른 상태 관리 모델이며, 때로는 다소 장황할 수 있습니다. + +- **네이티브 느낌**: Dioxus는 렌더러로 webview를 사용하기 때문에 네이티브 텍스트 입력, 붙여넣기 처리, 접근성과 같은 기타 네이티브 기능을 자동으로 지원합니다. 현재 Iced의 렌더러는 이러한 기능을 구현하지 않아 덜 네이티브하게 느껴집니다. + +- **WGPU**: Dioxus의 WGPU 렌더러는 현재 상당히 미성숙하며 아직 프로덕션 사용에 준비되지 않았습니다. Iced의 WGPU 렌더러는 훨씬 더 성숙하며 프로덕션에서 사용되고 있습니다. 이는 GPU 접근이 필요한 특정 유형의 앱을 Iced로 구축할 수 있게 해주지만, 현재 Dioxus로는 구축할 수 없습니다. + +### Dioxus vs Electron + +Dioxus와 Electron은 유사한 목표를 가진 완전히 다른 두 프로젝트입니다. Electron은 개발자가 HTML, CSS, JavaScript와 같은 웹 기술을 사용하여 크로스 플랫폼 데스크톱 앱을 구축할 수 있도록 합니다. + +- **경량화**: Dioxus는 시스템의 네이티브 WebView 또는 선택적으로 WGPU 렌더러를 사용하여 UI를 렌더링합니다. 이로 인해 일반적인 Dioxus 앱은 macOS에서 약 15MB인 반면, Electron은 100MB입니다. Electron은 또한 Dioxus와 동일한 방식으로 호스트 OS와 시스템 리소스를 공유할 수 없는 내장된 Chromium 인스턴스를 포함하고 있습니다. + +- **성숙도**: Electron은 대규모 커뮤니티와 많은 도구를 갖춘 성숙한 프로젝트입니다. Dioxus는 Electron에 비해 아직 꽤 젊은 편입니다. deeplinking과 같은 기능을 구현하기 위해 추가 작업이 필요할 수 있습니다. + +## 기여하기 + +- 웹사이트의 [기여 섹션](https://dioxuslabs.com/learn/0.5/contributing)을 확인하세요. +- [이슈 트래커](https://github.com/dioxuslabs/dioxus/issues)에 이슈를 보고하세요. +- [Discord](https://discord.gg/XgGxMSkvUM)에 참여하여 질문하세요! + + + + + +## 라이선스 + +이 프로젝트는 [MIT 라이선스] 또는 [Apache-2 라이선스] 중 하나로 라이선스됩니다. + +[apache-2 라이선스]: https://github.com/DioxusLabs/dioxus/blob/master/LICENSE-APACHE +[mit 라이선스]: https://github.com/DioxusLabs/dioxus/blob/master/LICENSE-MIT + +별도로 명시하지 않는 한, 귀하가 Dioxus에 포함되도록 의도적으로 제출한 모든 기여는 추가 조건 없이 MIT 또는 Apache-2 라이선스로 라이선스됩니다.