diff --git a/.vscode/settings.json b/.vscode/settings.json
index 57313bc8e8d7..2ab01fe8b8ee 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -59,7 +59,6 @@
// singleton modules should always use "*.external" instead of "*-instance"
"packages/next/src/server/app-render/action-async-storage-instance.ts",
"packages/next/src/server/app-render/after-task-async-storage-instance.ts",
- "packages/next/src/server/app-render/clean-async-snapshot-instance.ts",
"packages/next/src/server/app-render/work-async-storage-instance.ts",
"packages/next/src/server/app-render/work-unit-async-storage-instance.ts",
"packages/next/src/client/components/segment-cache-impl/*"
diff --git a/Cargo.lock b/Cargo.lock
index 0810365ba85e..8a970397ac97 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -172,7 +172,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "220044e6a1bb31ddee4e3db724d29767f352de47445a6cd75e1a173142136c83"
dependencies = [
- "nom 7.1.3",
+ "nom",
"vte",
]
@@ -607,7 +607,7 @@ dependencies = [
"arrayvec 0.7.4",
"itertools 0.10.5",
"log",
- "nom 7.1.3",
+ "nom",
"num-rational",
"v_frame",
]
@@ -750,16 +750,16 @@ dependencies = [
[[package]]
name = "binding_macros"
-version = "22.0.0"
+version = "21.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30f941cf6bb72815380727ba180b6c34d9a70a2a2e7bc735f2dfc48b4ab4e540"
+checksum = "6f87629c740dbd5bd8ebcd82afbd8eaf835a3cf871e6762c1aa157df1d748345"
dependencies = [
"anyhow",
"console_error_panic_hook",
"js-sys",
"once_cell",
"serde",
- "serde-wasm-bindgen 0.4.5",
+ "serde-wasm-bindgen",
"swc",
"swc_common",
"swc_ecma_ast",
@@ -876,16 +876,16 @@ dependencies = [
[[package]]
name = "browserslist-rs"
-version = "0.18.1"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f95aff901882c66e4b642f3f788ceee152ef44f8a5ef12cb1ddee5479c483be"
+checksum = "74c973b79d9b6b89854493185ab760c6ef8e54bcfad10ad4e33991e46b374ac8"
dependencies = [
"ahash 0.8.11",
"chrono",
"either",
"indexmap 2.7.1",
"itertools 0.13.0",
- "nom 7.1.3",
+ "nom",
"serde",
"serde_json",
"thiserror 1.0.69",
@@ -1098,7 +1098,7 @@ version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
dependencies = [
- "nom 7.1.3",
+ "nom",
]
[[package]]
@@ -1123,12 +1123,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
-[[package]]
-name = "cfg_aliases"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
-
[[package]]
name = "chromiumoxide"
version = "0.5.4"
@@ -2156,7 +2150,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88e3201db19ec4199af513d38c49fcbc5f8ca31d268f942e97324a826c9e9fdb"
dependencies = [
- "nom 7.1.3",
+ "nom",
]
[[package]]
@@ -2630,11 +2624,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
dependencies = [
"cfg-if",
- "js-sys",
"libc",
"r-efi",
"wasi 0.14.2+wasi-0.2.4",
- "wasm-bindgen",
]
[[package]]
@@ -2821,7 +2813,7 @@ dependencies = [
"base64 0.21.4",
"byteorder",
"flate2",
- "nom 7.1.3",
+ "nom",
"num-traits",
]
@@ -3013,7 +3005,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.5.8",
"tokio",
"tower-service",
"tracing",
@@ -3051,25 +3043,7 @@ dependencies = [
"hyper 0.14.28",
"rustls 0.20.9",
"tokio",
- "tokio-rustls 0.23.4",
-]
-
-[[package]]
-name = "hyper-rustls"
-version = "0.27.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2"
-dependencies = [
- "futures-util",
- "http 1.1.0",
- "hyper 1.5.2",
- "hyper-util",
- "rustls 0.23.20",
- "rustls-pki-types",
- "tokio",
- "tokio-rustls 0.26.1",
- "tower-service",
- "webpki-roots 0.26.7",
+ "tokio-rustls",
]
[[package]]
@@ -3098,22 +3072,6 @@ dependencies = [
"tokio-native-tls",
]
-[[package]]
-name = "hyper-tls"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
-dependencies = [
- "bytes",
- "http-body-util",
- "hyper 1.5.2",
- "hyper-util",
- "native-tls",
- "tokio",
- "tokio-native-tls",
- "tower-service",
-]
-
[[package]]
name = "hyper-tungstenite"
version = "0.9.0"
@@ -3678,11 +3636,10 @@ dependencies = [
[[package]]
name = "js-sys"
-version = "0.3.77"
+version = "0.3.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
dependencies = [
- "once_cell",
"wasm-bindgen",
]
@@ -3909,12 +3866,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "libunwind"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c6639b70a7ce854b79c70d7e83f16b5dc0137cc914f3d7d03803b513ecc67ac"
-
[[package]]
name = "libyml"
version = "0.0.5"
@@ -4158,17 +4109,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "macho-unwind-info"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb4bdc8b0ce69932332cf76d24af69c3a155242af95c226b2ab6c2e371ed1149"
-dependencies = [
- "thiserror 2.0.12",
- "zerocopy 0.8.24",
- "zerocopy-derive 0.8.24",
-]
-
[[package]]
name = "malloc_buf"
version = "0.0.6"
@@ -4226,7 +4166,8 @@ dependencies = [
[[package]]
name = "mdxjs"
version = "1.0.0"
-source = "git+https://github.com/kdy1/mdxjs-rs?branch=swc-core-23#aa24519706287c6ccb9d3a00d263e5e6eab4277b"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3218c5892cb3a71ed40c85632d9e05b3a39ce3f9891177d2812ffe75b16f0fef"
dependencies = [
"markdown",
"rustc-hash 2.1.1",
@@ -4387,9 +4328,9 @@ dependencies = [
[[package]]
name = "modularize_imports"
-version = "0.83.0"
+version = "0.82.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36f4d5dedf01a8f57d7d76a57e5c0e58e9f5e3b4eea8782f36689bfd276641ee"
+checksum = "9f98628300d2edbdbfebf0f485cf72bfdbcbc38c92b95dc16d06c2f82cabd54e"
dependencies = [
"convert_case",
"handlebars",
@@ -4568,7 +4509,7 @@ dependencies = [
"turbopack-node",
"turbopack-nodejs",
"turbopack-wasm",
- "vergen 9.0.6",
+ "vergen 9.0.5",
]
[[package]]
@@ -4784,20 +4725,10 @@ checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
"bitflags 2.9.0",
"cfg-if",
- "cfg_aliases 0.1.1",
+ "cfg_aliases",
"libc",
]
-[[package]]
-name = "nom"
-version = "5.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b"
-dependencies = [
- "memchr",
- "version_check",
-]
-
[[package]]
name = "nom"
version = "7.1.3"
@@ -5201,9 +5132,9 @@ dependencies = [
[[package]]
name = "paste"
-version = "1.0.15"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "path-clean"
@@ -5555,9 +5486,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
name = "preset_env_base"
-version = "3.0.1"
+version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b06c1ead1873928228f01ffafe4800c3accb27d019c034626c54698408e36bfb"
+checksum = "9f0d30c7b8edcf218dd85ceacd8412f0c99a9c36419b81ea7fb97b569316d92a"
dependencies = [
"anyhow",
"browserslist-rs",
@@ -5805,60 +5736,6 @@ dependencies = [
"parking_lot",
]
-[[package]]
-name = "quinn"
-version = "0.11.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012"
-dependencies = [
- "bytes",
- "cfg_aliases 0.2.1",
- "pin-project-lite",
- "quinn-proto",
- "quinn-udp",
- "rustc-hash 2.1.1",
- "rustls 0.23.20",
- "socket2 0.5.8",
- "thiserror 2.0.12",
- "tokio",
- "tracing",
- "web-time",
-]
-
-[[package]]
-name = "quinn-proto"
-version = "0.11.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcbafbbdbb0f638fe3f35f3c56739f77a8a1d070cb25603226c83339b391472b"
-dependencies = [
- "bytes",
- "getrandom 0.3.2",
- "rand 0.9.0",
- "ring 0.17.8",
- "rustc-hash 2.1.1",
- "rustls 0.23.20",
- "rustls-pki-types",
- "slab",
- "thiserror 2.0.12",
- "tinyvec",
- "tracing",
- "web-time",
-]
-
-[[package]]
-name = "quinn-udp"
-version = "0.5.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842"
-dependencies = [
- "cfg_aliases 0.2.1",
- "libc",
- "once_cell",
- "socket2 0.5.8",
- "tracing",
- "windows-sys 0.59.0",
-]
-
[[package]]
name = "quote"
version = "1.0.40"
@@ -6032,9 +5909,9 @@ dependencies = [
[[package]]
name = "react_remove_properties"
-version = "0.37.0"
+version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6426586a7a27681cb3134f2e9869868462d7d81a63590946154181e06ae8f79"
+checksum = "7d38677d73adca7f69dbeac0a098b5f5693240cb1c728286eabb77d69e3383fe"
dependencies = [
"serde",
"swc_atoms",
@@ -6160,9 +6037,9 @@ checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca"
[[package]]
name = "remove_console"
-version = "0.38.0"
+version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a10526f537614727e24afee3d9d689c0dd791b9e636c7c61a383243caa50a00"
+checksum = "e255699d8b0846e20166e5ca8aba0afdb44b6e5396b7a4a059e42b910f9776b5"
dependencies = [
"serde",
"swc_atoms",
@@ -6211,8 +6088,8 @@ dependencies = [
"http 0.2.11",
"http-body 0.4.5",
"hyper 0.14.28",
- "hyper-rustls 0.23.2",
- "hyper-tls 0.5.0",
+ "hyper-rustls",
+ "hyper-tls",
"ipnet",
"js-sys",
"log",
@@ -6222,13 +6099,13 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"rustls 0.20.9",
- "rustls-pemfile 1.0.2",
+ "rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
"tokio",
"tokio-native-tls",
- "tokio-rustls 0.23.4",
+ "tokio-rustls",
"tower-service",
"url",
"wasm-bindgen",
@@ -6238,55 +6115,6 @@ dependencies = [
"winreg 0.10.1",
]
-[[package]]
-name = "reqwest"
-version = "0.12.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f"
-dependencies = [
- "base64 0.22.1",
- "bytes",
- "futures-channel",
- "futures-core",
- "futures-util",
- "http 1.1.0",
- "http-body 1.0.1",
- "http-body-util",
- "hyper 1.5.2",
- "hyper-rustls 0.27.5",
- "hyper-tls 0.6.0",
- "hyper-util",
- "ipnet",
- "js-sys",
- "log",
- "mime",
- "native-tls",
- "once_cell",
- "percent-encoding",
- "pin-project-lite",
- "quinn",
- "rustls 0.23.20",
- "rustls-pemfile 2.2.0",
- "rustls-pki-types",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "sync_wrapper",
- "tokio",
- "tokio-native-tls",
- "tokio-rustls 0.26.1",
- "tokio-socks",
- "tokio-util",
- "tower-service",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-streams",
- "web-sys",
- "webpki-roots 0.26.7",
- "windows-registry",
-]
-
[[package]]
name = "rgb"
version = "0.8.50"
@@ -6533,23 +6361,11 @@ dependencies = [
"base64 0.21.4",
]
-[[package]]
-name = "rustls-pemfile"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50"
-dependencies = [
- "rustls-pki-types",
-]
-
[[package]]
name = "rustls-pki-types"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37"
-dependencies = [
- "web-time",
-]
[[package]]
name = "rustls-webpki"
@@ -6604,16 +6420,6 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4950d85bc52415f8432144c97c4791bd0c4f7954de32a7270ee9cccd3c22b12b"
-[[package]]
-name = "saffron"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03fb9a628596fc7590eb7edbf7b0613287be78df107f5f97b118aad59fb2eea9"
-dependencies = [
- "chrono",
- "nom 5.1.3",
-]
-
[[package]]
name = "same-file"
version = "1.0.6"
@@ -6639,7 +6445,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92"
dependencies = [
"dyn-clone",
- "indexmap 2.7.1",
"schemars_derive",
"serde",
"serde_json",
@@ -6743,7 +6548,7 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
name = "send-trace-to-jaeger"
version = "0.1.0"
dependencies = [
- "reqwest 0.11.17",
+ "reqwest",
"serde_json",
]
@@ -6777,17 +6582,6 @@ dependencies = [
"wasm-bindgen",
]
-[[package]]
-name = "serde-wasm-bindgen"
-version = "0.6.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b"
-dependencies = [
- "js-sys",
- "serde",
- "wasm-bindgen",
-]
-
[[package]]
name = "serde_bytes"
version = "0.11.15"
@@ -7303,9 +7097,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "styled_components"
-version = "0.111.0"
+version = "0.110.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225e1cf78fe4cf3391d7fff6fff856743272e3f252a97ccdccfc61bf8afb300c"
+checksum = "f1658e5ef489275175f72dc8e425aa1bbcc43eb6f4d1224ece959d962b8e4fc2"
dependencies = [
"Inflector",
"once_cell",
@@ -7322,9 +7116,9 @@ dependencies = [
[[package]]
name = "styled_jsx"
-version = "0.87.0"
+version = "0.86.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff697b859df5ad1510bbe438f43bef45a7b66cf41af8ef37e82bbfe9cfa1d75a"
+checksum = "ef2ba10d271cd1927ab4379907b26e482e6c20b3b3ee3e285d304a2072162cf1"
dependencies = [
"anyhow",
"lightningcss",
@@ -7365,9 +7159,9 @@ checksum = "804f44ed3c63152de6a9f90acbea1a110441de43006ea51bcce8f436196a288b"
[[package]]
name = "swc"
-version = "22.0.0"
+version = "21.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80c62891c5429818ccfd614cc1e6023ca005a8a893ef47a18c4620d5f1bf4e8e"
+checksum = "3809091d5035036db41f5212697b10e492a6c97d50bf76839ac52481547a0528"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -7463,9 +7257,9 @@ dependencies = [
[[package]]
name = "swc_bundler"
-version = "16.0.0"
+version = "15.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1b74879da703e85dce2d15409cfac169dcff91b41b902e7cfc97199e19fd626"
+checksum = "900a8dba7470ecf731cba5d733e06134108142b1309147c25d32fab1f6846ac2"
dependencies = [
"anyhow",
"crc",
@@ -7509,9 +7303,9 @@ dependencies = [
[[package]]
name = "swc_common"
-version = "9.1.0"
+version = "8.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "060d8a9a267de961d9ff62ef1edabb05a8e71543b5fdcc0fa43e7a247ea66c88"
+checksum = "7d96ac5d021c7c20acb3073940b4ee59b62989a705f855783c4a452e0737a2e6"
dependencies = [
"anyhow",
"ast_node",
@@ -7543,9 +7337,9 @@ dependencies = [
[[package]]
name = "swc_compiler_base"
-version = "19.0.0"
+version = "18.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ac447d455ed338b84dcd914e790525a12a2a2f91173359e5ac7d62b4915af39"
+checksum = "3516918cdce803f6c175aeefefbf3a05b4064eadc2a772f98da63d4282f85497"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -7598,9 +7392,9 @@ dependencies = [
[[package]]
name = "swc_core"
-version = "23.2.0"
+version = "22.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd11a6fb068925bcb493d68ec6f1f35fb28c0bd9052071d22e49d4d60fae8916"
+checksum = "f0396ffa44f6f0319b3451c689081c05d69ce4b3496fa17df8fa65a9f6960fed"
dependencies = [
"binding_macros",
"swc",
@@ -7635,9 +7429,9 @@ dependencies = [
[[package]]
name = "swc_css_ast"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd778bc4e1601c6cc510542f1ec9f63207f4c703738e795b36a2de18eaeaf679"
+checksum = "f9482f1ab79c5de548a8872421a6625fbf7a70102a354bb16da280689edd1768"
dependencies = [
"is-macro",
"string_enum",
@@ -7647,9 +7441,9 @@ dependencies = [
[[package]]
name = "swc_css_codegen"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f7422302204a99d0f63c1876a6dd8e8c389c73a9d6838bdef502e74e21c5511"
+checksum = "0f75578c97d9338cb6ae4007bda693690bac1c5b5d0bf817d43cd0b0e08632a1"
dependencies = [
"auto_impl",
"bitflags 2.9.0",
@@ -7676,9 +7470,9 @@ dependencies = [
[[package]]
name = "swc_css_compat"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfa7c645a7a695c8ae1f9d69a5b95ad201c4a482bee5ca37c83ec2c1b3accb4a"
+checksum = "fbfec0694cca0950515b8d87dd8dda991e45d36e257f5efd8cb7682e7617c125"
dependencies = [
"bitflags 2.9.0",
"once_cell",
@@ -7693,9 +7487,9 @@ dependencies = [
[[package]]
name = "swc_css_minifier"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "623222f50b32b61feb59e8fd4a69a27011b4d5006be6964ec40ce6e015a7bd3a"
+checksum = "6183c2b64cc58c0d9fccc993c7084360242c08ec9a1e3f93e798bf99fcd37a23"
dependencies = [
"rustc-hash 2.1.1",
"serde",
@@ -7708,9 +7502,9 @@ dependencies = [
[[package]]
name = "swc_css_parser"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8d8f886ca5c6e01f110569661a3b8858b1446b082cb1ebcf7373628a27c6c84"
+checksum = "d445ed47fad61fa7f0a60c1bfd6364c6686d5f3482959f8c13bed2789e98ee26"
dependencies = [
"lexical",
"serde",
@@ -7721,9 +7515,9 @@ dependencies = [
[[package]]
name = "swc_css_prefixer"
-version = "11.0.0"
+version = "10.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ad14e892b6e903fd4cf64a28c95afd3889b08b8331757e77553df8f94db34a1"
+checksum = "9a67829afb8e4ecec3aea8091cf0c901d8bb289787aaa3c25feed093e82c70a8"
dependencies = [
"once_cell",
"preset_env_base",
@@ -7739,9 +7533,9 @@ dependencies = [
[[package]]
name = "swc_css_utils"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bdc773abf536501676628aef3138fb5ee0b6e2f74b50b92a55e6d01c71bc6b4"
+checksum = "0976acf568ddc227f407ade30677f4e36122bd9906cc4c3997796bf76fb773cd"
dependencies = [
"once_cell",
"rustc-hash 2.1.1",
@@ -7755,9 +7549,9 @@ dependencies = [
[[package]]
name = "swc_css_visit"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "992563fbab95867e30a77abf59b0394cd00a31ecf14688a2da1b7c1c7955880f"
+checksum = "f2b941b45c434b6875146a0675a4c60c65a79d8c41a37457f8a33c05519d5c7f"
dependencies = [
"serde",
"swc_atoms",
@@ -7768,9 +7562,9 @@ dependencies = [
[[package]]
name = "swc_ecma_ast"
-version = "9.0.0"
+version = "8.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0613d84468a6bb6d45d13c5a3368b37bd21f3067a089f69adac630dcb462a018"
+checksum = "4062a54522a9c02d2b68cc09282774b87121cd48693b0e67ae8c18b31b709866"
dependencies = [
"bitflags 2.9.0",
"bytecheck 0.8.0",
@@ -7793,9 +7587,9 @@ dependencies = [
[[package]]
name = "swc_ecma_codegen"
-version = "11.0.0"
+version = "10.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b01b3de365a86b8f982cc162f257c82f84bda31d61084174a3be37e8ab15c0f4"
+checksum = "b85453d346d0642f296c2b3aa204886a6ae2b9652262c3468d6f4556c1ed020d"
dependencies = [
"ascii",
"compact_str",
@@ -7828,9 +7622,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_bugfixes"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cff1612d4d90df938533b5308634be1228c6bf14d7141c9f7787c99b5b26f4cc"
+checksum = "5e908297dfe18472b82b391ae444a72dbd63c4b5f2823eba52c1bf7972903952"
dependencies = [
"rustc-hash 2.1.1",
"swc_atoms",
@@ -7846,9 +7640,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_common"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "611db1605bff05603aacaf5e14f58cf2339991cceef03817bb8ed19010d10506"
+checksum = "bb2d5902317bbf8e8c1944e63f19057e6dff1fb60a8a73f33bb26bdb2d365662"
dependencies = [
"swc_common",
"swc_ecma_ast",
@@ -7859,9 +7653,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2015"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2a2cf0263f34234cfcebde0545e4ed017e1b2b5667792c6902319d75df03110"
+checksum = "fb1efa640c57cbc4eaa40625275a86ff99a29cd0f4997668c88117e86390e821"
dependencies = [
"arrayvec 0.7.4",
"indexmap 2.7.1",
@@ -7886,9 +7680,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2016"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2c8cce4b0b0acfa156c235eca429d1bbffe3297cb48cd61578908ddcc5a8899"
+checksum = "b5b890417e8080d460e1962c73d58f94cca5b27c5ec89f8ba37a114c7dd6a76b"
dependencies = [
"swc_atoms",
"swc_common",
@@ -7903,9 +7697,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2017"
-version = "13.0.0"
+version = "12.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4da9ff1172f67c8792b73d97a9c578e7de44b3af7a60991ce87145cf7f5372c8"
+checksum = "4936daca5640131219e06945de1f22d7ef818d2e01ebbf615fc1d524d33ab888"
dependencies = [
"serde",
"swc_atoms",
@@ -7921,9 +7715,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2018"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "544ef337a40dfa7f3fe7b4c7e65bba99057258f3ecee79fa9052eac59f502b97"
+checksum = "a41fe86e2a237f1b87ed4d34c20a3721665328fc8f1b8e5e6bdeb022ce52f148"
dependencies = [
"serde",
"swc_atoms",
@@ -7940,9 +7734,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2019"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e116fb7a5a50251947160862c52596bdd2d8c417a1f9b8eb061d83bdfc699272"
+checksum = "e06197f2f74f2a6366cfbf68d4de4feabf42bd2532413c71347ba7cdbe964c40"
dependencies = [
"swc_atoms",
"swc_common",
@@ -7956,9 +7750,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2020"
-version = "14.0.0"
+version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e858e1fc3d5a4299a81ca25028f8a01feca8f1876db6d2e19bbe5a8bac39c8a"
+checksum = "92568d138eec2894c644fbf865401778026b42b45fa1073739b732cd66d55b42"
dependencies = [
"serde",
"swc_atoms",
@@ -7974,9 +7768,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2021"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ba25f8d0c7f915525abe4f2efde17c7f04ecd7a1500acc82a36133bef7b9f60"
+checksum = "6b38614b689a8ed0b4cda05bee30a7f908ea621db6010888f407be282884ecbe"
dependencies = [
"swc_atoms",
"swc_common",
@@ -7990,9 +7784,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es2022"
-version = "14.0.0"
+version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c412ba2452b20fdcb791448c6606ba43fa84f80e23b0b2fef0cc9ee02794d12c"
+checksum = "2923bf7ce2236f36aef951bd204ec115a17af421cdc696ff526c9ba22983533f"
dependencies = [
"rustc-hash 2.1.1",
"swc_atoms",
@@ -8010,9 +7804,9 @@ dependencies = [
[[package]]
name = "swc_ecma_compat_es3"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "059c8b419ce4a2e432ec1520dde77db3b8f45df552bf0b6bd974d8516986c9eb"
+checksum = "cf4b386df40a8b1d0a71eb54b5766ce483bb4f9311c4df931035542a39341861"
dependencies = [
"swc_common",
"swc_ecma_ast",
@@ -8025,9 +7819,9 @@ dependencies = [
[[package]]
name = "swc_ecma_ext_transforms"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e9adc21155b19e21ee6c304015f9ef1a8af41ee3123b849af02c708f33dea69"
+checksum = "0064bdc27ebff66cb92e596b13e9c0e13c671c56b327c0083c200e4793c8db2b"
dependencies = [
"phf",
"swc_atoms",
@@ -8037,36 +7831,11 @@ dependencies = [
"swc_ecma_visit",
]
-[[package]]
-name = "swc_ecma_lexer"
-version = "12.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d11c8e71901401b9aae2ece4946eeb7674b14b8301a53768afbbeeb0e48b599"
-dependencies = [
- "arrayvec 0.7.4",
- "bitflags 2.9.0",
- "either",
- "new_debug_unreachable",
- "num-bigint",
- "num-traits",
- "phf",
- "rustc-hash 2.1.1",
- "serde",
- "smallvec",
- "smartstring",
- "stacker",
- "swc_atoms",
- "swc_common",
- "swc_ecma_ast",
- "tracing",
- "typed-arena",
-]
-
[[package]]
name = "swc_ecma_lints"
-version = "13.0.0"
+version = "12.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10710ebbe155fd07b5be28a6af80c6f46c6385feeb3f6b3033d1d5d93b885312"
+checksum = "d86c9a647230352f00452699472e16fa76ec54a9e4acfe7fb8c0c93ec3d0ee07"
dependencies = [
"auto_impl",
"dashmap 5.5.3",
@@ -8085,9 +7854,9 @@ dependencies = [
[[package]]
name = "swc_ecma_loader"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8eb574d660c05f3483c984107452b386e45b95531bdb1253794077edc986f413"
+checksum = "a801462c997b71e4add7684ce4953c7d6200c75b5552b8d594783da84ad9564c"
dependencies = [
"anyhow",
"dashmap 5.5.3",
@@ -8108,12 +7877,11 @@ dependencies = [
[[package]]
name = "swc_ecma_minifier"
-version = "17.0.0"
+version = "16.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca0ad5b72d8b440e701d47f544a728543414f6f165c6c61a899a76d3c7fdf9d"
+checksum = "996ab0475502825584922ed02a5a457b1538afab511be57ae69434b5eda5762f"
dependencies = [
"arrayvec 0.7.4",
- "bitflags 2.9.0",
"indexmap 2.7.1",
"num-bigint",
"num_cpus",
@@ -8146,9 +7914,9 @@ dependencies = [
[[package]]
name = "swc_ecma_parser"
-version = "12.0.0"
+version = "11.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "250786944fbc05f6484eda9213df129ccfe17226ae9ad51b62fce2f72135dbee"
+checksum = "18757f2b1656db8b10d7fd153871d969d87e2909f4150378a4ae925fa6cc6768"
dependencies = [
"arrayvec 0.7.4",
"bitflags 2.9.0",
@@ -8165,16 +7933,15 @@ dependencies = [
"swc_atoms",
"swc_common",
"swc_ecma_ast",
- "swc_ecma_lexer",
"tracing",
"typed-arena",
]
[[package]]
name = "swc_ecma_preset_env"
-version = "17.0.0"
+version = "16.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "551d1b1d3f27e9525b001fba9afd06294a5eaf8a8a9aff85da458a51e790ca1c"
+checksum = "dcdb997223f2c92bb31278cf25b37398209fe5ce6a5cf276cf0cdc264386124b"
dependencies = [
"anyhow",
"dashmap 5.5.3",
@@ -8197,9 +7964,9 @@ dependencies = [
[[package]]
name = "swc_ecma_quote_macros"
-version = "12.0.0"
+version = "11.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3221879cd18131a3946f8f29d181fe239b58b6595ccefa7263a9395ad4b5e575"
+checksum = "26132f0851c46a258f954cc00ca6c71fe6ab4520f6fde722e6e8a200c61f6c83"
dependencies = [
"anyhow",
"proc-macro2",
@@ -8215,9 +7982,9 @@ dependencies = [
[[package]]
name = "swc_ecma_testing"
-version = "10.0.0"
+version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "977386a831e9464cc99e914d5682621efca49c443e5c737a00a2babd6d1589aa"
+checksum = "cb63358ab7094db21eb0c90eba89161bbe3c35e39c27f414ecdc9f4ffc8bc601"
dependencies = [
"anyhow",
"hex",
@@ -8228,9 +7995,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms"
-version = "16.0.0"
+version = "15.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f2813bad599d24b1aeba4c90891703a046d86b681b003863673f2b418dff185"
+checksum = "13aeeeb6ba750d144d49d96f900063706e8e4ff45d63d1ccde0ce5f441bcee6a"
dependencies = [
"par-core",
"swc_atoms",
@@ -8249,9 +8016,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_base"
-version = "13.0.0"
+version = "12.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6856da3da598f4da001b7e4ce225ee8970bc9d5cbaafcaf580190cf0a6031ec5"
+checksum = "b46e3a36213d78fb4233e596b8a5c81c6cdafe02d03d780eed006c983aa0a724"
dependencies = [
"better_scoped_tls",
"bitflags 2.9.0",
@@ -8274,9 +8041,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_classes"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f84248f82bad599d250bbcd52cb4db6ff6409f48267fd6f001302a2e9716f80"
+checksum = "d871bbd46d14d032a48c14096abd778a8a87831638343f28b581c3025daa7086"
dependencies = [
"swc_atoms",
"swc_common",
@@ -8288,9 +8055,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_compat"
-version = "14.0.0"
+version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "012cd84fcc6c6fab718a177a3ffc360332d6bad29dbe19699be2ccbaba91e712"
+checksum = "dbfdfb50bd6db7991105f371b23ebb7cc79d48f43f53866a9a55dfbf7cfacd36"
dependencies = [
"arrayvec 0.7.4",
"indexmap 2.7.1",
@@ -8338,9 +8105,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_module"
-version = "14.0.0"
+version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4653a46bffad40875469a0b75f0b9c8f1e019ca7014a45e876c3a10aadd58721"
+checksum = "d0cf50886962aa3d7d20317a486971b91002a930b236c1e4af1f1050280b4070"
dependencies = [
"Inflector",
"anyhow",
@@ -8366,9 +8133,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_optimization"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5874d0c808f0e658882edf00fef3d206f01a22781c48ca9b1795cf025cc9650"
+checksum = "6646a0a5e3662a2a86369a42f5203f1c92584c37502f9b79d4d10613db0c1fb3"
dependencies = [
"dashmap 5.5.3",
"indexmap 2.7.1",
@@ -8391,9 +8158,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_proposal"
-version = "13.0.0"
+version = "12.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193237e318421ef621c2b3958b4db174770c5280ef999f1878f2df93a2837ca6"
+checksum = "5265158f5134b7b37dd2d53e7730921b8b5f567f6baddcc52129c2eb55927214"
dependencies = [
"either",
"rustc-hash 2.1.1",
@@ -8411,9 +8178,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_react"
-version = "14.0.0"
+version = "13.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e17564ef28b1183a5d79f890066f11aba4563f390708cb03a6738cbc24799210"
+checksum = "d8e7635afe1e1e798d61ff3107b8d27e437e61f243dd226a47fb10724693be66"
dependencies = [
"base64 0.22.1",
"dashmap 5.5.3",
@@ -8438,9 +8205,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_testing"
-version = "16.0.0"
+version = "15.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93a905befc831be30430ab1e4af5aa6f2052ea397f44e1747c28a4d3859f4f84"
+checksum = "3f1e112d74cbf146d419b4df60de430fd8db4fef99df0443d7a96a3b30bd5878"
dependencies = [
"ansi_term",
"anyhow",
@@ -8465,9 +8232,9 @@ dependencies = [
[[package]]
name = "swc_ecma_transforms_typescript"
-version = "14.0.0"
+version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a647a99548ead69e5e87cf2b7caa7921e8a81e252e13e3180c3101a1d911fa6b"
+checksum = "cec3c91a2c37372746ebc5608e30b7c2c3af60216768b59ec6413ee2bfe44c29"
dependencies = [
"once_cell",
"rustc-hash 2.1.1",
@@ -8484,11 +8251,10 @@ dependencies = [
[[package]]
name = "swc_ecma_usage_analyzer"
-version = "14.0.0"
+version = "13.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d7858f1eccac3c8a85b97ba3820020583efa28bc766d253f0a93d7bbc54c985"
+checksum = "037ca87d5d7c72a341f1aef8059b7eeca4785fedca7361e6d380f749a6f53c58"
dependencies = [
- "bitflags 2.9.0",
"indexmap 2.7.1",
"rustc-hash 2.1.1",
"swc_atoms",
@@ -8502,9 +8268,9 @@ dependencies = [
[[package]]
name = "swc_ecma_utils"
-version = "13.0.0"
+version = "12.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb6ecf7485a130df25c4ba4e27cfde0cc7bf45f453f40cf0c52eb69b3a4235d0"
+checksum = "71d6c8ba7d987dcc254f05ad2c23e7a6ec3f259611af2923a8c1a0602556cd21"
dependencies = [
"indexmap 2.7.1",
"num_cpus",
@@ -8524,9 +8290,9 @@ dependencies = [
[[package]]
name = "swc_ecma_visit"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "249dc9eede1a4ad59a038f9cfd61ce67845bd2c1392ade3586d714e7181f3c1a"
+checksum = "2f7a65fa06d0c0f709f1df4e820ccdc4eca7b3db7f9d131545e20c2ac2f1cd23"
dependencies = [
"new_debug_unreachable",
"num-bigint",
@@ -8540,9 +8306,9 @@ dependencies = [
[[package]]
name = "swc_emotion"
-version = "0.87.0"
+version = "0.86.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64e92e65dcaad8ccc1c761861e865f708b4d06e0509ff5ee78b517f31f8e380d"
+checksum = "519b8a9e3b6e5d08694a4cca90771cd54733329b87e7f5c524f92996a91b4c66"
dependencies = [
"base64 0.22.1",
"byteorder",
@@ -8576,9 +8342,9 @@ dependencies = [
[[package]]
name = "swc_error_reporters"
-version = "11.0.0"
+version = "10.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5be5f151485ec9372c23bbb132c4a829c879632db8b790439779b873970be"
+checksum = "499cf6a20e6acb36f15e22cca18dadc108d7046ae062840b7371ae02eac4dfde"
dependencies = [
"anyhow",
"miette",
@@ -8592,9 +8358,9 @@ dependencies = [
[[package]]
name = "swc_graph_analyzer"
-version = "10.0.0"
+version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1920fdb0c0a79404f668fb194cbbffaf76d9fb31abd139bd397353d0cefb9e3c"
+checksum = "fc0f4e0f8aa5907f0070ab5d234b8efc2fb0542859421a0e155b401de1549d05"
dependencies = [
"auto_impl",
"petgraph 0.7.1",
@@ -8616,9 +8382,9 @@ dependencies = [
[[package]]
name = "swc_node_comments"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b9ded5a3355c56eb1148491c70bd4f85f7fcb706d40c0a86a67260cbcb560c3"
+checksum = "f97dba66fc5f0df68c706dc99ade59bcba4ce55c585117eefccafe1337ca270f"
dependencies = [
"dashmap 5.5.3",
"rustc-hash 2.1.1",
@@ -8653,9 +8419,9 @@ dependencies = [
[[package]]
name = "swc_plugin_proxy"
-version = "9.0.0"
+version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edbd6dddc6f98f7ded495b918c80bc59c78d9b297ed98081e22def0f27a117f9"
+checksum = "a18c199683d9f946db8dfca444212a3551e74a7c563196b154d5ac30f3bf9de6"
dependencies = [
"better_scoped_tls",
"bytecheck 0.8.0",
@@ -8670,9 +8436,9 @@ dependencies = [
[[package]]
name = "swc_plugin_runner"
-version = "11.1.0"
+version = "10.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "397ed07e0a652da33372327862d8fb977176b21f903a9f90ed0885ca847844b5"
+checksum = "f59e5549019cd28b972e59d756404aa13dd4b4b3b21dfedc3f871804c6a6cc77"
dependencies = [
"anyhow",
"enumset",
@@ -8699,9 +8465,9 @@ dependencies = [
[[package]]
name = "swc_relay"
-version = "0.57.0"
+version = "0.56.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a8d515053fc21e1abb9abe80dd3dc3b66c6b31d4d50648ed8cbbde363d9624a"
+checksum = "3774c807e74211f9fd3b95c38657372652f6c9a43700ed5cbdef850e4a86b90f"
dependencies = [
"once_cell",
"regex",
@@ -8726,9 +8492,9 @@ dependencies = [
[[package]]
name = "swc_trace_macro"
-version = "2.0.1"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "559185db338f1bcb50297aafd4f79c0956c84dc71a66da4cffb57acf9d93fd88"
+checksum = "4c78717a841565df57f811376a3d19c9156091c55175e12d378f3a522de70cef"
dependencies = [
"proc-macro2",
"quote",
@@ -8737,9 +8503,9 @@ dependencies = [
[[package]]
name = "swc_transform_common"
-version = "3.0.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d73c21cecc518e0107f890012a747fa679cb0faf04f32fc8f5bd618040eb8fe"
+checksum = "e40bbeef964d6edd66081a31bbfeef913bb0be536e398392f99e8e91b7da63eb"
dependencies = [
"better_scoped_tls",
"once_cell",
@@ -8751,9 +8517,9 @@ dependencies = [
[[package]]
name = "swc_typescript"
-version = "12.0.0"
+version = "11.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c01b8c9b645f4b3b39664477166876bdc239c9b5f785389e117dee822dbcec5"
+checksum = "e8538a8b2e8d8a3ebbf58fe7f933d7b4bb01a291fbd7356352ea255cc15bbc70"
dependencies = [
"bitflags 2.9.0",
"petgraph 0.7.1",
@@ -8803,9 +8569,6 @@ name = "sync_wrapper"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
-dependencies = [
- "futures-core",
-]
[[package]]
name = "synstructure"
@@ -8944,9 +8707,9 @@ dependencies = [
[[package]]
name = "testing"
-version = "10.0.0"
+version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "987241734b96bd71228f0395ab38e05b71ec7c6ded958538c5d3a1b67f6465ce"
+checksum = "e32a1c95775a4077dbfc66d9d6e33576c142bd9bff457289d124037a79f72786"
dependencies = [
"ansi_term",
"cargo_metadata 0.18.1",
@@ -9166,16 +8929,6 @@ dependencies = [
"webpki",
]
-[[package]]
-name = "tokio-rustls"
-version = "0.26.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37"
-dependencies = [
- "rustls 0.23.20",
- "tokio",
-]
-
[[package]]
name = "tokio-scoped"
version = "0.2.0"
@@ -9186,18 +8939,6 @@ dependencies = [
"tokio-stream",
]
-[[package]]
-name = "tokio-socks"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d4770b8024672c1101b3f6733eab95b18007dbe0847a8afe341fcf79e06043f"
-dependencies = [
- "either",
- "futures-util",
- "thiserror 1.0.69",
- "tokio",
-]
-
[[package]]
name = "tokio-stream"
version = "0.1.17"
@@ -9264,7 +9005,6 @@ version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
dependencies = [
- "indexmap 2.7.1",
"serde",
"serde_spanned",
"toml_datetime",
@@ -9764,7 +9504,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"httpmock",
- "reqwest 0.11.17",
+ "reqwest",
"serde",
"tokio",
"turbo-rcstr",
@@ -10841,8 +10581,8 @@ dependencies = [
[[package]]
name = "vergen"
-version = "9.0.6"
-source = "git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks#ebb2f123ed3ab0a409040943b8e20f5c8b480585"
+version = "9.0.5"
+source = "git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks#0c9698692edd542772619f6db103681a832f61a7"
dependencies = [
"anyhow",
"cargo_metadata 0.19.2",
@@ -10854,14 +10594,14 @@ dependencies = [
[[package]]
name = "vergen-gitcl"
-version = "1.0.7"
-source = "git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks#ebb2f123ed3ab0a409040943b8e20f5c8b480585"
+version = "1.0.6"
+source = "git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks#0c9698692edd542772619f6db103681a832f61a7"
dependencies = [
"anyhow",
"derive_builder 0.20.2",
"rustversion",
"time",
- "vergen 9.0.6",
+ "vergen 9.0.5",
"vergen-lib 0.1.6 (git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks)",
]
@@ -10879,7 +10619,7 @@ dependencies = [
[[package]]
name = "vergen-lib"
version = "0.1.6"
-source = "git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks#ebb2f123ed3ab0a409040943b8e20f5c8b480585"
+source = "git+https://github.com/bgw/vergen.git?branch=bgw%2Fno-optional-locks#0c9698692edd542772619f6db103681a832f61a7"
dependencies = [
"anyhow",
"derive_builder 0.20.2",
@@ -10925,9 +10665,8 @@ dependencies = [
[[package]]
name = "virtual-fs"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "558995609ae4e69538c3f1eec3ad1d195ee8a1ed9d39768713728a57ed4ba6fe"
+version = "0.21.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"async-trait",
@@ -10939,7 +10678,8 @@ dependencies = [
"fs_extra",
"futures",
"getrandom 0.2.15",
- "indexmap 2.7.1",
+ "indexmap 1.9.3",
+ "lazy_static",
"libc",
"pin-project-lite",
"replace_with",
@@ -10948,15 +10688,14 @@ dependencies = [
"thiserror 1.0.69",
"tokio",
"tracing",
- "wasmer-package 0.600.0",
- "webc 9.0.0",
+ "wasmer-package 0.4.0",
+ "webc",
]
[[package]]
name = "virtual-mio"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "63e6226c62058843d3f5b23501911972042bb7a1bdc7042d74855d062870fa84"
+version = "0.7.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"async-trait",
"bytes",
@@ -10970,9 +10709,8 @@ dependencies = [
[[package]]
name = "virtual-net"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa7a7d65a5652fb7e8db54676f523e489318228ee2a742db0728396b34b4a728"
+version = "0.14.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"async-trait",
@@ -10984,13 +10722,10 @@ dependencies = [
"futures-util",
"ipnet",
"iprange",
- "libc",
- "mio 1.0.3",
"pin-project-lite",
"rkyv 0.8.9",
"serde",
"smoltcp",
- "socket2 0.5.8",
"thiserror 1.0.69",
"tokio",
"tracing",
@@ -11141,7 +10876,7 @@ dependencies = [
"js-sys",
"mdxjs",
"next-custom-transforms",
- "serde-wasm-bindgen 0.4.5",
+ "serde-wasm-bindgen",
"serde_json",
"swc_core",
"tracing",
@@ -11151,24 +10886,23 @@ dependencies = [
[[package]]
name = "wasm-bindgen"
-version = "0.2.100"
+version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
dependencies = [
"cfg-if",
- "once_cell",
- "rustversion",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.100"
+version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
+checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
dependencies = [
"bumpalo",
"log",
+ "once_cell",
"proc-macro2",
"quote",
"syn 2.0.100",
@@ -11189,9 +10923,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.100"
+version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -11199,9 +10933,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.100"
+version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
dependencies = [
"proc-macro2",
"quote",
@@ -11212,12 +10946,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.100"
+version = "0.2.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
-dependencies = [
- "unicode-ident",
-]
+checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
[[package]]
name = "wasm-encoder"
@@ -11228,37 +10959,21 @@ dependencies = [
"leb128",
]
-[[package]]
-name = "wasm-streams"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd"
-dependencies = [
- "futures-util",
- "js-sys",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
-
[[package]]
name = "wasmer"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b8204e4eb959d89b41d4a536e61ce73f5416bccc81c7d3b7fa993995538ee97"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"bindgen",
"bytes",
"cfg-if",
"cmake",
- "derive_more 1.0.0",
- "indexmap 2.7.1",
+ "indexmap 1.9.3",
"js-sys",
"more-asserts",
- "paste",
"rustc-demangle",
"serde",
- "serde-wasm-bindgen 0.6.5",
+ "serde-wasm-bindgen",
"shared-buffer",
"tar",
"target-lexicon",
@@ -11271,16 +10986,15 @@ dependencies = [
"wasmer-derive",
"wasmer-types",
"wasmer-vm",
- "wasmparser 0.224.1",
+ "wasmparser 0.216.0",
"wat",
"windows-sys 0.59.0",
]
[[package]]
name = "wasmer-cache"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3077ff8340cc09dcc53d4a140681ea7fb3d5525eb028f3853db1bc81434c3bad"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"blake3",
"hex",
@@ -11290,18 +11004,17 @@ dependencies = [
[[package]]
name = "wasmer-compiler"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "690827b8ec4f3858d8b001d96ddfc25c28a255cbfa984ba5bd1ed173f29ffc2a"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"backtrace",
"bytes",
"cfg-if",
"enum-iterator",
"enumset",
+ "lazy_static",
"leb128",
"libc",
- "macho-unwind-info",
"memmap2 0.6.2",
"more-asserts",
"object 0.32.2",
@@ -11314,16 +11027,15 @@ dependencies = [
"thiserror 1.0.69",
"wasmer-types",
"wasmer-vm",
- "wasmparser 0.224.1",
+ "wasmparser 0.216.0",
"windows-sys 0.59.0",
"xxhash-rust",
]
[[package]]
name = "wasmer-compiler-cranelift"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a46a83b498a2f0dcdc2e97d611db9eae92a38f20fc5dac4709d645bdfd8d2d6"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -11363,9 +11075,8 @@ dependencies = [
[[package]]
name = "wasmer-config"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51dab2fa03bfb28b8b8c2f546531f56b341743557305e51ea621b1d8f7075b29"
+version = "0.12.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"bytesize",
@@ -11373,7 +11084,6 @@ dependencies = [
"derive_builder 0.12.0",
"hex",
"indexmap 2.7.1",
- "saffron",
"schemars",
"semver 1.0.23",
"serde",
@@ -11386,9 +11096,8 @@ dependencies = [
[[package]]
name = "wasmer-derive"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccaedaf20c22736904ad842127cdbe46432998dbcdd840b024dda856a8b52265"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"proc-macro-error2",
"proc-macro2",
@@ -11398,9 +11107,8 @@ dependencies = [
[[package]]
name = "wasmer-journal"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dd746264554197deae474fa069949c6352e2758dceb3157389af1436e121e9e"
+version = "0.18.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"async-trait",
@@ -11414,13 +11122,11 @@ dependencies = [
"rkyv 0.8.9",
"serde",
"serde_json",
- "shared-buffer",
"thiserror 1.0.69",
"tracing",
- "virtual-fs 0.600.0",
+ "virtual-fs 0.21.0",
"virtual-net",
"wasmer",
- "wasmer-config 0.600.0",
"wasmer-wasix-types",
]
@@ -11447,21 +11153,19 @@ dependencies = [
"toml 0.8.19",
"url",
"wasmer-config 0.10.0",
- "webc 7.0.0-rc.2",
+ "webc",
]
[[package]]
name = "wasmer-package"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20614419fe563480822cec9f67818aced0b1b2cc26f88e96372bbaec9fd14c0f"
+version = "0.4.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"bytes",
"cfg-if",
"ciborium",
"flate2",
- "ignore",
"insta",
"semver 1.0.23",
"serde",
@@ -11473,16 +11177,14 @@ dependencies = [
"thiserror 1.0.69",
"toml 0.8.19",
"url",
- "wasmer-config 0.600.0",
- "wasmer-types",
- "webc 9.0.0",
+ "wasmer-config 0.12.0",
+ "webc",
]
[[package]]
name = "wasmer-types"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b45fd1274b21365d3232732afe53c220ecbcdb78946405087e7016e7b2369a0"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"bytecheck 0.6.11",
"enum-iterator",
@@ -11496,15 +11198,13 @@ dependencies = [
"sha2",
"target-lexicon",
"thiserror 1.0.69",
- "wasmparser 0.224.1",
"xxhash-rust",
]
[[package]]
name = "wasmer-vm"
-version = "6.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac4e7cec7b509e70664773f03907e6122d1633c100cb28009da770786806e6db"
+version = "5.0.5-rc1"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"backtrace",
"cc",
@@ -11515,8 +11215,8 @@ dependencies = [
"enum-iterator",
"fnv",
"indexmap 2.7.1",
+ "lazy_static",
"libc",
- "libunwind",
"mach2",
"memoffset 0.9.0",
"more-asserts",
@@ -11529,9 +11229,8 @@ dependencies = [
[[package]]
name = "wasmer-wasix"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fc74d209309baed0338fda8310847a9641bb77c2aeb1ae25af309006c22153f"
+version = "0.35.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"async-trait",
@@ -11551,6 +11250,7 @@ dependencies = [
"hex",
"http 1.1.0",
"js-sys",
+ "lazy_static",
"libc",
"linked_hash_set",
"lz4_flex",
@@ -11560,7 +11260,6 @@ dependencies = [
"pin-project",
"pin-utils",
"rand 0.8.5",
- "reqwest 0.12.9",
"rkyv 0.8.9",
"rusty_pool",
"semver 1.0.23",
@@ -11580,20 +11279,20 @@ dependencies = [
"tracing",
"url",
"urlencoding",
- "virtual-fs 0.600.0",
+ "virtual-fs 0.21.0",
"virtual-mio",
"virtual-net",
"waker-fn",
"wasm-bindgen",
"wasm-bindgen-futures",
"wasmer",
- "wasmer-config 0.600.0",
+ "wasmer-config 0.12.0",
"wasmer-journal",
- "wasmer-package 0.600.0",
+ "wasmer-package 0.4.0",
"wasmer-types",
"wasmer-wasix-types",
"web-sys",
- "webc 9.0.0",
+ "webc",
"weezl",
"windows-sys 0.59.0",
"xxhash-rust",
@@ -11601,9 +11300,8 @@ dependencies = [
[[package]]
name = "wasmer-wasix-types"
-version = "0.600.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3732cc6f863b06ef80e066a3c2558c322de6fbe76caf704aefe9ca7ccaf25f10"
+version = "0.35.0"
+source = "git+https://github.com/kdy1/wasmer?branch=build-deps#afedc9315eb1c7fefddff7a3c6ada0235e78678a"
dependencies = [
"anyhow",
"bitflags 1.3.2",
@@ -11635,11 +11333,15 @@ dependencies = [
[[package]]
name = "wasmparser"
-version = "0.224.1"
+version = "0.216.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04f17a5917c2ddd3819e84c661fae0d6ba29d7b9c1f0e96c708c65a9c4188e11"
+checksum = "bcdee6bea3619d311fb4b299721e89a986c3470f804b6d534340e412589028e3"
dependencies = [
+ "ahash 0.8.11",
"bitflags 2.9.0",
+ "hashbrown 0.14.5",
+ "indexmap 2.7.1",
+ "semver 1.0.23",
]
[[package]]
@@ -11674,16 +11376,6 @@ dependencies = [
"wasm-bindgen",
]
-[[package]]
-name = "web-time"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
[[package]]
name = "webbrowser"
version = "0.8.15"
@@ -11729,34 +11421,6 @@ dependencies = [
"url",
]
-[[package]]
-name = "webc"
-version = "9.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38544ae3a351279fa913b4dee9c548f0aa3b27ca05756531c3f2e6bc4e22c27d"
-dependencies = [
- "anyhow",
- "base64 0.22.1",
- "bytes",
- "cfg-if",
- "ciborium",
- "document-features",
- "ignore",
- "indexmap 2.7.1",
- "leb128",
- "lexical-sort",
- "libc",
- "once_cell",
- "path-clean 1.0.1",
- "rand 0.8.5",
- "serde",
- "serde_json",
- "sha2",
- "shared-buffer",
- "thiserror 1.0.69",
- "url",
-]
-
[[package]]
name = "webpki"
version = "0.22.0"
@@ -11894,17 +11558,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
-[[package]]
-name = "windows-registry"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
-dependencies = [
- "windows-result",
- "windows-strings",
- "windows-targets 0.52.6",
-]
-
[[package]]
name = "windows-result"
version = "0.2.0"
diff --git a/Cargo.toml b/Cargo.toml
index 2ffddd96a2a0..be8a81a68dec 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -297,21 +297,21 @@ turbopack-trace-utils = { path = "turbopack/crates/turbopack-trace-utils" }
turbopack-wasm = { path = "turbopack/crates/turbopack-wasm" }
# SWC crates
-swc_core = { version = "23.2.0", features = [
+swc_core = { version = "22.3.1", features = [
"ecma_loader_lru",
"ecma_loader_parking_lot",
] }
-testing = { version = "10.0.0" }
+testing = { version = "9.0.0" }
# Keep consistent with preset_env_base through swc_core
-browserslist-rs = { version = "0.18.0" }
+browserslist-rs = { version = "0.17.0" }
miette = { version = "5.10.0", features = ["fancy"] }
mdxjs = "1"
-modularize_imports = { version = "0.83.0" }
-styled_components = { version = "0.111.0" }
-styled_jsx = { version = "0.87.0" }
-swc_emotion = { version = "0.87.0" }
-swc_relay = { version = "0.57.0" }
+modularize_imports = { version = "0.82.0" }
+styled_components = { version = "0.110.0" }
+styled_jsx = { version = "0.86.0" }
+swc_emotion = { version = "0.86.0" }
+swc_relay = { version = "0.56.0" }
# General Deps
chromiumoxide = { version = "0.5.4", features = [
@@ -430,5 +430,9 @@ vergen-gitcl = { git = "https://github.com/bgw/vergen.git", branch = "bgw/no-opt
webbrowser = "0.8.7"
[patch.crates-io]
-# Remove this once https://github.com/wooorm/mdxjs-rs/pull/67 is merged and released
-mdxjs = { git = "https://github.com/kdy1/mdxjs-rs", branch = "swc-core-23" }
+# Remove this once https://github.com/wasmerio/wasmer/pull/5333 is merged and released
+wasmer = { git = "https://github.com/kdy1/wasmer", branch = "build-deps" }
+wasmer-cache = { git = "https://github.com/kdy1/wasmer", branch = "build-deps" }
+wasmer-compiler-cranelift = { git = "https://github.com/kdy1/wasmer", branch = "build-deps" }
+wasmer-wasix = { git = "https://github.com/kdy1/wasmer", branch = "build-deps" }
+
diff --git a/crates/next-core/Cargo.toml b/crates/next-core/Cargo.toml
index dfbff2cdeeec..d7f4bba95914 100644
--- a/crates/next-core/Cargo.toml
+++ b/crates/next-core/Cargo.toml
@@ -32,8 +32,8 @@ lazy_static = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
rustc-hash = { workspace = true }
-react_remove_properties = "0.37.0"
-remove_console = "0.38.0"
+react_remove_properties = "0.36.0"
+remove_console = "0.37.0"
itertools = { workspace = true }
auto-hash-map = { workspace = true }
percent-encoding = "2.3.1"
diff --git a/crates/next-custom-transforms/Cargo.toml b/crates/next-custom-transforms/Cargo.toml
index 0b2ec5ba8fc7..f71390ddce18 100644
--- a/crates/next-custom-transforms/Cargo.toml
+++ b/crates/next-custom-transforms/Cargo.toml
@@ -63,9 +63,9 @@ turbopack-ecmascript-plugins = { workspace = true, optional = true }
turbo-rcstr = { workspace = true }
urlencoding = { workspace = true }
-react_remove_properties = "0.37.0"
-remove_console = "0.38.0"
-preset_env_base = "3.0.1"
+react_remove_properties = "0.36.0"
+remove_console = "0.37.0"
+preset_env_base = "3.0.0"
[dev-dependencies]
swc_core = { workspace = true, features = ["testing_transform"]}
diff --git a/docs/01-app/02-guides/content-security-policy.mdx b/docs/01-app/02-guides/content-security-policy.mdx
index 39057ac3a2cb..0614aa587853 100644
--- a/docs/01-app/02-guides/content-security-policy.mdx
+++ b/docs/01-app/02-guides/content-security-policy.mdx
@@ -172,7 +172,54 @@ export const config = {
### Reading the nonce
-You can now read the nonce from a [Server Component](/docs/app/building-your-application/rendering/server-components) using [`headers`](/docs/app/api-reference/functions/headers):
+
+ You can provide the nonce to your page using
+ [`getServerSideProps`](/docs/pages/building-your-application/data-fetching/get-server-side-props):
+
+```tsx filename="pages/index.tsx" switcher
+import Script from 'next/script'
+
+import type { GetServerSideProps } from 'next'
+
+export default function Page({ nonce }) {
+ return (
+
+ )
+}
+
+export const getServerSideProps: GetServerSideProps = async ({ req }) => {
+ const nonce = req.headers['x-nonce']
+ return { props: { nonce } }
+}
+```
+
+```jsx filename="pages/index.jsx" switcher
+import Script from 'next/script'
+export default function Page({ nonce }) {
+ return (
+
+ )
+}
+
+export async function getServerSideProps({ req }) {
+ const nonce = req.headers['x-nonce']
+ return { props: { nonce } }
+}
+```
+
+
+
+
+
+You can read the nonce from a [Server Component](/docs/app/building-your-application/rendering/server-components) using [`headers`](/docs/app/api-reference/functions/headers):
```tsx filename="app/page.tsx" switcher
import { headers } from 'next/headers'
@@ -208,6 +255,8 @@ export default async function Page() {
}
```
+
+
## Without Nonces
For applications that do not require nonces, you can set the CSP header directly in your [`next.config.js`](/docs/app/api-reference/config/next-config-js) file:
diff --git a/lerna.json b/lerna.json
index bc51eeffdcdc..775a73c5c2ac 100644
--- a/lerna.json
+++ b/lerna.json
@@ -16,5 +16,5 @@
"registry": "https://registry.npmjs.org/"
}
},
- "version": "15.4.0-canary.24"
+ "version": "15.4.0-canary.26"
}
diff --git a/packages/create-next-app/package.json b/packages/create-next-app/package.json
index 646f11fa65a0..6d94b5e359a5 100644
--- a/packages/create-next-app/package.json
+++ b/packages/create-next-app/package.json
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"keywords": [
"react",
"next",
diff --git a/packages/eslint-config-next/package.json b/packages/eslint-config-next/package.json
index 5a5d543050f9..67e87cfad610 100644
--- a/packages/eslint-config-next/package.json
+++ b/packages/eslint-config-next/package.json
@@ -1,6 +1,6 @@
{
"name": "eslint-config-next",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"description": "ESLint configuration used by Next.js.",
"main": "index.js",
"license": "MIT",
@@ -10,7 +10,7 @@
},
"homepage": "https://nextjs.org/docs/app/api-reference/config/eslint",
"dependencies": {
- "@next/eslint-plugin-next": "15.4.0-canary.24",
+ "@next/eslint-plugin-next": "15.4.0-canary.26",
"@rushstack/eslint-patch": "^1.10.3",
"@typescript-eslint/eslint-plugin": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
"@typescript-eslint/parser": "^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0",
diff --git a/packages/eslint-plugin-next/package.json b/packages/eslint-plugin-next/package.json
index 090af19529c8..6946010cf93b 100644
--- a/packages/eslint-plugin-next/package.json
+++ b/packages/eslint-plugin-next/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/eslint-plugin-next",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"description": "ESLint plugin for Next.js.",
"main": "dist/index.js",
"types": "dist/index.d.ts",
diff --git a/packages/font/package.json b/packages/font/package.json
index cb7730ea00e2..c4345de60997 100644
--- a/packages/font/package.json
+++ b/packages/font/package.json
@@ -1,7 +1,7 @@
{
"name": "@next/font",
"private": true,
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"repository": {
"url": "vercel/next.js",
"directory": "packages/font"
diff --git a/packages/next-bundle-analyzer/package.json b/packages/next-bundle-analyzer/package.json
index d6ec2485e9f3..79a2a4dc207b 100644
--- a/packages/next-bundle-analyzer/package.json
+++ b/packages/next-bundle-analyzer/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"main": "index.js",
"types": "index.d.ts",
"license": "MIT",
diff --git a/packages/next-codemod/package.json b/packages/next-codemod/package.json
index a48c8ca40581..fed524b2e978 100644
--- a/packages/next-codemod/package.json
+++ b/packages/next-codemod/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/codemod",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"license": "MIT",
"repository": {
"type": "git",
diff --git a/packages/next-env/package.json b/packages/next-env/package.json
index caf9a62c4497..90577b8d5f9b 100644
--- a/packages/next-env/package.json
+++ b/packages/next-env/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/env",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"keywords": [
"react",
"next",
diff --git a/packages/next-mdx/package.json b/packages/next-mdx/package.json
index a4a6ab864807..993b7e3a8132 100644
--- a/packages/next-mdx/package.json
+++ b/packages/next-mdx/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"main": "index.js",
"license": "MIT",
"repository": {
diff --git a/packages/next-plugin-storybook/package.json b/packages/next-plugin-storybook/package.json
index c224b2b5a9d7..1523ddabbb02 100644
--- a/packages/next-plugin-storybook/package.json
+++ b/packages/next-plugin-storybook/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/plugin-storybook",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-plugin-storybook"
diff --git a/packages/next-polyfill-module/package.json b/packages/next-polyfill-module/package.json
index da8a6b6a02b2..7c75e2f75884 100644
--- a/packages/next-polyfill-module/package.json
+++ b/packages/next-polyfill-module/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-module",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"description": "A standard library polyfill for ES Modules supporting browsers (Edge 16+, Firefox 60+, Chrome 61+, Safari 10.1+)",
"main": "dist/polyfill-module.js",
"license": "MIT",
diff --git a/packages/next-polyfill-nomodule/package.json b/packages/next-polyfill-nomodule/package.json
index 7f307a88712a..9012e956bca1 100644
--- a/packages/next-polyfill-nomodule/package.json
+++ b/packages/next-polyfill-nomodule/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/polyfill-nomodule",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"description": "A polyfill for non-dead, nomodule browsers.",
"main": "dist/polyfill-nomodule.js",
"license": "MIT",
diff --git a/packages/next-rspack/package.json b/packages/next-rspack/package.json
index 96c66f91e3d8..4669c1e46add 100644
--- a/packages/next-rspack/package.json
+++ b/packages/next-rspack/package.json
@@ -1,6 +1,6 @@
{
"name": "next-rspack",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"repository": {
"url": "vercel/next.js",
"directory": "packages/next-rspack"
diff --git a/packages/next-swc/package.json b/packages/next-swc/package.json
index 27507d2e2e4c..90c7236e8788 100644
--- a/packages/next-swc/package.json
+++ b/packages/next-swc/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/swc",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"private": true,
"files": [
"native/"
diff --git a/packages/next/package.json b/packages/next/package.json
index 1b148726a713..73d5b86d6756 100644
--- a/packages/next/package.json
+++ b/packages/next/package.json
@@ -1,6 +1,6 @@
{
"name": "next",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
@@ -100,7 +100,7 @@
]
},
"dependencies": {
- "@next/env": "15.4.0-canary.24",
+ "@next/env": "15.4.0-canary.26",
"@swc/helpers": "0.5.15",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
@@ -162,11 +162,11 @@
"@jest/types": "29.5.0",
"@mswjs/interceptors": "0.23.0",
"@napi-rs/triples": "1.2.0",
- "@next/font": "15.4.0-canary.24",
- "@next/polyfill-module": "15.4.0-canary.24",
- "@next/polyfill-nomodule": "15.4.0-canary.24",
- "@next/react-refresh-utils": "15.4.0-canary.24",
- "@next/swc": "15.4.0-canary.24",
+ "@next/font": "15.4.0-canary.26",
+ "@next/polyfill-module": "15.4.0-canary.26",
+ "@next/polyfill-nomodule": "15.4.0-canary.26",
+ "@next/react-refresh-utils": "15.4.0-canary.26",
+ "@next/swc": "15.4.0-canary.26",
"@opentelemetry/api": "1.6.0",
"@playwright/test": "1.41.2",
"@storybook/addon-a11y": "8.6.0",
diff --git a/packages/next/src/client/app-dir/link.tsx b/packages/next/src/client/app-dir/link.tsx
index 99269e82e567..429a4749cfa6 100644
--- a/packages/next/src/client/app-dir/link.tsx
+++ b/packages/next/src/client/app-dir/link.tsx
@@ -271,30 +271,28 @@ function linkClicked(
e.preventDefault()
- const navigate = () => {
- if (onNavigate) {
- let isDefaultPrevented = false
+ if (onNavigate) {
+ let isDefaultPrevented = false
- onNavigate({
- preventDefault: () => {
- isDefaultPrevented = true
- },
- })
+ onNavigate({
+ preventDefault: () => {
+ isDefaultPrevented = true
+ },
+ })
- if (isDefaultPrevented) {
- return
- }
+ if (isDefaultPrevented) {
+ return
}
+ }
+ React.startTransition(() => {
dispatchNavigateAction(
as || href,
replace ? 'replace' : 'push',
scroll ?? true,
linkInstanceRef.current
)
- }
-
- React.startTransition(navigate)
+ })
}
function formatStringOrUrl(urlObjOrString: UrlObject | string): string {
diff --git a/packages/next/src/server/app-render/app-render.tsx b/packages/next/src/server/app-render/app-render.tsx
index 84cfe043d708..4ddbdfc067b0 100644
--- a/packages/next/src/server/app-render/app-render.tsx
+++ b/packages/next/src/server/app-render/app-render.tsx
@@ -178,7 +178,6 @@ import { CacheSignal } from './cache-signal'
import { getTracedMetadata } from '../lib/trace/utils'
import { InvariantError } from '../../shared/lib/invariant-error'
-import './clean-async-snapshot.external'
import { INFINITE_CACHE } from '../../lib/constants'
import { createComponentStylesAndScripts } from './create-component-styles-and-scripts'
import { parseLoaderTree } from './parse-loader-tree'
diff --git a/packages/next/src/server/app-render/clean-async-snapshot-instance.ts b/packages/next/src/server/app-render/clean-async-snapshot-instance.ts
deleted file mode 100644
index c37bc4227a84..000000000000
--- a/packages/next/src/server/app-render/clean-async-snapshot-instance.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { createSnapshot } from '../app-render/async-local-storage'
-
-export const runInCleanSnapshot: (
- fn: (...args: TArgs) => R,
- ...args: TArgs
-) => R = createSnapshot()
diff --git a/packages/next/src/server/app-render/clean-async-snapshot.external.ts b/packages/next/src/server/app-render/clean-async-snapshot.external.ts
deleted file mode 100644
index 44aa9ff8f036..000000000000
--- a/packages/next/src/server/app-render/clean-async-snapshot.external.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-// Share the instance module in the next-shared layer
-import { runInCleanSnapshot } from './clean-async-snapshot-instance' with { 'turbopack-transition': 'next-shared' }
-
-export { runInCleanSnapshot }
diff --git a/packages/next/src/server/app-render/work-async-storage.external.ts b/packages/next/src/server/app-render/work-async-storage.external.ts
index 3598f3c56a3d..5335c999f5c7 100644
--- a/packages/next/src/server/app-render/work-async-storage.external.ts
+++ b/packages/next/src/server/app-render/work-async-storage.external.ts
@@ -98,6 +98,18 @@ export interface WorkStore {
dynamicIOEnabled: boolean
dev: boolean
+
+ /**
+ * Run the given function inside a clean AsyncLocalStorage snapshot. This is
+ * useful when generating cache entries, to ensure that the cache generation
+ * cannot read anything from the context we're currently executing in, which
+ * might include request-specific things like `cookies()` inside a
+ * `React.cache()`.
+ */
+ runInCleanSnapshot: (
+ fn: (...args: TArgs) => R,
+ ...args: TArgs
+ ) => R
}
export type WorkAsyncStorage = AsyncLocalStorage
diff --git a/packages/next/src/server/async-storage/work-store.ts b/packages/next/src/server/async-storage/work-store.ts
index 1e85f2088213..01173d7095e2 100644
--- a/packages/next/src/server/async-storage/work-store.ts
+++ b/packages/next/src/server/async-storage/work-store.ts
@@ -12,6 +12,7 @@ import { AfterContext } from '../after/after-context'
import { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'
import { createLazyResult, type LazyResult } from '../lib/lazy-result'
import { getCacheHandlerEntries } from '../use-cache/handlers'
+import { createSnapshot } from '../app-render/async-local-storage'
export type WorkStoreContext = {
/**
@@ -138,6 +139,7 @@ export function createWorkStore({
dev: renderOpts.dev ?? false,
previouslyRevalidatedTags,
refreshTagsByCacheKind: createRefreshTagsByCacheKind(),
+ runInCleanSnapshot: createSnapshot(),
}
// TODO: remove this when we resolve accessing the store outside the execution context
diff --git a/packages/next/src/server/use-cache/use-cache-wrapper.ts b/packages/next/src/server/use-cache/use-cache-wrapper.ts
index 12a996ebd467..9738f5078e75 100644
--- a/packages/next/src/server/use-cache/use-cache-wrapper.ts
+++ b/packages/next/src/server/use-cache/use-cache-wrapper.ts
@@ -27,7 +27,6 @@ import {
workUnitAsyncStorage,
getDraftModeProviderForCacheScope,
} from '../app-render/work-unit-async-storage.external'
-import { runInCleanSnapshot } from '../app-render/clean-async-snapshot.external'
import { makeHangingPromise } from '../dynamic-rendering-utils'
@@ -83,7 +82,7 @@ function generateCacheEntry(
// might include request specific things like cookies() inside a React.cache().
// Note: It is important that we await at least once before this because it lets us
// pop out of any stack specific contexts as well - aka "Sync" Local Storage.
- return runInCleanSnapshot(
+ return workStore.runInCleanSnapshot(
generateCacheEntryWithRestoredWorkStore,
workStore,
outerWorkUnitStore,
diff --git a/packages/react-refresh-utils/package.json b/packages/react-refresh-utils/package.json
index 1ecd31853f76..ddfc7944d745 100644
--- a/packages/react-refresh-utils/package.json
+++ b/packages/react-refresh-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/react-refresh-utils",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"description": "An experimental package providing utilities for React Refresh.",
"repository": {
"url": "vercel/next.js",
diff --git a/packages/third-parties/package.json b/packages/third-parties/package.json
index 1e7ca3ffd496..b76b8f61bbec 100644
--- a/packages/third-parties/package.json
+++ b/packages/third-parties/package.json
@@ -1,6 +1,6 @@
{
"name": "@next/third-parties",
- "version": "15.4.0-canary.24",
+ "version": "15.4.0-canary.26",
"repository": {
"url": "vercel/next.js",
"directory": "packages/third-parties"
@@ -26,7 +26,7 @@
"third-party-capital": "1.0.20"
},
"devDependencies": {
- "next": "15.4.0-canary.24",
+ "next": "15.4.0-canary.26",
"outdent": "0.8.0",
"prettier": "2.5.1",
"typescript": "5.8.2"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 23165fc1ebee..e86cc20137b6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -824,7 +824,7 @@ importers:
packages/eslint-config-next:
dependencies:
'@next/eslint-plugin-next':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../eslint-plugin-next
'@rushstack/eslint-patch':
specifier: ^1.10.3
@@ -888,7 +888,7 @@ importers:
packages/next:
dependencies:
'@next/env':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../next-env
'@swc/helpers':
specifier: 0.5.15
@@ -1007,19 +1007,19 @@ importers:
specifier: 1.2.0
version: 1.2.0
'@next/font':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../font
'@next/polyfill-module':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../next-polyfill-module
'@next/polyfill-nomodule':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../next-polyfill-nomodule
'@next/react-refresh-utils':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../react-refresh-utils
'@next/swc':
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../next-swc
'@opentelemetry/api':
specifier: 1.6.0
@@ -1704,7 +1704,7 @@ importers:
version: 1.0.20
devDependencies:
next:
- specifier: 15.4.0-canary.24
+ specifier: 15.4.0-canary.26
version: link:../next
outdent:
specifier: 0.8.0
diff --git a/test/production/custom-server/als.js b/test/production/custom-server/als.js
new file mode 100644
index 000000000000..d99c7f6d35b3
--- /dev/null
+++ b/test/production/custom-server/als.js
@@ -0,0 +1,3 @@
+const { AsyncLocalStorage } = require('async_hooks')
+
+exports.requestIdStorage = new AsyncLocalStorage()
diff --git a/test/production/custom-server/app/use-cache/page.js b/test/production/custom-server/app/use-cache/page.js
new file mode 100644
index 000000000000..cefdb25dc748
--- /dev/null
+++ b/test/production/custom-server/app/use-cache/page.js
@@ -0,0 +1,19 @@
+import { connection } from 'next/server'
+
+async function Inner({ id }) {
+ 'use cache'
+
+ return inner cache
+}
+
+async function Outer({ id }) {
+ 'use cache'
+
+ return
+}
+
+export default async function Page() {
+ await connection()
+
+ return
+}
diff --git a/test/production/custom-server/cache-handler.js b/test/production/custom-server/cache-handler.js
new file mode 100644
index 000000000000..e8711977ecf0
--- /dev/null
+++ b/test/production/custom-server/cache-handler.js
@@ -0,0 +1,35 @@
+// @ts-check
+
+const { requestIdStorage } = require('./als')
+
+const defaultCacheHandler =
+ require('next/dist/server/lib/cache-handlers/default').default
+
+/**
+ * @type {import('next/dist/server/lib/cache-handlers/types').CacheHandlerV2}
+ */
+const cacheHandler = {
+ async get(cacheKey) {
+ return defaultCacheHandler.get(cacheKey)
+ },
+
+ async set(cacheKey, pendingEntry) {
+ const requestId = requestIdStorage.getStore()
+ console.log('set cache', cacheKey, 'requestId:', requestId)
+ return defaultCacheHandler.set(cacheKey, pendingEntry)
+ },
+
+ async refreshTags() {
+ return defaultCacheHandler.refreshTags()
+ },
+
+ async getExpiration(...tags) {
+ return defaultCacheHandler.getExpiration(...tags)
+ },
+
+ async expireTags(...tags) {
+ return defaultCacheHandler.expireTags(...tags)
+ },
+}
+
+module.exports = cacheHandler
diff --git a/test/production/custom-server/custom-server.test.ts b/test/production/custom-server/custom-server.test.ts
index 7315fc68503c..a200ca0c5ba6 100644
--- a/test/production/custom-server/custom-server.test.ts
+++ b/test/production/custom-server/custom-server.test.ts
@@ -36,6 +36,17 @@ describe('custom server', () => {
expect($('body').text()).toMatch(/pages: 19\.\d+\.\d+/)
}
})
+
+ describe('when using "use cache" with a custom cache handler', () => {
+ it("should not unset the custom server's ALS context", async () => {
+ const cliOutputLength = next.cliOutput.length
+ const $ = await next.render$('/use-cache')
+ expect($('p').text()).toBe('inner cache')
+ const cliOutput = next.cliOutput.slice(cliOutputLength)
+ expect(cliOutput).toMatch(createCacheSetLogRegExp('outer'))
+ expect(cliOutput).toMatch(createCacheSetLogRegExp('inner'))
+ })
+ })
})
})
@@ -55,3 +66,11 @@ describe('custom server with quiet setting', () => {
expect(next.cliOutput).not.toInclude('Server side error')
})
})
+
+function createCacheSetLogRegExp(id: string) {
+ // Expect a requestId, that's provided through ALS, to be present in the log
+ // message for the cache handler set call.
+ return new RegExp(
+ `set cache \\["[A-Za-z0-9_-]{21}","(?:[0-9a-f]{2})+",\\[{"id":"${id}"},"\\$undefined"\\]\\] requestId: \\d+`
+ )
+}
diff --git a/test/production/custom-server/next.config.js b/test/production/custom-server/next.config.js
new file mode 100644
index 000000000000..691865906e35
--- /dev/null
+++ b/test/production/custom-server/next.config.js
@@ -0,0 +1,13 @@
+/**
+ * @type {import('next').NextConfig}
+ */
+const nextConfig = {
+ experimental: {
+ useCache: true,
+ cacheHandlers: {
+ default: require.resolve('./cache-handler.js'),
+ },
+ },
+}
+
+module.exports = nextConfig
diff --git a/test/production/custom-server/server.js b/test/production/custom-server/server.js
index 786e545c8d31..e82f053fc000 100644
--- a/test/production/custom-server/server.js
+++ b/test/production/custom-server/server.js
@@ -2,8 +2,11 @@ const { createServer } = require('http')
const { parse } = require('url')
const next = require('next')
const getPort = require('get-port')
+const { requestIdStorage } = require('./als')
const quiet = process.env.USE_QUIET === 'true'
+let requestId = 0
+
async function main() {
const port = await getPort()
const hostname = 'localhost'
@@ -12,28 +15,30 @@ async function main() {
const handle = app.getRequestHandler()
app.prepare().then(() => {
- createServer(async (req, res) => {
- try {
- // Be sure to pass `true` as the second argument to `url.parse`.
- // This tells it to parse the query portion of the URL.
- const parsedUrl = parse(req.url, true)
- const { pathname, query } = parsedUrl
+ createServer((req, res) =>
+ requestIdStorage.run(requestId++, async () => {
+ try {
+ // Be sure to pass `true` as the second argument to `url.parse`.
+ // This tells it to parse the query portion of the URL.
+ const parsedUrl = parse(req.url, true)
+ const { pathname, query } = parsedUrl
- if (pathname === '/a') {
- await app.render(req, res, '/a', query)
- } else if (pathname === '/b') {
- await app.render(req, res, '/page-b', query)
- } else if (pathname === '/error') {
- await app.render(req, res, '/page-error')
- } else {
- await handle(req, res, parsedUrl)
+ if (pathname === '/a') {
+ await app.render(req, res, '/a', query)
+ } else if (pathname === '/b') {
+ await app.render(req, res, '/page-b', query)
+ } else if (pathname === '/error') {
+ await app.render(req, res, '/page-error')
+ } else {
+ await handle(req, res, parsedUrl)
+ }
+ } catch (err) {
+ console.error('Error occurred handling', req.url, err)
+ res.statusCode = 500
+ res.end('Internal Server Error')
}
- } catch (err) {
- console.error('Error occurred handling', req.url, err)
- res.statusCode = 500
- res.end('Internal Server Error')
- }
- }).listen(port, undefined, (err) => {
+ })
+ ).listen(port, undefined, (err) => {
if (err) throw err
// Start mode
console.log(`- Local: http://${hostname}:${port}`)
diff --git a/turbopack/crates/turbo-persistence/src/constants.rs b/turbopack/crates/turbo-persistence/src/constants.rs
index 9a46fa00a31e..701b11918a26 100644
--- a/turbopack/crates/turbo-persistence/src/constants.rs
+++ b/turbopack/crates/turbo-persistence/src/constants.rs
@@ -6,13 +6,13 @@ pub const MAX_MEDIUM_VALUE_SIZE: usize = 64 * 1024 * 1024;
pub const MAX_SMALL_VALUE_SIZE: usize = 64 * 1024 - 1;
/// Maximum number of entries per SST file
-pub const MAX_ENTRIES_PER_INITIAL_FILE: usize = 1024 * 1024;
+pub const MAX_ENTRIES_PER_INITIAL_FILE: usize = 256 * 1024;
/// Maximum number of entries per SST file
pub const MAX_ENTRIES_PER_COMPACTED_FILE: usize = 1024 * 1024;
/// Finish file when total amount of data exceeds this
-pub const DATA_THRESHOLD_PER_INITIAL_FILE: usize = 256 * 1024 * 1024;
+pub const DATA_THRESHOLD_PER_INITIAL_FILE: usize = 64 * 1024 * 1024;
/// Finish file when total amount of data exceeds this
pub const DATA_THRESHOLD_PER_COMPACTED_FILE: usize = 256 * 1024 * 1024;
diff --git a/turbopack/crates/turbo-tasks-backend/src/database/turbo.rs b/turbopack/crates/turbo-tasks-backend/src/database/turbo.rs
index 1df9d269abf8..5e650b8ea1e0 100644
--- a/turbopack/crates/turbo-tasks-backend/src/database/turbo.rs
+++ b/turbopack/crates/turbo-tasks-backend/src/database/turbo.rs
@@ -13,8 +13,8 @@ use crate::database::{
write_batch::{BaseWriteBatch, ConcurrentWriteBatch, WriteBatch, WriteBuffer},
};
-const COMPACT_MAX_COVERAGE: f32 = 10.0;
-const COMPACT_MAX_MERGE_SEQUENCE: usize = 16;
+const COMPACT_MAX_COVERAGE: f32 = 20.0;
+const COMPACT_MAX_MERGE_SEQUENCE: usize = 64;
const COMPACT_MAX_MERGE_SIZE: usize = 512 * 1024 * 1024; // 512 MiB
pub struct TurboKeyValueDatabase {