From 3eeb23467d57a04b3b2f800269330cefb1c32e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 11:55:13 +0900 Subject: [PATCH 01/48] Drop dep on `swc_core` --- Cargo.toml | 5 +---- crates/turbopack-build/Cargo.toml | 5 ----- crates/turbopack-core/Cargo.toml | 1 - crates/turbopack-css/Cargo.toml | 15 ------------- crates/turbopack-dev/Cargo.toml | 1 - .../turbopack-ecmascript-runtime/Cargo.toml | 2 -- crates/turbopack-ecmascript/Cargo.toml | 22 +------------------ crates/turbopack-swc-ast-explorer/Cargo.toml | 6 ----- crates/turbopack-swc-utils/Cargo.toml | 7 ------ 9 files changed, 2 insertions(+), 62 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a4d18e512f2fa..249b04244103c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -82,10 +82,7 @@ mdxjs = "0.1.19" modularize_imports = { version = "0.55.0" } styled_components = { version = "0.82.0" } styled_jsx = { version = "0.59.0" } -swc_core = { version = "0.86.40", features = [ - "ecma_loader_lru", - "ecma_loader_parking_lot", -] } +swc_core = { version = "0.86.40"} swc_emotion = { version = "0.58.0" } swc_relay = { version = "0.30.0" } testing = { version = "0.35.7" } diff --git a/crates/turbopack-build/Cargo.toml b/crates/turbopack-build/Cargo.toml index 2a199f33f8bb1..a33116a20edcb 100644 --- a/crates/turbopack-build/Cargo.toml +++ b/crates/turbopack-build/Cargo.toml @@ -23,11 +23,6 @@ serde = { workspace = true } serde_json = { workspace = true } serde_qs = { workspace = true } sourcemap = { workspace = true } -swc_core = { workspace = true, features = [ - "__parser", - "ecma_minifier", - "ecma_minifier_concurrent", -] } turbo-tasks = { workspace = true } turbo-tasks-fs = { workspace = true } diff --git a/crates/turbopack-core/Cargo.toml b/crates/turbopack-core/Cargo.toml index 4ecbde668387f..cf6d26fdc2ace 100644 --- a/crates/turbopack-core/Cargo.toml +++ b/crates/turbopack-core/Cargo.toml @@ -26,7 +26,6 @@ serde = { workspace = true, features = ["rc"] } serde_json = { workspace = true, features = ["preserve_order"] } serde_qs = { workspace = true } sourcemap = { workspace = true } -swc_core = { workspace = true, features = ["ecma_preset_env", "common"] } tracing = { workspace = true } turbo-tasks = { workspace = true } turbo-tasks-env = { workspace = true } diff --git a/crates/turbopack-css/Cargo.toml b/crates/turbopack-css/Cargo.toml index ab70130faaa53..a5a4ee4fb0201 100644 --- a/crates/turbopack-css/Cargo.toml +++ b/crates/turbopack-css/Cargo.toml @@ -24,20 +24,5 @@ turbopack-core = { workspace = true } turbopack-ecmascript = { workspace = true } turbopack-swc-utils = { workspace = true } -swc_core = { workspace = true, features = [ - "ecma_ast", - "css_ast", - "css_ast_serde", - "css_codegen", - "css_parser", - "css_utils", - "css_visit", - "css_visit_path", - "css_compat", - "css_modules", - "common", - "common_concurrent", -] } - [build-dependencies] turbo-tasks-build = { workspace = true } diff --git a/crates/turbopack-dev/Cargo.toml b/crates/turbopack-dev/Cargo.toml index 4c8fa46ccee88..5ff7e121c09c3 100644 --- a/crates/turbopack-dev/Cargo.toml +++ b/crates/turbopack-dev/Cargo.toml @@ -32,7 +32,6 @@ turbopack-css = { workspace = true } turbopack-ecmascript = { workspace = true } turbopack-ecmascript-runtime = { workspace = true } -swc_core = { workspace = true } [build-dependencies] turbo-tasks-build = { workspace = true } diff --git a/crates/turbopack-ecmascript-runtime/Cargo.toml b/crates/turbopack-ecmascript-runtime/Cargo.toml index f8146c4d95660..7d47cce3069d4 100644 --- a/crates/turbopack-ecmascript-runtime/Cargo.toml +++ b/crates/turbopack-ecmascript-runtime/Cargo.toml @@ -26,7 +26,5 @@ turbopack = { workspace = true } turbopack-core = { workspace = true } turbopack-ecmascript = { workspace = true } -swc_core = { workspace = true } - [build-dependencies] turbo-tasks-build = { workspace = true } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 57d77a30dd09e..c62cf18f2e36b 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -36,27 +36,7 @@ turbopack-core = { workspace = true } turbopack-swc-utils = { workspace = true } url = { workspace = true } -swc_core = { workspace = true, features = [ - "ecma_ast", - "ecma_ast_serde", - "common", - "common_concurrent", - "common_sourcemap", - "ecma_codegen", - "ecma_parser", - "ecma_preset_env", - "ecma_transforms", - "ecma_transforms_module", - "ecma_transforms_react", - "ecma_transforms_typescript", - "ecma_transforms_proposal", - "ecma_quote", - "ecma_visit", - "ecma_visit_path", - "ecma_utils", - "testing", - "base", -] } +swc_core = { workspace = true, features = ["ecma_quote"] } [dev-dependencies] criterion = { workspace = true, features = ["async_tokio"] } diff --git a/crates/turbopack-swc-ast-explorer/Cargo.toml b/crates/turbopack-swc-ast-explorer/Cargo.toml index 929f1c9e350bd..99244c24b385e 100644 --- a/crates/turbopack-swc-ast-explorer/Cargo.toml +++ b/crates/turbopack-swc-ast-explorer/Cargo.toml @@ -18,9 +18,3 @@ anyhow = { workspace = true } clap = { workspace = true, features = ["derive"] } owo-colors = { workspace = true } regex = { workspace = true } -swc_core = { workspace = true, features = [ - "base", - "common", - "ecma_ast", - "ecma_parser", -] } diff --git a/crates/turbopack-swc-utils/Cargo.toml b/crates/turbopack-swc-utils/Cargo.toml index 32a5da1df275a..86073d6d70834 100644 --- a/crates/turbopack-swc-utils/Cargo.toml +++ b/crates/turbopack-swc-utils/Cargo.toml @@ -13,12 +13,5 @@ bench = false turbo-tasks = { workspace = true } turbopack-core = { workspace = true } -swc_core = { workspace = true, features = [ - "base", - "common", - "common_concurrent", - "common_sourcemap", -] } - [build-dependencies] turbo-tasks-build = { workspace = true } From 541aaf88ada8066845f480df01d36a192d262606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 11:56:19 +0900 Subject: [PATCH 02/48] fixup --- crates/turbopack-binding/Cargo.toml | 59 ++--------------------------- 1 file changed, 4 insertions(+), 55 deletions(-) diff --git a/crates/turbopack-binding/Cargo.toml b/crates/turbopack-binding/Cargo.toml index b5edcd29716f7..fe5129bfc4181 100644 --- a/crates/turbopack-binding/Cargo.toml +++ b/crates/turbopack-binding/Cargo.toml @@ -11,46 +11,9 @@ bench = false [features] __swc = [] __swc_core = ["__swc"] -__swc_core_next_core = [ - "__swc_core", - "swc_core/common_concurrent", - "swc_core/ecma_ast", - "swc_core/ecma_visit", - "swc_core/ecma_loader_node", - "swc_core/ecma_loader_lru", - "swc_core/ecma_utils", - "swc_core/ecma_minifier", - "swc_core/ecma_transforms", - "swc_core/ecma_transforms_react", - "swc_core/ecma_transforms_typescript", - "swc_core/ecma_transforms_optimization", - "swc_core/ecma_parser", - "swc_core/ecma_parser_typescript", - "swc_core/cached", - "swc_core/base", -] +__swc_core_next_core = ["__swc_core"] -__swc_core_binding_napi = [ - "__swc_core", - "swc_core/base_concurrent", - "swc_core/base_node", - "swc_core/common_concurrent", - "swc_core/ecma_ast", - "swc_core/ecma_loader_node", - "swc_core/ecma_loader_lru", - "swc_core/bundler", - "swc_core/bundler_concurrent", - "swc_core/ecma_codegen", - "swc_core/ecma_minifier", - "swc_core/ecma_parser", - "swc_core/ecma_parser_typescript", - "swc_core/ecma_transforms", - "swc_core/ecma_transforms_optimization", - "swc_core/ecma_transforms_react", - "swc_core/ecma_transforms_typescript", - "swc_core/ecma_utils", - "swc_core/ecma_visit", -] +__swc_core_binding_napi = ["__swc_core"] __swc_core_binding_napi_plugin = [ "swc_core/plugin_transform_host_native", "turbopack-ecmascript-plugins/swc_ecma_transform_plugin", @@ -63,24 +26,10 @@ __swc_core_binding_napi_plugin_shared_runtime = [ ] __swc_core_binding_napi_allocator = ["swc_core/allocator_node"] -__swc_core_binding_wasm = [ - "__swc_core", - "swc_core/common_concurrent", - "swc_core/binding_macro_wasm", - "swc_core/ecma_codegen", - "swc_core/ecma_minifier", - "swc_core/ecma_transforms", - "swc_core/ecma_transforms_typescript", - "swc_core/ecma_transforms_optimization", - "swc_core/ecma_transforms_react", - "swc_core/ecma_parser", - "swc_core/ecma_parser_typescript", - "swc_core/ecma_utils", - "swc_core/ecma_visit", -] +__swc_core_binding_wasm = ["__swc_core"] __swc_core_binding_wasm_plugin = ["swc_core/plugin_transform_host_js"] -__swc_core_testing_transform = ["swc_core/testing_transform"] +__swc_core_testing_transform = [] __turbo = [] __turbo_tasks_malloc = ["__turbo", "turbo-tasks-malloc"] From f8542503dec1a8054b3a75dc7fc057555a7dec49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 11:56:24 +0900 Subject: [PATCH 03/48] cargo lockfile --- Cargo.lock | 221 ----------------------------------------------------- 1 file changed, 221 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 73515ada26fc4..0c2cffc3cad3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -768,27 +768,6 @@ dependencies = [ "which", ] -[[package]] -name = "binding_macros" -version = "0.60.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc6d576fb61191dccafc3c5c69fcfe579606c6e64b71f3b57865040a8eff6ad" -dependencies = [ - "anyhow", - "console_error_panic_hook", - "js-sys", - "once_cell", - "serde", - "serde-wasm-bindgen", - "swc", - "swc_common", - "swc_ecma_ast", - "swc_ecma_transforms", - "swc_ecma_visit", - "wasm-bindgen", - "wasm-bindgen-futures", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -1446,16 +1425,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if 1.0.0", - "wasm-bindgen", -] - [[package]] name = "const-cstr" version = "0.3.0" @@ -1714,21 +1683,6 @@ version = "0.91.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "393bc73c451830ff8dbb3a07f61843d6cb41a084f9996319917c0b291ed785bb" -[[package]] -name = "crc" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49fc9a695bca7f35f5f4c15cddc84415f66a74ea78eef08e90c5024f2b540e23" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403" - [[package]] name = "crc32fast" version = "1.3.2" @@ -3516,7 +3470,6 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", - "rayon", "serde", ] @@ -4562,8 +4515,6 @@ dependencies = [ "napi-derive", "napi-sys", "once_cell", - "serde", - "serde_json", "tokio", ] @@ -7268,8 +7219,6 @@ dependencies = [ "indexmap 1.9.3", "jsonc-parser", "lru", - "napi", - "napi-derive", "once_cell", "parking_lot", "pathdiff", @@ -7315,7 +7264,6 @@ dependencies = [ "clap 4.4.2", "owo-colors", "regex", - "swc_core", ] [[package]] @@ -7332,38 +7280,6 @@ dependencies = [ "serde", ] -[[package]] -name = "swc_bundler" -version = "0.222.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a8e4c2e870949ef919693a16a7bae57e30b75bec662e0e40bba131b5884c3fb" -dependencies = [ - "anyhow", - "crc", - "dashmap", - "indexmap 1.9.3", - "is-macro", - "once_cell", - "parking_lot", - "petgraph", - "radix_fmt", - "rayon", - "relative-path", - "swc_atoms", - "swc_common", - "swc_ecma_ast", - "swc_ecma_codegen", - "swc_ecma_loader", - "swc_ecma_parser", - "swc_ecma_transforms_base", - "swc_ecma_transforms_optimization", - "swc_ecma_utils", - "swc_ecma_visit", - "swc_fast_graph", - "swc_graph_analyzer", - "tracing", -] - [[package]] name = "swc_cached" version = "0.3.18" @@ -7420,8 +7336,6 @@ checksum = "a5aa27756be34b2dcba6e632ac35e1416aefaef7aa1cf9e32c54bdd482a8b5ab" dependencies = [ "anyhow", "base64 0.13.1", - "napi", - "napi-derive", "pathdiff", "serde", "sourcemap", @@ -7467,40 +7381,18 @@ version = "0.86.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22da79427085d5ba7ea5ec14f104f8af66bf479655475cd901d292e87b7b3a73" dependencies = [ - "binding_macros", "swc", "swc_atoms", - "swc_bundler", - "swc_cached", "swc_common", - "swc_css_ast", - "swc_css_codegen", - "swc_css_compat", - "swc_css_modules", - "swc_css_parser", - "swc_css_utils", - "swc_css_visit", "swc_ecma_ast", "swc_ecma_codegen", - "swc_ecma_loader", - "swc_ecma_minifier", "swc_ecma_parser", - "swc_ecma_preset_env", "swc_ecma_quote_macros", "swc_ecma_transforms_base", - "swc_ecma_transforms_module", - "swc_ecma_transforms_optimization", - "swc_ecma_transforms_proposal", - "swc_ecma_transforms_react", - "swc_ecma_transforms_testing", - "swc_ecma_transforms_typescript", - "swc_ecma_utils", "swc_ecma_visit", "swc_node_base", - "swc_nodejs_common", "swc_plugin_proxy", "swc_plugin_runner", - "testing", "vergen", ] @@ -7511,7 +7403,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec6ea3b519c6e44a16f680036f5faadcfd31d6bdad0762f19d4f15c2e6d013a" dependencies = [ "is-macro", - "serde", "string_enum", "swc_atoms", "swc_common", @@ -7547,23 +7438,6 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "swc_css_compat" -version = "0.27.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8448e5731f3d2d2d91b28f11ca2c1ff0d92e7f8f687e3bba20857b0b85abc2fb" -dependencies = [ - "bitflags 2.4.0", - "once_cell", - "serde", - "serde_json", - "swc_atoms", - "swc_common", - "swc_css_ast", - "swc_css_utils", - "swc_css_visit", -] - [[package]] name = "swc_css_minifier" version = "0.116.9" @@ -7578,22 +7452,6 @@ dependencies = [ "swc_css_visit", ] -[[package]] -name = "swc_css_modules" -version = "0.29.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064878840d63575702f64e4f22e7c7866e5d61e3aa026237d5acd7f3b6ce547e" -dependencies = [ - "rustc-hash", - "serde", - "swc_atoms", - "swc_common", - "swc_css_ast", - "swc_css_codegen", - "swc_css_parser", - "swc_css_visit", -] - [[package]] name = "swc_css_parser" version = "0.150.9" @@ -7966,7 +7824,6 @@ dependencies = [ "once_cell", "parking_lot", "radix_fmt", - "rayon", "regex", "rustc-hash", "ryu-js", @@ -8053,19 +7910,6 @@ dependencies = [ "syn 2.0.32", ] -[[package]] -name = "swc_ecma_testing" -version = "0.22.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea1698f37105c753803166f415569edcf34a2b82f41c9aee125d5462af40d13" -dependencies = [ - "anyhow", - "hex", - "sha-1", - "testing", - "tracing", -] - [[package]] name = "swc_ecma_transforms" version = "0.226.29" @@ -8097,7 +7941,6 @@ dependencies = [ "indexmap 1.9.3", "once_cell", "phf 0.10.1", - "rayon", "rustc-hash", "serde", "smallvec", @@ -8134,7 +7977,6 @@ dependencies = [ "indexmap 1.9.3", "is-macro", "num-bigint", - "rayon", "serde", "smallvec", "swc_atoms", @@ -8211,7 +8053,6 @@ dependencies = [ "indexmap 1.9.3", "once_cell", "petgraph", - "rayon", "rustc-hash", "serde_json", "swc_atoms", @@ -8256,7 +8097,6 @@ dependencies = [ "dashmap", "indexmap 1.9.3", "once_cell", - "rayon", "serde", "sha-1", "string_enum", @@ -8271,32 +8111,6 @@ dependencies = [ "swc_ecma_visit", ] -[[package]] -name = "swc_ecma_transforms_testing" -version = "0.137.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3929c8c9820a4277b801ac796f03deddc25134bd2e34a6973a00828c87aa8bdc" -dependencies = [ - "ansi_term", - "anyhow", - "base64 0.13.1", - "hex", - "serde", - "serde_json", - "sha-1", - "sourcemap", - "swc_common", - "swc_ecma_ast", - "swc_ecma_codegen", - "swc_ecma_parser", - "swc_ecma_testing", - "swc_ecma_transforms_base", - "swc_ecma_utils", - "swc_ecma_visit", - "tempfile", - "testing", -] - [[package]] name = "swc_ecma_transforms_typescript" version = "0.185.28" @@ -8340,7 +8154,6 @@ dependencies = [ "indexmap 1.9.3", "num_cpus", "once_cell", - "rayon", "rustc-hash", "swc_atoms", "swc_common", @@ -8357,7 +8170,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c97d88354947ba36b21b355fccb75b5fba2a2db36f00bf8327a6728257662e4f" dependencies = [ "num-bigint", - "serde", "swc_atoms", "swc_common", "swc_ecma_ast", @@ -8426,19 +8238,6 @@ dependencies = [ "swc_common", ] -[[package]] -name = "swc_graph_analyzer" -version = "0.22.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7090c8d9faba1e3ff6ed8f88662ac89ce410cb70f87e940fe29a06099a07c83" -dependencies = [ - "auto_impl", - "petgraph", - "swc_common", - "swc_fast_graph", - "tracing", -] - [[package]] name = "swc_macros_common" version = "0.3.8" @@ -8472,20 +8271,6 @@ dependencies = [ "swc_common", ] -[[package]] -name = "swc_nodejs_common" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c121e55ae90c12401f80a95f0e6de71ba3f3c4dd22b512d163e46fae2f9e175b" -dependencies = [ - "anyhow", - "napi", - "serde", - "serde_json", - "tracing", - "tracing-subscriber", -] - [[package]] name = "swc_plugin_macro" version = "0.9.15" @@ -9879,7 +9664,6 @@ dependencies = [ "serde_json", "serde_qs", "sourcemap", - "swc_core", "turbo-tasks", "turbo-tasks-build", "turbo-tasks-fs", @@ -9992,7 +9776,6 @@ dependencies = [ "serde_json", "serde_qs", "sourcemap", - "swc_core", "tokio", "tracing", "turbo-tasks", @@ -10027,7 +9810,6 @@ dependencies = [ "once_cell", "regex", "serde", - "swc_core", "turbo-tasks", "turbo-tasks-build", "turbo-tasks-fs", @@ -10047,7 +9829,6 @@ dependencies = [ "serde", "serde_json", "serde_qs", - "swc_core", "tracing", "turbo-tasks", "turbo-tasks-build", @@ -10172,7 +9953,6 @@ dependencies = [ "anyhow", "indoc", "serde", - "swc_core", "turbo-tasks", "turbo-tasks-build", "turbo-tasks-fs", @@ -10296,7 +10076,6 @@ dependencies = [ name = "turbopack-swc-utils" version = "0.1.0" dependencies = [ - "swc_core", "turbo-tasks", "turbo-tasks-build", "turbopack-core", From c777ae729d982adc0d810452f64216d041be298b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:04:18 +0900 Subject: [PATCH 04/48] Dep --- Cargo.toml | 11 ++++++++--- crates/turbopack-core/Cargo.toml | 1 + crates/turbopack-swc-ast-explorer/Cargo.toml | 4 ++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 249b04244103c..84e103df42735 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -76,16 +76,21 @@ lto = "off" [workspace.dependencies] async-recursion = "1.0.2" # Keep consistent with preset_env_base through swc_core -browserslist-rs = { version = "0.12.2" } +browserslist-rs = { version = "0.13.0" } mdxjs = "0.1.19" modularize_imports = { version = "0.55.0" } styled_components = { version = "0.82.0" } styled_jsx = { version = "0.59.0" } -swc_core = { version = "0.86.40"} +swc_core = { version = "0.86.50" } +swc_ecma_preset_env = { version = "0.203.36" } swc_emotion = { version = "0.58.0" } swc_relay = { version = "0.30.0" } -testing = { version = "0.35.7" } +testing = { version = "0.35.10" } +swc = "0.269.44" +swc_common = "0.33.8" +swc_ecma_ast = "0.110.9" +swc_ecma_parser = "0.141.18" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-core/Cargo.toml b/crates/turbopack-core/Cargo.toml index cf6d26fdc2ace..a2380eeec4ece 100644 --- a/crates/turbopack-core/Cargo.toml +++ b/crates/turbopack-core/Cargo.toml @@ -26,6 +26,7 @@ serde = { workspace = true, features = ["rc"] } serde_json = { workspace = true, features = ["preserve_order"] } serde_qs = { workspace = true } sourcemap = { workspace = true } +swc_ecma_preset_env = { workspace = true } tracing = { workspace = true } turbo-tasks = { workspace = true } turbo-tasks-env = { workspace = true } diff --git a/crates/turbopack-swc-ast-explorer/Cargo.toml b/crates/turbopack-swc-ast-explorer/Cargo.toml index 99244c24b385e..e069eff5c3b81 100644 --- a/crates/turbopack-swc-ast-explorer/Cargo.toml +++ b/crates/turbopack-swc-ast-explorer/Cargo.toml @@ -18,3 +18,7 @@ anyhow = { workspace = true } clap = { workspace = true, features = ["derive"] } owo-colors = { workspace = true } regex = { workspace = true } +swc = { workspace = true } +swc_common = { workspace = true } +swc_ecma_ast = { workspace = true } +swc_ecma_parser = { workspace = true } From d8d42bc23d238270daa3d9537b691326f5e63c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:04:31 +0900 Subject: [PATCH 05/48] cargo lockfile --- Cargo.lock | 203 +++++++++++++++++++++++++++-------------------------- 1 file changed, 102 insertions(+), 101 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0c2cffc3cad3d..27e128581e0f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -846,27 +846,23 @@ dependencies = [ [[package]] name = "browserslist-rs" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bda9b4595376bf255f68dafb5dcc5b0e2842b38dc2a7b52c4e0bfe9fd1c651" +checksum = "e33066f72a558361eeb1077b0aff0f1dce1ac75bdc20b38a642f155f767b2824" dependencies = [ "ahash 0.8.6", "anyhow", "chrono", "either", - "getrandom", "itertools", - "js-sys", "nom", "once_cell", "quote", "serde", - "serde-wasm-bindgen", "serde_json", "string_cache", "string_cache_codegen", "thiserror", - "wasm-bindgen", ] [[package]] @@ -1863,7 +1859,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa", - "phf 0.10.1", + "phf 0.11.2", "smallvec", ] @@ -3178,9 +3174,9 @@ dependencies = [ [[package]] name = "hstr" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94f8eaaa1bccc114f3ed94b7b66f0195cbf48151402d3efc27f7f6e362042416" +checksum = "de90d3db62411eb62eddabe402d706ac4970f7ac8d088c05f11069cad9be9857" dependencies = [ "new_debug_unreachable", "once_cell", @@ -5562,9 +5558,9 @@ dependencies = [ [[package]] name = "preset_env_base" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a83fddb10b466da126eaf6bf444c878141f691b23c2de6004bf1ef83c38e8e6" +checksum = "3277c43d5ab99ddc71f4a301686c50a1a155339feb0cbe41492aabc211ef474f" dependencies = [ "ahash 0.8.6", "anyhow", @@ -7208,9 +7204,9 @@ dependencies = [ [[package]] name = "swc" -version = "0.269.35" +version = "0.269.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96fa4c765e8d643246054b4f4ad83bcf9cb7a7715e094c3f54c5c51754901c24" +checksum = "044415a6cfca9f102f49bfa733df906b24ec014ceb057b960721b47cbbd081b0" dependencies = [ "anyhow", "base64 0.13.1", @@ -7264,13 +7260,17 @@ dependencies = [ "clap 4.4.2", "owo-colors", "regex", + "swc", + "swc_common", + "swc_ecma_ast", + "swc_ecma_parser", ] [[package]] name = "swc_atoms" -version = "0.6.1" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad769aeefe4cf20c3ec29e714c91870fa89307faa4280a644c4c65b5cc692" +checksum = "b8a9e1b6d97f27b6abe5571f8fe3bdbd2fa987299fc2126450c7cde6214896ef" dependencies = [ "bytecheck", "hstr", @@ -7296,9 +7296,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.33.5" +version = "0.33.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b33eb74d42276b5f37ac78ed470dd206ece8a2687cfe3a681444f66c29a061f" +checksum = "49fba1ce1d44f142b9e8212a6360fc7818e2c99c7f5ebe8b4fa4061c5764e48e" dependencies = [ "ahash 0.8.6", "anyhow", @@ -7330,9 +7330,9 @@ dependencies = [ [[package]] name = "swc_compiler_base" -version = "0.3.37" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5aa27756be34b2dcba6e632ac35e1416aefaef7aa1cf9e32c54bdd482a8b5ab" +checksum = "51be8e8f4c3072d52063656d73071817918e86348ce930d8bf901fd9c2eb104f" dependencies = [ "anyhow", "base64 0.13.1", @@ -7377,9 +7377,9 @@ dependencies = [ [[package]] name = "swc_core" -version = "0.86.40" +version = "0.86.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22da79427085d5ba7ea5ec14f104f8af66bf479655475cd901d292e87b7b3a73" +checksum = "495aa1622fd3716643d2dbce8ba150d7608a36c1b596f4dc0e3462fc3f2afb28" dependencies = [ "swc", "swc_atoms", @@ -7512,9 +7512,9 @@ dependencies = [ [[package]] name = "swc_ecma_ast" -version = "0.110.6" +version = "0.110.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f902ec313c3c442bfbb5e999326582fccfb83b7db6c171819495b485f4057f01" +checksum = "4cefcc1c71bf00e48da7b65801d1fccf7eed2b7fa1fc5c4848ed09801bfe2403" dependencies = [ "bitflags 2.4.0", "bytecheck", @@ -7532,9 +7532,9 @@ dependencies = [ [[package]] name = "swc_ecma_codegen" -version = "0.146.16" +version = "0.146.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6c8efbcee4acb346c15e6d9470f47b94053a3d61f1677d5b7d677c8a79e6a6f" +checksum = "21fe48cf2d01ae24426191e138d7185bba39a4d181e3f8c2f4f09f8f5adfd913" dependencies = [ "memchr", "num-bigint", @@ -7564,9 +7564,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_bugfixes" -version = "0.1.24" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7475da4769ed5be961cd86a4cb0a0629ff55d11ff044a366732a64e02119d3cb" +checksum = "9575b975c39410d60bb3a6cbd316d1ab0d9db9808033dc004090da48ea6aef36" dependencies = [ "swc_atoms", "swc_common", @@ -7581,9 +7581,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_common" -version = "0.1.16" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46ea85927ab506fb1f42a9c0c2cac73d8f0a4a28f2ec7aace836aba0ebfd62f6" +checksum = "30faf41b5a6da4d80c81f5b45282eaea124f0e6734eeaa2dde63f1a0964e0d45" dependencies = [ "swc_common", "swc_ecma_ast", @@ -7594,9 +7594,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2015" -version = "0.1.24" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0904f4a35212c021e40745c6aa71b44c0bb2827ecdd836e4064d34db5cc6437" +checksum = "383dc65358542d197ccb934a88ba669bbe318b287a71fe803d43f790e8108e1e" dependencies = [ "arrayvec 0.7.4", "indexmap 1.9.3", @@ -7620,9 +7620,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2016" -version = "0.1.22" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "587dad924fc00d268899771ae942a84c87c493dadc1a024d831eb464dcf330f9" +checksum = "67e46fc9fab9aea0665e32a7653b4d1bcf0340a5d9dae805cc268d8d8ed727ae" dependencies = [ "swc_atoms", "swc_common", @@ -7637,9 +7637,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2017" -version = "0.1.22" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10bf1d18316b202f2a75dcd364f49c3bd6406d58f1c2cf308388c782773bbc66" +checksum = "5228dc8f9bb85bc2a99b0c1e790a7fc3540c4ed27a899a10d4cb2435211bacae" dependencies = [ "serde", "swc_atoms", @@ -7655,9 +7655,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2018" -version = "0.1.22" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62266ecd18493c9440413731606ca8d46f76d32a1df3474f20b5863a6175c9bc" +checksum = "79009d203f4122a5c6239a80f6fde42cefcb3a24de355bb6f902426db2644ed3" dependencies = [ "serde", "swc_atoms", @@ -7674,9 +7674,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2019" -version = "0.1.22" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49646a589d7c4594b452b4133e833060fe894efc16929bdb6b7040261601e845" +checksum = "1803b0f3f3fc9dfb79b447530e904ba25ba7040d314d6d9f57250d3932dede47" dependencies = [ "swc_atoms", "swc_common", @@ -7690,9 +7690,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2020" -version = "0.1.21" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e53da0baf19e324757527733d3b37615bfebc2d136ee3d989c0e930c5636e090" +checksum = "c3569725484fde122539fcd68b610eb23928b79e379a3423823c348d6ae39737" dependencies = [ "serde", "swc_atoms", @@ -7708,9 +7708,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2021" -version = "0.1.20" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c67a4db9e67f6ff3afc5629091cf672703966d69956dcdd88aa3e859f992008" +checksum = "f6eafdfee1827ccf543f587a4022c7f372ddfd581c2454d06752ad2e631299c1" dependencies = [ "swc_atoms", "swc_common", @@ -7724,9 +7724,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es2022" -version = "0.1.22" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088b968df343c7d2d5dc05dbe72124a7745126c0febe4ce201eeb0f78c10c3be" +checksum = "fdc6493894d5f5d15bc617199641d792c9370450ca707e233bf44e9d0f62bcda" dependencies = [ "swc_atoms", "swc_common", @@ -7743,9 +7743,9 @@ dependencies = [ [[package]] name = "swc_ecma_compat_es3" -version = "0.1.21" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54548c16bc5198c152ab61cb62167f2c883f96cae8ec3346182f7e05235598d8" +checksum = "375b5f8795a58297bec97376b03cec7243097536732cdf5455b20f5d5ea34d60" dependencies = [ "swc_common", "swc_ecma_ast", @@ -7758,9 +7758,9 @@ dependencies = [ [[package]] name = "swc_ecma_ext_transforms" -version = "0.110.19" +version = "0.110.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f4b20acb54ee2c48784efa3f27995c648a6f44cb58c166e0538b92075c54e10" +checksum = "a3240ad0aa0133cd0747c9983829f6bded6a1c3ee5c6a7ed8f440f4abae1b503" dependencies = [ "phf 0.10.1", "swc_atoms", @@ -7772,9 +7772,9 @@ dependencies = [ [[package]] name = "swc_ecma_lints" -version = "0.89.22" +version = "0.89.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c3900597328e9e84f903dd1ba0c5d1c82a304b4ac60fa71891f221c15d0cfb" +checksum = "e0940c90c54242c217d337804709f657f047da776b27a3b57ba25cf88534ff78" dependencies = [ "auto_impl", "dashmap", @@ -7792,9 +7792,9 @@ dependencies = [ [[package]] name = "swc_ecma_loader" -version = "0.45.6" +version = "0.45.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a550d167cef210e34ea7ad223a3243969257c3fe0efcdbe605b390065afc4a3" +checksum = "cc83806e30310943718eef1209c388f375417bcc3e499df8820c189d92ecf05f" dependencies = [ "anyhow", "dashmap", @@ -7813,9 +7813,9 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.189.32" +version = "0.189.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b07fc3067a5ed6ded17b4133765b1cde0a8e8a1c30c39388e0b864e97ad27" +checksum = "295563e210ec68e05f080b46d6e4a5e602e0e8859fa314ca8a6713ae1a9e3449" dependencies = [ "arrayvec 0.7.4", "indexmap 1.9.3", @@ -7847,9 +7847,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.141.14" +version = "0.141.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17e2c91d688f8853ed6be8ba5ee3bdec2230b60a58b22338f3174792646c9c8" +checksum = "4aee08d307d2d4719715e9917a05cde1eee980667939854939443c583bc41823" dependencies = [ "either", "new_debug_unreachable", @@ -7869,9 +7869,9 @@ dependencies = [ [[package]] name = "swc_ecma_preset_env" -version = "0.203.29" +version = "0.203.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9b8ca7733d321438e15eee673bc435cacdd4b92fd71e0b441a5cd72b0ba5d35" +checksum = "2dda81af149883877df5cce0ac09b26ee25b1e32e747201de987d764be085957" dependencies = [ "anyhow", "dashmap", @@ -7894,9 +7894,9 @@ dependencies = [ [[package]] name = "swc_ecma_quote_macros" -version = "0.52.14" +version = "0.52.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "725e83abdb92bac059ea9a90e41710e28dc8a892141bf79a2ca836c5c562d3d8" +checksum = "62a3f7ae61570c423ea82183da09a803cdf7e8409d9d0d00e323d3d99ff833f0" dependencies = [ "anyhow", "pmutil", @@ -7912,9 +7912,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms" -version = "0.226.29" +version = "0.226.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529ea35a5ad6ee8add3ef15380a8e5e5a1da4cfd04e0d070f2efc4c8c2266823" +checksum = "2ebf2515b6189fd9e0051790f88443455d5ba03fd23a01cc1b05d02a0905900e" dependencies = [ "swc_atoms", "swc_common", @@ -7932,9 +7932,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_base" -version = "0.134.22" +version = "0.134.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27038edff04dc41a41b1976670df93470a4a88c1dc5b17e996326978b76e8c" +checksum = "bda12bac8c634293688dcde2347d38ce67b6249f0b7cbdec04a3e4fd08db7316" dependencies = [ "better_scoped_tls", "bitflags 2.4.0", @@ -7955,9 +7955,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_classes" -version = "0.123.23" +version = "0.123.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76e8bf4894b46f56b37657c942529d3478224260e576ab38c641c508b805d0bb" +checksum = "ee6594b03911501fbf21fb2072012b20e08211811b61f5db1b3df6e4e327aa0a" dependencies = [ "swc_atoms", "swc_common", @@ -7969,9 +7969,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_compat" -version = "0.160.28" +version = "0.160.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "407f66ce3dd22fd2bcc00876d2007aefa73183e39bbca6e19da2a083235b001a" +checksum = "cd50b026c3cbbcee9f83a6850d03fd01f3e33b79249511a27974e4557f84d509" dependencies = [ "arrayvec 0.7.4", "indexmap 1.9.3", @@ -8018,9 +8018,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_module" -version = "0.177.30" +version = "0.177.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a7827f522465f597d1dfd93ec8b3e389799c3d351058d0f4a272bce15c1e1a" +checksum = "ea306630dbe64ca7401338afb355acebb5081585789161a054e05ea40dadcd05" dependencies = [ "Inflector", "anyhow", @@ -8045,9 +8045,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_optimization" -version = "0.195.29" +version = "0.195.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a1cce15248d51fd3a1b4c8a638fda8e67ffab269a6ea2a53fb3e6a05d1ff2" +checksum = "ea9dea37971b8b63621e3e7491fab4963070e7a13b137e53eb061b501846413c" dependencies = [ "dashmap", "indexmap 1.9.3", @@ -8069,9 +8069,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_proposal" -version = "0.168.30" +version = "0.168.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42afc0f6df25e37c46241fe86619a561ece47bb75317ff540da04ceba81ed707" +checksum = "0310b571a4758119e55dc40574d3accc1ffd4752366763ea91ff6329351e7274" dependencies = [ "either", "rustc-hash", @@ -8089,9 +8089,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_react" -version = "0.180.31" +version = "0.180.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7ccd4ed6b3272dff18fb088b3030215c3dd1fdc44b0b3cac96dfcd459b67af" +checksum = "179f454e6f55a13005a003fbe9e5cbc05eb126ecc2a4affa77e30871c5c1759a" dependencies = [ "base64 0.13.1", "dashmap", @@ -8113,9 +8113,9 @@ dependencies = [ [[package]] name = "swc_ecma_transforms_typescript" -version = "0.185.28" +version = "0.185.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74cfc6095f0e141595aa12845d6d2f93a73108c7eacc88f0e4dd472b74e41e58" +checksum = "5b86c1d8df192e88c9129872307e133c13d6a9199a685cd7d20261ad0519a515" dependencies = [ "ryu-js", "serde", @@ -8130,9 +8130,9 @@ dependencies = [ [[package]] name = "swc_ecma_usage_analyzer" -version = "0.20.20" +version = "0.20.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82cab9cbafaf2d28e1b45bad1e07bf97ab230f2cdc7cb4d494908b432f79cd1b" +checksum = "7803ba485e53c1988096d42eb57c863ea37fd7fd890aadb2e365355d5044f915" dependencies = [ "indexmap 1.9.3", "rustc-hash", @@ -8147,9 +8147,9 @@ dependencies = [ [[package]] name = "swc_ecma_utils" -version = "0.124.19" +version = "0.124.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "055737e1189b2bac57aac998699b339ab839945058134ed28b7611c950e34071" +checksum = "45f418621edc2eee974901df082ff575680c784340172d6ba4a2ffc93c11ce32" dependencies = [ "indexmap 1.9.3", "num_cpus", @@ -8165,9 +8165,9 @@ dependencies = [ [[package]] name = "swc_ecma_visit" -version = "0.96.6" +version = "0.96.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c97d88354947ba36b21b355fccb75b5fba2a2db36f00bf8327a6728257662e4f" +checksum = "21305b130986e771206c9f447c8040f9b3be47c9fbbb1f659904e223b8e1c007" dependencies = [ "num-bigint", "swc_atoms", @@ -8215,9 +8215,9 @@ dependencies = [ [[package]] name = "swc_error_reporters" -version = "0.17.5" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbfad2ff99154d20b5dd9246290f162114c836cfe8532d8d0d4c116f49ee6ce" +checksum = "4a80f674bef7baf65c979f684bbe9fa8f4e275e3b61589b62d6dc260331a102b" dependencies = [ "anyhow", "miette 4.7.1", @@ -8228,9 +8228,9 @@ dependencies = [ [[package]] name = "swc_fast_graph" -version = "0.21.5" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175c7dced501083242106790d72119bebe84233bc24c26b59a70172967dc8231" +checksum = "392047ce047ab6f9c02ef17e7e19627c0050fe6dbb0bccd2350a92664a859c62" dependencies = [ "indexmap 1.9.3", "petgraph", @@ -8262,9 +8262,9 @@ dependencies = [ [[package]] name = "swc_node_comments" -version = "0.20.5" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779d8f8597eeb98dbcc7571af50bfa664d68b192a0e07c7b52643a3bfa720806" +checksum = "249c6c5935bcea54025c5c767f33d89d650293288837b50113ac9c437e546450" dependencies = [ "dashmap", "swc_atoms", @@ -8284,9 +8284,9 @@ dependencies = [ [[package]] name = "swc_plugin_proxy" -version = "0.39.6" +version = "0.39.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2004e74d75a7bbbf5d6b89f2348e000825cb7eaf87d51966793729aa1bc56690" +checksum = "e73aa3453e0026b009f35462b77f7dbc2e1b9a91cd92fae6f517802f3b6f4561" dependencies = [ "better_scoped_tls", "rkyv", @@ -8298,9 +8298,9 @@ dependencies = [ [[package]] name = "swc_plugin_runner" -version = "0.104.14" +version = "0.104.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1604548ed056f29dcc3dafa6dd131ac00fc752f4fc812a02ac34a448133a4e6" +checksum = "53201e31069e981a6d087885084999a9a2e102e2bb280438e3d5d575b20e399e" dependencies = [ "anyhow", "enumset", @@ -8340,9 +8340,9 @@ dependencies = [ [[package]] name = "swc_timer" -version = "0.21.7" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90c333bce29a3bc3ee694976cce0b08927f0939c494bb0e1650bfce3dba214" +checksum = "388d9d8a67d907c9a5f69250a32134b80fa01c2c03b7fbfcdbb9e8d4ed18b3ed" dependencies = [ "tracing", ] @@ -8642,9 +8642,9 @@ dependencies = [ [[package]] name = "testing" -version = "0.35.7" +version = "0.35.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "272f2b6de45b9ad1444af11a54077d9b2ec439357c44086da60ad8369db1b87e" +checksum = "94fa85c2c4605cd16c3b358b125a23b36e01fe04a0ef687d22df97baa4b25fa8" dependencies = [ "ansi_term", "cargo_metadata", @@ -9776,6 +9776,7 @@ dependencies = [ "serde_json", "serde_qs", "sourcemap", + "swc_ecma_preset_env", "tokio", "tracing", "turbo-tasks", @@ -10581,8 +10582,8 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 0.1.10", - "rand 0.4.6", + "cfg-if 1.0.0", + "rand 0.8.5", "static_assertions", ] From a23d7a745351dcdf8d0a3f3353ee3029b38f5fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:04:38 +0900 Subject: [PATCH 06/48] Patch some --- crates/turbopack-core/src/environment.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/turbopack-core/src/environment.rs b/crates/turbopack-core/src/environment.rs index 0ab1c4eaa2987..bc2a99de5ee2a 100644 --- a/crates/turbopack-core/src/environment.rs +++ b/crates/turbopack-core/src/environment.rs @@ -7,7 +7,7 @@ use std::{ use anyhow::{anyhow, bail, Context, Result}; use serde::{Deserialize, Serialize}; -use swc_core::ecma::preset_env::{Version, Versions}; +use swc_ecma_preset_env::{Version, Versions}; use turbo_tasks::{Value, Vc}; use turbo_tasks_env::ProcessEnv; From 40a9f798d486166ae45e4b526b66088b68a0cb08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:04:43 +0900 Subject: [PATCH 07/48] Patch some --- crates/turbopack-swc-ast-explorer/src/main.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/crates/turbopack-swc-ast-explorer/src/main.rs b/crates/turbopack-swc-ast-explorer/src/main.rs index 626ef085fc071..21196aa155af4 100644 --- a/crates/turbopack-swc-ast-explorer/src/main.rs +++ b/crates/turbopack-swc-ast-explorer/src/main.rs @@ -4,14 +4,10 @@ use anyhow::Result; use clap::Parser; use owo_colors::OwoColorize; use regex::{NoExpand, Regex}; -use swc_core::{ - base::{config::IsModule, try_with_handler, Compiler, HandlerOpts}, - common::{errors::ColorConfig, source_map::FileName, Globals, SourceMap, GLOBALS}, - ecma::{ - ast::EsVersion, - parser::{Syntax, TsConfig}, - }, -}; +use swc::{config::IsModule, try_with_handler, Compiler, HandlerOpts}; +use swc_common::{errors::ColorConfig, source_map::FileName, Globals, SourceMap, GLOBALS}; +use swc_ecma_ast::EsVersion; +use swc_ecma_parser::{Syntax, TsConfig}; #[derive(Parser, Debug)] #[clap(author, version, about, long_about = None)] From 1e2d496d59442ba34acb1382d8947c722a83cca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:13:15 +0900 Subject: [PATCH 08/48] Dep --- Cargo.toml | 1 + crates/turbopack-ecmascript/Cargo.toml | 1 + crates/turbopack-swc-utils/Cargo.toml | 1 + 3 files changed, 3 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 84e103df42735..aaf66d6d806bd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -91,6 +91,7 @@ swc = "0.269.44" swc_common = "0.33.8" swc_ecma_ast = "0.110.9" swc_ecma_parser = "0.141.18" +swc_ecma_transforms_proposal = "0.168.36" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index c62cf18f2e36b..9908efb0e83cc 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -37,6 +37,7 @@ turbopack-swc-utils = { workspace = true } url = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } +swc_ecma_transforms_proposal = { workspace = true } [dev-dependencies] criterion = { workspace = true, features = ["async_tokio"] } diff --git a/crates/turbopack-swc-utils/Cargo.toml b/crates/turbopack-swc-utils/Cargo.toml index 86073d6d70834..ffc1d503ed141 100644 --- a/crates/turbopack-swc-utils/Cargo.toml +++ b/crates/turbopack-swc-utils/Cargo.toml @@ -10,6 +10,7 @@ autobenches = false bench = false [dependencies] +swc_common = { workspace = true } turbo-tasks = { workspace = true } turbopack-core = { workspace = true } From 7a694c60c6c06c2691d31131573530b43d17e315 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:13:21 +0900 Subject: [PATCH 09/48] fix rust code --- crates/turbopack-ecmascript/src/transform/mod.rs | 2 +- crates/turbopack-swc-utils/src/emitter.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/turbopack-ecmascript/src/transform/mod.rs b/crates/turbopack-ecmascript/src/transform/mod.rs index 9a14f61036089..c3e13d507679e 100644 --- a/crates/turbopack-ecmascript/src/transform/mod.rs +++ b/crates/turbopack-ecmascript/src/transform/mod.rs @@ -254,7 +254,7 @@ impl EcmascriptInputTransform { // TODO(WEB-1213) use_define_for_class_fields: _use_define_for_class_fields, } => { - use swc_core::ecma::transforms::proposal::decorators::{decorators, Config}; + use swc_ecma_transforms_proposal::decorators::{decorators, Config}; let config = Config { legacy: *is_legacy, emit_metadata: *emit_decorators_metadata, diff --git a/crates/turbopack-swc-utils/src/emitter.rs b/crates/turbopack-swc-utils/src/emitter.rs index ac00ec12dc8fe..ab660fefc96d0 100644 --- a/crates/turbopack-swc-utils/src/emitter.rs +++ b/crates/turbopack-swc-utils/src/emitter.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use swc_core::common::{ +use swc_common::{ errors::{DiagnosticBuilder, DiagnosticId, Emitter, Level}, source_map::Pos, SourceMap, From 27924f23d1a5db8bd5f13df75e78258630b7fadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:16:23 +0900 Subject: [PATCH 10/48] Dep --- Cargo.toml | 2 ++ crates/turbopack-ecmascript/Cargo.toml | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index aaf66d6d806bd..2fdf78e703a5e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,6 +92,8 @@ swc_common = "0.33.8" swc_ecma_ast = "0.110.9" swc_ecma_parser = "0.141.18" swc_ecma_transforms_proposal = "0.168.36" +swc_ecma_visit = "0.96.9" +swc_atoms = "0.6.4" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 9908efb0e83cc..51a57dde1c0d7 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -36,8 +36,12 @@ turbopack-core = { workspace = true } turbopack-swc-utils = { workspace = true } url = { workspace = true } +swc_atoms = { workspace = true } +swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } +swc_ecma_ast = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } +swc_ecma_visit = { workspace = true } [dev-dependencies] criterion = { workspace = true, features = ["async_tokio"] } From 85003928eaa8799ae6e4843927d524a3e2faf088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:16:28 +0900 Subject: [PATCH 11/48] cargo lockfile --- Cargo.lock | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 27e128581e0f6..4fc5436c6b8fc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9901,7 +9901,12 @@ dependencies = [ "serde", "serde_json", "serde_qs", + "swc_atoms", + "swc_common", "swc_core", + "swc_ecma_ast", + "swc_ecma_transforms_proposal", + "swc_ecma_visit", "tokio", "tracing", "turbo-tasks", @@ -10077,6 +10082,7 @@ dependencies = [ name = "turbopack-swc-utils" version = "0.1.0" dependencies = [ + "swc_common", "turbo-tasks", "turbo-tasks-build", "turbopack-core", From 53d21cfbf83d6849009b3f356f9ea85962954d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:17:59 +0900 Subject: [PATCH 12/48] Dep --- crates/turbopack-ecmascript/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 51a57dde1c0d7..a8c357bcbbd7b 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -41,7 +41,7 @@ swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } -swc_ecma_visit = { workspace = true } +swc_ecma_visit = { workspace = true, features = ["path"] } [dev-dependencies] criterion = { workspace = true, features = ["async_tokio"] } From 25e0ef4f28b772a6d60f6f0acecf31324da7f4c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:27:34 +0900 Subject: [PATCH 13/48] Dep --- crates/turbopack-ecmascript/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index a8c357bcbbd7b..c7227afcf60ae 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -46,6 +46,7 @@ swc_ecma_visit = { workspace = true, features = ["path"] } [dev-dependencies] criterion = { workspace = true, features = ["async_tokio"] } rstest = { workspace = true } +swc_ecma_parser = { workspace = true } turbo-tasks-memory = { workspace = true } turbo-tasks-testing = { workspace = true } From 771131c0ce86f2e24780dad63cbb036f15ba5ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:27:45 +0900 Subject: [PATCH 14/48] cargo lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 4fc5436c6b8fc..1ef4effa60125 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9905,6 +9905,7 @@ dependencies = [ "swc_common", "swc_core", "swc_ecma_ast", + "swc_ecma_parser", "swc_ecma_transforms_proposal", "swc_ecma_visit", "tokio", From 36eee642829f7249c2c4909bdbe82621dbb2b316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:30:01 +0900 Subject: [PATCH 15/48] Dep --- Cargo.toml | 1 + crates/turbopack-ecmascript/Cargo.toml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 2fdf78e703a5e..4e9c5a45a23f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -94,6 +94,7 @@ swc_ecma_parser = "0.141.18" swc_ecma_transforms_proposal = "0.168.36" swc_ecma_visit = "0.96.9" swc_atoms = "0.6.4" +swc_ecma_transforms_base = "0.134.27" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index c7227afcf60ae..53ac832ea3d4e 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -47,6 +47,8 @@ swc_ecma_visit = { workspace = true, features = ["path"] } criterion = { workspace = true, features = ["async_tokio"] } rstest = { workspace = true } swc_ecma_parser = { workspace = true } +swc_ecma_transforms_base = { worksapce = true } +testing = { workspace = true } turbo-tasks-memory = { workspace = true } turbo-tasks-testing = { workspace = true } From 97c5d29d211238ab53f3cac6855c2f0264629ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:30:05 +0900 Subject: [PATCH 16/48] cargo lockfile --- Cargo.lock | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 1ef4effa60125..d64d16347aa4b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9906,8 +9906,10 @@ dependencies = [ "swc_core", "swc_ecma_ast", "swc_ecma_parser", + "swc_ecma_transforms_base", "swc_ecma_transforms_proposal", "swc_ecma_visit", + "testing", "tokio", "tracing", "turbo-tasks", From 6f21b9960591f0bb0bf4d08f5b906ca76d2111a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:30:17 +0900 Subject: [PATCH 17/48] fix --- crates/turbopack-ecmascript/src/analyzer/graph.rs | 12 ++++-------- crates/turbopack-ecmascript/src/analyzer/imports.rs | 12 ++++-------- crates/turbopack-ecmascript/src/analyzer/mod.rs | 13 +++++-------- crates/turbopack-ecmascript/src/transform/mod.rs | 2 +- 4 files changed, 14 insertions(+), 25 deletions(-) diff --git a/crates/turbopack-ecmascript/src/analyzer/graph.rs b/crates/turbopack-ecmascript/src/analyzer/graph.rs index 4800a5c3041f5..eb0e2c800deb9 100644 --- a/crates/turbopack-ecmascript/src/analyzer/graph.rs +++ b/crates/turbopack-ecmascript/src/analyzer/graph.rs @@ -4,14 +4,10 @@ use std::{ mem::{replace, take}, }; -use swc_core::{ - common::{pass::AstNodePath, Mark, Span, Spanned, SyntaxContext}, - ecma::{ - ast::*, - atoms::js_word, - visit::{fields::*, VisitAstPath, VisitWithPath, *}, - }, -}; +use swc_atoms::js_word; +use swc_common::{pass::AstNodePath, Mark, Span, Spanned, SyntaxContext}; +use swc_ecma_ast::*; +use swc_ecma_visit::{fields::*, VisitAstPath, VisitWithPath, *}; use turbo_tasks::Vc; use turbopack_core::source::Source; diff --git a/crates/turbopack-ecmascript/src/analyzer/imports.rs b/crates/turbopack-ecmascript/src/analyzer/imports.rs index 5c852b654d88d..511fd7c5277ff 100644 --- a/crates/turbopack-ecmascript/src/analyzer/imports.rs +++ b/crates/turbopack-ecmascript/src/analyzer/imports.rs @@ -2,14 +2,10 @@ use std::{collections::BTreeMap, fmt::Display, mem::take}; use indexmap::{IndexMap, IndexSet}; use once_cell::sync::Lazy; -use swc_core::{ - common::{source_map::Pos, Span}, - ecma::{ - ast::*, - atoms::{js_word, JsWord}, - visit::{Visit, VisitWith}, - }, -}; +use swc_atoms::{js_word, JsWord}; +use swc_common::{source_map::Pos, Span}; +use swc_ecma_ast::*; +use swc_ecma_visit::{Visit, VisitWith}; use turbo_tasks::Vc; use turbopack_core::{issue::LazyIssueSource, source::Source}; diff --git a/crates/turbopack-ecmascript/src/analyzer/mod.rs b/crates/turbopack-ecmascript/src/analyzer/mod.rs index ffd2a623419c2..31551a043385c 100644 --- a/crates/turbopack-ecmascript/src/analyzer/mod.rs +++ b/crates/turbopack-ecmascript/src/analyzer/mod.rs @@ -3247,14 +3247,11 @@ pub mod test_utils { mod tests { use std::{mem::take, path::PathBuf, time::Instant}; - use swc_core::{ - common::Mark, - ecma::{ - ast::EsVersion, parser::parse_file_as_program, transforms::base::resolver, - visit::VisitMutWith, - }, - testing::{fixture, run_test, NormalizedOutput}, - }; + use swc_common::Mark; + use swc_core::ecma::{transforms::base::resolver, visit::VisitMutWith}; + use swc_ecma_ast::EsVersion; + use swc_ecma_parser::parse_file_as_program; + use testing::{fixture, run_test, NormalizedOutput}; use turbo_tasks::{util::FormatDuration, Value}; use turbopack_core::{ compile_time_info::CompileTimeInfo, diff --git a/crates/turbopack-ecmascript/src/transform/mod.rs b/crates/turbopack-ecmascript/src/transform/mod.rs index c3e13d507679e..1b3ff158d8c1c 100644 --- a/crates/turbopack-ecmascript/src/transform/mod.rs +++ b/crates/turbopack-ecmascript/src/transform/mod.rs @@ -203,7 +203,7 @@ impl EcmascriptInputTransform { } EcmascriptInputTransform::PresetEnv(env) => { let versions = env.runtime_versions().await?; - let config = swc_core::ecma::preset_env::Config { + let config = swc_ecma_preset_env::Config { targets: Some(Targets::Versions(*versions)), mode: None, // Don't insert core-js polyfills ..Default::default() From 94d99dad99b3ac396fe48c2cdbfd0b2168075365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:33:01 +0900 Subject: [PATCH 18/48] Dep --- Cargo.toml | 1 + crates/turbopack-ecmascript/Cargo.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 4e9c5a45a23f0..4183c17789bb7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -95,6 +95,7 @@ swc_ecma_transforms_proposal = "0.168.36" swc_ecma_visit = "0.96.9" swc_atoms = "0.6.4" swc_ecma_transforms_base = "0.134.27" +swc_ecma_transforms_module = "0.177.35" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 53ac832ea3d4e..05ecff9d76eb6 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -40,6 +40,7 @@ swc_atoms = { workspace = true } swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true } +swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } swc_ecma_visit = { workspace = true, features = ["path"] } From a6e9647c241e24b4c787aadf1b715f1a35527105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:33:08 +0900 Subject: [PATCH 19/48] cargi lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index d64d16347aa4b..1bb75d9118e95 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9907,6 +9907,7 @@ dependencies = [ "swc_ecma_ast", "swc_ecma_parser", "swc_ecma_transforms_base", + "swc_ecma_transforms_module", "swc_ecma_transforms_proposal", "swc_ecma_visit", "testing", From 3b90203181900ee9f16312c68aa38e1699c99e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:34:46 +0900 Subject: [PATCH 20/48] Dep --- crates/turbopack-ecmascript/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 05ecff9d76eb6..990f0b0373c23 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -40,6 +40,7 @@ swc_atoms = { workspace = true } swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true } +swc_ecma_preset_env = { workspace = true } swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } swc_ecma_visit = { workspace = true, features = ["path"] } From 097354efeac62a24674f42ecb3d6dc68b9ffa4e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:35:47 +0900 Subject: [PATCH 21/48] cargo lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 1bb75d9118e95..b963d6ce5f3d4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9906,6 +9906,7 @@ dependencies = [ "swc_core", "swc_ecma_ast", "swc_ecma_parser", + "swc_ecma_preset_env", "swc_ecma_transforms_base", "swc_ecma_transforms_module", "swc_ecma_transforms_proposal", From 14d8c6ff62ab4e118f71406c375376c454e15ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:51:47 +0900 Subject: [PATCH 22/48] Dep --- Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.toml b/Cargo.toml index 4183c17789bb7..ee3cd1d44edda 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -96,6 +96,7 @@ swc_ecma_visit = "0.96.9" swc_atoms = "0.6.4" swc_ecma_transforms_base = "0.134.27" swc_ecma_transforms_module = "0.177.35" +swc_ecma_codegen = "0.146.21" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } From dfd3e97635b15d183ca1662dfebf9d867d5fac8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:52:18 +0900 Subject: [PATCH 23/48] cargo lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index b963d6ce5f3d4..1d4cbe9c5e1a7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9905,6 +9905,7 @@ dependencies = [ "swc_common", "swc_core", "swc_ecma_ast", + "swc_ecma_codegen", "swc_ecma_parser", "swc_ecma_preset_env", "swc_ecma_transforms_base", From 951ef5cb393e7a4e3e560adc2e272e7f20bbe5a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 12:52:28 +0900 Subject: [PATCH 24/48] fmt --- crates/turbo-tasks/src/completion.rs | 4 +- crates/turbo-tasks/src/generics/index_map.rs | 3 +- crates/turbo-tasks/src/generics/index_set.rs | 3 +- crates/turbo-tasks/src/generics/option.rs | 3 +- crates/turbo-tasks/src/generics/vec.rs | 3 +- crates/turbo-tasks/src/keyed_cell.rs | 4 +- .../turbopack-build/src/ecmascript/minify.rs | 45 ++++---- crates/turbopack-css/src/asset.rs | 12 +- crates/turbopack-css/src/code_gen.rs | 26 ++--- crates/turbopack-css/src/module_asset.rs | 6 +- crates/turbopack-css/src/parse.rs | 20 ++-- crates/turbopack-css/src/path_visitor.rs | 10 +- crates/turbopack-css/src/references/import.rs | 14 +-- crates/turbopack-css/src/references/mod.rs | 16 +-- crates/turbopack-css/src/references/url.rs | 6 +- crates/turbopack-css/src/transform/mod.rs | 7 +- .../src/transform/directives/client.rs | 4 +- .../src/transform/directives/mod.rs | 2 +- .../src/transform/directives/server.rs | 6 +- .../directives/server_to_client_proxy.rs | 17 +-- .../src/transform/emotion.rs | 10 +- .../src/transform/modularize_imports.rs | 10 +- .../src/transform/relay.rs | 10 +- .../src/transform/styled_components.rs | 8 +- .../src/transform/styled_jsx.rs | 10 +- .../transform/swc_ecma_transform_plugins.rs | 28 ++--- crates/turbopack-ecmascript/Cargo.toml | 1 + .../turbopack-ecmascript/benches/analyzer.rs | 16 +-- .../src/analyzer/linker.rs | 2 +- .../turbopack-ecmascript/src/analyzer/mod.rs | 16 +-- .../src/analyzer/top_level_await.rs | 10 +- crates/turbopack-ecmascript/src/code_gen.rs | 30 ++--- crates/turbopack-ecmascript/src/lib.rs | 21 ++-- crates/turbopack-ecmascript/src/parse.rs | 47 ++++---- .../turbopack-ecmascript/src/path_visitor.rs | 30 ++--- .../src/references/amd.rs | 12 +- .../src/references/async_module.rs | 8 +- .../src/references/cjs.rs | 6 +- .../src/references/esm/base.rs | 8 +- .../src/references/esm/binding.rs | 17 +-- .../src/references/esm/dynamic.rs | 6 +- .../src/references/esm/export.rs | 14 +-- .../src/references/esm/meta.rs | 8 +- .../src/references/esm/module_id.rs | 3 +- .../src/references/esm/module_item.rs | 12 +- .../src/references/esm/url.rs | 6 +- .../src/references/mod.rs | 28 ++--- .../src/references/pattern_mapping.rs | 6 +- .../src/references/require_context.rs | 20 ++-- .../src/references/util.rs | 3 +- .../turbopack-ecmascript/src/swc_comments.rs | 107 ++++++------------ .../turbopack-ecmascript/src/transform/mod.rs | 50 ++++---- .../src/tree_shake/graph.rs | 20 ++-- .../src/tree_shake/merge.rs | 6 +- .../src/tree_shake/mod.rs | 2 +- .../src/tree_shake/tests.rs | 25 ++-- .../src/tree_shake/util.rs | 9 +- crates/turbopack-ecmascript/src/utils.rs | 6 +- .../turbopack-ecmascript/src/webpack/mod.rs | 2 +- .../turbopack-ecmascript/src/webpack/parse.rs | 14 +-- .../src/webpack/references.rs | 10 +- crates/turborepo-ffi/src/lockfile.rs | 4 +- crates/turborepo-filewatch/src/lib.rs | 24 ++-- crates/turborepo-lib/src/commands/link.rs | 4 +- crates/turborepo-lib/src/commands/prune.rs | 4 +- crates/turborepo-lib/src/daemon/endpoint.rs | 6 +- crates/turborepo-lib/src/daemon/server.rs | 4 +- crates/turborepo-lib/src/process/child.rs | 4 +- crates/turborepo-lib/src/run/global_hash.rs | 4 +- crates/turborepo-lib/src/run/scope/filter.rs | 4 +- .../turborepo-lib/src/task_graph/visitor.rs | 8 +- crates/turborepo-lib/src/tracing.rs | 7 +- .../src/absolute_system_path.rs | 8 +- crates/turborepo-pidlock/src/lib.rs | 4 +- crates/turborepo-repository/src/inference.rs | 4 +- .../src/package_manager/mod.rs | 4 +- crates/turborepo-scm/src/lib.rs | 4 +- crates/turborepo-ui/src/output.rs | 4 +- crates/turborepo-ui/tests/threads.rs | 4 +- .../turborepo-wax/src/diagnostics/miette.rs | 4 +- crates/turborepo-wax/src/diagnostics/mod.rs | 4 +- crates/turborepo-wax/src/lib.rs | 37 ++++-- crates/turborepo-wax/src/rule.rs | 10 +- crates/turborepo-wax/src/token/mod.rs | 4 +- crates/turborepo-wax/src/token/parse.rs | 12 +- crates/turborepo-wax/src/token/variance.rs | 11 +- crates/turborepo-wax/src/walk.rs | 8 +- crates/turborepo-wax/tests/walk.rs | 4 +- .../turbo-repository/rust/src/internal.rs | 4 +- xtask/src/command.rs | 4 +- xtask/src/visualize_bundler_bench.rs | 4 +- 91 files changed, 500 insertions(+), 579 deletions(-) diff --git a/crates/turbo-tasks/src/completion.rs b/crates/turbo-tasks/src/completion.rs index 7949de3966dd2..b49e299a41c43 100644 --- a/crates/turbo-tasks/src/completion.rs +++ b/crates/turbo-tasks/src/completion.rs @@ -1,4 +1,6 @@ -use crate::{self as turbo_tasks, RawVc, Vc}; +use crate::{ + RawVc, Vc, {self as turbo_tasks}, +}; /// Just an empty type, but it's never equal to itself. /// [Vc] can be used as return value instead of `()` /// to have a concrete reference that can be awaited. diff --git a/crates/turbo-tasks/src/generics/index_map.rs b/crates/turbo-tasks/src/generics/index_map.rs index 47713c95555dd..086985eda129e 100644 --- a/crates/turbo-tasks/src/generics/index_map.rs +++ b/crates/turbo-tasks/src/generics/index_map.rs @@ -4,9 +4,8 @@ use indexmap::IndexMap; use turbo_tasks_macros::generic_type as __turbo_tasks_internal_generic_type; use crate::{ - self as turbo_tasks, debug::{ValueDebug, ValueDebugFormat, ValueDebugString}, - ValueDefault, Vc, + ValueDefault, Vc, {self as turbo_tasks}, }; __turbo_tasks_internal_generic_type!(, IndexMap, Vc>); diff --git a/crates/turbo-tasks/src/generics/index_set.rs b/crates/turbo-tasks/src/generics/index_set.rs index 49e6bce7d4108..8236e880dd6f5 100644 --- a/crates/turbo-tasks/src/generics/index_set.rs +++ b/crates/turbo-tasks/src/generics/index_set.rs @@ -4,9 +4,8 @@ use indexmap::IndexSet; use turbo_tasks_macros::generic_type as __turbo_tasks_internal_generic_type; use crate::{ - self as turbo_tasks, debug::{ValueDebug, ValueDebugFormat, ValueDebugString}, - ValueDefault, Vc, + ValueDefault, Vc, {self as turbo_tasks}, }; __turbo_tasks_internal_generic_type!(, IndexSet>); diff --git a/crates/turbo-tasks/src/generics/option.rs b/crates/turbo-tasks/src/generics/option.rs index 2b4710ffd3e82..935f1bebf60db 100644 --- a/crates/turbo-tasks/src/generics/option.rs +++ b/crates/turbo-tasks/src/generics/option.rs @@ -3,9 +3,8 @@ use anyhow::Result; use turbo_tasks_macros::generic_type as __turbo_tasks_internal_generic_type; use crate::{ - self as turbo_tasks, debug::{ValueDebug, ValueDebugFormat, ValueDebugString}, - ValueDefault, Vc, + ValueDefault, Vc, {self as turbo_tasks}, }; __turbo_tasks_internal_generic_type!(, Option>); diff --git a/crates/turbo-tasks/src/generics/vec.rs b/crates/turbo-tasks/src/generics/vec.rs index 4472e6b86c9de..caeef11984689 100644 --- a/crates/turbo-tasks/src/generics/vec.rs +++ b/crates/turbo-tasks/src/generics/vec.rs @@ -3,9 +3,8 @@ use anyhow::Result; use turbo_tasks_macros::generic_type as __turbo_tasks_internal_generic_type; use crate::{ - self as turbo_tasks, debug::{ValueDebug, ValueDebugFormat, ValueDebugString}, - ValueDefault, Vc, + ValueDefault, Vc, {self as turbo_tasks}, }; __turbo_tasks_internal_generic_type!(, Vec>); diff --git a/crates/turbo-tasks/src/keyed_cell.rs b/crates/turbo-tasks/src/keyed_cell.rs index ffacf6220fbb7..0f00e589eb4df 100644 --- a/crates/turbo-tasks/src/keyed_cell.rs +++ b/crates/turbo-tasks/src/keyed_cell.rs @@ -1,8 +1,10 @@ use anyhow::Result; use crate::{ - self as turbo_tasks, macro_helpers::find_cell_by_type, manager::current_task, + macro_helpers::find_cell_by_type, + manager::current_task, ConcreteTaskInput, CurrentCellRef, RawVc, TaskId, TaskInput, ValueTypeId, Vc, VcValueType, + {self as turbo_tasks}, }; #[turbo_tasks::value] diff --git a/crates/turbopack-build/src/ecmascript/minify.rs b/crates/turbopack-build/src/ecmascript/minify.rs index 66d445a4a3560..fd7a1a49d1bf7 100644 --- a/crates/turbopack-build/src/ecmascript/minify.rs +++ b/crates/turbopack-build/src/ecmascript/minify.rs @@ -1,24 +1,22 @@ use std::{io::Write, sync::Arc}; use anyhow::{bail, Context, Result}; -use swc_core::{ - base::{try_with_handler, Compiler}, - common::{ - comments::{Comments, SingleThreadedComments}, - BytePos, FileName, FilePathMapping, LineCol, Mark, SourceMap as SwcSourceMap, GLOBALS, - }, - ecma::{ - self, - ast::{EsVersion, Program}, - codegen::{ - text_writer::{self, JsWriter, WriteJs}, - Emitter, Node, - }, - minifier::option::{ExtraOptions, MinifyOptions}, - parser::{lexer::Lexer, Parser, StringInput, Syntax}, - visit::FoldWith, +use swc::{try_with_handler, Compiler}; +use swc_common::{ + comments::{Comments, SingleThreadedComments}, + BytePos, FileName, FilePathMapping, LineCol, Mark, SourceMap as SwcSourceMap, GLOBALS, +}; +use swc_core::ecma::{self}; +use swc_ecma_ast::{EsVersion, Program}; +use swc_ecma_codegen::{ + text_writer::{ + JsWriter, WriteJs, {self}, }, + Emitter, Node, }; +use swc_ecma_minifier::option::{ExtraOptions, MinifyOptions}; +use swc_ecma_parser::{lexer::Lexer, Parser, StringInput, Syntax}; +use swc_ecma_visit::FoldWith; use turbo_tasks::Vc; use turbo_tasks_fs::FileSystemPath; use turbopack_core::{ @@ -77,14 +75,13 @@ async fn perform_minify(path: Vc, code_vc: Vc) -> Result; let mut emitter = Emitter { - cfg: swc_core::ecma::codegen::Config::default().with_minify(true), + cfg: swc_ecma_codegen::Config::default().with_minify(true), comments: None, cm: cm.clone(), wr, diff --git a/crates/turbopack-css/src/asset.rs b/crates/turbopack-css/src/asset.rs index 8bb59eb278018..846f27a9a2fe3 100644 --- a/crates/turbopack-css/src/asset.rs +++ b/crates/turbopack-css/src/asset.rs @@ -1,12 +1,8 @@ use anyhow::Result; -use swc_core::{ - common::{Globals, GLOBALS}, - css::{ - ast::{AtRule, AtRulePrelude, Rule}, - codegen::{writer::basic::BasicCssWriter, CodeGenerator, Emit}, - visit::{VisitMutWith, VisitMutWithPath}, - }, -}; +use swc_common::{Globals, GLOBALS}; +use swc_css_ast::{AtRule, AtRulePrelude, Rule}; +use swc_css_codegen::{writer::basic::BasicCssWriter, CodeGenerator, Emit}; +use swc_css_visit::{VisitMutWith, VisitMutWithPath}; use turbo_tasks::{TryJoinIterExt, ValueToString, Vc}; use turbo_tasks_fs::FileSystemPath; use turbopack_core::{ diff --git a/crates/turbopack-css/src/code_gen.rs b/crates/turbopack-css/src/code_gen.rs index 55391294d3586..d4876abdb97a5 100644 --- a/crates/turbopack-css/src/code_gen.rs +++ b/crates/turbopack-css/src/code_gen.rs @@ -1,4 +1,4 @@ -use swc_core::css::visit::{AstParentKind, VisitMut}; +use swc_css_visit::{AstParentKind, VisitMut}; use turbo_tasks::Vc; use turbopack_core::chunk::ChunkingContext; @@ -55,26 +55,26 @@ macro_rules! create_visitor { }; ($ast_path:expr, $name:ident($arg:ident: &mut $ty:ident) $b:block) => { $crate::create_visitor!(__ $crate::code_gen::path_to(&$ast_path, |n| { - matches!(n, swc_core::css::visit::AstParentKind::$ty(_)) + matches!(n, swc_css_visit::AstParentKind::$ty(_)) }), $name($arg: &mut $ty) $b) }; (__ $ast_path:expr, $name:ident($arg:ident: &mut $ty:ident) $b:block) => {{ - struct Visitor { + struct Visitor { $name: T, } - impl $crate::code_gen::VisitorFactory + impl $crate::code_gen::VisitorFactory for Box> { - fn create<'a>(&'a self) -> Box { + fn create<'a>(&'a self) -> Box { Box::new(&**self) } } - impl<'a, T: Fn(&mut swc_core::css::ast::$ty) + Send + Sync> swc_core::css::visit::VisitMut + impl<'a, T: Fn(&mut swc_css_ast::$ty) + Send + Sync> swc_css_visit::VisitMut for &'a Visitor { - fn $name(&mut self, $arg: &mut swc_core::css::ast::$ty) { + fn $name(&mut self, $arg: &mut swc_css_ast::$ty) { (self.$name)($arg); } } @@ -82,16 +82,16 @@ macro_rules! create_visitor { ( $ast_path, Box::new(Box::new(Visitor { - $name: move |$arg: &mut swc_core::css::ast::$ty| $b, + $name: move |$arg: &mut swc_css_ast::$ty| $b, })) as Box, ) }}; (visit_mut_stylesheet($arg:ident: &mut Stylesheet) $b:block) => {{ - struct Visitor { + struct Visitor { visit_mut_stylesheet: T, } - impl $crate::code_gen::VisitorFactory + impl $crate::code_gen::VisitorFactory for Box> { fn create<'a>(&'a self) -> Box { @@ -99,10 +99,10 @@ macro_rules! create_visitor { } } - impl<'a, T: Fn(&mut swc_core::css::ast::Stylesheet) + Send + Sync> swc_core::css::visit::VisitMut + impl<'a, T: Fn(&mut swc_css_ast::Stylesheet) + Send + Sync> swc_css_visit::VisitMut for &'a Visitor { - fn visit_mut_stylesheet(&mut self, $arg: &mut swc_core::css::ast::Stylesheet) { + fn visit_mut_stylesheet(&mut self, $arg: &mut swc_css_ast::Stylesheet) { (self.visit_mut_stylesheet)($arg); } } @@ -110,7 +110,7 @@ macro_rules! create_visitor { ( Vec::new(), Box::new(Box::new(Visitor { - visit_mut_stylesheet: move |$arg: &mut swc_core::css::ast::Stylesheet| $b, + visit_mut_stylesheet: move |$arg: &mut swc_css_ast::Stylesheet| $b, })) as Box, ) }}; diff --git a/crates/turbopack-css/src/module_asset.rs b/crates/turbopack-css/src/module_asset.rs index 17ea3b68732ae..c4bcb380c653c 100644 --- a/crates/turbopack-css/src/module_asset.rs +++ b/crates/turbopack-css/src/module_asset.rs @@ -3,10 +3,8 @@ use std::{fmt::Write, iter::once, sync::Arc}; use anyhow::{bail, Context, Result}; use indexmap::IndexMap; use indoc::formatdoc; -use swc_core::{ - common::{BytePos, FileName, LineCol, SourceMap}, - css::modules::CssClassName, -}; +use swc_common::{BytePos, FileName, LineCol, SourceMap}; +use swc_css_modules::CssClassName; use turbo_tasks::{Value, ValueToString, Vc}; use turbo_tasks_fs::FileSystemPath; use turbopack_core::{ diff --git a/crates/turbopack-css/src/parse.rs b/crates/turbopack-css/src/parse.rs index 25b9556782a3c..e200f4a26f299 100644 --- a/crates/turbopack-css/src/parse.rs +++ b/crates/turbopack-css/src/parse.rs @@ -4,17 +4,13 @@ use anyhow::{Context, Result}; use indexmap::IndexMap; use once_cell::sync::Lazy; use regex::Regex; -use swc_core::{ - common::{ - errors::Handler, source_map::SourceMapGenConfig, BytePos, FileName, LineCol, SourceMap, - }, - css::{ - ast::Stylesheet, - modules::{CssClassName, TransformConfig}, - parser::{parse_file, parser::ParserConfig}, - }, - ecma::atoms::JsWord, +use swc_common::{ + errors::Handler, source_map::SourceMapGenConfig, BytePos, FileName, LineCol, SourceMap, }; +use swc_core::ecma::atoms::JsWord; +use swc_css_ast::Stylesheet; +use swc_css_modules::{CssClassName, TransformConfig}; +use swc_css_parser::{parse_file, parser::ParserConfig}; use turbo_tasks::{ValueToString, Vc}; use turbo_tasks_fs::{FileContent, FileSystemPath}; use turbopack_core::{ @@ -209,7 +205,7 @@ async fn parse_content( let (imports, exports) = match ty { CssModuleAssetType::Default => Default::default(), CssModuleAssetType::Module => { - let imports = swc_core::css::modules::imports::analyze_imports(&parsed_stylesheet); + let imports = swc_css_modules::imports::analyze_imports(&parsed_stylesheet); let basename = BASENAME_RE .captures(fs_path.file_name()) .context("Must include basename preceding .")? @@ -218,7 +214,7 @@ async fn parse_content( .as_str(); // Truncate this as u32 so it's formated as 8-character hex in the suffic below let path_hash = turbo_tasks_hash::hash_xxh3_hash64(ident_str) as u32; - let result = swc_core::css::modules::compile( + let result = swc_css_modules::compile( &mut parsed_stylesheet, // TODO swc_css_modules should take `impl TransformConfig + '_` ModuleTransformConfig { diff --git a/crates/turbopack-css/src/path_visitor.rs b/crates/turbopack-css/src/path_visitor.rs index 7ef2f904f8ae7..3245b94678b0f 100644 --- a/crates/turbopack-css/src/path_visitor.rs +++ b/crates/turbopack-css/src/path_visitor.rs @@ -1,12 +1,8 @@ use std::{borrow::Cow, collections::HashMap}; -use swc_core::{ - common::pass::AstKindPath, - css::{ - ast::*, - visit::{AstParentKind, VisitMut, VisitMutAstPath, VisitMutWith, VisitMutWithPath}, - }, -}; +use swc_common::pass::AstKindPath; +use swc_css_ast::*; +use swc_css_visit::{AstParentKind, VisitMut, VisitMutAstPath, VisitMutWith, VisitMutWithPath}; use crate::code_gen::VisitorFactory; diff --git a/crates/turbopack-css/src/references/import.rs b/crates/turbopack-css/src/references/import.rs index b3340e71875b5..5878f11f9c331 100644 --- a/crates/turbopack-css/src/references/import.rs +++ b/crates/turbopack-css/src/references/import.rs @@ -1,13 +1,9 @@ use anyhow::Result; -use swc_core::{ - common::DUMMY_SP, - css::{ - ast::*, - codegen::{ - writer::basic::{BasicCssWriter, BasicCssWriterConfig}, - CodeGenerator, Emit, - }, - }, +use swc_common::DUMMY_SP; +use swc_css_ast::*; +use swc_css_codegen::{ + writer::basic::{BasicCssWriter, BasicCssWriterConfig}, + CodeGenerator, Emit, }; use turbo_tasks::{Value, ValueToString, Vc}; use turbopack_core::{ diff --git a/crates/turbopack-css/src/references/mod.rs b/crates/turbopack-css/src/references/mod.rs index 0c9672f3debf9..6da8ffe1283d4 100644 --- a/crates/turbopack-css/src/references/mod.rs +++ b/crates/turbopack-css/src/references/mod.rs @@ -1,15 +1,11 @@ use anyhow::Result; -use swc_core::{ - common::{ - errors::{Handler, HANDLER}, - source_map::Pos, - Globals, Spanned, GLOBALS, - }, - css::{ - ast::{ImportHref, ImportPrelude, Url, UrlValue}, - visit::{AstNodePath, AstParentKind, VisitAstPath, VisitWithPath}, - }, +use swc_common::{ + errors::{Handler, HANDLER}, + source_map::Pos, + Globals, Spanned, GLOBALS, }; +use swc_css_ast::{ImportHref, ImportPrelude, Url, UrlValue}; +use swc_css_visit::{AstNodePath, AstParentKind, VisitAstPath, VisitWithPath}; use turbo_tasks::{Value, Vc}; use turbopack_core::{ issue::{IssueSeverity, LazyIssueSource}, diff --git a/crates/turbopack-css/src/references/url.rs b/crates/turbopack-css/src/references/url.rs index db471566ee7fe..d0acb2a01f031 100644 --- a/crates/turbopack-css/src/references/url.rs +++ b/crates/turbopack-css/src/references/url.rs @@ -1,8 +1,6 @@ use anyhow::{bail, Result}; -use swc_core::{ - common::DUMMY_SP, - css::ast::{Str, UrlValue}, -}; +use swc_common::DUMMY_SP; +use swc_css_ast::{Str, UrlValue}; use turbo_tasks::{debug::ValueDebug, Value, ValueToString, Vc}; use turbopack_core::{ chunk::{ diff --git a/crates/turbopack-css/src/transform/mod.rs b/crates/turbopack-css/src/transform/mod.rs index 0267bb1bfb5ed..4124574aef27e 100644 --- a/crates/turbopack-css/src/transform/mod.rs +++ b/crates/turbopack-css/src/transform/mod.rs @@ -1,10 +1,9 @@ use std::sync::Arc; use anyhow::Result; -use swc_core::{ - common::SourceMap, - css::{ast::Stylesheet, visit::VisitMutWith}, -}; +use swc_common::SourceMap; +use swc_css_ast::Stylesheet; +use swc_css_visit::VisitMutWith; #[turbo_tasks::value(serialization = "auto_for_input")] #[derive(PartialOrd, Ord, Hash, Debug, Copy, Clone)] diff --git a/crates/turbopack-ecmascript-plugins/src/transform/directives/client.rs b/crates/turbopack-ecmascript-plugins/src/transform/directives/client.rs index e85eeb1f59381..1234580a4c94a 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/directives/client.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/directives/client.rs @@ -1,6 +1,8 @@ use anyhow::Result; use async_trait::async_trait; -use swc_core::ecma::{ast::Program, transforms::base::resolver, visit::VisitMutWith}; +use swc_ecma_ast::Program; +use swc_ecma_transforms_base::resolver; +use swc_ecma_visit::VisitMutWith; use turbo_tasks::Vc; use turbopack_ecmascript::{CustomTransformer, TransformContext}; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/directives/mod.rs b/crates/turbopack-ecmascript-plugins/src/transform/directives/mod.rs index 09e96f2b3fb75..a1bd363db0f68 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/directives/mod.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/directives/mod.rs @@ -1,4 +1,4 @@ -use swc_core::ecma::ast::{Lit, Program}; +use swc_ecma_ast::{Lit, Program}; pub mod client; pub mod server; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/directives/server.rs b/crates/turbopack-ecmascript-plugins/src/transform/directives/server.rs index deb22705bb3b8..a5bef90941c0f 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/directives/server.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/directives/server.rs @@ -1,9 +1,7 @@ use anyhow::Result; use async_trait::async_trait; -use swc_core::{ - ecma::ast::{ModuleItem, Program}, - quote, -}; +use swc_core::quote; +use swc_ecma_ast::{ModuleItem, Program}; use turbo_tasks::Vc; use turbopack_core::issue::IssueExt; use turbopack_ecmascript::{CustomTransformer, TransformContext, UnsupportedServerActionIssue}; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/directives/server_to_client_proxy.rs b/crates/turbopack-ecmascript-plugins/src/transform/directives/server_to_client_proxy.rs index fe6374cce5930..a379bceaa906c 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/directives/server_to_client_proxy.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/directives/server_to_client_proxy.rs @@ -1,15 +1,10 @@ -use swc_core::{ - common::DUMMY_SP, - ecma::{ - ast::{ - Expr, ExprStmt, Ident, ImportDecl, ImportDefaultSpecifier, ImportSpecifier, - KeyValueProp, Lit, Module, ModuleDecl, ModuleItem, ObjectLit, Program, Prop, PropName, - PropOrSpread, Stmt, Str, - }, - utils::private_ident, - }, - quote, +use swc_common::DUMMY_SP; +use swc_core::quote; +use swc_ecma_ast::{ + Expr, ExprStmt, Ident, ImportDecl, ImportDefaultSpecifier, ImportSpecifier, KeyValueProp, Lit, + Module, ModuleDecl, ModuleItem, ObjectLit, Program, Prop, PropName, PropOrSpread, Stmt, Str, }; +use swc_ecma_utils::private_ident; use turbopack_ecmascript::TURBOPACK_HELPER; pub fn create_proxy_module(transition_name: &str, target_import: &str) -> Program { diff --git a/crates/turbopack-ecmascript-plugins/src/transform/emotion.rs b/crates/turbopack-ecmascript-plugins/src/transform/emotion.rs index 92bc780c77e22..a5c1b548bc313 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/emotion.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/emotion.rs @@ -7,13 +7,9 @@ use std::{ use anyhow::Result; use async_trait::async_trait; use serde::{Deserialize, Serialize}; -use swc_core::{ - common::util::take::Take, - ecma::{ - ast::{Module, Program}, - visit::FoldWith, - }, -}; +use swc_common::util::take::Take; +use swc_ecma_ast::{Module, Program}; +use swc_ecma_visit::FoldWith; use turbo_tasks::{trace::TraceRawVcs, ValueDefault, Vc}; use turbopack_ecmascript::{CustomTransformer, TransformContext}; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/modularize_imports.rs b/crates/turbopack-ecmascript-plugins/src/transform/modularize_imports.rs index 8468104b08314..77dc7e5deef08 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/modularize_imports.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/modularize_imports.rs @@ -5,13 +5,9 @@ use async_trait::async_trait; use indexmap::IndexMap; use modularize_imports::{modularize_imports, Config, PackageConfig}; use serde::{Deserialize, Serialize}; -use swc_core::{ - common::util::take::Take, - ecma::{ - ast::{Module, Program}, - visit::FoldWith, - }, -}; +use swc_common::util::take::Take; +use swc_ecma_ast::{Module, Program}; +use swc_ecma_visit::FoldWith; use turbo_tasks::trace::TraceRawVcs; use turbopack_ecmascript::{CustomTransformer, TransformContext}; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/relay.rs b/crates/turbopack-ecmascript-plugins/src/transform/relay.rs index 6abf7c3858096..35c295f424152 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/relay.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/relay.rs @@ -3,13 +3,9 @@ use std::path::PathBuf; use anyhow::Result; use async_trait::async_trait; use serde::{Deserialize, Serialize}; -use swc_core::{ - common::{util::take::Take, FileName}, - ecma::{ - ast::{Module, Program}, - visit::FoldWith, - }, -}; +use swc_common::{util::take::Take, FileName}; +use swc_ecma_ast::{Module, Program}; +use swc_ecma_visit::FoldWith; use swc_relay::RelayLanguageConfig; use turbo_tasks::trace::TraceRawVcs; use turbopack_ecmascript::{CustomTransformer, TransformContext}; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/styled_components.rs b/crates/turbopack-ecmascript-plugins/src/transform/styled_components.rs index dad95ea347f6c..40b4f5d8658af 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/styled_components.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/styled_components.rs @@ -2,10 +2,10 @@ use std::path::PathBuf; use anyhow::Result; use async_trait::async_trait; -use swc_core::{ - common::FileName, - ecma::{ast::Program, atoms::JsWord, visit::VisitMutWith}, -}; +use swc_common::FileName; +use swc_core::ecma::atoms::JsWord; +use swc_ecma_ast::Program; +use swc_ecma_visit::VisitMutWith; use turbo_tasks::{ValueDefault, Vc}; use turbopack_ecmascript::{CustomTransformer, TransformContext}; diff --git a/crates/turbopack-ecmascript-plugins/src/transform/styled_jsx.rs b/crates/turbopack-ecmascript-plugins/src/transform/styled_jsx.rs index 1c4d798e13253..40d09b1ab976d 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/styled_jsx.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/styled_jsx.rs @@ -1,12 +1,8 @@ use anyhow::Result; use async_trait::async_trait; -use swc_core::{ - common::{util::take::Take, FileName}, - ecma::{ - ast::{Module, Program}, - visit::FoldWith, - }, -}; +use swc_common::{util::take::Take, FileName}; +use swc_ecma_ast::{Module, Program}; +use swc_ecma_visit::FoldWith; use turbopack_ecmascript::{CustomTransformer, TransformContext}; #[derive(Debug)] diff --git a/crates/turbopack-ecmascript-plugins/src/transform/swc_ecma_transform_plugins.rs b/crates/turbopack-ecmascript-plugins/src/transform/swc_ecma_transform_plugins.rs index af4b87d222571..27667feeb1e00 100644 --- a/crates/turbopack-ecmascript-plugins/src/transform/swc_ecma_transform_plugins.rs +++ b/crates/turbopack-ecmascript-plugins/src/transform/swc_ecma_transform_plugins.rs @@ -1,6 +1,6 @@ use anyhow::Result; use async_trait::async_trait; -use swc_core::ecma::ast::Program; +use swc_ecma_ast::Program; use turbo_tasks::Vc; use turbo_tasks_fs::FileSystemPath; use turbopack_core::issue::{Issue, IssueSeverity}; @@ -121,18 +121,18 @@ impl CustomTransformer for SwcEcmaTransformPluginsTransformer { { use std::{cell::RefCell, rc::Rc, sync::Arc}; - use swc_core::{ - common::{ - comments::SingleThreadedComments, - plugin::{ - metadata::TransformPluginMetadataContext, serialized::PluginSerializedBytes, - }, - util::take::Take, + use swc_common::{ + comments::SingleThreadedComments, + plugin::{ + metadata::TransformPluginMetadataContext, serialized::PluginSerializedBytes, }, - ecma::ast::Module, + util::take::Take, + }; + use swc_core::{ plugin::proxies::{HostCommentsStorage, COMMENTS}, plugin_runner::plugin_module_bytes::PluginModuleBytes, }; + use swc_ecma_ast::Module; let mut plugins = vec![]; for (plugin_module, config) in &self.plugins { @@ -154,14 +154,12 @@ impl CustomTransformer for SwcEcmaTransformPluginsTransformer { let comments = if should_enable_comments_proxy { // Plugin only able to accept singlethreaded comments, interop from // multithreaded comments. - let mut leading = - swc_core::common::comments::SingleThreadedCommentsMapInner::default(); + let mut leading = swc_common::comments::SingleThreadedCommentsMapInner::default(); ctx.comments.leading.as_ref().into_iter().for_each(|c| { leading.insert(*c.key(), c.value().clone()); }); - let mut trailing = - swc_core::common::comments::SingleThreadedCommentsMapInner::default(); + let mut trailing = swc_common::comments::SingleThreadedCommentsMapInner::default(); ctx.comments.trailing.as_ref().into_iter().for_each(|c| { trailing.insert(*c.key(), c.value().clone()); }); @@ -179,9 +177,7 @@ impl CustomTransformer for SwcEcmaTransformPluginsTransformer { let module_program = std::mem::replace(program, Program::Module(Module::dummy())); let module_program = - swc_core::common::plugin::serialized::VersionedSerializable::new( - module_program, - ); + swc_common::plugin::serialized::VersionedSerializable::new(module_program); let mut serialized_program = PluginSerializedBytes::try_serialize(&module_program)?; diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 990f0b0373c23..177bc641196f3 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -40,6 +40,7 @@ swc_atoms = { workspace = true } swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true } +swc_ecma_codegen = { worksapce = true } swc_ecma_preset_env = { workspace = true } swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } diff --git a/crates/turbopack-ecmascript/benches/analyzer.rs b/crates/turbopack-ecmascript/benches/analyzer.rs index d7e97abab698c..d131af56fa23d 100644 --- a/crates/turbopack-ecmascript/benches/analyzer.rs +++ b/crates/turbopack-ecmascript/benches/analyzer.rs @@ -1,15 +1,11 @@ use std::{fs, path::PathBuf, sync::Arc, time::Duration}; use criterion::{Bencher, BenchmarkId, Criterion}; -use swc_core::{ - common::{FilePathMapping, Mark, SourceMap, GLOBALS}, - ecma::{ - ast::{EsVersion, Program}, - parser::parse_file_as_program, - transforms::base::resolver, - visit::VisitMutWith, - }, -}; +use swc_common::{FilePathMapping, Mark, SourceMap, GLOBALS}; +use swc_ecma_ast::{EsVersion, Program}; +use swc_ecma_parser::parse_file_as_program; +use swc_ecma_transforms_base::resolver; +use swc_ecma_visit::VisitMutWith; use turbo_tasks::Value; use turbo_tasks_testing::VcStorage; use turbopack_core::{ @@ -41,7 +37,7 @@ pub fn benchmark(c: &mut Criterion) { let cm = Arc::new(SourceMap::new(FilePathMapping::empty())); let fm = cm.load_file(&input).unwrap(); - GLOBALS.set(&swc_core::common::Globals::new(), || { + GLOBALS.set(&swc_common::Globals::new(), || { let mut program = parse_file_as_program( &fm, Default::default(), diff --git a/crates/turbopack-ecmascript/src/analyzer/linker.rs b/crates/turbopack-ecmascript/src/analyzer/linker.rs index 6347a970eb909..27e0c4efa013e 100644 --- a/crates/turbopack-ecmascript/src/analyzer/linker.rs +++ b/crates/turbopack-ecmascript/src/analyzer/linker.rs @@ -5,7 +5,7 @@ use std::{ }; use anyhow::Result; -use swc_core::ecma::ast::Id; +use swc_ecma_ast::Id; use super::{graph::VarGraph, JsValue}; diff --git a/crates/turbopack-ecmascript/src/analyzer/mod.rs b/crates/turbopack-ecmascript/src/analyzer/mod.rs index 31551a043385c..0af9a24cb970b 100644 --- a/crates/turbopack-ecmascript/src/analyzer/mod.rs +++ b/crates/turbopack-ecmascript/src/analyzer/mod.rs @@ -17,13 +17,9 @@ use num_bigint::BigInt; use num_traits::identities::Zero; use once_cell::sync::Lazy; use regex::Regex; -use swc_core::{ - common::Mark, - ecma::{ - ast::{Id, Ident, Lit}, - atoms::{Atom, JsWord}, - }, -}; +use swc_common::Mark; +use swc_core::ecma::atoms::{Atom, JsWord}; +use swc_ecma_ast::{Id, Ident, Lit}; use turbo_tasks::Vc; use turbopack_core::compile_time_info::CompileTimeDefineValue; use url::Url; @@ -473,8 +469,8 @@ impl From for JsValue { } } -impl From for JsValue { - fn from(v: swc_core::ecma::ast::Str) -> Self { +impl From for JsValue { + fn from(v: swc_ecma_ast::Str) -> Self { ConstantValue::Str(v.value.into()).into() } } @@ -3248,9 +3244,9 @@ mod tests { use std::{mem::take, path::PathBuf, time::Instant}; use swc_common::Mark; - use swc_core::ecma::{transforms::base::resolver, visit::VisitMutWith}; use swc_ecma_ast::EsVersion; use swc_ecma_parser::parse_file_as_program; + use swc_ecma_transforms_base::resolver; use testing::{fixture, run_test, NormalizedOutput}; use turbo_tasks::{util::FormatDuration, Value}; use turbopack_core::{ diff --git a/crates/turbopack-ecmascript/src/analyzer/top_level_await.rs b/crates/turbopack-ecmascript/src/analyzer/top_level_await.rs index 61d44e29c0473..758080c5f98cd 100644 --- a/crates/turbopack-ecmascript/src/analyzer/top_level_await.rs +++ b/crates/turbopack-ecmascript/src/analyzer/top_level_await.rs @@ -1,10 +1,6 @@ -use swc_core::{ - common::Span, - ecma::{ - ast::*, - visit::{noop_visit_type, Visit, VisitWith}, - }, -}; +use swc_common::Span; +use swc_ecma_ast::*; +use swc_ecma_visit::{noop_visit_type, Visit, VisitWith}; /// Checks if the program contains a top level await, if it does it will returns /// the span of the first await. diff --git a/crates/turbopack-ecmascript/src/code_gen.rs b/crates/turbopack-ecmascript/src/code_gen.rs index b5140ce16ed0a..21e4f733f066a 100644 --- a/crates/turbopack-ecmascript/src/code_gen.rs +++ b/crates/turbopack-ecmascript/src/code_gen.rs @@ -1,5 +1,5 @@ use serde::{Deserialize, Serialize}; -use swc_core::ecma::visit::{AstParentKind, VisitMut}; +use swc_ecma_visit::{AstParentKind, VisitMut}; use turbo_tasks::{debug::ValueDebugFormat, trace::TraceRawVcs, Vc}; use turbopack_core::chunk::AsyncModuleInfo; @@ -69,7 +69,7 @@ pub fn path_to( /// path exactly. Otherwise, the visitor will visit the closest matching parent /// node in the path. /// -/// Refer to the [swc_core::ecma::visit::VisitMut] trait for a list of all +/// Refer to the [swc_ecma_visit::VisitMut] trait for a list of all /// possible visit methods. #[macro_export] macro_rules! create_visitor { @@ -77,22 +77,22 @@ macro_rules! create_visitor { // expected one of `!`, `)`, `,`, `.`, `::`, `?`, `{`, or an operator, found `:` // This is a regression on nightly. (visit_mut_program($arg:ident: &mut Program) $b:block) => {{ - struct Visitor { + struct Visitor { visit_mut_program: T, } - impl $crate::code_gen::VisitorFactory + impl $crate::code_gen::VisitorFactory for Box> { - fn create<'a>(&'a self) -> Box { + fn create<'a>(&'a self) -> Box { Box::new(&**self) } } - impl<'a, T: Fn(&mut swc_core::ecma::ast::Program) + Send + Sync> swc_core::ecma::visit::VisitMut + impl<'a, T: Fn(&mut swc_ecma_ast::Program) + Send + Sync> swc_ecma_visit::VisitMut for &'a Visitor { - fn visit_mut_program(&mut self, $arg: &mut swc_core::ecma::ast::Program) { + fn visit_mut_program(&mut self, $arg: &mut swc_ecma_ast::Program) { (self.visit_mut_program)($arg); } } @@ -100,7 +100,7 @@ macro_rules! create_visitor { ( Vec::new(), Box::new(Box::new(Visitor { - visit_mut_program: move |$arg: &mut swc_core::ecma::ast::Program| $b, + visit_mut_program: move |$arg: &mut swc_ecma_ast::Program| $b, })) as Box, ) }}; @@ -109,26 +109,26 @@ macro_rules! create_visitor { }; ($ast_path:expr, $name:ident($arg:ident: &mut $ty:ident) $b:block) => { $crate::create_visitor!(__ $crate::code_gen::path_to(&$ast_path, |n| { - matches!(n, swc_core::ecma::visit::AstParentKind::$ty(_)) + matches!(n, swc_ecma_visit::AstParentKind::$ty(_)) }), $name($arg: &mut $ty) $b) }; (__ $ast_path:expr, $name:ident($arg:ident: &mut $ty:ident) $b:block) => {{ - struct Visitor { + struct Visitor { $name: T, } - impl $crate::code_gen::VisitorFactory + impl $crate::code_gen::VisitorFactory for Box> { - fn create<'a>(&'a self) -> Box { + fn create<'a>(&'a self) -> Box { Box::new(&**self) } } - impl<'a, T: Fn(&mut swc_core::ecma::ast::$ty) + Send + Sync> swc_core::ecma::visit::VisitMut + impl<'a, T: Fn(&mut swc_ecma_ast::$ty) + Send + Sync> swc_ecma_visit::VisitMut for &'a Visitor { - fn $name(&mut self, $arg: &mut swc_core::ecma::ast::$ty) { + fn $name(&mut self, $arg: &mut swc_ecma_ast::$ty) { (self.$name)($arg); } } @@ -136,7 +136,7 @@ macro_rules! create_visitor { ( $ast_path, Box::new(Box::new(Visitor { - $name: move |$arg: &mut swc_core::ecma::ast::$ty| $b, + $name: move |$arg: &mut swc_ecma_ast::$ty| $b, })) as Box, ) }}; diff --git a/crates/turbopack-ecmascript/src/lib.rs b/crates/turbopack-ecmascript/src/lib.rs index b91ec93a1920b..c259cdf503f65 100644 --- a/crates/turbopack-ecmascript/src/lib.rs +++ b/crates/turbopack-ecmascript/src/lib.rs @@ -37,13 +37,9 @@ use path_visitor::ApplyVisitors; use references::esm::UrlRewriteBehavior; pub use references::{AnalyzeEcmascriptModuleResult, TURBOPACK_HELPER}; pub use static_code::StaticEcmascriptCode; -use swc_core::{ - common::GLOBALS, - ecma::{ - codegen::{text_writer::JsWriter, Emitter}, - visit::{VisitMutWith, VisitMutWithPath}, - }, -}; +use swc_common::GLOBALS; +use swc_ecma_codegen::{text_writer::JsWriter, Emitter}; +use swc_ecma_visit::{VisitMutWith, VisitMutWithPath}; pub use transform::{ CustomTransformer, EcmascriptInputTransform, EcmascriptInputTransforms, OptionTransformPlugin, TransformContext, TransformPlugin, UnsupportedServerActionIssue, @@ -620,10 +616,7 @@ impl EcmascriptModuleContent { async fn gen_content_with_visitors( parsed: Vc, ident: Vc, - visitors: Vec<( - &Vec, - &dyn VisitorFactory, - )>, + visitors: Vec<(&Vec, &dyn VisitorFactory)>, root_visitors: Vec<&dyn VisitorFactory>, ) -> Result> { let parsed = parsed.await?; @@ -649,8 +642,8 @@ async fn gen_content_with_visitors( for visitor in root_visitors { program.visit_mut_with(&mut visitor.create()); } - program.visit_mut_with(&mut swc_core::ecma::transforms::base::hygiene::hygiene()); - program.visit_mut_with(&mut swc_core::ecma::transforms::base::fixer::fixer(None)); + program.visit_mut_with(&mut swc_ecma_transforms_base::hygiene::hygiene()); + program.visit_mut_with(&mut swc_ecma_transforms_base::fixer::fixer(None)); // we need to remove any shebang before bundling as it's only valid as the first // line in a js file (not in a chunk item wrapped in the runtime) @@ -666,7 +659,7 @@ async fn gen_content_with_visitors( let comments = comments.consumable(); let mut emitter = Emitter { - cfg: swc_core::ecma::codegen::Config::default(), + cfg: swc_ecma_codegen::Config::default(), cm: source_map.clone(), comments: Some(&comments), wr: JsWriter::new(source_map.clone(), "\n", &mut bytes, Some(&mut srcmap)), diff --git a/crates/turbopack-ecmascript/src/parse.rs b/crates/turbopack-ecmascript/src/parse.rs index 35c9c0f841a33..ac45c5c59e4bb 100644 --- a/crates/turbopack-ecmascript/src/parse.rs +++ b/crates/turbopack-ecmascript/src/parse.rs @@ -1,24 +1,20 @@ use std::{future::Future, sync::Arc}; use anyhow::{anyhow, Context, Result}; -use swc_core::{ - base::SwcComments, - common::{ - errors::{Handler, HANDLER}, - input::StringInput, - source_map::SourceMapGenConfig, - BytePos, FileName, Globals, LineCol, Mark, GLOBALS, - }, - ecma::{ - ast::{EsVersion, Program}, - parser::{lexer::Lexer, EsConfig, Parser, Syntax, TsConfig}, - transforms::base::{ - helpers::{Helpers, HELPERS}, - resolver, - }, - visit::VisitMutWith, - }, +use swc::SwcComments; +use swc_common::{ + errors::{Handler, HANDLER}, + input::StringInput, + source_map::SourceMapGenConfig, + BytePos, FileName, Globals, LineCol, Mark, GLOBALS, +}; +use swc_ecma_ast::{EsVersion, Program}; +use swc_ecma_parser::{lexer::Lexer, EsConfig, Parser, Syntax, TsConfig}; +use swc_ecma_transforms_base::{ + helpers::{Helpers, HELPERS}, + resolver, }; +use swc_ecma_visit::VisitMutWith; use turbo_tasks::{util::WrapFuture, Value, ValueToString, Vc}; use turbo_tasks_fs::{FileContent, FileSystemPath}; use turbo_tasks_hash::hash_xxh3_hash64; @@ -53,7 +49,7 @@ pub enum ParseResult { #[turbo_tasks(debug_ignore, trace_ignore)] globals: Arc, #[turbo_tasks(debug_ignore, trace_ignore)] - source_map: Arc, + source_map: Arc, }, Unparseable, NotFound, @@ -74,7 +70,7 @@ pub struct ParseResultSourceMap { /// to source locations. I don't know what it is, really, but it's not /// that. #[turbo_tasks(debug_ignore, trace_ignore)] - source_map: Arc, + source_map: Arc, /// The position mappings that can generate a real source map given a (SWC) /// SourceMap. @@ -89,10 +85,7 @@ impl PartialEq for ParseResultSourceMap { } impl ParseResultSourceMap { - pub fn new( - source_map: Arc, - mappings: Vec<(BytePos, LineCol)>, - ) -> Self { + pub fn new(source_map: Arc, mappings: Vec<(BytePos, LineCol)>) -> Self { ParseResultSourceMap { source_map, mappings, @@ -225,7 +218,7 @@ async fn parse_content( ty: EcmascriptModuleAssetType, transforms: &[EcmascriptInputTransform], ) -> Result> { - let source_map: Arc = Default::default(); + let source_map: Arc = Default::default(); let handler = Handler::with_emitter( true, false, @@ -337,9 +330,9 @@ async fn parse_content( .await?; } - parsed_program.visit_mut_with( - &mut swc_core::ecma::transforms::base::helpers::inject_helpers(unresolved_mark), - ); + parsed_program.visit_mut_with(&mut swc_ecma_transforms_base::helpers::inject_helpers( + unresolved_mark, + )); let eval_context = EvalContext::new(&parsed_program, unresolved_mark, Some(source)); diff --git a/crates/turbopack-ecmascript/src/path_visitor.rs b/crates/turbopack-ecmascript/src/path_visitor.rs index f5b30a0068312..019acf594d34c 100644 --- a/crates/turbopack-ecmascript/src/path_visitor.rs +++ b/crates/turbopack-ecmascript/src/path_visitor.rs @@ -1,12 +1,8 @@ use std::borrow::Cow; -use swc_core::{ - common::pass::AstKindPath, - ecma::{ - ast::*, - visit::{AstParentKind, VisitMut, VisitMutAstPath, VisitMutWith, VisitMutWithPath}, - }, -}; +use swc_common::pass::AstKindPath; +use swc_ecma_ast::*; +use swc_ecma_visit::{AstParentKind, VisitMut, VisitMutAstPath, VisitMutWith, VisitMutWithPath}; use crate::code_gen::VisitorFactory; @@ -158,17 +154,13 @@ impl VisitMutAstPath for ApplyVisitors<'_, '_> { mod tests { use std::sync::Arc; - use swc_core::{ - common::{errors::HANDLER, FileName, Mark, SourceFile, SourceMap}, - ecma::{ - ast::*, - codegen::{text_writer::JsWriter, Emitter}, - parser::parse_file_as_module, - transforms::base::resolver, - visit::{fields::*, AstParentKind, VisitMut, VisitMutWith, VisitMutWithPath}, - }, - testing::run_test, - }; + use swc_common::{errors::HANDLER, FileName, Mark, SourceFile, SourceMap}; + use swc_ecma_ast::*; + use swc_ecma_codegen::{text_writer::JsWriter, Emitter}; + use swc_ecma_parser::parse_file_as_module; + use swc_ecma_transforms_base::resolver; + use swc_ecma_visit::{fields::*, AstParentKind, VisitMut, VisitMutWith, VisitMutWithPath}; + use testing::run_test; use super::{ApplyVisitors, VisitorFactory}; @@ -215,7 +207,7 @@ mod tests { fn to_js(m: &Module, cm: &Arc) -> String { let mut bytes = Vec::new(); let mut emitter = Emitter { - cfg: swc_core::ecma::codegen::Config::default().with_minify(true), + cfg: swc_ecma_codegen::Config::default().with_minify(true), cm: cm.clone(), comments: None, wr: JsWriter::new(cm.clone(), "\n", &mut bytes, None), diff --git a/crates/turbopack-ecmascript/src/references/amd.rs b/crates/turbopack-ecmascript/src/references/amd.rs index bb58f76de8f83..43471eeb30052 100644 --- a/crates/turbopack-ecmascript/src/references/amd.rs +++ b/crates/turbopack-ecmascript/src/references/amd.rs @@ -2,14 +2,10 @@ use std::mem::take; use anyhow::Result; use serde::{Deserialize, Serialize}; -use swc_core::{ - common::DUMMY_SP, - ecma::{ - ast::{CallExpr, Callee, Expr, ExprOrSpread}, - utils::private_ident, - }, - quote, quote_expr, -}; +use swc_common::DUMMY_SP; +use swc_core::{quote, quote_expr}; +use swc_ecma_ast::{CallExpr, Callee, Expr, ExprOrSpread}; +use swc_ecma_utils::private_ident; use turbo_tasks::{ debug::ValueDebugFormat, trace::TraceRawVcs, ReadRef, TryJoinIterExt, Value, ValueToString, Vc, }; diff --git a/crates/turbopack-ecmascript/src/references/async_module.rs b/crates/turbopack-ecmascript/src/references/async_module.rs index 283e718ea65ed..1e400aa5eee9c 100644 --- a/crates/turbopack-ecmascript/src/references/async_module.rs +++ b/crates/turbopack-ecmascript/src/references/async_module.rs @@ -1,11 +1,9 @@ use anyhow::Result; use indexmap::IndexSet; use serde::{Deserialize, Serialize}; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{ArrayLit, ArrayPat, Expr, Ident, Pat, Program}, - quote, -}; +use swc_common::DUMMY_SP; +use swc_core::quote; +use swc_ecma_ast::{ArrayLit, ArrayPat, Expr, Ident, Pat, Program}; use turbo_tasks::{trace::TraceRawVcs, TryFlatJoinIterExt, Vc}; use turbopack_core::chunk::{AsyncModuleInfo, ChunkableModule}; diff --git a/crates/turbopack-ecmascript/src/references/cjs.rs b/crates/turbopack-ecmascript/src/references/cjs.rs index 18bf52e575d36..48322e9455cd6 100644 --- a/crates/turbopack-ecmascript/src/references/cjs.rs +++ b/crates/turbopack-ecmascript/src/references/cjs.rs @@ -1,8 +1,6 @@ use anyhow::Result; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{Callee, Expr, ExprOrSpread, Ident, ObjectLit}, -}; +use swc_common::DUMMY_SP; +use swc_ecma_ast::{Callee, Expr, ExprOrSpread, Ident, ObjectLit}; use turbo_tasks::{Value, ValueToString, Vc}; use turbopack_core::{ chunk::ChunkableModuleReference, diff --git a/crates/turbopack-ecmascript/src/references/esm/base.rs b/crates/turbopack-ecmascript/src/references/esm/base.rs index ea66adb034c0c..5a00ff7a77117 100644 --- a/crates/turbopack-ecmascript/src/references/esm/base.rs +++ b/crates/turbopack-ecmascript/src/references/esm/base.rs @@ -1,9 +1,9 @@ use anyhow::{anyhow, bail, Result}; use lazy_static::lazy_static; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{self, Expr, ExprStmt, Ident, Lit, ModuleItem, Program, Script, Stmt}, - quote, +use swc_common::DUMMY_SP; +use swc_core::quote; +use swc_ecma_ast::{ + Expr, ExprStmt, Ident, Lit, ModuleItem, Program, Script, Stmt, {self}, }; use turbo_tasks::{Value, ValueToString, Vc}; use turbopack_core::{ diff --git a/crates/turbopack-ecmascript/src/references/esm/binding.rs b/crates/turbopack-ecmascript/src/references/esm/binding.rs index eff4eba93db49..6c1c87ce9c0cd 100644 --- a/crates/turbopack-ecmascript/src/references/esm/binding.rs +++ b/crates/turbopack-ecmascript/src/references/esm/binding.rs @@ -1,14 +1,9 @@ use anyhow::Result; -use swc_core::{ - common::DUMMY_SP, - ecma::{ - ast::{ - ComputedPropName, Expr, Ident, KeyValueProp, Lit, MemberExpr, MemberProp, Prop, - PropName, Str, - }, - visit::fields::PropField, - }, +use swc_common::DUMMY_SP; +use swc_ecma_ast::{ + ComputedPropName, Expr, Ident, KeyValueProp, Lit, MemberExpr, MemberProp, Prop, PropName, Str, }; +use swc_ecma_visit::fields::PropField; use turbo_tasks::Vc; use super::EsmAssetReference; @@ -81,7 +76,7 @@ impl CodeGenerateable for EsmBinding { match ast_path.last() { // Shorthand properties get special treatment because we need to rewrite them to // normal key-value pairs. - Some(swc_core::ecma::visit::AstParentKind::Prop(PropField::Shorthand)) => { + Some(swc_ecma_visit::AstParentKind::Prop(PropField::Shorthand)) => { ast_path.pop(); visitors.push( create_visitor!(exact ast_path, visit_mut_prop(prop: &mut Prop) { @@ -96,7 +91,7 @@ impl CodeGenerateable for EsmBinding { break; } // Any other expression can be replaced with the import accessor. - Some(swc_core::ecma::visit::AstParentKind::Expr(_)) => { + Some(swc_ecma_visit::AstParentKind::Expr(_)) => { ast_path.pop(); visitors.push( create_visitor!(exact ast_path, visit_mut_expr(expr: &mut Expr) { diff --git a/crates/turbopack-ecmascript/src/references/esm/dynamic.rs b/crates/turbopack-ecmascript/src/references/esm/dynamic.rs index 6f2e601c3bf7e..64a45428fab0c 100644 --- a/crates/turbopack-ecmascript/src/references/esm/dynamic.rs +++ b/crates/turbopack-ecmascript/src/references/esm/dynamic.rs @@ -1,8 +1,6 @@ use anyhow::Result; -use swc_core::{ - ecma::ast::{Callee, ExprOrSpread}, - quote_expr, -}; +use swc_core::quote_expr; +use swc_ecma_ast::{Callee, ExprOrSpread}; use turbo_tasks::{Value, ValueToString, Vc}; use turbopack_core::{ chunk::{ChunkableModuleReference, ChunkingType, ChunkingTypeOption}, diff --git a/crates/turbopack-ecmascript/src/references/esm/export.rs b/crates/turbopack-ecmascript/src/references/esm/export.rs index e6e8b5ef840bc..35bce55771b44 100644 --- a/crates/turbopack-ecmascript/src/references/esm/export.rs +++ b/crates/turbopack-ecmascript/src/references/esm/export.rs @@ -5,13 +5,11 @@ use std::{ use anyhow::Result; use serde::{Deserialize, Serialize}; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{ - self, ComputedPropName, Expr, ExprStmt, Ident, KeyValueProp, Lit, MemberExpr, MemberProp, - ModuleItem, ObjectLit, Program, Prop, PropName, PropOrSpread, Script, Stmt, Str, - }, - quote, quote_expr, +use swc_common::DUMMY_SP; +use swc_core::{quote, quote_expr}; +use swc_ecma_ast::{ + ComputedPropName, Expr, ExprStmt, Ident, KeyValueProp, Lit, MemberExpr, MemberProp, ModuleItem, + ObjectLit, Program, Prop, PropName, PropOrSpread, Script, Stmt, Str, {self}, }; use turbo_tasks::{trace::TraceRawVcs, ValueToString, Vc}; use turbopack_core::{ @@ -243,7 +241,7 @@ impl CodeGenerateable for EsmExports { getters: Expr = getters.clone() ); match program { - Program::Module(ast::Module { body, .. }) => { + Program::Module(swc_ecma_ast::Module { body, .. }) => { body.insert(0, ModuleItem::Stmt(stmt)); } Program::Script(Script { body, .. }) => { diff --git a/crates/turbopack-ecmascript/src/references/esm/meta.rs b/crates/turbopack-ecmascript/src/references/esm/meta.rs index 7a8790f21186f..01506d5666bf2 100644 --- a/crates/turbopack-ecmascript/src/references/esm/meta.rs +++ b/crates/turbopack-ecmascript/src/references/esm/meta.rs @@ -1,11 +1,9 @@ use std::borrow::Cow; use anyhow::Result; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{Expr, Ident}, - quote, -}; +use swc_common::DUMMY_SP; +use swc_core::quote; +use swc_ecma_ast::{Expr, Ident}; use turbo_tasks::Vc; use turbo_tasks_fs::FileSystemPath; diff --git a/crates/turbopack-ecmascript/src/references/esm/module_id.rs b/crates/turbopack-ecmascript/src/references/esm/module_id.rs index ab74a9ba90cc9..3bad5b59e0118 100644 --- a/crates/turbopack-ecmascript/src/references/esm/module_id.rs +++ b/crates/turbopack-ecmascript/src/references/esm/module_id.rs @@ -1,5 +1,6 @@ use anyhow::Result; -use swc_core::{ecma::ast::Expr, quote}; +use swc_core::quote; +use swc_ecma_ast::Expr; use turbo_tasks::{ValueToString, Vc}; use turbopack_core::{ chunk::{ diff --git a/crates/turbopack-ecmascript/src/references/esm/module_item.rs b/crates/turbopack-ecmascript/src/references/esm/module_item.rs index 269910a7b015c..904e225013533 100644 --- a/crates/turbopack-ecmascript/src/references/esm/module_item.rs +++ b/crates/turbopack-ecmascript/src/references/esm/module_item.rs @@ -1,13 +1,11 @@ use std::mem::replace; use anyhow::Result; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{ - ClassDecl, Decl, DefaultDecl, ExportDecl, ExportDefaultDecl, ExportDefaultExpr, FnDecl, - Ident, ModuleDecl, ModuleItem, Stmt, - }, - quote, +use swc_common::DUMMY_SP; +use swc_core::quote; +use swc_ecma_ast::{ + ClassDecl, Decl, DefaultDecl, ExportDecl, ExportDefaultDecl, ExportDefaultExpr, FnDecl, Ident, + ModuleDecl, ModuleItem, Stmt, }; use turbo_tasks::Vc; diff --git a/crates/turbopack-ecmascript/src/references/esm/url.rs b/crates/turbopack-ecmascript/src/references/esm/url.rs index 1ebf253a5856f..0bae1aa7a3d16 100644 --- a/crates/turbopack-ecmascript/src/references/esm/url.rs +++ b/crates/turbopack-ecmascript/src/references/esm/url.rs @@ -1,8 +1,6 @@ use anyhow::Result; -use swc_core::{ - ecma::ast::{Expr, ExprOrSpread, NewExpr}, - quote, -}; +use swc_core::quote; +use swc_ecma_ast::{Expr, ExprOrSpread, NewExpr}; use turbo_tasks::{Value, ValueToString, Vc}; use turbopack_core::{ chunk::{ diff --git a/crates/turbopack-ecmascript/src/references/mod.rs b/crates/turbopack-ecmascript/src/references/mod.rs index 1c6144f1e98d4..81a612598d888 100644 --- a/crates/turbopack-ecmascript/src/references/mod.rs +++ b/crates/turbopack-ecmascript/src/references/mod.rs @@ -30,21 +30,17 @@ use lazy_static::lazy_static; use num_traits::Zero; use parking_lot::Mutex; use regex::Regex; -use swc_core::{ - common::{ - comments::{CommentKind, Comments}, - errors::{DiagnosticId, Handler, HANDLER}, - pass::AstNodePath, - source_map::Pos, - Globals, Span, Spanned, GLOBALS, - }, - ecma::{ - ast::*, - visit::{ - fields::{AssignExprField, ExprField, PatField, PatOrExprField}, - AstParentKind, AstParentNodeRef, VisitAstPath, VisitWithPath, - }, - }, +use swc_common::{ + comments::{CommentKind, Comments}, + errors::{DiagnosticId, Handler, HANDLER}, + pass::AstNodePath, + source_map::Pos, + Globals, Span, Spanned, GLOBALS, +}; +use swc_ecma_ast::*; +use swc_ecma_visit::{ + fields::{AssignExprField, ExprField, PatField, PatOrExprField}, + AstParentKind, AstParentNodeRef, VisitAstPath, VisitWithPath, }; use turbo_tasks::{TryJoinIterExt, Upcast, Value, Vc}; use turbo_tasks_fs::{FileJsonContent, FileSystemPath}; @@ -2625,7 +2621,7 @@ enum DetectedDynamicExportType { } fn detect_dynamic_export(p: &Program) -> DetectedDynamicExportType { - use swc_core::ecma::visit::{visit_obj_and_computed, Visit, VisitWith}; + use swc_ecma_visit::{visit_obj_and_computed, Visit, VisitWith}; if let Program::Module(m) = p { // Check for imports/exports diff --git a/crates/turbopack-ecmascript/src/references/pattern_mapping.rs b/crates/turbopack-ecmascript/src/references/pattern_mapping.rs index a9896724cc48f..cb5996fb7b7b0 100644 --- a/crates/turbopack-ecmascript/src/references/pattern_mapping.rs +++ b/crates/turbopack-ecmascript/src/references/pattern_mapping.rs @@ -1,9 +1,7 @@ use anyhow::Result; use indexmap::IndexMap; -use swc_core::{ - ecma::ast::{Expr, Lit}, - quote, -}; +use swc_core::quote; +use swc_ecma_ast::{Expr, Lit}; use turbo_tasks::{debug::ValueDebug, Value, Vc}; use turbopack_core::{ chunk::{ChunkItemExt, ChunkableModule, ChunkingContext, ModuleId}, diff --git a/crates/turbopack-ecmascript/src/references/require_context.rs b/crates/turbopack-ecmascript/src/references/require_context.rs index eb8a9a5687dd1..7b2a874a462d7 100644 --- a/crates/turbopack-ecmascript/src/references/require_context.rs +++ b/crates/turbopack-ecmascript/src/references/require_context.rs @@ -2,17 +2,13 @@ use std::{collections::VecDeque, sync::Arc}; use anyhow::{bail, Context, Result}; use indexmap::IndexMap; -use swc_core::{ - common::DUMMY_SP, - ecma::{ - ast::{ - Expr, ExprStmt, KeyValueProp, Lit, ModuleItem, ObjectLit, Prop, PropName, PropOrSpread, - Stmt, {self}, - }, - codegen::{text_writer::JsWriter, Emitter}, - }, - quote, quote_expr, +use swc_common::DUMMY_SP; +use swc_core::{quote, quote_expr}; +use swc_ecma_ast::{ + Expr, ExprStmt, KeyValueProp, Lit, ModuleItem, ObjectLit, Prop, PropName, PropOrSpread, Stmt, + {self}, }; +use swc_ecma_codegen::{text_writer::JsWriter, Emitter}; use turbo_tasks::{primitives::Regex, Value, ValueToString, Vc}; use turbo_tasks_fs::{DirectoryContent, DirectoryEntry, FileSystemPath}; use turbopack_core::{ @@ -479,10 +475,10 @@ impl EcmascriptChunkItem for RequireContextChunkItem { shebang: None, }; - let source_map: Arc = Default::default(); + let source_map: Arc = Default::default(); let mut bytes: Vec = vec![]; let mut emitter = Emitter { - cfg: swc_core::ecma::codegen::Config::default(), + cfg: swc_ecma_codegen::Config::default(), cm: source_map.clone(), comments: None, wr: JsWriter::new(source_map, "\n", &mut bytes, None), diff --git a/crates/turbopack-ecmascript/src/references/util.rs b/crates/turbopack-ecmascript/src/references/util.rs index d42a8ef7d7ee3..238ca34cb88a8 100644 --- a/crates/turbopack-ecmascript/src/references/util.rs +++ b/crates/turbopack-ecmascript/src/references/util.rs @@ -1,5 +1,6 @@ use anyhow::Result; -use swc_core::{ecma::ast::Expr, quote}; +use swc_core::quote; +use swc_ecma_ast::Expr; use turbo_tasks::Vc; use turbopack_core::resolve::parse::Request; diff --git a/crates/turbopack-ecmascript/src/swc_comments.rs b/crates/turbopack-ecmascript/src/swc_comments.rs index c79dae272a006..3b5df9adb0a03 100644 --- a/crates/turbopack-ecmascript/src/swc_comments.rs +++ b/crates/turbopack-ecmascript/src/swc_comments.rs @@ -1,11 +1,9 @@ use std::{cell::RefCell, collections::HashMap, mem::take}; -use swc_core::{ - base::SwcComments, - common::{ - comments::{Comment, Comments}, - BytePos, - }, +use swc::SwcComments; +use swc_common::{ + comments::{Comment, Comments}, + BytePos, }; /// Immutable version of [SwcComments] which doesn't allow mutation. The `take` @@ -44,89 +42,75 @@ impl ImmutableComments { } impl Comments for ImmutableComments { - fn add_leading( - &self, - _pos: swc_core::common::BytePos, - _cmt: swc_core::common::comments::Comment, - ) { + fn add_leading(&self, _pos: swc_common::BytePos, _cmt: swc_common::comments::Comment) { panic!("Comments are immutable after parsing") } fn add_leading_comments( &self, - _pos: swc_core::common::BytePos, - _comments: Vec, + _pos: swc_common::BytePos, + _comments: Vec, ) { panic!("Comments are immutable after parsing") } - fn has_leading(&self, pos: swc_core::common::BytePos) -> bool { + fn has_leading(&self, pos: swc_common::BytePos) -> bool { self.leading.contains_key(&pos) } - fn move_leading(&self, _from: swc_core::common::BytePos, _to: swc_core::common::BytePos) { + fn move_leading(&self, _from: swc_common::BytePos, _to: swc_common::BytePos) { panic!("Comments are immutable after parsing") } fn take_leading( &self, - _pos: swc_core::common::BytePos, - ) -> Option> { + _pos: swc_common::BytePos, + ) -> Option> { panic!( "Comments are immutable after parsing (Use ImmutableComments::consumable() to allow \ taking out values)" ) } - fn get_leading( - &self, - pos: swc_core::common::BytePos, - ) -> Option> { + fn get_leading(&self, pos: swc_common::BytePos) -> Option> { self.leading.get(&pos).map(|v| v.to_owned()) } - fn add_trailing( - &self, - _pos: swc_core::common::BytePos, - _cmt: swc_core::common::comments::Comment, - ) { + fn add_trailing(&self, _pos: swc_common::BytePos, _cmt: swc_common::comments::Comment) { panic!("Comments are immutable after parsing") } fn add_trailing_comments( &self, - _pos: swc_core::common::BytePos, - _comments: Vec, + _pos: swc_common::BytePos, + _comments: Vec, ) { panic!("Comments are immutable after parsing") } - fn has_trailing(&self, pos: swc_core::common::BytePos) -> bool { + fn has_trailing(&self, pos: swc_common::BytePos) -> bool { self.trailing.contains_key(&pos) } - fn move_trailing(&self, _from: swc_core::common::BytePos, _to: swc_core::common::BytePos) { + fn move_trailing(&self, _from: swc_common::BytePos, _to: swc_common::BytePos) { panic!("Comments are immutable after parsing") } fn take_trailing( &self, - _pos: swc_core::common::BytePos, - ) -> Option> { + _pos: swc_common::BytePos, + ) -> Option> { panic!( "Comments are immutable after parsing (Use ImmutableComments::consumable() to allow \ taking out values)" ) } - fn get_trailing( - &self, - pos: swc_core::common::BytePos, - ) -> Option> { + fn get_trailing(&self, pos: swc_common::BytePos) -> Option> { self.trailing.get(&pos).map(|v| v.to_owned()) } - fn add_pure_comment(&self, _pos: swc_core::common::BytePos) { + fn add_pure_comment(&self, _pos: swc_common::BytePos) { panic!("Comments are immutable after parsing") } @@ -186,86 +170,69 @@ impl<'a> CowComments<'a> { } impl<'a> Comments for CowComments<'a> { - fn add_leading( - &self, - _pos: swc_core::common::BytePos, - _cmt: swc_core::common::comments::Comment, - ) { + fn add_leading(&self, _pos: swc_common::BytePos, _cmt: swc_common::comments::Comment) { panic!("Comments are immutable after parsing") } fn add_leading_comments( &self, - _pos: swc_core::common::BytePos, - _comments: Vec, + _pos: swc_common::BytePos, + _comments: Vec, ) { panic!("Comments are immutable after parsing") } - fn has_leading(&self, pos: swc_core::common::BytePos) -> bool { + fn has_leading(&self, pos: swc_common::BytePos) -> bool { self.leading.borrow().contains_key(&pos) } - fn move_leading(&self, _from: swc_core::common::BytePos, _to: swc_core::common::BytePos) { + fn move_leading(&self, _from: swc_common::BytePos, _to: swc_common::BytePos) { panic!("Comments are immutable after parsing") } - fn take_leading( - &self, - pos: swc_core::common::BytePos, - ) -> Option> { + fn take_leading(&self, pos: swc_common::BytePos) -> Option> { self.leading.borrow_mut().remove(&pos).map(|v| v.to_owned()) } - fn get_leading( - &self, - pos: swc_core::common::BytePos, - ) -> Option> { + fn get_leading(&self, pos: swc_common::BytePos) -> Option> { self.leading.borrow().get(&pos).map(|&v| v.to_owned()) } - fn add_trailing( - &self, - _pos: swc_core::common::BytePos, - _cmt: swc_core::common::comments::Comment, - ) { + fn add_trailing(&self, _pos: swc_common::BytePos, _cmt: swc_common::comments::Comment) { panic!("Comments are immutable after parsing") } fn add_trailing_comments( &self, - _pos: swc_core::common::BytePos, - _comments: Vec, + _pos: swc_common::BytePos, + _comments: Vec, ) { panic!("Comments are immutable after parsing") } - fn has_trailing(&self, pos: swc_core::common::BytePos) -> bool { + fn has_trailing(&self, pos: swc_common::BytePos) -> bool { self.trailing.borrow().contains_key(&pos) } - fn move_trailing(&self, _from: swc_core::common::BytePos, _to: swc_core::common::BytePos) { + fn move_trailing(&self, _from: swc_common::BytePos, _to: swc_common::BytePos) { panic!("Comments are immutable after parsing") } fn take_trailing( &self, - pos: swc_core::common::BytePos, - ) -> Option> { + pos: swc_common::BytePos, + ) -> Option> { self.trailing .borrow_mut() .remove(&pos) .map(|v| v.to_owned()) } - fn get_trailing( - &self, - pos: swc_core::common::BytePos, - ) -> Option> { + fn get_trailing(&self, pos: swc_common::BytePos) -> Option> { self.trailing.borrow().get(&pos).map(|&v| v.to_owned()) } - fn add_pure_comment(&self, _pos: swc_core::common::BytePos) { + fn add_pure_comment(&self, _pos: swc_common::BytePos) { panic!("Comments are immutable after parsing") } diff --git a/crates/turbopack-ecmascript/src/transform/mod.rs b/crates/turbopack-ecmascript/src/transform/mod.rs index 1b3ff158d8c1c..debbc30b1d788 100644 --- a/crates/turbopack-ecmascript/src/transform/mod.rs +++ b/crates/turbopack-ecmascript/src/transform/mod.rs @@ -2,21 +2,17 @@ use std::{fmt::Debug, hash::Hash, sync::Arc}; use anyhow::Result; use async_trait::async_trait; -use swc_core::{ - base::SwcComments, - common::{chain, comments::Comments, util::take::Take, Mark, SourceMap}, - ecma::{ - ast::{Module, ModuleItem, Program, Script}, - preset_env::{ - Targets, {self}, - }, - transforms::{ - base::{feature::FeatureFlag, helpers::inject_helpers, Assumptions}, - react::react, - }, - visit::{FoldWith, VisitMutWith}, +use swc::SwcComments; +use swc_common::{chain, comments::Comments, util::take::Take, Mark, SourceMap}; +use swc_core::ecma::{ + preset_env::{ + Targets, {self}, }, + transforms::react::react, }; +use swc_ecma_ast::{Module, ModuleItem, Program, Script}; +use swc_ecma_transforms_base::{feature::FeatureFlag, helpers::inject_helpers, Assumptions}; +use swc_ecma_visit::{FoldWith, VisitMutWith}; use turbo_tasks::{ValueDefault, Vc}; use turbo_tasks_fs::FileSystemPath; use turbopack_core::{ @@ -186,20 +182,20 @@ impl EcmascriptInputTransform { EcmascriptInputTransform::CommonJs => { // Explicit type annotation to ensure that we don't duplicate transforms in the // final binary - program.visit_mut_with(&mut swc_core::ecma::transforms::module::common_js::< - &dyn Comments, - >( - unresolved_mark, - swc_core::ecma::transforms::module::util::Config { - allow_top_level_this: true, - import_interop: Some( - swc_core::ecma::transforms::module::util::ImportInterop::Swc, - ), - ..Default::default() - }, - swc_core::ecma::transforms::base::feature::FeatureFlag::all(), - Some(&comments), - )); + program.visit_mut_with( + &mut swc_ecma_transforms_module::common_js::<&dyn Comments>( + unresolved_mark, + swc_ecma_transforms_module::util::Config { + allow_top_level_this: true, + import_interop: Some( + swc_ecma_transforms_module::util::ImportInterop::Swc, + ), + ..Default::default() + }, + swc_ecma_transforms_base::feature::FeatureFlag::all(), + Some(&comments), + ), + ); } EcmascriptInputTransform::PresetEnv(env) => { let versions = env.runtime_versions().await?; diff --git a/crates/turbopack-ecmascript/src/tree_shake/graph.rs b/crates/turbopack-ecmascript/src/tree_shake/graph.rs index ce19749642840..9f5031fb2858a 100644 --- a/crates/turbopack-ecmascript/src/tree_shake/graph.rs +++ b/crates/turbopack-ecmascript/src/tree_shake/graph.rs @@ -9,19 +9,15 @@ use petgraph::{ prelude::DiGraphMap, }; use rustc_hash::{FxHashMap, FxHashSet, FxHasher}; -use swc_core::{ - common::{util::take::Take, DUMMY_SP}, - ecma::{ - ast::{ - op, ClassDecl, Decl, ExportDecl, ExportNamedSpecifier, ExportSpecifier, Expr, ExprStmt, - FnDecl, Id, Ident, ImportDecl, ImportNamedSpecifier, ImportSpecifier, KeyValueProp, - Lit, Module, ModuleDecl, ModuleExportName, ModuleItem, NamedExport, ObjectLit, Prop, - PropName, PropOrSpread, Stmt, VarDecl, - }, - atoms::{js_word, JsWord}, - utils::{find_pat_ids, quote_ident}, - }, +use swc_common::{util::take::Take, DUMMY_SP}; +use swc_core::ecma::atoms::{js_word, JsWord}; +use swc_ecma_ast::{ + op, ClassDecl, Decl, ExportDecl, ExportNamedSpecifier, ExportSpecifier, Expr, ExprStmt, FnDecl, + Id, Ident, ImportDecl, ImportNamedSpecifier, ImportSpecifier, KeyValueProp, Lit, Module, + ModuleDecl, ModuleExportName, ModuleItem, NamedExport, ObjectLit, Prop, PropName, PropOrSpread, + Stmt, VarDecl, }; +use swc_ecma_utils::{find_pat_ids, quote_ident}; use super::{ util::{ids_captured_by, ids_used_by, ids_used_by_ignoring_nested}, diff --git a/crates/turbopack-ecmascript/src/tree_shake/merge.rs b/crates/turbopack-ecmascript/src/tree_shake/merge.rs index 984dbf95f56b1..6639437eb528c 100644 --- a/crates/turbopack-ecmascript/src/tree_shake/merge.rs +++ b/crates/turbopack-ecmascript/src/tree_shake/merge.rs @@ -1,9 +1,7 @@ use anyhow::Error; use rustc_hash::FxHashSet; -use swc_core::ecma::{ - ast::{Module, ModuleDecl, ModuleItem}, - atoms::JsWord, -}; +use swc_core::ecma::atoms::JsWord; +use swc_ecma_ast::{Module, ModuleDecl, ModuleItem}; use super::graph::find_turbopack_chunk_id_in_asserts; diff --git a/crates/turbopack-ecmascript/src/tree_shake/mod.rs b/crates/turbopack-ecmascript/src/tree_shake/mod.rs index 4926ade127997..bf436272beede 100644 --- a/crates/turbopack-ecmascript/src/tree_shake/mod.rs +++ b/crates/turbopack-ecmascript/src/tree_shake/mod.rs @@ -1,7 +1,7 @@ use anyhow::{bail, Result}; use indexmap::IndexSet; use rustc_hash::FxHashMap; -use swc_core::ecma::ast::{Id, Module, Program}; +use swc_ecma_ast::{Id, Module, Program}; use turbo_tasks::Vc; use turbo_tasks_fs::FileSystemPath; use turbopack_core::{ diff --git a/crates/turbopack-ecmascript/src/tree_shake/tests.rs b/crates/turbopack-ecmascript/src/tree_shake/tests.rs index 0ac58b17f910a..cf379d2a39a5c 100644 --- a/crates/turbopack-ecmascript/src/tree_shake/tests.rs +++ b/crates/turbopack-ecmascript/src/tree_shake/tests.rs @@ -9,17 +9,13 @@ use anyhow::Error; use indexmap::IndexSet; use rustc_hash::FxHasher; use serde::Deserialize; -use swc_core::{ - common::{util::take::Take, SourceMap}, - ecma::{ - ast::{EsVersion, Id, Module}, - atoms::JsWord, - codegen::text_writer::JsWriter, - parser::parse_file_as_module, - }, - testing::{ - fixture, NormalizedOutput, {self}, - }, +use swc_common::{util::take::Take, SourceMap}; +use swc_core::ecma::atoms::JsWord; +use swc_ecma_ast::{EsVersion, Id, Module}; +use swc_ecma_codegen::text_writer::JsWriter; +use swc_ecma_parser::parse_file_as_module; +use testing::{ + fixture, NormalizedOutput, {self}, }; use super::{ @@ -260,13 +256,12 @@ impl super::merge::Load for SingleModuleLoader<'_> { } } -fn print(cm: &Arc, nodes: &[&N]) -> String { +fn print(cm: &Arc, nodes: &[&N]) -> String { let mut buf = vec![]; { - let mut emitter = swc_core::ecma::codegen::Emitter { - cfg: swc_core::ecma::codegen::Config::default() - .with_emit_assert_for_import_attributes(true), + let mut emitter = swc_ecma_codegen::Emitter { + cfg: swc_ecma_codegen::Config::default().with_emit_assert_for_import_attributes(true), cm: cm.clone(), comments: None, wr: Box::new(JsWriter::new(cm.clone(), "\n", &mut buf, None)), diff --git a/crates/turbopack-ecmascript/src/tree_shake/util.rs b/crates/turbopack-ecmascript/src/tree_shake/util.rs index eebd05c24c0ec..413cb02237f37 100644 --- a/crates/turbopack-ecmascript/src/tree_shake/util.rs +++ b/crates/turbopack-ecmascript/src/tree_shake/util.rs @@ -2,13 +2,10 @@ use std::hash::BuildHasherDefault; use indexmap::IndexSet; use rustc_hash::FxHasher; -use swc_core::ecma::{ - ast::{ - BlockStmtOrExpr, Constructor, Expr, Function, Id, Ident, MemberProp, Pat, PatOrExpr, - PropName, - }, - visit::{noop_visit_type, visit_obj_and_computed, Visit, VisitWith}, +use swc_ecma_ast::{ + BlockStmtOrExpr, Constructor, Expr, Function, Id, Ident, MemberProp, Pat, PatOrExpr, PropName, }; +use swc_ecma_visit::{noop_visit_type, visit_obj_and_computed, Visit, VisitWith}; #[derive(Debug, Default, Clone, Copy)] enum Mode { diff --git a/crates/turbopack-ecmascript/src/utils.rs b/crates/turbopack-ecmascript/src/utils.rs index 5da03816e0846..e4912ba471e4f 100644 --- a/crates/turbopack-ecmascript/src/utils.rs +++ b/crates/turbopack-ecmascript/src/utils.rs @@ -1,8 +1,6 @@ use serde::Serialize; -use swc_core::{ - common::DUMMY_SP, - ecma::ast::{Expr, Lit, Str}, -}; +use swc_common::DUMMY_SP; +use swc_ecma_ast::{Expr, Lit, Str}; use turbopack_core::{chunk::ModuleId, resolve::pattern::Pattern}; use crate::analyzer::{ConstantNumber, ConstantValue, JsValue}; diff --git a/crates/turbopack-ecmascript/src/webpack/mod.rs b/crates/turbopack-ecmascript/src/webpack/mod.rs index eb261540fe31d..a8817462ad8da 100644 --- a/crates/turbopack-ecmascript/src/webpack/mod.rs +++ b/crates/turbopack-ecmascript/src/webpack/mod.rs @@ -1,5 +1,5 @@ use anyhow::Result; -use swc_core::ecma::ast::Lit; +use swc_ecma_ast::Lit; use turbo_tasks::{Value, ValueToString, Vc}; use turbopack_core::{ asset::{Asset, AssetContent}, diff --git a/crates/turbopack-ecmascript/src/webpack/parse.rs b/crates/turbopack-ecmascript/src/webpack/parse.rs index 24379f1462e7d..f94fe513daec9 100644 --- a/crates/turbopack-ecmascript/src/webpack/parse.rs +++ b/crates/turbopack-ecmascript/src/webpack/parse.rs @@ -1,16 +1,12 @@ use std::borrow::Cow; use anyhow::Result; -use swc_core::{ - common::GLOBALS, - ecma::{ - ast::{ - ArrowExpr, AssignOp, BinExpr, BinaryOp, CallExpr, Callee, Expr, ExprOrSpread, ExprStmt, - FnExpr, Lit, Module, ModuleItem, Program, Script, Stmt, - }, - visit::{Visit, VisitWith}, - }, +use swc_common::GLOBALS; +use swc_ecma_ast::{ + ArrowExpr, AssignOp, BinExpr, BinaryOp, CallExpr, Callee, Expr, ExprOrSpread, ExprStmt, FnExpr, + Lit, Module, ModuleItem, Program, Script, Stmt, }; +use swc_ecma_visit::{Visit, VisitWith}; use turbo_tasks::{Value, Vc}; use turbo_tasks_fs::FileSystemPath; use turbopack_core::source::Source; diff --git a/crates/turbopack-ecmascript/src/webpack/references.rs b/crates/turbopack-ecmascript/src/webpack/references.rs index 924dcdaefccaf..69adb5535c312 100644 --- a/crates/turbopack-ecmascript/src/webpack/references.rs +++ b/crates/turbopack-ecmascript/src/webpack/references.rs @@ -1,11 +1,7 @@ use anyhow::Result; -use swc_core::{ - common::errors::{Handler, HANDLER}, - ecma::{ - ast::{CallExpr, Expr, ExprOrSpread}, - visit::{Visit, VisitWith}, - }, -}; +use swc_common::errors::{Handler, HANDLER}; +use swc_ecma_ast::{CallExpr, Expr, ExprOrSpread}; +use swc_ecma_visit::{Visit, VisitWith}; use turbo_tasks::{Value, Vc}; use turbopack_core::{ reference::{ModuleReference, ModuleReferences}, diff --git a/crates/turborepo-ffi/src/lockfile.rs b/crates/turborepo-ffi/src/lockfile.rs index 42f340f208883..f0dc79ef74d47 100644 --- a/crates/turborepo-ffi/src/lockfile.rs +++ b/crates/turborepo-ffi/src/lockfile.rs @@ -5,8 +5,8 @@ use std::{ use thiserror::Error; use turborepo_lockfiles::{ - self, BerryLockfile, BunLockfile, Lockfile, LockfileData, NpmLockfile, Package, PnpmLockfile, - Yarn1Lockfile, + BerryLockfile, BunLockfile, Lockfile, LockfileData, NpmLockfile, Package, PnpmLockfile, + Yarn1Lockfile, {self}, }; use super::{proto, Buffer}; diff --git a/crates/turborepo-filewatch/src/lib.rs b/crates/turborepo-filewatch/src/lib.rs index d4ccfd7e40025..2028147e8da4d 100644 --- a/crates/turborepo-filewatch/src/lib.rs +++ b/crates/turborepo-filewatch/src/lib.rs @@ -1,6 +1,8 @@ #![deny(clippy::all)] #![feature(assert_matches)] +#[cfg(feature = "manual_recursive_watch")] +use std::io; use std::{ fmt::{Debug, Display}, future::IntoFuture, @@ -15,25 +17,27 @@ use std::{ // macos -> custom watcher impl in fsevents, no recursive watch, no watching ancestors #[cfg(target_os = "macos")] use fsevent::FsEventWatcher; +#[cfg(feature = "manual_recursive_watch")] +use notify::event::CreateKind; +#[cfg(feature = "manual_recursive_watch")] +use notify::event::EventAttributes; #[cfg(any(feature = "manual_recursive_watch", feature = "watch_ancestors"))] use notify::event::EventKind; #[cfg(not(target_os = "macos"))] -use notify::{Config, RecommendedWatcher}; +use notify::Config; +#[cfg(feature = "manual_recursive_watch")] +use notify::ErrorKind; +#[cfg(not(target_os = "macos"))] +use notify::RecommendedWatcher; use notify::{Event, EventHandler, RecursiveMode, Watcher}; use thiserror::Error; use tokio::sync::{broadcast, mpsc}; +#[cfg(feature = "manual_recursive_watch")] +use tracing::trace; use tracing::{debug, warn}; use turbopath::{AbsoluteSystemPath, AbsoluteSystemPathBuf, PathRelation}; #[cfg(feature = "manual_recursive_watch")] -use { - notify::{ - event::{CreateKind, EventAttributes}, - ErrorKind, - }, - std::io, - tracing::trace, - walkdir::WalkDir, -}; +use walkdir::WalkDir; pub mod cookie_jar; #[cfg(target_os = "macos")] diff --git a/crates/turborepo-lib/src/commands/link.rs b/crates/turborepo-lib/src/commands/link.rs index 1e7ee3f1a468e..0cb443f3aaa03 100644 --- a/crates/turborepo-lib/src/commands/link.rs +++ b/crates/turborepo-lib/src/commands/link.rs @@ -27,7 +27,9 @@ use crate::{ cli::LinkTarget, commands::CommandBase, config, - rewrite_json::{self, set_path, unset_path}, + rewrite_json::{ + set_path, unset_path, {self}, + }, }; #[derive(Debug, Error)] diff --git a/crates/turborepo-lib/src/commands/prune.rs b/crates/turborepo-lib/src/commands/prune.rs index f1a95cbbae8b7..9bae956d1a357 100644 --- a/crates/turborepo-lib/src/commands/prune.rs +++ b/crates/turborepo-lib/src/commands/prune.rs @@ -8,7 +8,9 @@ use turbopath::{ AbsoluteSystemPathBuf, AnchoredSystemPath, AnchoredSystemPathBuf, RelativeUnixPath, }; use turborepo_repository::{ - package_graph::{self, PackageGraph, WorkspaceName, WorkspaceNode}, + package_graph::{ + PackageGraph, WorkspaceName, WorkspaceNode, {self}, + }, package_json::PackageJson, }; use turborepo_ui::BOLD; diff --git a/crates/turborepo-lib/src/daemon/endpoint.rs b/crates/turborepo-lib/src/daemon/endpoint.rs index 3446ee29fb100..45be80a0b7eb1 100644 --- a/crates/turborepo-lib/src/daemon/endpoint.rs +++ b/crates/turborepo-lib/src/daemon/endpoint.rs @@ -1,6 +1,10 @@ +#[cfg(windows)] +use std::io::ErrorKind; +#[cfg(windows)] +use std::sync::atomic::Ordering; use std::sync::{atomic::AtomicBool, Arc}; #[cfg(windows)] -use std::{io::ErrorKind, sync::atomic::Ordering, time::Duration}; +use std::time::Duration; use futures::Stream; use tokio::io::{AsyncRead, AsyncWrite}; diff --git a/crates/turborepo-lib/src/daemon/server.rs b/crates/turborepo-lib/src/daemon/server.rs index 20341804c6132..24af521d75f5a 100644 --- a/crates/turborepo-lib/src/daemon/server.rs +++ b/crates/turborepo-lib/src/daemon/server.rs @@ -416,7 +416,9 @@ impl NamedService for TurboGrpcService { #[cfg(test)] mod test { use std::{ - assert_matches::{self, assert_matches}, + assert_matches::{ + assert_matches, {self}, + }, time::{Duration, Instant}, }; diff --git a/crates/turborepo-lib/src/process/child.rs b/crates/turborepo-lib/src/process/child.rs index 959e75a6b0b0c..64eb5f650177e 100644 --- a/crates/turborepo-lib/src/process/child.rs +++ b/crates/turborepo-lib/src/process/child.rs @@ -16,7 +16,9 @@ //! them when the manager is closed. use std::{ - io::{self, Write}, + io::{ + Write, {self}, + }, sync::{Arc, Mutex}, time::Duration, }; diff --git a/crates/turborepo-lib/src/run/global_hash.rs b/crates/turborepo-lib/src/run/global_hash.rs index ecfea1ab0fdee..3fb73a2824063 100644 --- a/crates/turborepo-lib/src/run/global_hash.rs +++ b/crates/turborepo-lib/src/run/global_hash.rs @@ -6,7 +6,9 @@ use tracing::debug; use turbopath::{AbsoluteSystemPath, RelativeUnixPathBuf}; use turborepo_env::{get_global_hashable_env_vars, DetailedMap, EnvironmentVariableMap}; use turborepo_lockfiles::Lockfile; -use turborepo_repository::package_manager::{self, PackageManager}; +use turborepo_repository::package_manager::{ + PackageManager, {self}, +}; use turborepo_scm::SCM; use crate::{ diff --git a/crates/turborepo-lib/src/run/scope/filter.rs b/crates/turborepo-lib/src/run/scope/filter.rs index 42dc69a6fd37b..fd949ef4a31c4 100644 --- a/crates/turborepo-lib/src/run/scope/filter.rs +++ b/crates/turborepo-lib/src/run/scope/filter.rs @@ -6,7 +6,9 @@ use std::{ use tracing::debug; use turbopath::{AbsoluteSystemPath, AnchoredSystemPathBuf}; -use turborepo_repository::package_graph::{self, PackageGraph, WorkspaceName}; +use turborepo_repository::package_graph::{ + PackageGraph, WorkspaceName, {self}, +}; use turborepo_scm::SCM; use wax::Pattern; diff --git a/crates/turborepo-lib/src/task_graph/visitor.rs b/crates/turborepo-lib/src/task_graph/visitor.rs index 21affd2221a36..4b151512d480b 100644 --- a/crates/turborepo-lib/src/task_graph/visitor.rs +++ b/crates/turborepo-lib/src/task_graph/visitor.rs @@ -31,11 +31,15 @@ use crate::{ process::{ChildExit, ProcessManager}, run::{ global_hash::GlobalHashableInputs, - summary::{self, GlobalHashSummary, RunTracker, TaskTracker}, + summary::{ + GlobalHashSummary, RunTracker, TaskTracker, {self}, + }, task_id::TaskId, RunCache, TaskCache, }, - task_hash::{self, PackageInputsHashes, TaskHashTracker, TaskHashTrackerState, TaskHasher}, + task_hash::{ + PackageInputsHashes, TaskHashTracker, TaskHashTrackerState, TaskHasher, {self}, + }, }; // This holds the whole world diff --git a/crates/turborepo-lib/src/tracing.rs b/crates/turborepo-lib/src/tracing.rs index 83ddb445ed1f9..b42147232d0f2 100644 --- a/crates/turborepo-lib/src/tracing.rs +++ b/crates/turborepo-lib/src/tracing.rs @@ -12,14 +12,15 @@ pub use tracing_subscriber::reload::Error; use tracing_subscriber::{ filter::{Filtered, Targets}, fmt::{ - self, format::{DefaultFields, Writer}, - FmtContext, FormatEvent, FormatFields, + FmtContext, FormatEvent, FormatFields, {self}, }, layer, prelude::*, registry::LookupSpan, - reload::{self, Handle}, + reload::{ + Handle, {self}, + }, EnvFilter, Layer, Registry, }; use turborepo_ui::UI; diff --git a/crates/turborepo-paths/src/absolute_system_path.rs b/crates/turborepo-paths/src/absolute_system_path.rs index 0e23e676e55b0..b74c79417e6f9 100644 --- a/crates/turborepo-paths/src/absolute_system_path.rs +++ b/crates/turborepo-paths/src/absolute_system_path.rs @@ -3,11 +3,15 @@ use std::os::unix::fs::symlink as symlink_file; #[cfg(not(windows))] use std::os::unix::fs::symlink as symlink_dir; #[cfg(windows)] -use std::os::windows::fs::{symlink_dir, symlink_file}; +use std::os::windows::fs::symlink_dir; +#[cfg(windows)] +use std::os::windows::fs::symlink_file; use std::{ fmt, fs::{File, Metadata, OpenOptions, Permissions}, - io::{self, Write}, + io::{ + Write, {self}, + }, path::{Path, PathBuf}, }; diff --git a/crates/turborepo-pidlock/src/lib.rs b/crates/turborepo-pidlock/src/lib.rs index f1b67078b22f3..1420137610863 100644 --- a/crates/turborepo-pidlock/src/lib.rs +++ b/crates/turborepo-pidlock/src/lib.rs @@ -4,7 +4,9 @@ use std::{ convert::TryInto, fs, - io::{self, Read, Write}, + io::{ + Read, Write, {self}, + }, num::TryFromIntError, path::PathBuf, process, diff --git a/crates/turborepo-repository/src/inference.rs b/crates/turborepo-repository/src/inference.rs index 711c305ff085a..38736daf4e872 100644 --- a/crates/turborepo-repository/src/inference.rs +++ b/crates/turborepo-repository/src/inference.rs @@ -3,7 +3,9 @@ use turbopath::{AbsoluteSystemPath, AbsoluteSystemPathBuf}; use crate::{ package_json::PackageJson, - package_manager::{self, PackageManager, WorkspaceGlobs}, + package_manager::{ + PackageManager, WorkspaceGlobs, {self}, + }, }; #[derive(Debug, PartialEq)] diff --git a/crates/turborepo-repository/src/package_manager/mod.rs b/crates/turborepo-repository/src/package_manager/mod.rs index ac831b7424b4b..1aa4b92d74e4d 100644 --- a/crates/turborepo-repository/src/package_manager/mod.rs +++ b/crates/turborepo-repository/src/package_manager/mod.rs @@ -5,7 +5,9 @@ mod yarn; use std::{ backtrace, - fmt::{self, Display}, + fmt::{ + Display, {self}, + }, fs, process::Command, }; diff --git a/crates/turborepo-scm/src/lib.rs b/crates/turborepo-scm/src/lib.rs index 7add593c6964d..6efc20a3d4c0d 100644 --- a/crates/turborepo-scm/src/lib.rs +++ b/crates/turborepo-scm/src/lib.rs @@ -4,7 +4,9 @@ #![deny(clippy::all)] use std::{ - backtrace::{self, Backtrace}, + backtrace::{ + Backtrace, {self}, + }, io::Read, process::{Child, Command}, }; diff --git a/crates/turborepo-ui/src/output.rs b/crates/turborepo-ui/src/output.rs index 26c36130281fc..00ce97f2cd228 100644 --- a/crates/turborepo-ui/src/output.rs +++ b/crates/turborepo-ui/src/output.rs @@ -1,6 +1,8 @@ use std::{ borrow::Cow, - io::{self, Write}, + io::{ + Write, {self}, + }, sync::{Arc, Mutex, RwLock}, }; diff --git a/crates/turborepo-ui/tests/threads.rs b/crates/turborepo-ui/tests/threads.rs index 1fd2b8304ee0a..c345cabe69796 100644 --- a/crates/turborepo-ui/tests/threads.rs +++ b/crates/turborepo-ui/tests/threads.rs @@ -1,5 +1,7 @@ use std::{ - io::{self, BufRead, BufReader, Write}, + io::{ + BufRead, BufReader, Write, {self}, + }, process::{Command, Stdio}, }; diff --git a/crates/turborepo-wax/src/diagnostics/miette.rs b/crates/turborepo-wax/src/diagnostics/miette.rs index a42d20560e81f..ee21e362d383a 100644 --- a/crates/turborepo-wax/src/diagnostics/miette.rs +++ b/crates/turborepo-wax/src/diagnostics/miette.rs @@ -8,7 +8,9 @@ use thiserror::Error; use crate::{ diagnostics::SpanExt as _, - token::{self, TokenKind, TokenTree, Tokenized}, + token::{ + TokenKind, TokenTree, Tokenized, {self}, + }, }; #[derive(Clone, Debug, Diagnostic, Error)] diff --git a/crates/turborepo-wax/src/diagnostics/mod.rs b/crates/turborepo-wax/src/diagnostics/mod.rs index 78d257af2409f..532127acffcc1 100644 --- a/crates/turborepo-wax/src/diagnostics/mod.rs +++ b/crates/turborepo-wax/src/diagnostics/mod.rs @@ -2,7 +2,9 @@ mod miette; use std::{ cmp, - fmt::{self, Display, Formatter}, + fmt::{ + Display, Formatter, {self}, + }, }; #[cfg(feature = "miette")] diff --git a/crates/turborepo-wax/src/lib.rs b/crates/turborepo-wax/src/lib.rs index 9e35a7089dcbc..b3ef51e562660 100644 --- a/crates/turborepo-wax/src/lib.rs +++ b/crates/turborepo-wax/src/lib.rs @@ -43,9 +43,13 @@ use std::{ borrow::{Borrow, Cow}, convert::Infallible, ffi::OsStr, - fmt::{self, Debug, Display, Formatter}, + fmt::{ + Debug, Display, Formatter, {self}, + }, path::{Path, PathBuf}, - str::{self, FromStr}, + str::{ + FromStr, {self}, + }, }; use itertools::Position; @@ -53,14 +57,33 @@ use itertools::Position; use miette::Diagnostic; use regex::Regex; #[cfg(feature = "miette")] -use tardar::{DiagnosticResult, DiagnosticResultExt as _, IteratorExt as _, ResultExt as _}; +use tardar::DiagnosticResult; +#[cfg(feature = "miette")] +use tardar::DiagnosticResultExt as _; +#[cfg(feature = "miette")] +use tardar::IteratorExt as _; +#[cfg(feature = "miette")] +use tardar::ResultExt as _; use thiserror::Error; #[cfg(feature = "walk")] -pub use crate::walk::{ - FileIterator, FilterTarget, FilterTree, LinkBehavior, Negation, Walk, WalkBehavior, WalkEntry, - WalkError, -}; +pub use crate::walk::FileIterator; +#[cfg(feature = "walk")] +pub use crate::walk::FilterTarget; +#[cfg(feature = "walk")] +pub use crate::walk::FilterTree; +#[cfg(feature = "walk")] +pub use crate::walk::LinkBehavior; +#[cfg(feature = "walk")] +pub use crate::walk::Negation; +#[cfg(feature = "walk")] +pub use crate::walk::Walk; +#[cfg(feature = "walk")] +pub use crate::walk::WalkBehavior; +#[cfg(feature = "walk")] +pub use crate::walk::WalkEntry; +#[cfg(feature = "walk")] +pub use crate::walk::WalkError; pub use crate::{ capture::MatchedText, diagnostics::{LocatedError, Span}, diff --git a/crates/turborepo-wax/src/rule.rs b/crates/turborepo-wax/src/rule.rs index e2fe4c3f8929a..79a88c688b8f7 100644 --- a/crates/turborepo-wax/src/rule.rs +++ b/crates/turborepo-wax/src/rule.rs @@ -19,12 +19,18 @@ use std::{borrow::Cow, convert::Infallible, iter::Fuse, path::PathBuf, slice}; use itertools::Itertools as _; #[cfg(feature = "miette")] -use miette::{Diagnostic, LabeledSpan, SourceCode}; +use miette::Diagnostic; +#[cfg(feature = "miette")] +use miette::LabeledSpan; +#[cfg(feature = "miette")] +use miette::SourceCode; use thiserror::Error; use crate::{ diagnostics::{CompositeSpan, CorrelatedSpan, SpanExt as _}, - token::{self, InvariantSize, Token, TokenKind, TokenTree, Tokenized}, + token::{ + InvariantSize, Token, TokenKind, TokenTree, Tokenized, {self}, + }, Any, BuildError, Compose, Glob, }; diff --git a/crates/turborepo-wax/src/token/mod.rs b/crates/turborepo-wax/src/token/mod.rs index 26dd414027944..fe592f831f98c 100644 --- a/crates/turborepo-wax/src/token/mod.rs +++ b/crates/turborepo-wax/src/token/mod.rs @@ -1070,7 +1070,9 @@ where #[cfg(test)] mod tests { - use crate::token::{self, TokenKind, TokenTree}; + use crate::token::{ + TokenKind, TokenTree, {self}, + }; #[test] fn literal_case_insensitivity() { diff --git a/crates/turborepo-wax/src/token/parse.rs b/crates/turborepo-wax/src/token/parse.rs index a514c8c71fcd1..9d2f71bce76ed 100644 --- a/crates/turborepo-wax/src/token/parse.rs +++ b/crates/turborepo-wax/src/token/parse.rs @@ -1,11 +1,19 @@ use std::{ borrow::Cow, - fmt::{self, Display, Formatter}, + fmt::{ + Display, Formatter, {self}, + }, str::FromStr, }; #[cfg(feature = "miette")] -use miette::{self, Diagnostic, LabeledSpan, SourceCode}; +use miette::Diagnostic; +#[cfg(feature = "miette")] +use miette::LabeledSpan; +#[cfg(feature = "miette")] +use miette::SourceCode; +#[cfg(feature = "miette")] +use miette::{self}; use nom::error::{VerboseError as NomError, VerboseErrorKind as NomErrorKind}; use pori::{Located, Location, Stateful}; use thiserror::Error; diff --git a/crates/turborepo-wax/src/token/variance.rs b/crates/turborepo-wax/src/token/variance.rs index cc01e78d161a1..d564a0c7c9f22 100644 --- a/crates/turborepo-wax/src/token/variance.rs +++ b/crates/turborepo-wax/src/token/variance.rs @@ -8,7 +8,9 @@ use itertools::Itertools as _; use crate::{ encode, - token::{self, Separator, Token}, + token::{ + Separator, Token, {self}, + }, PATHS_ARE_CASE_INSENSITIVE, }; @@ -599,9 +601,10 @@ mod tests { use std::path::{Path, PathBuf}; use crate::token::{ - self, - variance::{self, Boundedness, InvariantSize, Variance}, - TokenTree, + variance::{ + Boundedness, InvariantSize, Variance, {self}, + }, + TokenTree, {self}, }; #[test] diff --git a/crates/turborepo-wax/src/walk.rs b/crates/turborepo-wax/src/walk.rs index af6ac8dccef03..07d0d745c2025 100644 --- a/crates/turborepo-wax/src/walk.rs +++ b/crates/turborepo-wax/src/walk.rs @@ -10,12 +10,16 @@ use std::{ use itertools::Itertools as _; use regex::Regex; use thiserror::Error; -use walkdir::{self, DirEntry, WalkDir}; +use walkdir::{ + DirEntry, WalkDir, {self}, +}; use crate::{ capture::MatchedText, encode::CompileError, - token::{self, Token, TokenTree}, + token::{ + Token, TokenTree, {self}, + }, BuildError, CandidatePath, Compose, Glob, PositionExt as _, }; diff --git a/crates/turborepo-wax/tests/walk.rs b/crates/turborepo-wax/tests/walk.rs index 1cbf798b4b98f..14598957b1d44 100644 --- a/crates/turborepo-wax/tests/walk.rs +++ b/crates/turborepo-wax/tests/walk.rs @@ -3,7 +3,9 @@ use std::{collections::HashSet, path::PathBuf}; use build_fs_tree::{dir, file, Build, FileSystemTree}; -use tempfile::{self, TempDir}; +use tempfile::{ + TempDir, {self}, +}; use wax::{Glob, LinkBehavior, WalkBehavior}; // TODO: Rust's testing framework does not provide a mechanism for maintaining diff --git a/packages/turbo-repository/rust/src/internal.rs b/packages/turbo-repository/rust/src/internal.rs index fa939d6bacdfe..01883e5fabec2 100644 --- a/packages/turbo-repository/rust/src/internal.rs +++ b/packages/turbo-repository/rust/src/internal.rs @@ -4,7 +4,9 @@ use napi::Status; use thiserror::Error; use turbopath::{AbsoluteSystemPathBuf, PathError}; use turborepo_repository::{ - inference::{self, RepoMode, RepoState}, + inference::{ + RepoMode, RepoState, {self}, + }, package_manager, }; diff --git a/xtask/src/command.rs b/xtask/src/command.rs index 625faadeb85a4..7dd3ad944f61f 100644 --- a/xtask/src/command.rs +++ b/xtask/src/command.rs @@ -1,6 +1,8 @@ use std::{ path::PathBuf, - process::{self, Stdio}, + process::{ + Stdio, {self}, + }, }; pub struct Command { diff --git a/xtask/src/visualize_bundler_bench.rs b/xtask/src/visualize_bundler_bench.rs index 292f99528c16b..28fdfca5f75c6 100644 --- a/xtask/src/visualize_bundler_bench.rs +++ b/xtask/src/visualize_bundler_bench.rs @@ -1,6 +1,8 @@ use std::{ collections::{BTreeMap, HashSet}, - fs::{self, File}, + fs::{ + File, {self}, + }, io::BufReader, path::PathBuf, str::FromStr, From e01070ec03128bb75065e7295bfd5cfcb4ff898c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:46:49 +0900 Subject: [PATCH 25/48] Dep --- crates/turbopack-ecmascript/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 177bc641196f3..a49359b8d8b46 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -36,6 +36,7 @@ turbopack-core = { workspace = true } turbopack-swc-utils = { workspace = true } url = { workspace = true } +swc = { workspace = true } swc_atoms = { workspace = true } swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } From 14cc0f7e68619490efc92b3cca77d31b55812f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:46:56 +0900 Subject: [PATCH 26/48] cargo lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 1d4cbe9c5e1a7..287388fd12c9b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9901,6 +9901,7 @@ dependencies = [ "serde", "serde_json", "serde_qs", + "swc", "swc_atoms", "swc_common", "swc_core", From a5b61a82c87446999c83277595d65e29fce90cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:48:14 +0900 Subject: [PATCH 27/48] Dep --- Cargo.toml | 1 + crates/turbopack-ecmascript/Cargo.toml | 1 + 2 files changed, 2 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index ee3cd1d44edda..6afe6e4585de5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -97,6 +97,7 @@ swc_atoms = "0.6.4" swc_ecma_transforms_base = "0.134.27" swc_ecma_transforms_module = "0.177.35" swc_ecma_codegen = "0.146.21" +swc_ecma_transforms_react = "0.180.36" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index a49359b8d8b46..4d8d30ea61323 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -45,6 +45,7 @@ swc_ecma_codegen = { worksapce = true } swc_ecma_preset_env = { workspace = true } swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } +swc_ecma_transforms_react = { workspace = true } swc_ecma_visit = { workspace = true, features = ["path"] } [dev-dependencies] From 453d49f2d54a43260b8ce9ec8b4f2a311473a2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:48:22 +0900 Subject: [PATCH 28/48] =?UTF-8?q?=E3=85=8A=E3=85=81=E3=84=B1=E3=85=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 287388fd12c9b..122547f1172ea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9912,6 +9912,7 @@ dependencies = [ "swc_ecma_transforms_base", "swc_ecma_transforms_module", "swc_ecma_transforms_proposal", + "swc_ecma_transforms_react", "swc_ecma_visit", "testing", "tokio", From 4ccb50cf31611549fffb11a1c9ecaef73eca7fd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:48:30 +0900 Subject: [PATCH 29/48] Fix --- .../src/references/require_context.rs | 2 +- crates/turbopack-ecmascript/src/transform/mod.rs | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/crates/turbopack-ecmascript/src/references/require_context.rs b/crates/turbopack-ecmascript/src/references/require_context.rs index 7b2a874a462d7..4a3003b4e0406 100644 --- a/crates/turbopack-ecmascript/src/references/require_context.rs +++ b/crates/turbopack-ecmascript/src/references/require_context.rs @@ -466,7 +466,7 @@ impl EcmascriptChunkItem for RequireContextChunkItem { obj: Expr = Expr::Object(context_map), ); - let module = ast::Module { + let module = swc_ecma_at::Module { span: DUMMY_SP, body: vec![ModuleItem::Stmt(Stmt::Expr(ExprStmt { span: DUMMY_SP, diff --git a/crates/turbopack-ecmascript/src/transform/mod.rs b/crates/turbopack-ecmascript/src/transform/mod.rs index debbc30b1d788..530a5e13bda9a 100644 --- a/crates/turbopack-ecmascript/src/transform/mod.rs +++ b/crates/turbopack-ecmascript/src/transform/mod.rs @@ -4,13 +4,10 @@ use anyhow::Result; use async_trait::async_trait; use swc::SwcComments; use swc_common::{chain, comments::Comments, util::take::Take, Mark, SourceMap}; -use swc_core::ecma::{ - preset_env::{ - Targets, {self}, - }, - transforms::react::react, -}; use swc_ecma_ast::{Module, ModuleItem, Program, Script}; +use swc_ecma_preset_env::{ + Targets, {self as preset_env}, +}; use swc_ecma_transforms_base::{feature::FeatureFlag, helpers::inject_helpers, Assumptions}; use swc_ecma_visit::{FoldWith, VisitMutWith}; use turbo_tasks::{ValueDefault, Vc}; @@ -137,7 +134,7 @@ impl EcmascriptInputTransform { import_source, runtime, } => { - use swc_core::ecma::transforms::react::{Options, Runtime}; + use swc_ecma_transforms_react::{Options, Runtime}; let runtime = if let Some(runtime) = &*runtime.await? { match runtime.as_str() { "classic" => Runtime::Classic, From 307313225d7b7d7d8814cbcfc3d1cc14b1223c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:50:05 +0900 Subject: [PATCH 30/48] Dep --- crates/turbopack-ecmascript/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 4d8d30ea61323..8e58a36fb5237 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -40,7 +40,7 @@ swc = { workspace = true } swc_atoms = { workspace = true } swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } -swc_ecma_ast = { workspace = true } +swc_ecma_ast = { workspace = true, features = ["serde-impl"] } swc_ecma_codegen = { worksapce = true } swc_ecma_preset_env = { workspace = true } swc_ecma_transforms_module = { workspace = true } From f4ddac375716fb8267b2f3f05a54e01322f0d937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:50:08 +0900 Subject: [PATCH 31/48] fix --- crates/turbopack-ecmascript/src/references/require_context.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/turbopack-ecmascript/src/references/require_context.rs b/crates/turbopack-ecmascript/src/references/require_context.rs index 4a3003b4e0406..abefbba85e07a 100644 --- a/crates/turbopack-ecmascript/src/references/require_context.rs +++ b/crates/turbopack-ecmascript/src/references/require_context.rs @@ -466,7 +466,7 @@ impl EcmascriptChunkItem for RequireContextChunkItem { obj: Expr = Expr::Object(context_map), ); - let module = swc_ecma_at::Module { + let module = swc_ecma_ast::Module { span: DUMMY_SP, body: vec![ModuleItem::Stmt(Stmt::Expr(ExprStmt { span: DUMMY_SP, From 0850841688c9a83315c40b7033a9df592d78d69f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:54:41 +0900 Subject: [PATCH 32/48] Dep --- crates/turbopack-ecmascript/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 8e58a36fb5237..b9f775d539e45 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -43,6 +43,7 @@ swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true, features = ["serde-impl"] } swc_ecma_codegen = { worksapce = true } swc_ecma_preset_env = { workspace = true } +swc_ecma_transforms_base = { worksapce = true } swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } swc_ecma_transforms_react = { workspace = true } @@ -52,7 +53,6 @@ swc_ecma_visit = { workspace = true, features = ["path"] } criterion = { workspace = true, features = ["async_tokio"] } rstest = { workspace = true } swc_ecma_parser = { workspace = true } -swc_ecma_transforms_base = { worksapce = true } testing = { workspace = true } turbo-tasks-memory = { workspace = true } turbo-tasks-testing = { workspace = true } From 653bb2ed8c2e085a791a9a2a50d77b840370b515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:55:10 +0900 Subject: [PATCH 33/48] fix --- crates/turbopack-ecmascript/src/transform/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/turbopack-ecmascript/src/transform/mod.rs b/crates/turbopack-ecmascript/src/transform/mod.rs index 530a5e13bda9a..ce37f066994ac 100644 --- a/crates/turbopack-ecmascript/src/transform/mod.rs +++ b/crates/turbopack-ecmascript/src/transform/mod.rs @@ -8,7 +8,9 @@ use swc_ecma_ast::{Module, ModuleItem, Program, Script}; use swc_ecma_preset_env::{ Targets, {self as preset_env}, }; -use swc_ecma_transforms_base::{feature::FeatureFlag, helpers::inject_helpers, Assumptions}; +use swc_ecma_transforms_base::{ + assumptions::Assumptions, feature::FeatureFlag, helpers::inject_helpers, +}; use swc_ecma_visit::{FoldWith, VisitMutWith}; use turbo_tasks::{ValueDefault, Vc}; use turbo_tasks_fs::FileSystemPath; From 482867faa343740c2b74a3d18643574e0361ec78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:57:59 +0900 Subject: [PATCH 34/48] Dep --- Cargo.toml | 1 + crates/turbopack-ecmascript/Cargo.toml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 6afe6e4585de5..133f34a21f75f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -98,6 +98,7 @@ swc_ecma_transforms_base = "0.134.27" swc_ecma_transforms_module = "0.177.35" swc_ecma_codegen = "0.146.21" swc_ecma_transforms_react = "0.180.36" +swc_ecma_transforms_typescript = "0.185.34" auto-hash-map = { path = "crates/turbo-tasks-auto-hash-map" } node-file-trace = { path = "crates/node-file-trace", default-features = false } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index b9f775d539e45..21bf16718b27e 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -42,17 +42,19 @@ swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true, features = ["serde-impl"] } swc_ecma_codegen = { worksapce = true } +swc_ecma_parser = { workspace = true } swc_ecma_preset_env = { workspace = true } swc_ecma_transforms_base = { worksapce = true } swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } swc_ecma_transforms_react = { workspace = true } +swc_ecma_transforms_typescript = { workspace = true } +swc_ecma_utils = "0.124.23" swc_ecma_visit = { workspace = true, features = ["path"] } [dev-dependencies] criterion = { workspace = true, features = ["async_tokio"] } rstest = { workspace = true } -swc_ecma_parser = { workspace = true } testing = { workspace = true } turbo-tasks-memory = { workspace = true } turbo-tasks-testing = { workspace = true } From d7313b92959c8959b20823f628ab1e98f8d845a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:58:03 +0900 Subject: [PATCH 35/48] cargo lockfile --- Cargo.lock | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 122547f1172ea..516cfda460f6f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9913,6 +9913,8 @@ dependencies = [ "swc_ecma_transforms_module", "swc_ecma_transforms_proposal", "swc_ecma_transforms_react", + "swc_ecma_transforms_typescript", + "swc_ecma_utils", "swc_ecma_visit", "testing", "tokio", From 8fdd86b543b4319067659fcfe92b44a880c36711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:58:05 +0900 Subject: [PATCH 36/48] fix --- crates/turbopack-ecmascript/src/references/esm/base.rs | 2 +- crates/turbopack-ecmascript/src/transform/mod.rs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/turbopack-ecmascript/src/references/esm/base.rs b/crates/turbopack-ecmascript/src/references/esm/base.rs index 5a00ff7a77117..013e0523a85b6 100644 --- a/crates/turbopack-ecmascript/src/references/esm/base.rs +++ b/crates/turbopack-ecmascript/src/references/esm/base.rs @@ -287,7 +287,7 @@ lazy_static! { pub(crate) fn insert_hoisted_stmt(program: &mut Program, stmt: Stmt) { match program { - Program::Module(ast::Module { body, .. }) => { + Program::Module(swc_ecma_ast::Module { body, .. }) => { let pos = body.iter().position(|item| { if let ModuleItem::Stmt(Stmt::Expr(ExprStmt { expr: box Expr::Lit(Lit::Str(s)), diff --git a/crates/turbopack-ecmascript/src/transform/mod.rs b/crates/turbopack-ecmascript/src/transform/mod.rs index ce37f066994ac..349175a460726 100644 --- a/crates/turbopack-ecmascript/src/transform/mod.rs +++ b/crates/turbopack-ecmascript/src/transform/mod.rs @@ -11,6 +11,7 @@ use swc_ecma_preset_env::{ use swc_ecma_transforms_base::{ assumptions::Assumptions, feature::FeatureFlag, helpers::inject_helpers, }; +use swc_ecma_transforms_react::react; use swc_ecma_visit::{FoldWith, VisitMutWith}; use turbo_tasks::{ValueDefault, Vc}; use turbo_tasks_fs::FileSystemPath; @@ -157,7 +158,7 @@ impl EcmascriptInputTransform { development: Some(*development), import_source: import_source.await?.clone_value(), refresh: if *refresh { - Some(swc_core::ecma::transforms::react::RefreshOptions { + Some(swc_ecma_transforms_react::RefreshOptions { refresh_reg: "__turbopack_refresh__.register".to_string(), refresh_sig: "__turbopack_refresh__.signature".to_string(), ..Default::default() @@ -238,7 +239,7 @@ impl EcmascriptInputTransform { // TODO(WEB-1213) use_define_for_class_fields: _use_define_for_class_fields, } => { - use swc_core::ecma::transforms::typescript::typescript; + use swc_ecma_transforms_typescript::typescript; let config = Default::default(); program.visit_mut_with(&mut typescript(config, unresolved_mark)); } From 0af199c051077f56bdf1b8a8dfc51741ad5452c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:58:56 +0900 Subject: [PATCH 37/48] Dep --- crates/turbopack-ecmascript-plugins/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/turbopack-ecmascript-plugins/Cargo.toml b/crates/turbopack-ecmascript-plugins/Cargo.toml index 04780b3de165b..d9a92fccdf2d9 100644 --- a/crates/turbopack-ecmascript-plugins/Cargo.toml +++ b/crates/turbopack-ecmascript-plugins/Cargo.toml @@ -34,6 +34,7 @@ modularize_imports = { workspace = true } styled_components = { workspace = true } styled_jsx = { workspace = true } swc_core = { workspace = true, features = ["ecma_ast", "ecma_visit", "common"] } +swc_ecma_ast = { workspace = true, features = ["rkyv", "rkyv-impl"] } swc_emotion = { workspace = true } swc_relay = { workspace = true } From 32912e14a270883711d42f343ce4f2bd9211ab0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 14:59:00 +0900 Subject: [PATCH 38/48] cargo lockfile --- Cargo.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/Cargo.lock b/Cargo.lock index 516cfda460f6f..c0d915048adb0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9953,6 +9953,7 @@ dependencies = [ "styled_components", "styled_jsx", "swc_core", + "swc_ecma_ast", "swc_emotion", "swc_relay", "turbo-tasks", From 038235cae88e5b169237afc922bc73887ad11b91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:01:28 +0900 Subject: [PATCH 39/48] Dep --- crates/turbopack-ecmascript-plugins/Cargo.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/turbopack-ecmascript-plugins/Cargo.toml b/crates/turbopack-ecmascript-plugins/Cargo.toml index d9a92fccdf2d9..9904470d531bf 100644 --- a/crates/turbopack-ecmascript-plugins/Cargo.toml +++ b/crates/turbopack-ecmascript-plugins/Cargo.toml @@ -33,8 +33,12 @@ turbopack-ecmascript = { workspace = true } modularize_imports = { workspace = true } styled_components = { workspace = true } styled_jsx = { workspace = true } +swc_common.workspace = true swc_core = { workspace = true, features = ["ecma_ast", "ecma_visit", "common"] } swc_ecma_ast = { workspace = true, features = ["rkyv", "rkyv-impl"] } +swc_ecma_transforms_base.workspace = true +swc_ecma_utils = "0.124.23" +swc_ecma_visit.workspace = true swc_emotion = { workspace = true } swc_relay = { workspace = true } From b2127ff649927ce22c482589c4aebaaec0d6162e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:01:32 +0900 Subject: [PATCH 40/48] cargo lockfile --- Cargo.lock | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index c0d915048adb0..88fcb23ffc5af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9952,8 +9952,12 @@ dependencies = [ "serde_json", "styled_components", "styled_jsx", + "swc_common", "swc_core", "swc_ecma_ast", + "swc_ecma_transforms_base", + "swc_ecma_utils", + "swc_ecma_visit", "swc_emotion", "swc_relay", "turbo-tasks", From 7dfeb89bf9131c94f638f05222fe754747564113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:05:04 +0900 Subject: [PATCH 41/48] Dep --- crates/turbopack-css/Cargo.toml | 6 ++++++ crates/turbopack-ecmascript/Cargo.toml | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/crates/turbopack-css/Cargo.toml b/crates/turbopack-css/Cargo.toml index a5a4ee4fb0201..7758de6862a07 100644 --- a/crates/turbopack-css/Cargo.toml +++ b/crates/turbopack-css/Cargo.toml @@ -17,6 +17,12 @@ indoc = { workspace = true } once_cell = { workspace = true } regex = { workspace = true } serde = { workspace = true } +swc_common.workspace = true +swc_css_ast = "0.140.9" +swc_css_compat = "0.27.14" +swc_css_modules = "0.29.15" +swc_css_prefixer = "0.153.16" +swc_css_visit = { version = "0.139.9", features = ["path"] } turbo-tasks = { workspace = true } turbo-tasks-fs = { workspace = true } turbo-tasks-hash = { workspace = true } diff --git a/crates/turbopack-ecmascript/Cargo.toml b/crates/turbopack-ecmascript/Cargo.toml index 21bf16718b27e..c2dab638d8524 100644 --- a/crates/turbopack-ecmascript/Cargo.toml +++ b/crates/turbopack-ecmascript/Cargo.toml @@ -41,10 +41,10 @@ swc_atoms = { workspace = true } swc_common = { workspace = true } swc_core = { workspace = true, features = ["ecma_quote"] } swc_ecma_ast = { workspace = true, features = ["serde-impl"] } -swc_ecma_codegen = { worksapce = true } +swc_ecma_codegen = { workspace = true } swc_ecma_parser = { workspace = true } swc_ecma_preset_env = { workspace = true } -swc_ecma_transforms_base = { worksapce = true } +swc_ecma_transforms_base = { workspace = true } swc_ecma_transforms_module = { workspace = true } swc_ecma_transforms_proposal = { workspace = true } swc_ecma_transforms_react = { workspace = true } From a31f871836eb1dbe3448d4c01ef84438e06cdf67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:06:47 +0900 Subject: [PATCH 42/48] Dep --- crates/turbopack-css/Cargo.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/turbopack-css/Cargo.toml b/crates/turbopack-css/Cargo.toml index 7758de6862a07..02866a89cbe60 100644 --- a/crates/turbopack-css/Cargo.toml +++ b/crates/turbopack-css/Cargo.toml @@ -18,9 +18,11 @@ once_cell = { workspace = true } regex = { workspace = true } serde = { workspace = true } swc_common.workspace = true -swc_css_ast = "0.140.9" +swc_css_ast = { version = "0.140.9", features = ["serde-impl"] } +swc_css_codegen = "0.151.14" swc_css_compat = "0.27.14" swc_css_modules = "0.29.15" +swc_css_parser = "0.150.14" swc_css_prefixer = "0.153.16" swc_css_visit = { version = "0.139.9", features = ["path"] } turbo-tasks = { workspace = true } From d83e7df01c0da057f01fb0ec232621139e0678a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:07:13 +0900 Subject: [PATCH 43/48] Dep --- crates/turbopack-css/Cargo.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/turbopack-css/Cargo.toml b/crates/turbopack-css/Cargo.toml index 02866a89cbe60..6bed73d87c3bd 100644 --- a/crates/turbopack-css/Cargo.toml +++ b/crates/turbopack-css/Cargo.toml @@ -17,6 +17,7 @@ indoc = { workspace = true } once_cell = { workspace = true } regex = { workspace = true } serde = { workspace = true } +swc_atoms.workspace = true swc_common.workspace = true swc_css_ast = { version = "0.140.9", features = ["serde-impl"] } swc_css_codegen = "0.151.14" From 793b9c6137a5dfd5c15bc29fd81c4614333c3ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:07:18 +0900 Subject: [PATCH 44/48] cargo lockfile --- Cargo.lock | 67 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 88fcb23ffc5af..4f6ce84d656a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7398,11 +7398,12 @@ dependencies = [ [[package]] name = "swc_css_ast" -version = "0.140.6" +version = "0.140.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec6ea3b519c6e44a16f680036f5faadcfd31d6bdad0762f19d4f15c2e6d013a" +checksum = "24e33aed6900a6478ec9bffa7cdf5249ea79b55fcc86b34872212800086504fa" dependencies = [ "is-macro", + "serde", "string_enum", "swc_atoms", "swc_common", @@ -7410,9 +7411,9 @@ dependencies = [ [[package]] name = "swc_css_codegen" -version = "0.151.9" +version = "0.151.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0b313c0ca16ddb367288d17dd77d491c7c6ad62eb297448a0ce0ae1c3767592" +checksum = "647e892d0656c7f36df6d3d2aaa33f16e90cd43ef4f0c06bcbda21d92a9a76a6" dependencies = [ "auto_impl", "bitflags 2.4.0", @@ -7438,6 +7439,23 @@ dependencies = [ "syn 2.0.32", ] +[[package]] +name = "swc_css_compat" +version = "0.27.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f07e18b6522c40339e14b7ab56306c8b3082fc9bb237c2042233eefffb603aa" +dependencies = [ + "bitflags 2.4.0", + "once_cell", + "serde", + "serde_json", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_utils", + "swc_css_visit", +] + [[package]] name = "swc_css_minifier" version = "0.116.9" @@ -7452,11 +7470,27 @@ dependencies = [ "swc_css_visit", ] +[[package]] +name = "swc_css_modules" +version = "0.29.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520570d8ea1cb5f6f59f863c95fa6cc705c8e1a6321ad0395ed5a5f6f22d0d1b" +dependencies = [ + "rustc-hash", + "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_codegen", + "swc_css_parser", + "swc_css_visit", +] + [[package]] name = "swc_css_parser" -version = "0.150.9" +version = "0.150.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ae34661b2c08cb60947e05735d8d6db255b5ee2484d2ebdbc5d7de0f14b121" +checksum = "0b4eff14b60ca8512403839841421fb837b1d059e8cdfbb940979356ce8ce24e" dependencies = [ "lexical", "serde", @@ -7467,9 +7501,9 @@ dependencies = [ [[package]] name = "swc_css_prefixer" -version = "0.153.10" +version = "0.153.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28769f899a6c6dc208221c0272b58576b6c8cbe8988395efae913eeba5e4834e" +checksum = "812c01e22e770a8b5590233d3e44a83badd17ec3ccb8aa9b44dcbb79da0551ac" dependencies = [ "once_cell", "preset_env_base", @@ -7484,9 +7518,9 @@ dependencies = [ [[package]] name = "swc_css_utils" -version = "0.137.6" +version = "0.137.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e64f7d7de2158bbedd12b309089f8bb94ce60fc45dde37fa0447da8b6fa624" +checksum = "24fec9a00252d393ca43383109f38a68d64c326ca967b40ec35499ef0c57a7dc" dependencies = [ "once_cell", "serde", @@ -7499,9 +7533,9 @@ dependencies = [ [[package]] name = "swc_css_visit" -version = "0.139.6" +version = "0.139.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1b09ebb933e50d23d5d583e783bf35c678b7ad7072a6d5f8f47e72aceeb6b5" +checksum = "5f4827e116e4e417a5f7f995ef3e2ef83ddef034418667c5e1ed169f072053c2" dependencies = [ "serde", "swc_atoms", @@ -9811,6 +9845,15 @@ dependencies = [ "once_cell", "regex", "serde", + "swc_atoms", + "swc_common", + "swc_css_ast", + "swc_css_codegen", + "swc_css_compat", + "swc_css_modules", + "swc_css_parser", + "swc_css_prefixer", + "swc_css_visit", "turbo-tasks", "turbo-tasks-build", "turbo-tasks-fs", From 4c5c15b72292371ed279b93258b39613e0b4ad9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:07:24 +0900 Subject: [PATCH 45/48] fix --- crates/turbopack-css/src/parse.rs | 2 +- crates/turbopack-css/src/transform/mod.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/turbopack-css/src/parse.rs b/crates/turbopack-css/src/parse.rs index e200f4a26f299..084ea45c63c36 100644 --- a/crates/turbopack-css/src/parse.rs +++ b/crates/turbopack-css/src/parse.rs @@ -4,10 +4,10 @@ use anyhow::{Context, Result}; use indexmap::IndexMap; use once_cell::sync::Lazy; use regex::Regex; +use swc_atoms::JsWord; use swc_common::{ errors::Handler, source_map::SourceMapGenConfig, BytePos, FileName, LineCol, SourceMap, }; -use swc_core::ecma::atoms::JsWord; use swc_css_ast::Stylesheet; use swc_css_modules::{CssClassName, TransformConfig}; use swc_css_parser::{parse_file, parser::ParserConfig}; diff --git a/crates/turbopack-css/src/transform/mod.rs b/crates/turbopack-css/src/transform/mod.rs index 4124574aef27e..4be6ddf07719d 100644 --- a/crates/turbopack-css/src/transform/mod.rs +++ b/crates/turbopack-css/src/transform/mod.rs @@ -28,9 +28,9 @@ impl CssInputTransform { ) -> Result<()> { match *self { CssInputTransform::Nested => { - stylesheet.visit_mut_with(&mut swc_core::css::compat::compiler::Compiler::new( - swc_core::css::compat::compiler::Config { - process: swc_core::css::compat::feature::Features::NESTING, + stylesheet.visit_mut_with(&mut swc_css_compat::compiler::Compiler::new( + swc_css_compat::compiler::Config { + process: swc_css_compat::feature::Features::NESTING, }, )); } From 0465cf4f02c29628dcd60e5cb5f105f827c9dc17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:13:20 +0900 Subject: [PATCH 46/48] Dep --- crates/turbopack-build/Cargo.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/turbopack-build/Cargo.toml b/crates/turbopack-build/Cargo.toml index a33116a20edcb..3da42961a134f 100644 --- a/crates/turbopack-build/Cargo.toml +++ b/crates/turbopack-build/Cargo.toml @@ -23,6 +23,16 @@ serde = { workspace = true } serde_json = { workspace = true } serde_qs = { workspace = true } sourcemap = { workspace = true } +swc.workspace = true +swc_common.workspace = true +swc_ecma_ast.workspace = true +swc_ecma_codegen.workspace = true +swc_ecma_minifier = { version = "0.189.39", features = ["concurrent"] } +swc_ecma_parser.workspace = true +swc_ecma_transforms_base = { workspace = true, features = [ + "concurrent-renamer", +] } +swc_ecma_visit.workspace = true turbo-tasks = { workspace = true } turbo-tasks-fs = { workspace = true } From 3287a6b5108d9cd5f9cd9b3aa4393e6938af9074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 10 Nov 2023 15:13:27 +0900 Subject: [PATCH 47/48] fi --- crates/turbopack-build/src/ecmascript/minify.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/turbopack-build/src/ecmascript/minify.rs b/crates/turbopack-build/src/ecmascript/minify.rs index fd7a1a49d1bf7..4d030a0c8cdd6 100644 --- a/crates/turbopack-build/src/ecmascript/minify.rs +++ b/crates/turbopack-build/src/ecmascript/minify.rs @@ -6,7 +6,6 @@ use swc_common::{ comments::{Comments, SingleThreadedComments}, BytePos, FileName, FilePathMapping, LineCol, Mark, SourceMap as SwcSourceMap, GLOBALS, }; -use swc_core::ecma::{self}; use swc_ecma_ast::{EsVersion, Program}; use swc_ecma_codegen::{ text_writer::{ @@ -97,7 +96,7 @@ async fn perform_minify(path: Vc, code_vc: Vc) -> Result Date: Fri, 10 Nov 2023 15:13:33 +0900 Subject: [PATCH 48/48] cargo lockfile --- Cargo.lock | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 4f6ce84d656a5..ca47caf86989f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3466,6 +3466,7 @@ checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", + "rayon", "serde", ] @@ -7858,6 +7859,7 @@ dependencies = [ "once_cell", "parking_lot", "radix_fmt", + "rayon", "regex", "rustc-hash", "ryu-js", @@ -7975,6 +7977,7 @@ dependencies = [ "indexmap 1.9.3", "once_cell", "phf 0.10.1", + "rayon", "rustc-hash", "serde", "smallvec", @@ -8087,6 +8090,7 @@ dependencies = [ "indexmap 1.9.3", "once_cell", "petgraph", + "rayon", "rustc-hash", "serde_json", "swc_atoms", @@ -8188,6 +8192,7 @@ dependencies = [ "indexmap 1.9.3", "num_cpus", "once_cell", + "rayon", "rustc-hash", "swc_atoms", "swc_common", @@ -9698,6 +9703,14 @@ dependencies = [ "serde_json", "serde_qs", "sourcemap", + "swc", + "swc_common", + "swc_ecma_ast", + "swc_ecma_codegen", + "swc_ecma_minifier", + "swc_ecma_parser", + "swc_ecma_transforms_base", + "swc_ecma_visit", "turbo-tasks", "turbo-tasks-build", "turbo-tasks-fs",