From 359d03f899b2936e99141498388a9ffb42423d36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Mon, 16 May 2022 18:37:21 +0900 Subject: [PATCH] Update swc (#36745) This PR - updates swc crates to https://github.com/swc-project/swc/commit/a09bfc22f88fbf4acd2f53c14e4a5856519eb2e5 - resolves https://github.com/vercel/next.js/discussions/30237?sort=new#discussioncomment-2693663 - resolves https://github.com/vercel/next.js/discussions/30237?sort=new#discussioncomment-2749346 ![image](https://user-images.githubusercontent.com/29931815/168412242-6b72fc0e-788e-446b-804e-f071e0e67b73.png) - applies various bugfixes --- packages/next-swc/Cargo.lock | 255 +++++++++++------- packages/next-swc/crates/core/Cargo.toml | 12 +- .../src/disallow_re_export_all_in_page.rs | 2 +- .../next-swc/crates/core/src/next_dynamic.rs | 9 +- packages/next-swc/crates/core/src/next_ssg.rs | 7 +- .../next-swc/crates/core/src/page_config.rs | 2 +- .../crates/core/src/remove_console.rs | 2 - .../next-swc/crates/core/src/shake_exports.rs | 3 +- .../next-swc/crates/core/tests/fixture.rs | 16 +- packages/next-swc/crates/emotion/Cargo.toml | 10 +- packages/next-swc/crates/emotion/src/lib.rs | 7 +- .../next-swc/crates/emotion/tests/fixture.rs | 10 +- .../crates/modularize_imports/Cargo.toml | 8 +- packages/next-swc/crates/napi/Cargo.toml | 12 +- .../next-swc/crates/napi/src/bundle/mod.rs | 2 + .../crates/styled_components/Cargo.toml | 12 +- .../styled_components/src/utils/analyzer.rs | 1 - .../crates/styled_components/src/utils/mod.rs | 5 +- .../top_level_binding_collector.rs | 3 +- .../visitors/transpile_css_prop/transpile.rs | 11 +- .../next-swc/crates/styled_jsx/Cargo.toml | 14 +- .../next-swc/crates/styled_jsx/src/lib.rs | 9 +- .../crates/styled_jsx/src/transform_css.rs | 2 +- packages/next-swc/crates/wasm/Cargo.toml | 6 +- 24 files changed, 231 insertions(+), 189 deletions(-) diff --git a/packages/next-swc/Cargo.lock b/packages/next-swc/Cargo.lock index 87e15cb8c10f..fcff10f41604 100644 --- a/packages/next-swc/Cargo.lock +++ b/packages/next-swc/Cargo.lock @@ -407,16 +407,6 @@ dependencies = [ "syn", ] -[[package]] -name = "dashmap" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" -dependencies = [ - "cfg-if 1.0.0", - "num_cpus", -] - [[package]] name = "dashmap" version = "5.1.0" @@ -541,6 +531,12 @@ dependencies = [ "syn", ] +[[package]] +name = "fs_extra" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" + [[package]] name = "fxhash" version = "0.2.1" @@ -946,7 +942,7 @@ dependencies = [ [[package]] name = "modularize_imports" -version = "0.3.0" +version = "0.4.0" dependencies = [ "handlebars", "once_cell", @@ -1371,7 +1367,7 @@ dependencies = [ "ahash", "anyhow", "browserslist-rs", - "dashmap 5.1.0", + "dashmap", "from_variant", "once_cell", "semver 1.0.6", @@ -1824,7 +1820,7 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" [[package]] name = "styled_components" -version = "0.28.0" +version = "0.29.0" dependencies = [ "Inflector", "once_cell", @@ -1841,7 +1837,7 @@ dependencies = [ [[package]] name = "styled_jsx" -version = "0.3.0" +version = "0.4.0" dependencies = [ "easy-error", "swc_common", @@ -1883,14 +1879,14 @@ dependencies = [ [[package]] name = "swc" -version = "0.172.2" +version = "0.180.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76b9b1ae60c451c7510d48382a4d00118c0c9f8b11dbfd19f2e31f43b61234e" +checksum = "d811003b6ed9aa0d2efabf256de74ff9b19d6f013bc88d9c0b756a9e014f1971" dependencies = [ "ahash", "anyhow", "base64 0.13.0", - "dashmap 5.1.0", + "dashmap", "either", "indexmap", "json_comments", @@ -1899,12 +1895,14 @@ dependencies = [ "parking_lot", "pathdiff", "regex", + "rustc-hash", "serde", "serde_json", "sourcemap", "swc_atoms", "swc_cached", "swc_common", + "swc_config", "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_ext_transforms", @@ -1939,14 +1937,14 @@ dependencies = [ [[package]] name = "swc_bundler" -version = "0.140.0" +version = "0.147.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c49ab92926ec1b1a354e54146cc58d12e624127aa4df06ddad74b1146124ddb6" +checksum = "21cb7497dc98ccc6b677b6c0be2890c5ee827e4763f5151ef6d60a82e9b93bb8" dependencies = [ "ahash", "anyhow", "crc", - "dashmap 5.1.0", + "dashmap", "indexmap", "is-macro", "once_cell", @@ -1979,7 +1977,7 @@ checksum = "84fed4a980e12c737171a7b17c5e0a2f4272899266fa0632ea4e31264ebdfdb5" dependencies = [ "ahash", "anyhow", - "dashmap 5.1.0", + "dashmap", "once_cell", "regex", "serde", @@ -1988,9 +1986,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.17.25" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "766ad22c1cb8586c038ccba7371a4903a6074b53ee4ba8980a52f502413f120e" +checksum = "a14c5d15a47c404bc1e1597f4412643d293aed2c3143c9c4a9c20abe879a934b" dependencies = [ "ahash", "ast_node", @@ -2016,11 +2014,37 @@ dependencies = [ "url", ] +[[package]] +name = "swc_config" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb05ef56c14b95dd7e62e95960153af811b9a447287f1f6ca59f1337fb83d4" +dependencies = [ + "anyhow", + "indexmap", + "serde", + "serde_json", + "swc_config_macro", +] + +[[package]] +name = "swc_config_macro" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb64bc03d90fd5c90d6ab917bb2b1d7fbd31957df39e31ea24a3f554b4372251" +dependencies = [ + "pmutil", + "proc-macro2", + "quote", + "swc_macros_common", + "syn", +] + [[package]] name = "swc_css" -version = "0.104.2" +version = "0.105.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac788fd5a430a44f509f86d81d6eb8b5636e8cb0814583ae3cd7a899cc00a78a" +checksum = "3f206555bfe6a052ec10ffefe2308120b48d56a595d5251df6160cd90b770f90" dependencies = [ "swc_css_ast", "swc_css_codegen", @@ -2031,9 +2055,9 @@ dependencies = [ [[package]] name = "swc_css_ast" -version = "0.92.1" +version = "0.93.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ec94a0dd1482161701854ea96ff1b89c91ce0e2ec73236cbf4fed76f3a4f53b" +checksum = "81518919ed69488d33c8071fd45ba286444fdf9aeeb1fcb53247fe9330c8bb40" dependencies = [ "is-macro", "serde", @@ -2044,9 +2068,9 @@ dependencies = [ [[package]] name = "swc_css_codegen" -version = "0.101.0" +version = "0.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bfa5fef9aa88ad90c643d17cfab1ab88d3bf32b351b4307e96ea3feae9aa65" +checksum = "84bb558171f3c7c70039401f2fb21765a8ed2313f690cb54a3097ab4cf457737" dependencies = [ "auto_impl", "bitflags", @@ -2071,9 +2095,9 @@ dependencies = [ [[package]] name = "swc_css_parser" -version = "0.100.2" +version = "0.101.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa623eabb6808a9bdee076605fc8023f0e1fea460e6cd92ae236faca3346f838" +checksum = "10d358d2d301451cefddc231095c3f9431cf5bf0a2dad6833ce691d85d8e6b8f" dependencies = [ "bitflags", "lexical", @@ -2084,9 +2108,9 @@ dependencies = [ [[package]] name = "swc_css_prefixer" -version = "0.100.4" +version = "0.101.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01f1c4ee283d84879e09f570ad167523a38185e0a95f6e37e46ee214f6494e8d" +checksum = "f62c197a08d0f6a621fa347702a1315244f1e39bc40c60544243f1321be1d9e0" dependencies = [ "swc_atoms", "swc_common", @@ -2097,9 +2121,9 @@ dependencies = [ [[package]] name = "swc_css_utils" -version = "0.89.1" +version = "0.90.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f959c75248f6806d50fd7ab6bada0c6481b3fd872df592abfc1f8b8fb8342dc" +checksum = "666d3ffe10903949ed4805efea7376bb04bf12e8e051c429d1bcc36da20b6218" dependencies = [ "once_cell", "serde", @@ -2112,9 +2136,9 @@ dependencies = [ [[package]] name = "swc_css_visit" -version = "0.91.0" +version = "0.92.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7713c4d8255be1b7d5e93580fd2f32bfbb3c832a60be2941948e62442a207b04" +checksum = "823d45d2dc37777c71f599a29a928709a385bea5d109ff4b753d0950a31a00a4" dependencies = [ "swc_atoms", "swc_common", @@ -2124,9 +2148,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.76.2" +version = "0.78.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87eb325cc3e9bcf93dd9fcf14586e56fc502a5c7a9cc80e36c00bfd7c833b189" +checksum = "6ed68ad13e4489f309ffed9d302337d7c8bde11d00b8b275b7aa7fda4da035bf" dependencies = [ "is-macro", "num-bigint", @@ -2139,9 +2163,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.105.3" +version = "0.108.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9844b5e0f24dd035de4993d3cc9dd9a7d2913cbedf81fca5be4b67e79f2f4a" +checksum = "b65810646567ad2a34af1d90a0f51eaca250d220a7b50370f2a2dba834a375b4" dependencies = [ "bitflags", "memchr", @@ -2171,9 +2195,9 @@ dependencies = [ [[package]] name = "swc_ecma_ext_transforms" -version = "0.68.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f417731185535acb9a47c0ee2751df9c30769edc0c1ac74e05c2c4df3510c8ad" +checksum = "ccecaf1d2c6c257ce47ede8cc50d63f33f4187e5d79d94df20f635507cfef9d0" dependencies = [ "phf", "swc_atoms", @@ -2185,19 +2209,20 @@ dependencies = [ [[package]] name = "swc_ecma_lints" -version = "0.36.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "255f8894576ab4c228f995be2a70d98f8f10cc374763ea7cedcc57917b87c646" +checksum = "98f9d85b34320a3259914f38a56af7f53b9a6a8ccdb58e9a47e10ce4a3f77f78" dependencies = [ "ahash", "auto_impl", - "dashmap 5.1.0", + "dashmap", "parking_lot", "rayon", "regex", "serde", "swc_atoms", "swc_common", + "swc_config", "swc_ecma_ast", "swc_ecma_utils", "swc_ecma_visit", @@ -2205,13 +2230,13 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.29.1" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e719f646201c51964a2c7b2a3dd79fadb563fc6a72454a7bc093d18c4aad44b0" +checksum = "0f7baaa5b99cdf49e830caf54b837891c5c38275ac94c31d555859be95f6479c" dependencies = [ "ahash", "anyhow", - "dashmap 5.1.0", + "dashmap", "lru", "normpath", "once_cell", @@ -2227,9 +2252,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.107.2" +version = "0.114.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63849757c8b868b0ff7cd0fededd16e239a227863b9ec1aeade95a5839927fd6" +checksum = "c081b070728a95156fdf4589257c2a8321df182432f5f23b395330a8462f3be8" dependencies = [ "ahash", "arrayvec", @@ -2245,6 +2270,7 @@ dependencies = [ "swc_atoms", "swc_cached", "swc_common", + "swc_config", "swc_ecma_ast", "swc_ecma_codegen", "swc_ecma_parser", @@ -2259,9 +2285,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.102.10" +version = "0.104.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac5c37aa7bf93679d30d9d787ff985fca528fe4b15cf40321389a506aec10b3" +checksum = "efb97dc6efc95313dedc5158055cc811da77395ef7b54be61948b5ad097a3671" dependencies = [ "either", "enum_kind", @@ -2279,13 +2305,13 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.123.1" +version = "0.129.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ecd6f2e476981e127706792bf6f6d086bab33c6156a473a1fb7eb36931308ba" +checksum = "b5454c4b5a1e9b8278a5f40e3e03e986c70669768630d7a1252665d63cce3e5b" dependencies = [ "ahash", "anyhow", - "dashmap 5.1.0", + "dashmap", "indexmap", "once_cell", "preset_env_base", @@ -2304,9 +2330,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.148.0" +version = "0.154.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92bb59bb6ec5fcb6fc186b6037a8165be6686cd48974c1f2527e0d567401e924" +checksum = "2bce21d9e8ff785aaf9b4ac11375d9f5767630fcaf882f72e6af0516224085a6" dependencies = [ "swc_atoms", "swc_common", @@ -2324,9 +2350,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.80.1" +version = "0.85.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01241a65b5919ea63f0e1f81bd35c91d39999835a3bf1140529086dff4fcee82" +checksum = "8262876d5387887776f23c4894fbddff26e5f184edadf2375f3dc19fca2b42a4" dependencies = [ "better_scoped_tls", "once_cell", @@ -2345,9 +2371,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.68.0" +version = "0.73.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec137c540f3a9b74338ba5ff895cd3330a3d093503b3f0a4a6cbfc4cd7b83216" +checksum = "e74a27c29def9db5ff03db4d3ab3d37701fb6d100951162223b71132908451eb" dependencies = [ "swc_atoms", "swc_common", @@ -2359,9 +2385,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.94.1" +version = "0.99.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9ca54cf58110c2c4ceeb71d35decdd8f7798edf8aa4bfc553748f12c0fbfe96" +checksum = "b8765716f50186e937f79726384cced3c2d4d15293fb0df7f32bd2feb25fb314" dependencies = [ "ahash", "arrayvec", @@ -2373,6 +2399,7 @@ dependencies = [ "smallvec", "swc_atoms", "swc_common", + "swc_config", "swc_ecma_ast", "swc_ecma_transforms_base", "swc_ecma_transforms_classes", @@ -2398,9 +2425,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.107.0" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e69346f9341d63b942d699ab9f4bbfd5be431ac00f314cbbc967de0f6777bb" +checksum = "48a5415e54a7b7a95e3dd2ede463e377a6254c6a37fae9830b113a2ad45226fe" dependencies = [ "Inflector", "ahash", @@ -2422,14 +2449,15 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.118.0" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adbef528d0642b07670c193ba2af50ec0da1635e02d9e03aa3004b7793981d41" +checksum = "e27080f65285ccd53bd9ad68e64e62faba2595d57144e4552a1752664525e474" dependencies = [ "ahash", - "dashmap 5.1.0", + "dashmap", "indexmap", "once_cell", + "rustc-hash", "serde_json", "swc_atoms", "swc_common", @@ -2444,9 +2472,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.102.0" +version = "0.107.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccc254c4c98d88e39f2669e73d6d7add46ff5d26ea65a83cc43d418fbd7b3b47" +checksum = "47fc0f3b336764f89adf1899830321c3f5a7e845ede3ad5949eeb7468aa260ab" dependencies = [ "either", "serde", @@ -2463,13 +2491,13 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.109.0" +version = "0.114.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27fe20ec2cb77b66708a85a0ac5dba7686ef1fefc635c6488f8a67f53c962f87" +checksum = "83e0f5f3cf67dd7d57f23b152c9d55159ceaa10b73b2a32f973398d2304f3363" dependencies = [ "ahash", "base64 0.13.0", - "dashmap 5.1.0", + "dashmap", "indexmap", "once_cell", "regex", @@ -2478,6 +2506,7 @@ dependencies = [ "string_enum", "swc_atoms", "swc_common", + "swc_config", "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", @@ -2488,9 +2517,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_testing" -version = "0.82.0" +version = "0.87.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e3344a5db9122d33c5b926e6e80587af2d55460c361c18c2fd76fd55552822" +checksum = "596dce734c8bf195cfefef2f46efab6d2af0aafe9e7da73a3dfc786012290dcf" dependencies = [ "ansi_term", "anyhow", @@ -2511,9 +2540,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.112.0" +version = "0.117.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3546be985a8733f7687e0a95ec65f2254cda00eb7f1eb66d0442262054a80735" +checksum = "fa8f32954c5a7c6bdead39c8a8a1580127a1759f33ef8b87d00f754882e6090a" dependencies = [ "serde", "swc_atoms", @@ -2527,9 +2556,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.82.0" +version = "0.85.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc14fb44a1cf39601f5495c03726accbf0c143a4476a8b80c4cd83cfd01d384" +checksum = "dff9d469b284a48317a695a81346a9609d04ce3a31da4493aac508e0d48a4257" dependencies = [ "indexmap", "once_cell", @@ -2542,9 +2571,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.62.0" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97c42c1e769cd4a442fbe91d076e8600fffae6139a90582db78da27613a033e" +checksum = "f2d3783a0dd1e301ae2945ab1241405f913427f9512ec62756d3d2072f7c21bb" dependencies = [ "num-bigint", "swc_atoms", @@ -2556,9 +2585,9 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.150.0" +version = "0.157.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b856c5eec703e78576bd1c7d39886be932bb1c2cec0deb54781455bd6abd4fd" +checksum = "bd35679e1dc392f776b691b125692d90a7bebd5d23ec96699cfe37d8ae8633b1" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -2571,7 +2600,7 @@ dependencies = [ [[package]] name = "swc_emotion" -version = "0.4.0" +version = "0.5.0" dependencies = [ "base64 0.13.0", "byteorder", @@ -2604,9 +2633,9 @@ dependencies = [ [[package]] name = "swc_error_reporters" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9465ed499a1343831a516c1b3614f0962edd6ed18c86a4f28dc04edffca35345" +checksum = "dd346c54737891742238ee43f62d4d6f87267412290e087facc9e12f80ed8147" dependencies = [ "anyhow", "miette", @@ -2617,9 +2646,9 @@ dependencies = [ [[package]] name = "swc_fast_graph" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9860ef8ffc31eedf45bc39a60a2500838a331e3e687bc005fe69088f6a966460" +checksum = "dccdc7e1f2d987c1e2fc7dfb36ef86666f04e5fad4fe88d3a1d05e4f01181d95" dependencies = [ "ahash", "indexmap", @@ -2629,9 +2658,9 @@ dependencies = [ [[package]] name = "swc_graph_analyzer" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67696e05cdf3efc1daded3b4803639da25fd9254ca6bae16539058197a411de8" +checksum = "c279894062688a31a6de1c95e00eb7cfcaa2a471334f6b741f083b86096f2a84" dependencies = [ "ahash", "auto_impl", @@ -2642,9 +2671,9 @@ dependencies = [ [[package]] name = "swc_macros_common" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033f8b6e2fc4991a8e422a20b4f52741affcac2267c29357c931508a1a500797" +checksum = "d5dca3f08d02da4684c3373150f7c045128f81ea00f0c434b1b012bc65a6cce3" dependencies = [ "pmutil", "proc-macro2", @@ -2654,29 +2683,30 @@ dependencies = [ [[package]] name = "swc_node_base" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0efb0cc6b36a0eef28e60dd677eceb343b336fb5c425f6f7abec640f8c230293" +checksum = "453fe6f9b8b74ab126bc034cf8a67cd454f448371123fd555e7549ca66e7bbc9" dependencies = [ "mimalloc-rust", + "tikv-jemallocator", ] [[package]] name = "swc_node_comments" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb940728fcaa85b619ae43c23110a2e88c1cd90e9a873bebb0f9f80e5ecd7e6" +checksum = "8b4340b405efbc7c78d6f9d207c58956156ba9e2f020cf6225100fe4ab4e0991" dependencies = [ "ahash", - "dashmap 4.0.2", + "dashmap", "swc_common", ] [[package]] name = "swc_timer" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da20626dc319879e74f01c26c5fb79548142f8bc4a558953c55b9e71a89ea96c" +checksum = "60ca6c177dc2b848c73d721eea6c33f047c82a1e4a5795ea9b8114ced027f8ed" dependencies = [ "tracing", ] @@ -2762,9 +2792,9 @@ dependencies = [ [[package]] name = "testing" -version = "0.19.1" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a90d2d2c743fc9b81b9632fdf31ad0fa110d8b7c4c548811d22863126d9c61" +checksum = "fc9a7757a11d5c5f9f53958c942af5ecacb8811779c0702ef3dba07aa96e78cc" dependencies = [ "ansi_term", "difference", @@ -2835,6 +2865,27 @@ dependencies = [ "once_cell", ] +[[package]] +name = "tikv-jemalloc-sys" +version = "0.4.3+5.2.1-patched.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49" +dependencies = [ + "cc", + "fs_extra", + "libc", +] + +[[package]] +name = "tikv-jemallocator" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b7bcecfafe4998587d636f9ae9d55eb9d0499877b88757767c346875067098" +dependencies = [ + "libc", + "tikv-jemalloc-sys", +] + [[package]] name = "time" version = "0.1.43" diff --git a/packages/next-swc/crates/core/Cargo.toml b/packages/next-swc/crates/core/Cargo.toml index b1bf2d334fcd..3487d682b16d 100644 --- a/packages/next-swc/crates/core/Cargo.toml +++ b/packages/next-swc/crates/core/Cargo.toml @@ -21,15 +21,15 @@ swc_emotion = {path="../emotion"} styled_components = {path="../styled_components"} styled_jsx = {path="../styled_jsx"} modularize_imports = {path="../modularize_imports"} -swc = "0.172.1" +swc = "0.180.0" swc_atoms = "0.2.11" -swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] } -swc_ecma_loader = { version = "0.29.1", features = ["node", "lru"] } -swc_ecmascript = { version = "0.150.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } +swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_ecma_loader = { version = "0.30.1", features = ["node", "lru"] } +swc_ecmascript = { version = "0.157.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } swc_cached = "0.1.1" tracing = { version = "0.1.32", features = ["release_max_level_info"] } [dev-dependencies] -swc_ecma_transforms_testing = "0.82.0" -testing = "0.19.1" +swc_ecma_transforms_testing = "0.87.0" +testing = "0.20.0" walkdir = "2.3.2" diff --git a/packages/next-swc/crates/core/src/disallow_re_export_all_in_page.rs b/packages/next-swc/crates/core/src/disallow_re_export_all_in_page.rs index 78983a8b32f7..2d0871952e1d 100644 --- a/packages/next-swc/crates/core/src/disallow_re_export_all_in_page.rs +++ b/packages/next-swc/crates/core/src/disallow_re_export_all_in_page.rs @@ -1,6 +1,6 @@ +use swc_common::errors::HANDLER; use swc_common::pass::Optional; use swc_ecmascript::ast::ExportAll; -use swc_ecmascript::utils::HANDLER; use swc_ecmascript::visit::{noop_fold_type, Fold}; pub fn disallow_re_export_all_in_page(is_page_file: bool) -> impl Fold { diff --git a/packages/next-swc/crates/core/src/next_dynamic.rs b/packages/next-swc/crates/core/src/next_dynamic.rs index 4d45798a20a6..fef78a24f828 100644 --- a/packages/next-swc/crates/core/src/next_dynamic.rs +++ b/packages/next-swc/crates/core/src/next_dynamic.rs @@ -2,17 +2,14 @@ use std::path::{Path, PathBuf}; use pathdiff::diff_paths; use swc_atoms::js_word; +use swc_common::errors::HANDLER; use swc_common::{FileName, DUMMY_SP}; use swc_ecmascript::ast::{ ArrayLit, ArrowExpr, BinExpr, BinaryOp, BlockStmtOrExpr, Bool, CallExpr, Callee, Expr, - ExprOrSpread, Ident, ImportDecl, ImportSpecifier, KeyValueProp, Lit, MemberExpr, MemberProp, - Null, ObjectLit, Prop, PropName, PropOrSpread, Str, + ExprOrSpread, Id, Ident, ImportDecl, ImportSpecifier, KeyValueProp, Lit, MemberExpr, + MemberProp, Null, ObjectLit, Prop, PropName, PropOrSpread, Str, }; use swc_ecmascript::utils::ExprFactory; -use swc_ecmascript::utils::{ - ident::{Id, IdentLike}, - HANDLER, -}; use swc_ecmascript::visit::{Fold, FoldWith}; pub fn next_dynamic( diff --git a/packages/next-swc/crates/core/src/next_ssg.rs b/packages/next-swc/crates/core/src/next_ssg.rs index 2f8987ed2139..9ea18dcb7b84 100644 --- a/packages/next-swc/crates/core/src/next_ssg.rs +++ b/packages/next-swc/crates/core/src/next_ssg.rs @@ -3,15 +3,12 @@ use fxhash::FxHashSet; use std::cell::RefCell; use std::mem::take; use std::rc::Rc; +use swc_common::errors::HANDLER; use swc_common::pass::{Repeat, Repeated}; use swc_common::DUMMY_SP; use swc_ecmascript::ast::*; -use swc_ecmascript::utils::ident::IdentLike; use swc_ecmascript::visit::FoldWith; -use swc_ecmascript::{ - utils::{Id, HANDLER}, - visit::{noop_fold_type, Fold}, -}; +use swc_ecmascript::visit::{noop_fold_type, Fold}; static SSG_EXPORTS: &[&str; 3] = &["getStaticProps", "getStaticPaths", "getServerSideProps"]; diff --git a/packages/next-swc/crates/core/src/page_config.rs b/packages/next-swc/crates/core/src/page_config.rs index eeb092ba6f18..1747358557f8 100644 --- a/packages/next-swc/crates/core/src/page_config.rs +++ b/packages/next-swc/crates/core/src/page_config.rs @@ -1,7 +1,7 @@ use chrono::Utc; +use swc_common::errors::HANDLER; use swc_common::{Span, DUMMY_SP}; use swc_ecmascript::ast::*; -use swc_ecmascript::utils::HANDLER; use swc_ecmascript::visit::{Fold, FoldWith}; pub fn page_config(is_development: bool, is_page_file: bool) -> impl Fold { diff --git a/packages/next-swc/crates/core/src/remove_console.rs b/packages/next-swc/crates/core/src/remove_console.rs index f2b3cb18683a..909cf5b5f322 100644 --- a/packages/next-swc/crates/core/src/remove_console.rs +++ b/packages/next-swc/crates/core/src/remove_console.rs @@ -3,8 +3,6 @@ use swc_atoms::JsWord; use swc_common::collections::AHashSet; use swc_common::DUMMY_SP; use swc_ecmascript::ast::*; -use swc_ecmascript::utils::ident::IdentLike; -use swc_ecmascript::utils::Id; use swc_ecmascript::visit::{noop_fold_type, Fold, FoldWith}; use crate::top_level_binding_collector::collect_top_level_decls; diff --git a/packages/next-swc/crates/core/src/shake_exports.rs b/packages/next-swc/crates/core/src/shake_exports.rs index 083e490967c2..23af7d12f937 100644 --- a/packages/next-swc/crates/core/src/shake_exports.rs +++ b/packages/next-swc/crates/core/src/shake_exports.rs @@ -1,6 +1,7 @@ use serde::Deserialize; use swc_atoms::js_word; use swc_atoms::JsWord; +use swc_common::Mark; use swc_ecmascript::ast::*; use swc_ecmascript::transforms::optimization::simplify::dce::{dce, Config as DCEConfig}; use swc_ecmascript::visit::{Fold, FoldWith}; @@ -26,7 +27,7 @@ struct ExportShaker { impl Fold for ExportShaker { fn fold_module(&mut self, module: Module) -> Module { let module = module.fold_children_with(self); - module.fold_with(&mut dce(DCEConfig::default())) + module.fold_with(&mut dce(DCEConfig::default(), Mark::new())) } fn fold_module_items(&mut self, items: Vec) -> Vec { diff --git a/packages/next-swc/crates/core/tests/fixture.rs b/packages/next-swc/crates/core/tests/fixture.rs index 6cc8a53a74a2..f6879aef8200 100644 --- a/packages/next-swc/crates/core/tests/fixture.rs +++ b/packages/next-swc/crates/core/tests/fixture.rs @@ -87,15 +87,15 @@ fn next_ssg_fixture(input: PathBuf) { tr.cm.clone(), None, swc_ecmascript::transforms::react::Options { - next: false, + next: false.into(), runtime: None, - import_source: "".into(), - pragma: "__jsx".into(), - pragma_frag: "__jsxFrag".into(), - throw_if_namespace: false, - development: false, - use_builtins: true, - use_spread: true, + import_source: Some("".into()), + pragma: Some("__jsx".into()), + pragma_frag: Some("__jsxFrag".into()), + throw_if_namespace: false.into(), + development: false.into(), + use_builtins: true.into(), + use_spread: true.into(), refresh: Default::default(), }, top_level_mark, diff --git a/packages/next-swc/crates/emotion/Cargo.toml b/packages/next-swc/crates/emotion/Cargo.toml index 175fdcda5704..32d988eddd07 100644 --- a/packages/next-swc/crates/emotion/Cargo.toml +++ b/packages/next-swc/crates/emotion/Cargo.toml @@ -5,7 +5,7 @@ description = "AST Transforms for emotion" license = "Apache-2.0" name = "swc_emotion" repository = "https://github.com/vercel/next.js.git" -version = "0.4.0" +version = "0.5.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -19,11 +19,11 @@ regex = "1.5" serde = "1" sourcemap = "6.0.1" swc_atoms = "0.2.11" -swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] } -swc_ecmascript = { version = "0.150.0", features = ["codegen", "utils", "visit"] } +swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_ecmascript = { version = "0.157.0", features = ["codegen", "utils", "visit"] } swc_trace_macro = "0.1.1" tracing = { version = "0.1.32", features = ["release_max_level_info"] } [dev-dependencies] -swc_ecma_transforms_testing = "0.82.0" -testing = "0.19.1" +swc_ecma_transforms_testing = "0.87.0" +testing = "0.20.0" diff --git a/packages/next-swc/crates/emotion/src/lib.rs b/packages/next-swc/crates/emotion/src/lib.rs index 795070aa3a51..74667a73e736 100644 --- a/packages/next-swc/crates/emotion/src/lib.rs +++ b/packages/next-swc/crates/emotion/src/lib.rs @@ -15,12 +15,11 @@ use swc_ecmascript::ast::{ ArrayLit, CallExpr, JSXAttr, JSXAttrName, JSXAttrOrSpread, JSXAttrValue, JSXElementName, JSXExpr, JSXExprContainer, JSXObject, }; -use swc_ecmascript::utils::ident::IdentLike; -use swc_ecmascript::utils::{ExprFactory, Id}; +use swc_ecmascript::utils::ExprFactory; use swc_ecmascript::{ ast::{ - Callee, Expr, ExprOrSpread, Ident, ImportDecl, ImportSpecifier, JSXElement, KeyValueProp, - MemberProp, ObjectLit, Pat, Prop, PropName, PropOrSpread, Tpl, VarDeclarator, + Callee, Expr, ExprOrSpread, Id, Ident, ImportDecl, ImportSpecifier, JSXElement, + KeyValueProp, MemberProp, ObjectLit, Pat, Prop, PropName, PropOrSpread, Tpl, VarDeclarator, }, codegen::util::SourceMapperExt, visit::{Fold, FoldWith}, diff --git a/packages/next-swc/crates/emotion/tests/fixture.rs b/packages/next-swc/crates/emotion/tests/fixture.rs index 5918b0684178..a744c1f37602 100644 --- a/packages/next-swc/crates/emotion/tests/fixture.rs +++ b/packages/next-swc/crates/emotion/tests/fixture.rs @@ -27,12 +27,12 @@ fn next_emotion_fixture(input: PathBuf) { tr.cm.clone(), Some(tr.comments.as_ref().clone()), swc_ecmascript::transforms::react::Options { - next: false, + next: false.into(), runtime: Some(Runtime::Automatic), - throw_if_namespace: false, - development: false, - use_builtins: true, - use_spread: true, + throw_if_namespace: false.into(), + development: false.into(), + use_builtins: true.into(), + use_spread: true.into(), ..Default::default() }, top_level_mark, diff --git a/packages/next-swc/crates/modularize_imports/Cargo.toml b/packages/next-swc/crates/modularize_imports/Cargo.toml index e48231ac74df..7f35ad793667 100644 --- a/packages/next-swc/crates/modularize_imports/Cargo.toml +++ b/packages/next-swc/crates/modularize_imports/Cargo.toml @@ -5,7 +5,7 @@ edition = "2018" license = "Apache-2.0" name = "modularize_imports" repository = "https://github.com/vercel/next.js.git" -version = "0.3.0" +version = "0.4.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -15,8 +15,8 @@ once_cell = "1.8.0" regex = "1.5" serde = "1" swc_cached = "0.1.1" -swc_ecmascript = { version = "0.150.0", features = ["visit"] } +swc_ecmascript = { version = "0.157.0", features = ["visit"] } [dev-dependencies] -swc_ecma_transforms_testing = "0.82.0" -testing = "0.19.1" +swc_ecma_transforms_testing = "0.87.0" +testing = "0.20.0" diff --git a/packages/next-swc/crates/napi/Cargo.toml b/packages/next-swc/crates/napi/Cargo.toml index 30a8df56de35..78fec4fa9741 100644 --- a/packages/next-swc/crates/napi/Cargo.toml +++ b/packages/next-swc/crates/napi/Cargo.toml @@ -17,13 +17,13 @@ next-swc = {version = "0.0.0", path = "../core"} once_cell = "1.8.0" serde = "1" serde_json = "1" -swc = "0.172.1" +swc = "0.180.0" swc_atoms = "0.2.11" -swc_bundler = { version = "0.140.0", features = ["concurrent"] } -swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] } -swc_ecma_loader = { version = "0.29.1", features = ["node", "lru"] } -swc_ecmascript = { version = "0.150.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } -swc_node_base = "0.5.2" +swc_bundler = { version = "0.147.0", features = ["concurrent"] } +swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_ecma_loader = { version = "0.30.1", features = ["node", "lru"] } +swc_ecmascript = { version = "0.157.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } +swc_node_base = "0.5.3" tracing = { version = "0.1.32", features = ["release_max_level_info"] } tracing-futures = "0.2.5" tracing-subscriber = "0.3.9" diff --git a/packages/next-swc/crates/napi/src/bundle/mod.rs b/packages/next-swc/crates/napi/src/bundle/mod.rs index 8a63de962561..a573002efb04 100644 --- a/packages/next-swc/crates/napi/src/bundle/mod.rs +++ b/packages/next-swc/crates/napi/src/bundle/mod.rs @@ -123,6 +123,8 @@ impl Task for BundleTask { None, false, Some(&comments), + true, + false, )?; Ok(code) diff --git a/packages/next-swc/crates/styled_components/Cargo.toml b/packages/next-swc/crates/styled_components/Cargo.toml index 062647a352f9..c4bb3aa55ff8 100644 --- a/packages/next-swc/crates/styled_components/Cargo.toml +++ b/packages/next-swc/crates/styled_components/Cargo.toml @@ -6,7 +6,7 @@ include = ["Cargo.toml", "src/**/*.rs"] license = "Apache-2.0" name = "styled_components" repository = "https://github.com/vercel/next.js.git" -version = "0.28.0" +version = "0.29.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -16,12 +16,12 @@ once_cell = "1.10.0" regex = {version = "1.5.4", features = ["std", "perf"], default-features = false} serde = {version = "1.0.130", features = ["derive"]} swc_atoms = "0.2.11" -swc_common = {version = "0.17.25", features = ["concurrent"]} -swc_ecmascript = {version = "0.150.0", features = ["utils", "visit"]} +swc_common = { version = "0.18.2", features = ["concurrent"] } +swc_ecmascript = { version = "0.157.0", features = ["utils", "visit"] } tracing = "0.1.32" [dev-dependencies] serde_json = "1" -swc_ecma_transforms_testing = "0.82.0" -swc_ecmascript = {version = "0.150.0", features = ["parser", "transforms"]} -testing = "0.19.1" +swc_ecma_transforms_testing = "0.87.0" +swc_ecmascript = { version = "0.157.0", features = ["parser", "transforms"] } +testing = "0.20.0" diff --git a/packages/next-swc/crates/styled_components/src/utils/analyzer.rs b/packages/next-swc/crates/styled_components/src/utils/analyzer.rs index 13ec0b39673c..5d59d92123fb 100644 --- a/packages/next-swc/crates/styled_components/src/utils/analyzer.rs +++ b/packages/next-swc/crates/styled_components/src/utils/analyzer.rs @@ -3,7 +3,6 @@ use crate::Config; use std::{cell::RefCell, rc::Rc}; use swc_ecmascript::{ ast::*, - utils::ident::IdentLike, visit::{as_folder, noop_visit_mut_type, noop_visit_type, Fold, Visit, VisitMut, VisitWith}, }; diff --git a/packages/next-swc/crates/styled_components/src/utils/mod.rs b/packages/next-swc/crates/styled_components/src/utils/mod.rs index 99de8fe8ba53..de303c989d18 100644 --- a/packages/next-swc/crates/styled_components/src/utils/mod.rs +++ b/packages/next-swc/crates/styled_components/src/utils/mod.rs @@ -4,10 +4,7 @@ use regex::{Captures, Regex}; use std::{borrow::Cow, cell::RefCell}; use swc_atoms::js_word; use swc_common::{collections::AHashMap, SyntaxContext}; -use swc_ecmascript::{ - ast::*, - utils::{ident::IdentLike, Id}, -}; +use swc_ecmascript::ast::*; mod analyzer; diff --git a/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/top_level_binding_collector.rs b/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/top_level_binding_collector.rs index f99e7f0291b4..85848cb124a2 100644 --- a/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/top_level_binding_collector.rs +++ b/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/top_level_binding_collector.rs @@ -1,10 +1,9 @@ use swc_common::collections::AHashSet; use swc_ecmascript::{ ast::{ - ArrowExpr, ClassDecl, FnDecl, Function, ImportDefaultSpecifier, ImportNamedSpecifier, + ArrowExpr, ClassDecl, FnDecl, Function, Id, ImportDefaultSpecifier, ImportNamedSpecifier, ImportStarAsSpecifier, ObjectPatProp, Pat, VarDeclarator, }, - utils::{ident::IdentLike, Id}, visit::{noop_visit_type, Visit, VisitWith}, }; diff --git a/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/transpile.rs b/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/transpile.rs index 9fcb801e493d..1a9f96b302d9 100644 --- a/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/transpile.rs +++ b/packages/next-swc/crates/styled_components/src/visitors/transpile_css_prop/transpile.rs @@ -13,7 +13,7 @@ use swc_common::{ }; use swc_ecmascript::{ ast::*, - utils::{ident::IdentLike, prepend, private_ident, quote_ident, ExprExt, ExprFactory, Id}, + utils::{prepend_stmt, private_ident, quote_ident, ExprFactory}, visit::{as_folder, noop_visit_mut_type, Fold, VisitMut, VisitMutWith}, }; @@ -140,7 +140,12 @@ impl VisitMut for TranspileCssProp { .. }) => match &mut **v { Expr::Tpl(..) => *v.take(), - Expr::TaggedTpl(v) if v.tag.is_ident_ref_to("css".into()) => { + Expr::TaggedTpl(v) + if match &*v.tag { + Expr::Ident(i) => &*i.sym == "css", + _ => false, + } => + { Expr::Tpl(v.tpl.take()) } Expr::Object(..) => *v.take(), @@ -348,7 +353,7 @@ impl VisitMut for TranspileCssProp { span: DUMMY_SP, local: import_name, }); - prepend( + prepend_stmt( &mut n.body, ModuleItem::ModuleDecl(ModuleDecl::Import(ImportDecl { span: DUMMY_SP, diff --git a/packages/next-swc/crates/styled_jsx/Cargo.toml b/packages/next-swc/crates/styled_jsx/Cargo.toml index f6fa064f0e8f..45d017183968 100644 --- a/packages/next-swc/crates/styled_jsx/Cargo.toml +++ b/packages/next-swc/crates/styled_jsx/Cargo.toml @@ -5,18 +5,18 @@ edition = "2018" license = "Apache-2.0" name = "styled_jsx" repository = "https://github.com/vercel/next.js.git" -version = "0.3.0" +version = "0.4.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] easy-error = "1.0.0" -swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] } -swc_css = "0.104.1" -swc_css_prefixer = "0.100.4" -swc_ecmascript = { version = "0.150.0", features = ["parser", "minifier", "utils", "visit"] } +swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_css = "0.105.0" +swc_css_prefixer = "0.101.0" +swc_ecmascript = { version = "0.157.0", features = ["parser", "minifier", "utils", "visit"] } tracing = "0.1.32" [dev-dependencies] -swc_ecma_transforms_testing = "0.82.0" -testing = "0.19.1" +swc_ecma_transforms_testing = "0.87.0" +testing = "0.20.0" diff --git a/packages/next-swc/crates/styled_jsx/src/lib.rs b/packages/next-swc/crates/styled_jsx/src/lib.rs index e272d7fa3f43..6f1853c49104 100644 --- a/packages/next-swc/crates/styled_jsx/src/lib.rs +++ b/packages/next-swc/crates/styled_jsx/src/lib.rs @@ -3,17 +3,14 @@ use std::collections::hash_map::DefaultHasher; use std::hash::{Hash, Hasher}; use std::mem::take; use std::sync::Arc; +use swc_common::errors::HANDLER; use swc_common::{collections::AHashSet, FileName, SourceMap, Span, DUMMY_SP}; use swc_ecmascript::ast::*; use swc_ecmascript::minifier::{ eval::{EvalResult, Evaluator}, marks::Marks, }; -use swc_ecmascript::utils::{ - collect_decls, - ident::{Id, IdentLike}, - prepend, HANDLER, -}; +use swc_ecmascript::utils::{collect_decls, prepend_stmt}; use swc_ecmascript::utils::{drop_span, private_ident}; use swc_ecmascript::visit::{Fold, FoldWith}; @@ -334,7 +331,7 @@ impl Fold for StyledJSXTransformer { } if self.file_has_styled_jsx || self.file_has_css_resolve { - prepend( + prepend_stmt( &mut new_items, styled_jsx_import_decl(self.style_import_name.as_ref().unwrap()), ); diff --git a/packages/next-swc/crates/styled_jsx/src/transform_css.rs b/packages/next-swc/crates/styled_jsx/src/transform_css.rs index 83f4f28bf735..7d0a11a9ae4d 100644 --- a/packages/next-swc/crates/styled_jsx/src/transform_css.rs +++ b/packages/next-swc/crates/styled_jsx/src/transform_css.rs @@ -1,6 +1,7 @@ use easy_error::{bail, Error}; use std::panic; use std::sync::Arc; +use swc_common::errors::HANDLER; use swc_common::util::take::Take; use swc_common::{source_map::Pos, BytePos, Span, SyntaxContext, DUMMY_SP}; use swc_common::{SourceMap, Spanned}; @@ -15,7 +16,6 @@ use swc_css::visit::{VisitMut, VisitMutWith}; use swc_css_prefixer::prefixer; use swc_ecmascript::ast::{Expr, Tpl, TplElement}; use swc_ecmascript::parser::StringInput; -use swc_ecmascript::utils::HANDLER; use tracing::{debug, trace}; use super::{hash_string, string_literal_expr, LocalStyle}; diff --git a/packages/next-swc/crates/wasm/Cargo.toml b/packages/next-swc/crates/wasm/Cargo.toml index 357c7c775237..f90325b2b4a5 100644 --- a/packages/next-swc/crates/wasm/Cargo.toml +++ b/packages/next-swc/crates/wasm/Cargo.toml @@ -16,9 +16,9 @@ parking_lot_core = "=0.8.0" path-clean = "0.1" serde = {version = "1", features = ["derive"]} serde_json = "1" -swc = "0.172.1" -swc_common = { version = "0.17.25", features = ["concurrent", "sourcemap"] } -swc_ecmascript = { version = "0.150.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } +swc = "0.180.0" +swc_common = { version = "0.18.2", features = ["concurrent", "sourcemap"] } +swc_ecmascript = { version = "0.157.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] } tracing = { version = "0.1.32", features = ["release_max_level_off"] } wasm-bindgen = {version = "0.2", features = ["serde-serialize"]} wasm-bindgen-futures = "0.4.8"