From fd27e588bd968bc3e792b74ae40c36e327dee68c Mon Sep 17 00:00:00 2001 From: Benjamin Woodruff Date: Mon, 3 Feb 2025 19:00:00 -0800 Subject: [PATCH] perf(turbopack): Update rustc-hash from 1.1.0 to 2.1.0 (#75531) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > Replace hash with faster and better finalized hash. This replaces the previous "fxhash" algorithm originating in Firefox with a custom hasher designed and implemented by Orson Peters (orlp). It was measured to have slightly better performance for rustc, has better theoretical properties and also includes a significantly better string hasher. https://github.com/rust-lang/rustc-hash/blob/master/CHANGELOG.md # Benchmarks Any perf difference either way is too small to be easily measured. Benchmarks here technically show a tiny regression, but that's well within the run-to-run variance I've observed. ## rustc-hash 1.1.0 ``` $ hyperfine --warmup 1 --runs 5 --prepare 'rm -rf .next' 'TURBOPACK=1 TURBOPACK_BUILD=1 TURBO_ENGINE_READ_ONLY=1 pnpm next build --experimental-build-mode=compile' Benchmark 1: TURBOPACK=1 TURBOPACK_BUILD=1 TURBO_ENGINE_READ_ONLY=1 pnpm next build --experimental-build-mode=compile Time (mean ± σ): 26.736 s ± 0.294 s [User: 122.811 s, System: 15.908 s] Range (min … max): 26.340 s … 27.165 s 5 runs ``` ## rustc-hash 2.1.0 ``` $ hyperfine --warmup 1 --runs 5 --prepare 'rm -rf .next' 'TURBOPACK=1 TURBOPACK_BUILD=1 TURBO_ENGINE_READ_ONLY=1 pnpm next build --experimental-build-mode=compile' Benchmark 1: TURBOPACK=1 TURBOPACK_BUILD=1 TURBO_ENGINE_READ_ONLY=1 pnpm next build --experimental-build-mode=compile Time (mean ± σ): 27.206 s ± 0.540 s [User: 126.145 s, System: 15.958 s] Range (min … max): 26.543 s … 27.894 s 5 runs ``` --- Cargo.lock | 33 +++---- Cargo.toml | 3 +- crates/next-custom-transforms/Cargo.toml | 1 + .../src/transforms/cjs_optimizer.rs | 2 +- .../src/tree_shake/mod.rs | 2 +- .../src/tree_shake/tests.rs | 10 ++- .../tests/tree-shaker/analyzer/1/output.md | 16 ++-- .../tests/tree-shaker/analyzer/2/output.md | 16 ++-- .../tree-shaker/analyzer/app-route/output.md | 26 +++--- .../analyzer/combined-export/output.md | 16 ++-- .../tree-shaker/analyzer/complex/output.md | 26 +++--- .../tree-shaker/analyzer/failed-1/output.md | 16 ++-- .../tree-shaker/analyzer/failed-2/output.md | 48 +++++----- .../tree-shaker/analyzer/failed-3/output.md | 4 +- .../tree-shaker/analyzer/grouping/output.md | 16 ++-- .../analyzer/ipc-evaluate/output.md | 4 +- .../tree-shaker/analyzer/ipc-index/output.md | 4 +- .../tree-shaker/analyzer/let-bug-1/output.md | 8 +- .../tree-shaker/analyzer/logger/output.md | 8 +- .../tree-shaker/analyzer/mui-sys/output.md | 88 +++++++++---------- .../analyzer/multi-export/output.md | 16 ++-- .../tree-shaker/analyzer/nanoid/output.md | 24 ++--- .../analyzer/nextjs-tracer/output.md | 28 +++--- .../tree-shaker/analyzer/otel-core/output.md | 4 +- .../analyzer/route-handler/output.md | 16 ++-- .../tree-shaker/analyzer/shared-2/output.md | 20 ++--- .../shared-and-side-effects/output.md | 16 ++-- .../analyzer/shared-regression/output.md | 20 ++--- .../analyzer/simple-vars-1/output.md | 16 ++-- .../tree-shaker/analyzer/simple/output.md | 4 +- .../analyzer/template-pages/output.md | 80 ++++++++--------- .../analyzer/test-config-1/output.md | 32 +++---- .../tree-shaker/analyzer/tla-1/output.md | 4 +- .../tree-shaker/analyzer/typeof-1/output.md | 4 +- .../analyzer/write-order/output.md | 16 ++-- ...turbopack-tests_tests_snapshot_6fdc60._.js | 2 +- 36 files changed, 329 insertions(+), 320 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0009f679560bc..a1b070f90f754 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -569,7 +569,7 @@ name = "auto-hash-map" version = "0.1.0" dependencies = [ "hashbrown 0.14.5", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "smallvec", ] @@ -4483,7 +4483,7 @@ dependencies = [ "react_remove_properties", "regex", "remove_console", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "swc_core", @@ -4534,6 +4534,7 @@ dependencies = [ "regex", "remove_console", "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "sha1", @@ -4573,7 +4574,7 @@ dependencies = [ "once_cell", "owo-colors 3.5.0", "rand", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "shadow-rs", @@ -9046,7 +9047,7 @@ dependencies = [ "quick_cache", "rand", "rayon", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "tempfile", "thread_local", @@ -9110,7 +9111,7 @@ dependencies = [ "pin-project-lite", "rayon", "regex", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "serde_regex", @@ -9148,7 +9149,7 @@ dependencies = [ "rand", "rayon", "regex", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "serde_path_to_error", @@ -9335,7 +9336,7 @@ dependencies = [ "ref-cast", "regex", "rstest", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "smallvec", @@ -9357,7 +9358,7 @@ dependencies = [ "anyhow", "auto-hash-map", "futures", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "tokio", "turbo-rcstr", "turbo-tasks", @@ -9376,7 +9377,7 @@ dependencies = [ "regex", "rstest", "rstest_reuse", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "smallvec", @@ -9434,7 +9435,7 @@ dependencies = [ "anyhow", "indexmap 2.7.1", "indoc", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "serde_qs", @@ -9527,7 +9528,7 @@ dependencies = [ "regex", "roaring", "rstest", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_bytes", "serde_json", @@ -9636,7 +9637,7 @@ dependencies = [ "parking_lot", "petgraph", "regex", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "sourcemap", @@ -9677,7 +9678,7 @@ dependencies = [ "indexmap 2.7.1", "lightningcss", "modularize_imports", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "styled_components", @@ -9818,7 +9819,7 @@ dependencies = [ "anyhow", "indexmap 2.7.1", "indoc", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "tracing", "turbo-rcstr", @@ -9942,7 +9943,7 @@ dependencies = [ "postcard", "rayon", "rustc-demangle", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "serde_json", "tungstenite 0.21.0", @@ -9960,7 +9961,7 @@ dependencies = [ "once_cell", "parking_lot", "postcard", - "rustc-hash 1.1.0", + "rustc-hash 2.1.0", "serde", "thread_local", "tokio", diff --git a/Cargo.toml b/Cargo.toml index c0f036838d63e..efedde285559f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -182,7 +182,7 @@ rayon = "1.10.0" regex = "1.10.6" reqwest = { version = "=0.11.17", default-features = false } rstest = "0.16.0" -rustc-hash = "1.1.0" +rustc-hash = "2.1.0" semver = "1.0.16" serde = { version = "1.0.217", features = ["derive"] } serde_json = "1.0.138" @@ -201,6 +201,7 @@ smallvec = { version = "1.13.1", features = [ ] } sourcemap = "9.0.0" strsim = "0.11.1" +swc-rustc-hash = { package = "rustc-hash", version = "1.1.0" } # used with swc syn = "1.0.107" tempfile = "3.3.0" thread_local = "1.1.8" diff --git a/crates/next-custom-transforms/Cargo.toml b/crates/next-custom-transforms/Cargo.toml index c88e376462423..422f2dea50681 100644 --- a/crates/next-custom-transforms/Cargo.toml +++ b/crates/next-custom-transforms/Cargo.toml @@ -24,6 +24,7 @@ once_cell = { workspace = true } pathdiff = { workspace = true } regex = "1.5" rustc-hash = { workspace = true } +swc-rustc-hash = { workspace = true } serde = { workspace = true } serde_json = { workspace = true, features = ["preserve_order"] } sha1 = "0.10.1" diff --git a/crates/next-custom-transforms/src/transforms/cjs_optimizer.rs b/crates/next-custom-transforms/src/transforms/cjs_optimizer.rs index 837f5597ed512..58021b4c299a5 100644 --- a/crates/next-custom-transforms/src/transforms/cjs_optimizer.rs +++ b/crates/next-custom-transforms/src/transforms/cjs_optimizer.rs @@ -50,7 +50,7 @@ struct State { extra_stmts: Vec, - rename_map: FxHashMap, + rename_map: swc_rustc_hash::FxHashMap, /// Ignored identifiers for `obj` of [MemberExpr]. ignored: FxHashSet, diff --git a/turbopack/crates/turbopack-ecmascript/src/tree_shake/mod.rs b/turbopack/crates/turbopack-ecmascript/src/tree_shake/mod.rs index 4f2caed87ff1d..1965d30b2cb35 100644 --- a/turbopack/crates/turbopack-ecmascript/src/tree_shake/mod.rs +++ b/turbopack/crates/turbopack-ecmascript/src/tree_shake/mod.rs @@ -372,7 +372,7 @@ impl Analyzer<'_> { } } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] pub(crate) enum Key { ModuleEvaluation, Export(RcStr), diff --git a/turbopack/crates/turbopack-ecmascript/src/tree_shake/tests.rs b/turbopack/crates/turbopack-ecmascript/src/tree_shake/tests.rs index 1e8ff7aff7191..a1d354974fa38 100644 --- a/turbopack/crates/turbopack-ecmascript/src/tree_shake/tests.rs +++ b/turbopack/crates/turbopack-ecmascript/src/tree_shake/tests.rs @@ -1,4 +1,4 @@ -use std::{fmt::Write, hash::Hash, path::PathBuf, sync::Arc}; +use std::{collections::BTreeMap, fmt::Write, hash::Hash, path::PathBuf, sync::Arc}; use anyhow::Error; use serde::Deserialize; @@ -192,7 +192,13 @@ fn run(input: PathBuf) { .. } = g.split_module(&[], analyzer.items); - writeln!(s, "# Entrypoints\n\n```\n{:#?}\n```\n\n", entrypoints).unwrap(); + writeln!( + s, + "# Entrypoints\n\n```\n{:#?}\n```\n\n", + // sort entrypoints for the snapshot + entrypoints.iter().collect::>(), + ) + .unwrap(); if !skip_parts { writeln!(s, "# Modules ({})", if is_debug { "dev" } else { "prod" }).unwrap(); diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/1/output.md index aab177bb3449d..746a29a7f066e 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/1/output.md @@ -385,16 +385,16 @@ graph TD Export( "external1", ): 10, - Exports: 14, + Export( + "external2", + ): 11, Export( "foo", ): 13, Export( "foobar", ): 11, - Export( - "external2", - ): 11, + Exports: 14, } ``` @@ -612,16 +612,16 @@ import "__TURBOPACK_PART__" assert { Export( "external1", ): 9, - Exports: 12, + Export( + "external2", + ): 10, Export( "foo", ): 3, Export( "foobar", ): 11, - Export( - "external2", - ): 10, + Exports: 12, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/2/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/2/output.md index 85b51ca83c727..1b174a3ef842f 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/2/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/2/output.md @@ -403,16 +403,16 @@ graph TD Export( "external1", ): 0, - Exports: 14, + Export( + "external2", + ): 11, Export( "foo", ): 13, Export( "foobar", ): 11, - Export( - "external2", - ): 11, + Exports: 14, } ``` @@ -631,16 +631,16 @@ import "__TURBOPACK_PART__" assert { Export( "external1", ): 0, - Exports: 12, + Export( + "external2", + ): 10, Export( "foo", ): 4, Export( "foobar", ): 11, - Export( - "external2", - ): 10, + Exports: 12, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/app-route/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/app-route/output.md index de2a77eca8812..f17950ebe9562 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/app-route/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/app-route/output.md @@ -364,8 +364,8 @@ graph TD { ModuleEvaluation: 12, Export( - "serverHooks", - ): 11, + "originalPathname", + ): 10, Export( "patchFetch", ): 11, @@ -375,13 +375,13 @@ graph TD Export( "routeModule", ): 14, - Exports: 15, Export( - "workAsyncStorage", + "serverHooks", ): 11, Export( - "originalPathname", - ): 10, + "workAsyncStorage", + ): 11, + Exports: 15, } ``` @@ -608,25 +608,25 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 12, + Export( + "originalPathname", + ): 10, Export( "patchFetch", ): 11, Export( "requestAsyncStorage", ): 13, - Export( - "serverHooks", - ): 15, Export( "routeModule", ): 14, - Exports: 17, + Export( + "serverHooks", + ): 15, Export( "workAsyncStorage", ): 16, - Export( - "originalPathname", - ): 10, + Exports: 17, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/combined-export/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/combined-export/output.md index bea8559b9b809..8cd9e5d6d6875 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/combined-export/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/combined-export/output.md @@ -88,13 +88,13 @@ graph TD ``` { ModuleEvaluation: 2, - Exports: 3, - Export( - "b", - ): 1, Export( "a", ): 0, + Export( + "b", + ): 1, + Exports: 3, } ``` @@ -143,13 +143,13 @@ export { b } from "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 2, - Exports: 3, - Export( - "b", - ): 1, Export( "a", ): 0, + Export( + "b", + ): 1, + Exports: 3, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/complex/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/complex/output.md index 6a2a8d6cd91a1..febc310e1b77e 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/complex/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/complex/output.md @@ -392,20 +392,20 @@ graph TD ``` { - Export( - "getChimera", - ): 10, ModuleEvaluation: 11, - Export( - "initialCat", - ): 9, - Exports: 13, Export( "cat", ): 12, Export( "dogRef", ): 3, + Export( + "getChimera", + ): 10, + Export( + "initialCat", + ): 9, + Exports: 13, } ``` @@ -613,6 +613,12 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 2, + Export( + "cat", + ): 7, + Export( + "dogRef", + ): 3, Export( "getChimera", ): 6, @@ -620,12 +626,6 @@ import "__TURBOPACK_PART__" assert { "initialCat", ): 5, Exports: 8, - Export( - "cat", - ): 7, - Export( - "dogRef", - ): 3, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-1/output.md index 6c466e0a462cf..4eaf512c81f3b 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-1/output.md @@ -232,17 +232,17 @@ graph TD ``` { - Export( - "connectHMR", - ): 2, ModuleEvaluation: 5, Export( "addMessageListener", ): 3, - Exports: 6, + Export( + "connectHMR", + ): 2, Export( "sendMessage", ): 4, + Exports: 6, } ``` @@ -385,17 +385,17 @@ export { sendMessage } from "__TURBOPACK_PART__" assert { ``` { - Export( - "connectHMR", - ): 2, ModuleEvaluation: 5, Export( "addMessageListener", ): 3, - Exports: 6, + Export( + "connectHMR", + ): 2, Export( "sendMessage", ): 4, + Exports: 6, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-2/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-2/output.md index a5abcaeafa6ea..4b865520c4fae 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-2/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-2/output.md @@ -603,31 +603,31 @@ graph TD ``` { + ModuleEvaluation: 17, + Export( + "Postpone", + ): 12, + Export( + "createPostponedAbortSignal", + ): 16, Export( "createPrerenderState", ): 9, - ModuleEvaluation: 17, + Export( + "formatDynamicAPIAccesses", + ): 15, Export( "markCurrentScopeAsDynamic", ): 10, - Export( - "usedDynamicAPIs", - ): 14, Export( "trackDynamicDataAccessed", ): 11, - Export( - "Postpone", - ): 12, Export( "trackDynamicFetch", ): 13, Export( - "createPostponedAbortSignal", - ): 16, - Export( - "formatDynamicAPIAccesses", - ): 15, + "usedDynamicAPIs", + ): 14, Exports: 18, } ``` @@ -985,31 +985,31 @@ import "__TURBOPACK_PART__" assert { ``` { + ModuleEvaluation: 19, + Export( + "Postpone", + ): 12, + Export( + "createPostponedAbortSignal", + ): 18, Export( "createPrerenderState", ): 9, - ModuleEvaluation: 19, + Export( + "formatDynamicAPIAccesses", + ): 16, Export( "markCurrentScopeAsDynamic", ): 10, - Export( - "usedDynamicAPIs", - ): 15, Export( "trackDynamicDataAccessed", ): 11, - Export( - "Postpone", - ): 12, Export( "trackDynamicFetch", ): 13, Export( - "createPostponedAbortSignal", - ): 18, - Export( - "formatDynamicAPIAccesses", - ): 16, + "usedDynamicAPIs", + ): 15, Exports: 20, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-3/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-3/output.md index fdec42bfffa52..fe440c2be868d 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-3/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/failed-3/output.md @@ -1013,10 +1013,10 @@ graph TD Export( "IPC", ): 10, - Exports: 12, Export( "structuredError", ): 11, + Exports: 12, } ``` @@ -1421,10 +1421,10 @@ export { improveConsole as h } from "__TURBOPACK_VAR__" assert { Export( "IPC", ): 10, - Exports: 12, Export( "structuredError", ): 11, + Exports: 12, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/grouping/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/grouping/output.md index 85202961d78af..9f52645ea3072 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/grouping/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/grouping/output.md @@ -287,13 +287,13 @@ graph TD ``` { ModuleEvaluation: 6, - Exports: 8, - Export( - "y", - ): 5, Export( "x", ): 7, + Export( + "y", + ): 5, + Exports: 8, } ``` @@ -404,13 +404,13 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 2, - Exports: 7, - Export( - "y", - ): 5, Export( "x", ): 6, + Export( + "y", + ): 5, + Exports: 7, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-evaluate/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-evaluate/output.md index cfe6f8ae6980e..e1bffdf2feeb4 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-evaluate/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-evaluate/output.md @@ -232,10 +232,10 @@ graph TD ``` { ModuleEvaluation: 3, - Exports: 5, Export( "run", ): 4, + Exports: 5, } ``` @@ -406,10 +406,10 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 3, - Exports: 5, Export( "run", ): 4, + Exports: 5, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-index/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-index/output.md index fdec42bfffa52..fe440c2be868d 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-index/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/ipc-index/output.md @@ -1013,10 +1013,10 @@ graph TD Export( "IPC", ): 10, - Exports: 12, Export( "structuredError", ): 11, + Exports: 12, } ``` @@ -1421,10 +1421,10 @@ export { improveConsole as h } from "__TURBOPACK_VAR__" assert { Export( "IPC", ): 10, - Exports: 12, Export( "structuredError", ): 11, + Exports: 12, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/let-bug-1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/let-bug-1/output.md index baa72343dab03..54d6b0d67fb8e 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/let-bug-1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/let-bug-1/output.md @@ -195,14 +195,14 @@ graph TD ``` { + ModuleEvaluation: 5, Export( "getClientComponentLoaderMetrics", ): 4, - ModuleEvaluation: 5, - Exports: 6, Export( "wrapClientComponentLoader", ): 3, + Exports: 6, } ``` @@ -331,14 +331,14 @@ export { getClientComponentLoaderMetrics } from "__TURBOPACK_PART__" assert { ``` { + ModuleEvaluation: 5, Export( "getClientComponentLoaderMetrics", ): 4, - ModuleEvaluation: 5, - Exports: 6, Export( "wrapClientComponentLoader", ): 3, + Exports: 6, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/logger/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/logger/output.md index e873b581ee58c..6f2aa98964758 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/logger/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/logger/output.md @@ -195,14 +195,14 @@ graph TD ``` { + ModuleEvaluation: 5, Export( "getClientComponentLoaderMetrics", ): 4, - ModuleEvaluation: 5, - Exports: 6, Export( "wrapClientComponentLoader", ): 3, + Exports: 6, } ``` @@ -331,14 +331,14 @@ export { getClientComponentLoaderMetrics } from "__TURBOPACK_PART__" assert { ``` { + ModuleEvaluation: 5, Export( "getClientComponentLoaderMetrics", ): 4, - ModuleEvaluation: 5, - Exports: 6, Export( "wrapClientComponentLoader", ): 3, + Exports: 6, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/mui-sys/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/mui-sys/output.md index 6a39e589cb7e7..00029c8f30a1a 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/mui-sys/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/mui-sys/output.md @@ -1032,46 +1032,46 @@ graph TD ``` { ModuleEvaluation: 30, - Export( - "gap", - ): 33, - Export( - "gridAutoRows", - ): 37, - Export( - "gridTemplateColumns", - ): 41, Export( "columnGap", ): 32, + Export( + "default", + ): 31, + Export( + "gap", + ): 33, Export( "gridArea", ): 34, - Exports: 44, + Export( + "gridAutoColumns", + ): 35, Export( "gridAutoFlow", ): 36, + Export( + "gridAutoRows", + ): 37, Export( "gridColumn", ): 38, Export( - "gridAutoColumns", - ): 35, - Export( - "rowGap", - ): 43, - Export( - "gridTemplateRows", - ): 42, + "gridRow", + ): 39, Export( "gridTemplateAreas", ): 40, Export( - "default", - ): 31, + "gridTemplateColumns", + ): 41, Export( - "gridRow", - ): 39, + "gridTemplateRows", + ): 42, + Export( + "rowGap", + ): 43, + Exports: 44, } ``` @@ -1748,46 +1748,46 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 30, - Export( - "gap", - ): 33, - Export( - "gridAutoRows", - ): 37, - Export( - "gridTemplateColumns", - ): 41, Export( "columnGap", ): 32, + Export( + "default", + ): 31, + Export( + "gap", + ): 33, Export( "gridArea", ): 34, - Exports: 44, + Export( + "gridAutoColumns", + ): 35, Export( "gridAutoFlow", ): 36, + Export( + "gridAutoRows", + ): 37, Export( "gridColumn", ): 38, Export( - "gridAutoColumns", - ): 35, - Export( - "rowGap", - ): 43, - Export( - "gridTemplateRows", - ): 42, + "gridRow", + ): 39, Export( "gridTemplateAreas", ): 40, Export( - "default", - ): 31, + "gridTemplateColumns", + ): 41, Export( - "gridRow", - ): 39, + "gridTemplateRows", + ): 42, + Export( + "rowGap", + ): 43, + Exports: 44, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/multi-export/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/multi-export/output.md index b4eb4ebe43673..ad0b4794e6880 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/multi-export/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/multi-export/output.md @@ -88,13 +88,13 @@ graph TD ``` { ModuleEvaluation: 2, - Exports: 3, - Export( - "cat", - ): 1, Export( "DOG", ): 0, + Export( + "cat", + ): 1, + Exports: 3, } ``` @@ -143,13 +143,13 @@ export { cat } from "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 2, - Exports: 3, - Export( - "cat", - ): 1, Export( "DOG", ): 0, + Export( + "cat", + ): 1, + Exports: 3, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nanoid/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nanoid/output.md index c9a19d62044b2..e485982eb4610 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nanoid/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nanoid/output.md @@ -394,22 +394,22 @@ graph TD ``` { ModuleEvaluation: 11, - Exports: 16, + Export( + "customAlphabet", + ): 9, Export( "customRandom", ): 12, Export( - "customAlphabet", - ): 9, + "nanoid", + ): 13, Export( "random", ): 14, Export( "urlAlphabet", ): 15, - Export( - "nanoid", - ): 13, + Exports: 16, } ``` @@ -668,22 +668,22 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 11, - Exports: 16, + Export( + "customAlphabet", + ): 9, Export( "customRandom", ): 12, Export( - "customAlphabet", - ): 9, + "nanoid", + ): 13, Export( "random", ): 14, Export( "urlAlphabet", ): 15, - Export( - "nanoid", - ): 13, + Exports: 16, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nextjs-tracer/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nextjs-tracer/output.md index d85c618590b81..e7db89ca140fe 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nextjs-tracer/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/nextjs-tracer/output.md @@ -641,22 +641,22 @@ graph TD ``` { ModuleEvaluation: 10, + Export( + "BubbledError", + ): 11, Export( "SpanKind", ): 12, - Export( - "isBubbledError", - ): 15, - Exports: 16, Export( "SpanStatusCode", ): 13, - Export( - "BubbledError", - ): 11, Export( "getTracer", ): 14, + Export( + "isBubbledError", + ): 15, + Exports: 16, } ``` @@ -1100,22 +1100,22 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 10, + Export( + "BubbledError", + ): 11, Export( "SpanKind", ): 12, - Export( - "isBubbledError", - ): 15, - Exports: 16, Export( "SpanStatusCode", ): 13, - Export( - "BubbledError", - ): 11, Export( "getTracer", ): 14, + Export( + "isBubbledError", + ): 15, + Exports: 16, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/otel-core/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/otel-core/output.md index 1757257af77d0..e9761cf0dbafc 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/otel-core/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/otel-core/output.md @@ -197,13 +197,13 @@ graph TD ``` { ModuleEvaluation: 7, - Exports: 8, Export( "getEnv", ): 5, Export( "getEnvWithoutDefaults", ): 6, + Exports: 8, } ``` @@ -329,13 +329,13 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 7, - Exports: 8, Export( "getEnv", ): 5, Export( "getEnvWithoutDefaults", ): 6, + Exports: 8, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/route-handler/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/route-handler/output.md index 5252a367c2adc..b9c19c6360076 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/route-handler/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/route-handler/output.md @@ -130,13 +130,13 @@ graph TD ``` { ModuleEvaluation: 4, - Exports: 5, - Export( - "runtime", - ): 3, Export( "GET", ): 2, + Export( + "runtime", + ): 3, + Exports: 5, } ``` @@ -215,13 +215,13 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 4, - Exports: 5, - Export( - "runtime", - ): 3, Export( "GET", ): 2, + Export( + "runtime", + ): 3, + Exports: 5, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-2/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-2/output.md index 6d8ea395f8927..9b7459abffcbe 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-2/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-2/output.md @@ -235,15 +235,15 @@ graph TD { ModuleEvaluation: 5, Export( - "order", - ): 7, - Exports: 8, + "a", + ): 6, Export( "b", ): 4, Export( - "a", - ): 6, + "order", + ): 7, + Exports: 8, } ``` @@ -373,15 +373,15 @@ import "__TURBOPACK_PART__" assert { { ModuleEvaluation: 5, Export( - "order", - ): 7, - Exports: 8, + "a", + ): 6, Export( "b", ): 4, Export( - "a", - ): 6, + "order", + ): 7, + Exports: 8, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-and-side-effects/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-and-side-effects/output.md index d3a5b1e8520a6..8ce8c3fac2d3b 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-and-side-effects/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-and-side-effects/output.md @@ -251,13 +251,13 @@ graph TD ``` { ModuleEvaluation: 6, - Exports: 8, - Export( - "b", - ): 5, Export( "a", ): 7, + Export( + "b", + ): 5, + Exports: 8, } ``` @@ -391,13 +391,13 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 1, - Exports: 5, - Export( - "b", - ): 3, Export( "a", ): 4, + Export( + "b", + ): 3, + Exports: 5, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-regression/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-regression/output.md index 6d8ea395f8927..9b7459abffcbe 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-regression/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/shared-regression/output.md @@ -235,15 +235,15 @@ graph TD { ModuleEvaluation: 5, Export( - "order", - ): 7, - Exports: 8, + "a", + ): 6, Export( "b", ): 4, Export( - "a", - ): 6, + "order", + ): 7, + Exports: 8, } ``` @@ -373,15 +373,15 @@ import "__TURBOPACK_PART__" assert { { ModuleEvaluation: 5, Export( - "order", - ): 7, - Exports: 8, + "a", + ): 6, Export( "b", ): 4, Export( - "a", - ): 6, + "order", + ): 7, + Exports: 8, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple-vars-1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple-vars-1/output.md index bea8559b9b809..8cd9e5d6d6875 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple-vars-1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple-vars-1/output.md @@ -88,13 +88,13 @@ graph TD ``` { ModuleEvaluation: 2, - Exports: 3, - Export( - "b", - ): 1, Export( "a", ): 0, + Export( + "b", + ): 1, + Exports: 3, } ``` @@ -143,13 +143,13 @@ export { b } from "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 2, - Exports: 3, - Export( - "b", - ): 1, Export( "a", ): 0, + Export( + "b", + ): 1, + Exports: 3, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple/output.md index 6b542c4cdec56..bf69acb3aee83 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/simple/output.md @@ -130,13 +130,13 @@ graph TD ``` { ModuleEvaluation: 3, - Exports: 4, Export( "CHIMERA", ): 1, Export( "DOG", ): 2, + Exports: 4, } ``` @@ -203,13 +203,13 @@ export { DOG } from "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 3, - Exports: 4, Export( "CHIMERA", ): 1, Export( "DOG", ): 2, + Exports: 4, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/template-pages/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/template-pages/output.md index 4db3fe78c1713..3f420ed41976e 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/template-pages/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/template-pages/output.md @@ -779,42 +779,42 @@ graph TD { ModuleEvaluation: 24, Export( - "unstable_getServerSideProps", - ): 33, + "config", + ): 26, Export( - "unstable_getStaticPaths", - ): 35, + "default", + ): 25, + Export( + "getServerSideProps", + ): 27, + Export( + "getStaticPaths", + ): 28, + Export( + "getStaticProps", + ): 29, Export( "reportWebVitals", ): 30, - Export( - "unstable_getServerProps", - ): 32, Export( "routeModule", ): 31, Export( - "getStaticProps", - ): 29, + "unstable_getServerProps", + ): 32, Export( - "config", - ): 26, + "unstable_getServerSideProps", + ): 33, Export( "unstable_getStaticParams", ): 34, + Export( + "unstable_getStaticPaths", + ): 35, Export( "unstable_getStaticProps", ): 36, Exports: 37, - Export( - "default", - ): 25, - Export( - "getServerSideProps", - ): 27, - Export( - "getStaticPaths", - ): 28, } ``` @@ -1342,42 +1342,42 @@ import "__TURBOPACK_PART__" assert { { ModuleEvaluation: 24, Export( - "unstable_getServerSideProps", - ): 33, + "config", + ): 26, Export( - "unstable_getStaticPaths", - ): 35, + "default", + ): 25, + Export( + "getServerSideProps", + ): 27, + Export( + "getStaticPaths", + ): 28, + Export( + "getStaticProps", + ): 29, Export( "reportWebVitals", ): 30, - Export( - "unstable_getServerProps", - ): 32, Export( "routeModule", ): 31, Export( - "getStaticProps", - ): 29, + "unstable_getServerProps", + ): 32, Export( - "config", - ): 26, + "unstable_getServerSideProps", + ): 33, Export( "unstable_getStaticParams", ): 34, + Export( + "unstable_getStaticPaths", + ): 35, Export( "unstable_getStaticProps", ): 36, Exports: 37, - Export( - "default", - ): 25, - Export( - "getServerSideProps", - ): 27, - Export( - "getStaticPaths", - ): 28, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/test-config-1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/test-config-1/output.md index 8aaa94be04a31..548909c4805cf 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/test-config-1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/test-config-1/output.md @@ -385,16 +385,16 @@ graph TD Export( "external1", ): 10, - Exports: 14, + Export( + "external2", + ): 11, Export( "foo", ): 13, Export( "foobar", ): 11, - Export( - "external2", - ): 11, + Exports: 14, } ``` @@ -612,16 +612,16 @@ import "__TURBOPACK_PART__" assert { Export( "external1", ): 9, - Exports: 12, + Export( + "external2", + ): 10, Export( "foo", ): 3, Export( "foobar", ): 11, - Export( - "external2", - ): 10, + Exports: 12, } ``` @@ -814,16 +814,16 @@ console.log(foobarCopy); Export( "external1", ): 9, - Exports: 12, + Export( + "external2", + ): 10, Export( "foo", ): 3, Export( "foobar", ): 11, - Export( - "external2", - ): 10, + Exports: 12, } ``` @@ -863,16 +863,16 @@ export { external1 as g } from "__TURBOPACK_VAR__" assert { Export( "external1", ): 9, - Exports: 12, + Export( + "external2", + ): 10, Export( "foo", ): 3, Export( "foobar", ): 11, - Export( - "external2", - ): 10, + Exports: 12, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/tla-1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/tla-1/output.md index ce2c929de5049..d6b3014c483b9 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/tla-1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/tla-1/output.md @@ -113,10 +113,10 @@ graph TD Export( "effect", ): 1, - Exports: 2, Export( "effects", ): 1, + Exports: 2, } ``` @@ -168,10 +168,10 @@ await Promise.resolve(); Export( "effect", ): 2, - Exports: 4, Export( "effects", ): 3, + Exports: 4, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/typeof-1/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/typeof-1/output.md index 611e8fbacc33d..d99235a084cd4 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/typeof-1/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/typeof-1/output.md @@ -184,10 +184,10 @@ graph TD ``` { ModuleEvaluation: 7, - Exports: 8, Export( "GET", ): 6, + Exports: 8, } ``` @@ -301,10 +301,10 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 7, - Exports: 8, Export( "GET", ): 6, + Exports: 8, } ``` diff --git a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/write-order/output.md b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/write-order/output.md index 1e64ced740724..07d283d7309e6 100644 --- a/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/write-order/output.md +++ b/turbopack/crates/turbopack-ecmascript/tests/tree-shaker/analyzer/write-order/output.md @@ -228,17 +228,17 @@ graph TD ``` { - Export( - "order", - ): 1, ModuleEvaluation: 4, - Exports: 6, Export( "func", ): 1, + Export( + "order", + ): 1, Export( "shared", ): 5, + Exports: 6, } ``` @@ -345,16 +345,16 @@ import "__TURBOPACK_PART__" assert { ``` { ModuleEvaluation: 4, - Export( - "order", - ): 5, - Exports: 7, Export( "func", ): 1, + Export( + "order", + ): 5, Export( "shared", ): 6, + Exports: 7, } ``` diff --git a/turbopack/crates/turbopack-tests/tests/snapshot/emotion/emotion/output/turbopack_crates_turbopack-tests_tests_snapshot_6fdc60._.js b/turbopack/crates/turbopack-tests/tests/snapshot/emotion/emotion/output/turbopack_crates_turbopack-tests_tests_snapshot_6fdc60._.js index 1728fd8af9458..f40685fece426 100644 --- a/turbopack/crates/turbopack-tests/tests/snapshot/emotion/emotion/output/turbopack_crates_turbopack-tests_tests_snapshot_6fdc60._.js +++ b/turbopack/crates/turbopack-tests/tests/snapshot/emotion/emotion/output/turbopack_crates_turbopack-tests_tests_snapshot_6fdc60._.js @@ -13,7 +13,7 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$turbopack$2f$crates$2f$turbo ; ; const StyledButton = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$turbopack$2f$crates$2f$turbopack$2d$tests$2f$tests$2f$snapshot$2f$node_modules$2f40$emotion$2f$styled$2f$index$2e$js__$5b$test$5d$__$28$ecmascript$29$__["default"])("button", { - target: "eui1g2r0" + target: "e1arus2c0" })("background:blue;"); function ClassNameButton({ children }) { return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$turbopack$2f$crates$2f$turbopack$2d$tests$2f$tests$2f$snapshot$2f$node_modules$2f40$emotion$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$test$5d$__$28$ecmascript$29$__["jsxDEV"])("button", {