From cfd26ec900b2dc8f85818d2a5a212d60b1036d39 Mon Sep 17 00:00:00 2001 From: Devon Govett Date: Mon, 11 Nov 2024 22:17:44 -0800 Subject: [PATCH] Bump swc to latest --- Cargo.lock | 457 +++++++++--------- crates/macros/Cargo.toml | 2 +- packages/transformers/js/core/Cargo.toml | 2 +- .../js/core/src/global_replacer.rs | 4 +- packages/transformers/js/core/src/hoist.rs | 18 +- packages/transformers/js/core/src/lib.rs | 184 ++++--- .../transformers/js/core/src/node_replacer.rs | 4 +- .../transformers/js/core/src/test_utils.rs | 4 +- 8 files changed, 340 insertions(+), 335 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2e8ba964b0b..b90f919acb8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -52,9 +52,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" [[package]] name = "android-tzdata" @@ -79,15 +79,15 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "arrayvec" @@ -112,14 +112,14 @@ dependencies = [ [[package]] name = "ast_node" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4d23a6d1d5f18bdbc06d9aa908880e5f49205156ba804751af731c51f5cf81a" +checksum = "94741d66bdda032fcbf33e621b4e3a888d7d11bd3ac4446d82c5593a136936ff" dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -130,7 +130,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -182,9 +182,9 @@ dependencies = [ [[package]] name = "better_scoped_tls" -version = "0.1.1" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de" +checksum = "50fd297a11c709be8348aec039c8b91de16075d2b2bdaee1bd562c0875993664" dependencies = [ "scoped-tls", ] @@ -231,7 +231,7 @@ dependencies = [ "ahash", "chrono", "either", - "indexmap 2.5.0", + "indexmap 2.6.0", "itertools 0.13.0", "nom", "once_cell", @@ -261,9 +261,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" [[package]] name = "byteorder" @@ -317,9 +317,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.22" +version = "1.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" +checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" dependencies = [ "jobserver", "libc", @@ -443,9 +443,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" dependencies = [ "libc", ] @@ -552,7 +552,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -576,7 +576,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -587,7 +587,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -657,7 +657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6cbc4c4d3eb0960b58e8f43f9fc2d3f620fcac9a03cd85203e08db5b04e83c1f" dependencies = [ "deno_semver", - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_json", "thiserror", @@ -690,33 +690,33 @@ dependencies = [ [[package]] name = "derive_builder" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "derive_builder_macro" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -780,15 +780,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "fdeflate" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" +checksum = "07c6f4c64c1d33a3111c4466f7365ebdcc37c5bd1ea0d62aae2e3d722aacbedb" dependencies = [ "simd-adler32", ] @@ -838,13 +838,13 @@ dependencies = [ [[package]] name = "from_variant" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d8947525c49c73130b5a7187b55b027b6b78fe60268d9f4c283ed690698cb1" +checksum = "8d7ccf961415e7aa17ef93dcb6c2441faaa8e768abe09e659b908089546f74c5" dependencies = [ "proc-macro2", "swc_macros_common", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -915,7 +915,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1037,6 +1037,18 @@ dependencies = [ "allocator-api2", ] +[[package]] +name = "hashbrown" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1160,12 +1172,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.1", "serde", ] @@ -1177,14 +1189,14 @@ checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306" [[package]] name = "is-macro" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2069faacbe981460232f880d26bf3c7634e322d49053aa48c27e3ae642f728f1" +checksum = "1d57a3e447e24c22647738e4607f1df1e0ec6f72e16182c4cd199f647cdfb0e4" dependencies = [ - "Inflector", + "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1263,9 +1275,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] @@ -1299,7 +1311,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1310,9 +1322,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.162" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" [[package]] name = "libdeflate-sys" @@ -1448,9 +1460,9 @@ dependencies = [ [[package]] name = "napi" -version = "2.16.11" +version = "2.16.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53575dfa17f208dd1ce3a2da2da4659aae393b256a472f2738a8586a6c4107fd" +checksum = "214f07a80874bb96a8433b3cdfc84980d56c7b02e1a0d7ba4ba0db5cef785e2b" dependencies = [ "bitflags 2.6.0", "ctor", @@ -1478,7 +1490,7 @@ dependencies = [ "napi-derive-backend", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1493,7 +1505,7 @@ dependencies = [ "quote", "regex", "semver 1.0.23", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1602,9 +1614,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oorandom" @@ -1633,7 +1645,7 @@ dependencies = [ "cfg-if", "dashmap 6.1.0", "dunce", - "indexmap 2.5.0", + "indexmap 2.6.0", "json-strip-comments", "once_cell", "rustc-hash 2.0.0", @@ -1796,9 +1808,9 @@ checksum = "498a099351efa4becc6a19c72aa9270598e8fd274ca47052e37455241c88b696" [[package]] name = "pathdiff" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" [[package]] name = "percent-encoding" @@ -1813,7 +1825,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap 2.6.0", ] [[package]] @@ -1846,7 +1858,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -1860,9 +1872,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -1940,9 +1952,9 @@ dependencies = [ [[package]] name = "preset_env_base" -version = "0.6.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aaeaf4147a07c6615d43fce02d8139e1f835e6ee53e69db2a4810823c138c26" +checksum = "7c8a797e42c09d55157424ac6e9b6e9e5843fc68b887691b280b055e8c3ca5e4" dependencies = [ "ahash", "anyhow", @@ -1958,9 +1970,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -2046,18 +2058,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -2067,9 +2079,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -2078,9 +2090,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rgb" @@ -2100,7 +2112,7 @@ dependencies = [ "cfg-if", "dashmap 6.1.0", "dunce", - "indexmap 2.5.0", + "indexmap 2.6.0", "json-strip-comments", "once_cell", "rustc-hash 2.0.0", @@ -2149,9 +2161,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" dependencies = [ "bitflags 2.6.0", "errno", @@ -2162,9 +2174,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "ryu" @@ -2225,9 +2237,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] @@ -2243,22 +2255,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -2367,9 +2379,9 @@ dependencies = [ [[package]] name = "sourcemap" -version = "9.0.0" +version = "9.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dab08a862c70980b8e23698b507e272317ae52a608a164a844111f5372374f1f" +checksum = "86721155737d89818020dc35713595c6e7b21016073c101e6590c47ca58c2d16" dependencies = [ "base64-simd", "bitvec", @@ -2421,7 +2433,7 @@ checksum = "710e9696ef338691287aeb937ee6ffe60022f579d3c8d2fd9d58973a9a10a466" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -2444,14 +2456,14 @@ dependencies = [ [[package]] name = "string_enum" -version = "0.4.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e383308aebc257e7d7920224fa055c632478d92744eca77f99be8fa1545b90" +checksum = "c9fe66b8ee349846ce2f9557a26b8f1e74843c4a13fb381f9a3d73617a5f956a" dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -2468,9 +2480,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "swc_allocator" -version = "0.1.8" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc8bd3075d1c6964010333fae9ddcd91ad422a4f8eb8b3206a9b2b6afb4209e" +checksum = "52cacc28f0ada8e4e31a720dd849ff06864b10e6ab0a1aaa99c06456cfe046af" dependencies = [ "bumpalo", "hashbrown 0.14.5", @@ -2481,9 +2493,9 @@ dependencies = [ [[package]] name = "swc_atoms" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0963b5f4cb08353dd4a386c7b5ee1c99d5a097722cdbc6a522efb2aeb91aad71" +checksum = "5d7211e5c57ea972f32b8a104d7006c4a68d094ec30c6a73bcd20d4d6c473c7c" dependencies = [ "hstr", "once_cell", @@ -2493,9 +2505,9 @@ dependencies = [ [[package]] name = "swc_cached" -version = "0.3.20" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83406221c501860fce9c27444f44125eafe9e598b8b81be7563d7036784cd05c" +checksum = "96b6a5ef4cfec51d3fa30b73600f206453a37fc30cf1141e4644a57b1ed88616" dependencies = [ "ahash", "anyhow", @@ -2507,9 +2519,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.40.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fca87acdd34580b59a6f6686dfe72bcc7bad4b7abb7e6728e8e3fd4ecb1d7c" +checksum = "053e784870430ba47043278626e75686e745ac16876a8f5f4d6c9f39354ee7e7" dependencies = [ "ahash", "ast_node", @@ -2535,12 +2547,12 @@ dependencies = [ [[package]] name = "swc_config" -version = "0.1.15" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000" +checksum = "4aa30931f9b26af8edcb4cce605909d15dcfd7577220b22c50a2988f2a53c4c1" dependencies = [ "anyhow", - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_json", "swc_cached", @@ -2549,21 +2561,21 @@ dependencies = [ [[package]] name = "swc_config_macro" -version = "0.1.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f56139042c1a95b54f5ca48baa0e0172d369bcc9d3d473dad1de36bae8399" +checksum = "7f2ebd37ef52a8555c8c9be78b694d64adcb5e3bc16c928f030d82f1d65fac57" dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "swc_core" -version = "0.106.0" +version = "5.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e99f5a654203ac30e8b819a7c36a913d7620210ef43d7ca04e1269bbd17781" +checksum = "92086975747587872715a20f78fc51e7047bac58f3a6a17d4ed5a9643f3fd0a2" dependencies = [ "swc_allocator", "swc_atoms", @@ -2585,9 +2597,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.121.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628b2c0c6349c1960b007fda04e0c1537480e0d0b1405305ef5846b752aa7a8" +checksum = "1bdab7759509c1b37ec77bd9fc231f525b888d9609c2963ce71995da1b27357c" dependencies = [ "bitflags 2.6.0", "is-macro", @@ -2597,14 +2609,15 @@ dependencies = [ "string_enum", "swc_atoms", "swc_common", + "swc_visit", "unicode-id-start", ] [[package]] name = "swc_ecma_codegen" -version = "0.158.0" +version = "4.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aef555943803034f0e0fd98ddfe72f1c3454f2c68a897075eb29bc63d4e930" +checksum = "e474f6c2671524dbb179b44a36425cb1a58928f0f7211c45043f0951a1842c5d" dependencies = [ "memchr", "num-bigint", @@ -2622,21 +2635,21 @@ dependencies = [ [[package]] name = "swc_ecma_codegen_macros" -version = "0.7.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859fabde36db38634f3fad548dd5e3410c1aebba1b67a3c63e67018fa57a0bca" +checksum = "5f9a42f479a6475647e248fa9750982c87cd985e19d1016a1fc18a70682305d1" dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "swc_ecma_compat_bugfixes" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff0f4ede38d4110f8c639a4c07c8d2b677d3eac968ab33da312bbaf6ad5adf0" +checksum = "1329a40848de17863db27ab4d8840f5aa6a79e6655bab2a5abe0f4e7f5c56d6a" dependencies = [ "swc_atoms", "swc_common", @@ -2651,9 +2664,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_common" -version = "0.14.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a479b2061a3b2c939a9abd34cfd3e9a6983a8bf12f7d3da89ac7ad6a64d9a4" +checksum = "c5d585318a0d8ad1465d68fb10c29674d41988f59f4fab1e162a2f0bf13dbdc2" dependencies = [ "swc_common", "swc_ecma_ast", @@ -2664,12 +2677,12 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2015" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "129fa363e3ea01f9e2d2dbd06675bfd515689b261c28b30296d89c91b549916a" +checksum = "27be5007d501b111706bb5e055a57388aeda89b5b13613831a285e4571575400" dependencies = [ "arrayvec", - "indexmap 2.5.0", + "indexmap 2.6.0", "is-macro", "rustc-hash 1.1.0", "serde", @@ -2691,9 +2704,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2016" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0f1dd466100cd41e85be398d1f4d973f8d5760ec52376294918def88e620ad" +checksum = "4a329b3d6bcc4bebab396a556ec6accda6f7d4a8a1126ded05f2c7a705c6343e" dependencies = [ "swc_atoms", "swc_common", @@ -2708,9 +2721,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2017" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33a3fcc3ae30628fc752d04b44c885ea6202ecfb187311d8827cc851ba7d906d" +checksum = "ec0a6f9d438b79763da23e9eb20f10c3d7f39d4c301047fef89a7e4c7cc1d3e7" dependencies = [ "serde", "swc_atoms", @@ -2726,9 +2739,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2018" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31160d66339dda14faefd3a2816a0436f0a1e4f33a2057d8f3663a1a567eaf2e" +checksum = "d80354d791823c0fe754c5b9d35510e519261763e7871c6b3b15c57d54af928a" dependencies = [ "serde", "swc_atoms", @@ -2745,9 +2758,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2019" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f0164ad462c81c421de2af75f408ca3a96324a3c5e81d999a90a58e6e40dbef" +checksum = "d9389a8364fd44f041302b09ce46d54d42de033737597cf481c2bdc09ac8a899" dependencies = [ "swc_atoms", "swc_common", @@ -2761,9 +2774,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2020" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da49ae2565352c179657b47e87b4879b8c1128b5447e8fbfaaa020702f740636" +checksum = "74b6f3a00525d801fd9c019570886edd9e4057aae45349bcf934260b0e1fb13f" dependencies = [ "serde", "swc_atoms", @@ -2779,9 +2792,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2021" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9fed665a9f5b2b3c55fc04f36b12c8d2148fd25fb216a4d9ae9fac331a5374" +checksum = "3c59d09c7146386ca51e3eb225f4c7b392d7d9020742e7cf47bc3c4ceb6aa4a6" dependencies = [ "swc_atoms", "swc_common", @@ -2795,9 +2808,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2022" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241bf311a26447690bbfc36ec76886dac04343f82e3fe638fc0e0cdbaeae534b" +checksum = "0947eca60f422bf25f926e06ebcde5f3189df7fb7fc9c4f0d07fcb6a90bd0acf" dependencies = [ "swc_atoms", "swc_common", @@ -2814,9 +2827,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es3" -version = "0.16.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0c7867bba0129c8844cf274c9a0e3f1926d7225d6dce36343a4b1626399992" +checksum = "2241d79bc42ab25133b9107c0ec08aef55503dde6dac85debae7ba750b21afd4" dependencies = [ "swc_common", "swc_ecma_ast", @@ -2829,9 +2842,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.152.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef96894fa0fb3fba233ede22a75a7ddd8b7f0727a40aa8d1028b5dd25013d2e" +checksum = "54c5ab8bd4cc4a4956514699c84d1a25cdb5a33f5ec760ec64ce712e973019c9" dependencies = [ "either", "new_debug_unreachable", @@ -2851,13 +2864,13 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.221.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b6b5a7222fe85be1732faa7a2c9812fc516d934ba320662c90c066264cd9eec" +checksum = "536d242fcc9ae6dfcb3bf0fb1a0b087b20feca33e070aa51d585acbf8ac1ba5d" dependencies = [ "anyhow", "dashmap 5.5.3", - "indexmap 2.5.0", + "indexmap 2.6.0", "once_cell", "preset_env_base", "rustc-hash 1.1.0", @@ -2876,9 +2889,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.243.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b22f584075dfbd349c107def9c52de654979f0a1e8cdc4255dd4e7ec5b39800" +checksum = "1600bc245ac36783f219678d0831ffb8aeee7ab06908c394fc1da9be1b0fd16a" dependencies = [ "swc_atoms", "swc_common", @@ -2892,13 +2905,13 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.149.0" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2194d20416a03ae02058934f8387691809f86466a2f2e7a65c56dcb001bd46b" +checksum = "0eb4000822f02b54af0be4f668649fa1e5555f1e3392479d17a277eb81a841f0" dependencies = [ "better_scoped_tls", "bitflags 2.6.0", - "indexmap 2.5.0", + "indexmap 2.6.0", "once_cell", "phf", "rustc-hash 1.1.0", @@ -2915,9 +2928,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.138.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e93ef88e45587864ef645e29c33f04f75360e47194c084f931855af3aac246" +checksum = "63a93f8b41f89e08edf77f70a8fa959cd3b84d396c2c6a3e0b0cca62f1b89683" dependencies = [ "swc_atoms", "swc_common", @@ -2929,12 +2942,12 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.175.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35dd174f6c954a4fe1bff88a64de777ef65041411f96b60daf4a78864ad47789" +checksum = "09ca64973f33eb69cc29b9d1a432e6eebfbffa281be128318f8754013557a69e" dependencies = [ "arrayvec", - "indexmap 2.5.0", + "indexmap 2.6.0", "is-macro", "num-bigint", "serde", @@ -2965,24 +2978,24 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_macros" -version = "0.5.5" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500a1dadad1e0e41e417d633b3d6d5de677c9e0d3159b94ba3348436cdb15aab" +checksum = "6845dfb88569f3e8cd05901505916a8ebe98be3922f94769ca49f84e8ccec8f7" dependencies = [ "proc-macro2", "quote", "swc_macros_common", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "swc_ecma_transforms_optimization" -version = "0.212.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "454df4c54d0ff859b10e33168c9101f805ca8ee0deb11b71b0380fa6ce844438" +checksum = "f63d691ccea03a8eb25f37c7498e7609ad76ca3dc2070b630596e49f0b8fd1f4" dependencies = [ "dashmap 5.5.3", - "indexmap 2.5.0", + "indexmap 2.6.0", "once_cell", "petgraph", "rustc-hash 1.1.0", @@ -3001,9 +3014,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.183.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718f1e24dd96cfb0b7ba8f8a4e61c98338cdac7a3f5f9f4a83951d776ac398bf" +checksum = "bc94b9be02d6ce4754b56222375be1684c9135cfea76bda13820d97beffbd804" dependencies = [ "either", "rustc-hash 1.1.0", @@ -3021,13 +3034,13 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.195.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ddcb8943976319a4f8b899862f094f6984511490e4bfa9b4c8fbd334539b62" +checksum = "90002fdbe17f10c84cb29a102154a30ee5ad3e7165f0610d18ba8aa3a592924c" dependencies = [ "base64", "dashmap 5.5.3", - "indexmap 2.5.0", + "indexmap 2.6.0", "once_cell", "serde", "sha1", @@ -3046,9 +3059,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.202.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bfb758c4335038fd27668c17fb174ee18cd96c305a43fe38cc890f57cc6d395" +checksum = "f67d5ff2ec723d075db340ac155877fea9607186f179e41ef2116aeef960a2cf" dependencies = [ "ryu-js", "serde", @@ -3063,11 +3076,11 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.137.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "939f21c75eff61ad3e485fc54d38988f2f9744ceda24a3feb8228dd072171d94" +checksum = "024a9ee9a19f448b31af002b90c43b9dfdb4e1fad23c76c21fe26a7c6e0f78a7" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "num_cpus", "once_cell", "rustc-hash 1.1.0", @@ -3083,9 +3096,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.107.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bd17e03251272ee04d1155036be5288055ab43d40ab2d9fd63ff815d326dad" +checksum = "642c58202491c273ea984e0d7e923319afe0f94195d2985b3e7f71f7d8232e06" dependencies = [ "new_debug_unreachable", "num-bigint", @@ -3098,22 +3111,22 @@ dependencies = [ [[package]] name = "swc_eq_ignore_macros" -version = "0.1.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497" +checksum = "e96e15288bf385ab85eb83cff7f9e2d834348da58d0a31b33bdb572e66ee413e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "swc_fast_graph" -version = "1.0.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3daff8d4379be2a99ab4b146e4dd631ef2415965dc4f1d33e988a737c5ccc39a" +checksum = "3f65856acf41991a43d47d19ca947ee34f1152fccc42f048063c64eaf45a8e26" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "petgraph", "rustc-hash 1.1.0", "swc_common", @@ -3121,31 +3134,31 @@ dependencies = [ [[package]] name = "swc_macros_common" -version = "0.3.13" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847" +checksum = "a509f56fca05b39ba6c15f3e58636c3924c78347d63853632ed2ffcb6f5a0ac7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "swc_trace_macro" -version = "1.0.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69aa25f667e4d74ab10a17a266edeb8b354273817b20b91e60471f1c860a221b" +checksum = "4c78717a841565df57f811376a3d19c9156091c55175e12d378f3a522de70cef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] name = "swc_visit" -version = "0.6.2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ceb044142ba2719ef9eb3b6b454fce61ab849eb696c34d190f04651955c613d" +checksum = "9138b6a36bbe76dd6753c4c0794f7e26480ea757bee499738bedbbb3ae3ec5f3" dependencies = [ "either", "new_debug_unreachable", @@ -3164,9 +3177,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -3181,9 +3194,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand", @@ -3215,22 +3228,22 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -3294,7 +3307,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -3316,7 +3329,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] @@ -3330,9 +3343,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369" +checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85" dependencies = [ "serde", "stable_deref_trait", @@ -3352,9 +3365,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-id" @@ -3364,9 +3377,9 @@ checksum = "10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561" [[package]] name = "unicode-id-start" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97e2a3c5fc9de285c0e805d98eba666adb4b2d9e1049ce44821ff7707cc34e91" +checksum = "2f322b60f6b9736017344fa0635d64be2f458fbc04eef65f6be22976dd1ffd5b" [[package]] name = "unicode-ident" @@ -3409,9 +3422,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "vergen" @@ -3462,9 +3475,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", "once_cell", @@ -3473,24 +3486,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3498,28 +3511,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -3688,7 +3701,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.87", ] [[package]] diff --git a/crates/macros/Cargo.toml b/crates/macros/Cargo.toml index 73fcc910319..d12b0ca833e 100644 --- a/crates/macros/Cargo.toml +++ b/crates/macros/Cargo.toml @@ -9,7 +9,7 @@ napi = ["dep:napi", "dep:napi-derive", "dep:crossbeam-channel"] [dependencies] indexmap = "1.9.2" -swc_core = { version = "0.106", features = [ +swc_core = { version = "5.0.4", features = [ "common", "common_ahash", "common_sourcemap", diff --git a/packages/transformers/js/core/Cargo.toml b/packages/transformers/js/core/Cargo.toml index 22f2a53344b..8291e975ec2 100644 --- a/packages/transformers/js/core/Cargo.toml +++ b/packages/transformers/js/core/Cargo.toml @@ -8,7 +8,7 @@ edition = "2021" crate-type = ["rlib"] [dependencies] -swc_core = { version = "0.106", features = [ +swc_core = { version = "5.0.4", features = [ "common", "common_ahash", "common_sourcemap", diff --git a/packages/transformers/js/core/src/global_replacer.rs b/packages/transformers/js/core/src/global_replacer.rs index f88bfd58057..bd77215854e 100644 --- a/packages/transformers/js/core/src/global_replacer.rs +++ b/packages/transformers/js/core/src/global_replacer.rs @@ -172,8 +172,8 @@ impl VisitMut for GlobalReplacer<'_> { 0..0, self .globals - .values() - .map(|(_, stmt)| ast::ModuleItem::Stmt(stmt.clone())), + .drain(..) + .map(|(_, (_, stmt))| ast::ModuleItem::Stmt(stmt)), ); } } diff --git a/packages/transformers/js/core/src/hoist.rs b/packages/transformers/js/core/src/hoist.rs index 4469cad1571..72a5b64127f 100644 --- a/packages/transformers/js/core/src/hoist.rs +++ b/packages/transformers/js/core/src/hoist.rs @@ -1354,12 +1354,12 @@ impl<'a> Hoist<'a> { #[cfg(test)] mod tests { use swc_core::{ - common::{chain, comments::SingleThreadedComments, sync::Lrc, FileName, Globals, SourceMap}, + common::{comments::SingleThreadedComments, sync::Lrc, FileName, Globals, SourceMap}, ecma::{ codegen::text_writer::JsWriter, parser::{lexer::Lexer, Parser, StringInput}, transforms::base::{fixer::fixer, hygiene::hygiene, resolver}, - visit::VisitWith, + visit::{VisitMutWith, VisitWith}, }, }; @@ -1382,11 +1382,15 @@ mod tests { let mut parser = Parser::new_from(lexer); match parser.parse_program() { - Ok(program) => swc_core::common::GLOBALS.set(&Globals::new(), || { + Ok(mut program) => swc_core::common::GLOBALS.set(&Globals::new(), || { swc_core::ecma::transforms::base::helpers::HELPERS.set( &swc_core::ecma::transforms::base::helpers::Helpers::new(false), || { let is_module = program.is_module(); + let unresolved_mark = Mark::fresh(Mark::root()); + let global_mark = Mark::fresh(Mark::root()); + program.mutate(&mut resolver(unresolved_mark, global_mark, false)); + let module = match program { Program::Module(module) => module, Program::Script(script) => Module { @@ -1396,10 +1400,6 @@ mod tests { }, }; - let unresolved_mark = Mark::fresh(Mark::root()); - let global_mark = Mark::fresh(Mark::root()); - let module = module.fold_with(&mut resolver(unresolved_mark, global_mark, false)); - let mut collect = Collect::new( source_map.clone(), unresolved_mark, @@ -1410,13 +1410,13 @@ mod tests { ); module.visit_with(&mut collect); - let (module, res) = { + let (mut module, res) = { let mut hoist = Hoist::new("abc", unresolved_mark, &collect); let module = module.fold_with(&mut hoist); (module, hoist.get_result()) }; - let module = module.fold_with(&mut chain!(hygiene(), fixer(Some(&comments)))); + module.visit_mut_with(&mut (hygiene(), fixer(Some(&comments)))); let code = emit(source_map, comments, &module); (collect, code, res) diff --git a/packages/transformers/js/core/src/lib.rs b/packages/transformers/js/core/src/lib.rs index b50159a4d02..e0582e8f1f5 100644 --- a/packages/transformers/js/core/src/lib.rs +++ b/packages/transformers/js/core/src/lib.rs @@ -35,7 +35,7 @@ use path_slash::PathExt; use serde::{Deserialize, Serialize}; use swc_core::{ common::{ - chain, comments::SingleThreadedComments, errors::Handler, pass::Optional, + comments::SingleThreadedComments, errors::Handler, pass::Optional, source_map::SourceMapGenConfig, sync::Lrc, FileName, Globals, Mark, SourceMap, }, ecma::{ @@ -45,17 +45,18 @@ use swc_core::{ preset_env::{preset_env, Mode::Entry, Targets, Version, Versions}, transforms::{ base::{ + assumptions::Assumptions, fixer::{fixer, paren_remover}, helpers, hygiene::hygiene, - resolver, Assumptions, + resolver, }, compat::reserved_words::reserved_words, optimization::simplify::{dead_branch_remover, expr_simplifier}, proposal::decorators, react, typescript, }, - visit::{as_folder, FoldWith, VisitWith}, + visit::{FoldWith, VisitMutWith, VisitWith}, }, }; use typeof_replacer::*; @@ -231,7 +232,7 @@ pub fn transform( let global_mark = Mark::fresh(Mark::root()); let unresolved_mark = Mark::fresh(Mark::root()); - let module = module.fold_with(&mut chain!( + module.mutate(&mut ( resolver(unresolved_mark, global_mark, config.is_type_script), // Decorators can use type information, so must run before the TypeScript pass. Optional::new( @@ -242,7 +243,7 @@ pub fn transform( // use_define_for_class_fields is ignored here, uses preset-env assumptions instead ..Default::default() }), - config.decorators + config.decorators, ), Optional::new( typescript::tsx( @@ -256,11 +257,11 @@ pub fn transform( unresolved_mark, global_mark, ), - config.is_type_script && config.is_jsx + config.is_type_script && config.is_jsx, ), Optional::new( typescript::strip(unresolved_mark, global_mark), - config.is_type_script && !config.is_jsx + config.is_type_script && !config.is_jsx, ), )); @@ -276,7 +277,8 @@ pub fn transform( }, }; - let mut module = module.fold_with(&mut Optional::new( + let mut program = Program::Module(module); + program.mutate(&mut Optional::new( react::react( source_map.clone(), Some(&comments), @@ -286,6 +288,7 @@ pub fn transform( ), config.is_jsx, )); + let mut module = program.expect_module(); let mut preset_env_config = swc_core::ecma::preset_env::Config { dynamic_import: true, @@ -326,52 +329,48 @@ pub fn transform( result.is_constant_module = constant_module.is_constant_module; } - let module = { - let mut passes = chain!( - Optional::new( - as_folder(TypeofReplacer::new(unresolved_mark)), - config.source_type != SourceType::Script, - ), - // Inline process.env and process.browser, - Optional::new( - as_folder(EnvReplacer { - replace_env: config.replace_env, - env: &config.env, - is_browser: config.is_browser, - used_env: &mut result.used_env, - source_map: source_map.clone(), - diagnostics: &mut diagnostics, - unresolved_mark - }), - config.source_type != SourceType::Script - ), - paren_remover(Some(&comments)), - // Simplify expressions and remove dead branches so that we - // don't include dependencies inside conditionals that are always false. - expr_simplifier(unresolved_mark, Default::default()), - dead_branch_remover(unresolved_mark), - // Inline Node fs.readFileSync calls - Optional::new( - inline_fs( - config.filename.as_str(), - source_map.clone(), - unresolved_mark, - global_mark, - &config.project_root, - &mut fs_deps, - is_module - ), - should_inline_fs - ), - ); + module.visit_mut_with(&mut ( + Optional::new( + TypeofReplacer::new(unresolved_mark), + config.source_type != SourceType::Script, + ), + // Inline process.env and process.browser, + Optional::new( + EnvReplacer { + replace_env: config.replace_env, + env: &config.env, + is_browser: config.is_browser, + used_env: &mut result.used_env, + source_map: source_map.clone(), + diagnostics: &mut diagnostics, + unresolved_mark, + }, + config.source_type != SourceType::Script, + ), + paren_remover(Some(&comments)), + // Simplify expressions and remove dead branches so that we + // don't include dependencies inside conditionals that are always false. + expr_simplifier(unresolved_mark, Default::default()), + dead_branch_remover(unresolved_mark), + )); - module.fold_with(&mut passes) - }; + let mut module = module.fold_with(&mut Optional::new( + inline_fs( + config.filename.as_str(), + source_map.clone(), + unresolved_mark, + global_mark, + &config.project_root, + &mut fs_deps, + is_module, + ), + should_inline_fs, + )); - let module = module.fold_with( + module.visit_mut_with( // Replace __dirname and __filename with placeholders in Node env &mut Optional::new( - as_folder(NodeReplacer { + NodeReplacer { source_map: source_map.clone(), items: &mut global_deps, global_mark, @@ -379,58 +378,55 @@ pub fn transform( filename: Path::new(&config.filename), unresolved_mark, has_node_replacements: &mut result.has_node_replacements, - }), + }, config.node_replacer, ), ); - let module = { - let mut passes = chain!( - // Insert dependencies for node globals - Optional::new( - as_folder(GlobalReplacer { - source_map: source_map.clone(), - items: &mut global_deps, - global_mark, - globals: IndexMap::new(), - project_root: Path::new(&config.project_root), - filename: Path::new(&config.filename), - unresolved_mark, - scope_hoist: config.scope_hoist - }), - config.insert_node_globals - ), - // Transpile new syntax to older syntax if needed - Optional::new( - preset_env( - unresolved_mark, - Some(&comments), - preset_env_config, - assumptions, - &mut Default::default(), - ), - should_run_preset_env, - ), - // Inject SWC helpers if needed. - helpers::inject_helpers(global_mark), - ); + module.visit_mut_with( + // Insert dependencies for node globals + &mut Optional::new( + GlobalReplacer { + source_map: source_map.clone(), + items: &mut global_deps, + global_mark, + globals: IndexMap::new(), + project_root: Path::new(&config.project_root), + filename: Path::new(&config.filename), + unresolved_mark, + scope_hoist: config.scope_hoist, + }, + config.insert_node_globals, + ), + ); - module.fold_with(&mut passes) - }; + let mut program = Program::Module(module); + program.mutate(&mut ( + // Transpile new syntax to older syntax if needed + Optional::new( + preset_env( + unresolved_mark, + Some(&comments), + preset_env_config, + assumptions, + &mut Default::default(), + ), + should_run_preset_env, + ), + // Inject SWC helpers if needed. + helpers::inject_helpers(global_mark), + )); + let mut module = program.expect_module(); // Flush Id=(JsWord, SyntaxContexts) into unique names and reresolve to // set global_mark for all nodes, even generated ones. // - This will also remove any other other marks (like ignore_mark) // This only needs to be done if preset_env ran because all other transforms // insert declarations with global_mark (even though they are generated). - let module = if config.scope_hoist && should_run_preset_env { - module.fold_with(&mut chain!( - hygiene(), - resolver(unresolved_mark, global_mark, false) - )) - } else { + if config.scope_hoist && should_run_preset_env { module - }; + .visit_mut_with(&mut (hygiene(), resolver(unresolved_mark, global_mark, false))) + } let ignore_mark = Mark::fresh(Mark::root()); let module = module.fold_with( @@ -468,7 +464,7 @@ pub fn transform( diagnostics.extend(bailouts.iter().map(|bailout| bailout.to_diagnostic())); } - let module = if config.scope_hoist { + let mut module = if config.scope_hoist { let res = hoist(module, config.module_id.as_str(), unresolved_mark, &collect); match res { Ok((module, hoist_result, hoist_diagnostics)) => { @@ -492,11 +488,7 @@ pub fn transform( module }; - let module = module.fold_with(&mut chain!( - reserved_words(), - hygiene(), - fixer(Some(&comments)), - )); + module.visit_mut_with(&mut (reserved_words(), hygiene(), fixer(Some(&comments)))); result.dependencies.extend(global_deps); result.dependencies.extend(fs_deps); diff --git a/packages/transformers/js/core/src/node_replacer.rs b/packages/transformers/js/core/src/node_replacer.rs index 7debf40009e..94c0c27a220 100644 --- a/packages/transformers/js/core/src/node_replacer.rs +++ b/packages/transformers/js/core/src/node_replacer.rs @@ -193,8 +193,8 @@ impl<'a> VisitMut for NodeReplacer<'a> { 0..0, self .globals - .values() - .map(|(_, stmt)| ast::ModuleItem::Stmt(stmt.clone())), + .drain() + .map(|(_, (_, stmt))| ast::ModuleItem::Stmt(stmt)), ); } } diff --git a/packages/transformers/js/core/src/test_utils.rs b/packages/transformers/js/core/src/test_utils.rs index 01658501205..34f5481ad18 100644 --- a/packages/transformers/js/core/src/test_utils.rs +++ b/packages/transformers/js/core/src/test_utils.rs @@ -87,12 +87,12 @@ fn run_with_transformation( ); let mut parser = Parser::new_from(lexer); - let module = parser.parse_module().unwrap(); + let mut module = parser.parse_module().unwrap(); GLOBALS.set(&Globals::new(), || { let global_mark = Mark::new(); let unresolved_mark = Mark::new(); - let mut module = module.fold_with(&mut resolver(unresolved_mark, global_mark, false)); + module.visit_mut_with(&mut resolver(unresolved_mark, global_mark, false)); let context = RunTestContext { source_map: source_map.clone(),