Fixes performance problems due to TaskScopes (#55721)
### What? see https://github.com/vercel/turbo/pull/5992 ### Turobopack changes * https://github.com/vercel/turbo/pull/6009 <!-- OJ Kwon - ci(workflow): update test filter --> * https://github.com/vercel/turbo/pull/6026 <!-- Will Binns-Smith - Remove next-dev references and benchmarks --> * https://github.com/vercel/turbo/pull/6038 <!-- Tim Neutkens - Remove test-prod action --> * https://github.com/vercel/turbo/pull/6039 <!-- Tim Neutkens - Fix action dependency --> * ~https://github.com/vercel/turbo/pull/6036~ <!-- Will Binns-Smith - Turbopack: add support for an asset prefix (and basePath in Next.js) --> * https://github.com/vercel/turbo/pull/5992 <!-- Tobias Koppers - refactor TaskScopes to use an aggregation tree --> Closes WEB-1622
This commit is contained in:
parent
b689f84600
commit
cd70065bad
15 changed files with 444 additions and 313 deletions
167
Cargo.lock
generated
167
Cargo.lock
generated
|
@ -321,7 +321,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "auto-hash-map"
|
name = "auto-hash-map"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
@ -886,16 +886,6 @@ version = "0.2.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
|
checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "codespan-reporting"
|
|
||||||
version = "0.11.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
|
|
||||||
dependencies = [
|
|
||||||
"termcolor",
|
|
||||||
"unicode-width",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "color_quant"
|
name = "color_quant"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
|
@ -1004,9 +994,9 @@ checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "const_fn_assert"
|
name = "const_fn_assert"
|
||||||
version = "0.1.3+deprecated"
|
version = "0.1.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7c773f3d54b8826857668aafa3bfe14bd179911a5b571b241e192cac1ec1c0b5"
|
checksum = "27d614f23f34f7b5165a77dc1591f497e2518f9cec4b4f4b92bfc4dc6cf7a190"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "const_format"
|
name = "const_format"
|
||||||
|
@ -1345,50 +1335,6 @@ dependencies = [
|
||||||
"syn 2.0.32",
|
"syn 2.0.32",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cxx"
|
|
||||||
version = "1.0.94"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
"cxxbridge-flags",
|
|
||||||
"cxxbridge-macro",
|
|
||||||
"link-cplusplus",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cxx-build"
|
|
||||||
version = "1.0.94"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
"codespan-reporting",
|
|
||||||
"once_cell",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"scratch",
|
|
||||||
"syn 2.0.32",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cxxbridge-flags"
|
|
||||||
version = "1.0.94"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "cxxbridge-macro"
|
|
||||||
version = "1.0.94"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn 2.0.32",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "darling"
|
name = "darling"
|
||||||
version = "0.14.4"
|
version = "0.14.4"
|
||||||
|
@ -2425,12 +2371,11 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "iana-time-zone-haiku"
|
name = "iana-time-zone-haiku"
|
||||||
version = "0.1.1"
|
version = "0.1.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
|
checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cxx",
|
"cc",
|
||||||
"cxx-build",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -2934,15 +2879,6 @@ dependencies = [
|
||||||
"syn 1.0.109",
|
"syn 1.0.109",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "link-cplusplus"
|
|
||||||
version = "1.0.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
|
|
||||||
dependencies = [
|
|
||||||
"cc",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linked-hash-map"
|
name = "linked-hash-map"
|
||||||
version = "0.5.6"
|
version = "0.5.6"
|
||||||
|
@ -3574,7 +3510,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "node-file-trace"
|
name = "node-file-trace"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -4521,6 +4457,26 @@ dependencies = [
|
||||||
"thiserror",
|
"thiserror",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ref-cast"
|
||||||
|
version = "1.0.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280"
|
||||||
|
dependencies = [
|
||||||
|
"ref-cast-impl",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ref-cast-impl"
|
||||||
|
version = "1.0.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.32",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "regalloc2"
|
name = "regalloc2"
|
||||||
version = "0.5.1"
|
version = "0.5.1"
|
||||||
|
@ -4859,12 +4815,6 @@ version = "1.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "scratch"
|
|
||||||
version = "1.0.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sct"
|
name = "sct"
|
||||||
version = "0.7.0"
|
version = "0.7.0"
|
||||||
|
@ -7381,7 +7331,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks"
|
name = "turbo-tasks"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -7413,7 +7363,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-build"
|
name = "turbo-tasks-build"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"cargo-lock",
|
"cargo-lock",
|
||||||
|
@ -7425,7 +7375,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-bytes"
|
name = "turbo-tasks-bytes"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
@ -7440,7 +7390,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-env"
|
name = "turbo-tasks-env"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"dotenvs",
|
"dotenvs",
|
||||||
|
@ -7454,7 +7404,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-fetch"
|
name = "turbo-tasks-fetch"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7471,7 +7421,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-fs"
|
name = "turbo-tasks-fs"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"auto-hash-map",
|
"auto-hash-map",
|
||||||
|
@ -7501,7 +7451,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-hash"
|
name = "turbo-tasks-hash"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base16",
|
"base16",
|
||||||
"hex",
|
"hex",
|
||||||
|
@ -7513,7 +7463,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-macros"
|
name = "turbo-tasks-macros"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"convert_case 0.6.0",
|
"convert_case 0.6.0",
|
||||||
|
@ -7527,7 +7477,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-macros-shared"
|
name = "turbo-tasks-macros-shared"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
@ -7537,7 +7487,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-malloc"
|
name = "turbo-tasks-malloc"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mimalloc",
|
"mimalloc",
|
||||||
]
|
]
|
||||||
|
@ -7545,7 +7495,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbo-tasks-memory"
|
name = "turbo-tasks-memory"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"auto-hash-map",
|
"auto-hash-map",
|
||||||
|
@ -7556,6 +7506,7 @@ dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"parking_lot",
|
"parking_lot",
|
||||||
"priority-queue",
|
"priority-queue",
|
||||||
|
"ref-cast",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
|
@ -7568,7 +7519,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack"
|
name = "turbopack"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-recursion",
|
"async-recursion",
|
||||||
|
@ -7599,7 +7550,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-binding"
|
name = "turbopack-binding"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"auto-hash-map",
|
"auto-hash-map",
|
||||||
"mdxjs",
|
"mdxjs",
|
||||||
|
@ -7639,7 +7590,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-build"
|
name = "turbopack-build"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7661,7 +7612,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-cli-utils"
|
name = "turbopack-cli-utils"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap 4.4.2",
|
"clap 4.4.2",
|
||||||
|
@ -7685,7 +7636,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-core"
|
name = "turbopack-core"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-recursion",
|
"async-recursion",
|
||||||
|
@ -7714,7 +7665,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-css"
|
name = "turbopack-css"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -7736,7 +7687,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-dev"
|
name = "turbopack-dev"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7760,7 +7711,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-dev-server"
|
name = "turbopack-dev-server"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
|
@ -7797,7 +7748,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-ecmascript"
|
name = "turbopack-ecmascript"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -7831,7 +7782,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-ecmascript-hmr-protocol"
|
name = "turbopack-ecmascript-hmr-protocol"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -7842,7 +7793,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-ecmascript-plugins"
|
name = "turbopack-ecmascript-plugins"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -7865,7 +7816,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-ecmascript-runtime"
|
name = "turbopack-ecmascript-runtime"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indoc",
|
"indoc",
|
||||||
|
@ -7882,7 +7833,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-env"
|
name = "turbopack-env"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
@ -7898,7 +7849,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-image"
|
name = "turbopack-image"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"base64 0.21.4",
|
"base64 0.21.4",
|
||||||
|
@ -7918,7 +7869,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-json"
|
name = "turbopack-json"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -7933,7 +7884,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-mdx"
|
name = "turbopack-mdx"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"mdxjs",
|
"mdxjs",
|
||||||
|
@ -7948,7 +7899,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-node"
|
name = "turbopack-node"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-stream",
|
"async-stream",
|
||||||
|
@ -7983,7 +7934,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-static"
|
name = "turbopack-static"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -7999,7 +7950,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-swc-utils"
|
name = "turbopack-swc-utils"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"swc_core",
|
"swc_core",
|
||||||
"turbo-tasks",
|
"turbo-tasks",
|
||||||
|
@ -8010,7 +7961,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "turbopack-wasm"
|
name = "turbopack-wasm"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230922.3#ad585d32fed92986a4458fd47db2f50f1a3cba75"
|
source = "git+https://github.com/vercel/turbo.git?tag=turbopack-230928.3#60636fb4555f215abfbbfcb022f46f2907a7c979"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"indexmap 1.9.3",
|
"indexmap 1.9.3",
|
||||||
|
|
|
@ -39,11 +39,11 @@ swc_core = { version = "0.83.12", features = [
|
||||||
testing = { version = "0.34.1" }
|
testing = { version = "0.34.1" }
|
||||||
|
|
||||||
# Turbo crates
|
# Turbo crates
|
||||||
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230922.3" }
|
turbopack-binding = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230928.3" }
|
||||||
# [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros..
|
# [TODO]: need to refactor embed_directory! macro usages, as well as resolving turbo_tasks::function, macros..
|
||||||
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230922.3" }
|
turbo-tasks = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230928.3" }
|
||||||
# [TODO]: need to refactor embed_directory! macro usage in next-core
|
# [TODO]: need to refactor embed_directory! macro usage in next-core
|
||||||
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230922.3" }
|
turbo-tasks-fs = { git = "https://github.com/vercel/turbo.git", tag = "turbopack-230928.3" }
|
||||||
|
|
||||||
# General Deps
|
# General Deps
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ shadow-rs = { version = "0.23.0", default-features = false, features = [
|
||||||
] }
|
] }
|
||||||
syn = "1.0.107"
|
syn = "1.0.107"
|
||||||
tempfile = "3.3.0"
|
tempfile = "3.3.0"
|
||||||
thiserror = "1.0.38"
|
thiserror = "1.0.48"
|
||||||
tiny-gradient = "0.1.0"
|
tiny-gradient = "0.1.0"
|
||||||
tokio = "1.25.0"
|
tokio = "1.25.0"
|
||||||
tokio-util = { version = "0.7.7", features = ["io"] }
|
tokio-util = { version = "0.7.7", features = ["io"] }
|
||||||
|
|
|
@ -77,9 +77,9 @@ pub async fn endpoint_write_to_disk(
|
||||||
let (written, issues, diags) = turbo_tasks
|
let (written, issues, diags) = turbo_tasks
|
||||||
.run_once(async move {
|
.run_once(async move {
|
||||||
let write_to_disk = endpoint.write_to_disk();
|
let write_to_disk = endpoint.write_to_disk();
|
||||||
|
let written = write_to_disk.strongly_consistent().await?;
|
||||||
let issues = get_issues(write_to_disk).await?;
|
let issues = get_issues(write_to_disk).await?;
|
||||||
let diags = get_diagnostics(write_to_disk).await?;
|
let diags = get_diagnostics(write_to_disk).await?;
|
||||||
let written = write_to_disk.strongly_consistent().await?;
|
|
||||||
Ok((written, issues, diags))
|
Ok((written, issues, diags))
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
|
@ -104,17 +104,16 @@ pub fn endpoint_server_changed_subscribe(
|
||||||
func,
|
func,
|
||||||
move || async move {
|
move || async move {
|
||||||
let changed = endpoint.server_changed();
|
let changed = endpoint.server_changed();
|
||||||
let issues = get_issues(changed).await?;
|
// We don't capture issues and diagonistics here since we don't want to be
|
||||||
let diags = get_diagnostics(changed).await?;
|
// notified when they change
|
||||||
changed.strongly_consistent().await?;
|
changed.strongly_consistent().await?;
|
||||||
Ok((issues, diags))
|
Ok(())
|
||||||
},
|
},
|
||||||
|ctx| {
|
|_| {
|
||||||
let (issues, diags) = ctx.value;
|
|
||||||
Ok(vec![TurbopackResult {
|
Ok(vec![TurbopackResult {
|
||||||
result: (),
|
result: (),
|
||||||
issues: issues.iter().map(|i| NapiIssue::from(&**i)).collect(),
|
issues: vec![],
|
||||||
diagnostics: diags.iter().map(|d| NapiDiagnostic::from(d)).collect(),
|
diagnostics: vec![],
|
||||||
}])
|
}])
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
@ -132,17 +131,16 @@ pub fn endpoint_client_changed_subscribe(
|
||||||
func,
|
func,
|
||||||
move || async move {
|
move || async move {
|
||||||
let changed = endpoint.client_changed();
|
let changed = endpoint.client_changed();
|
||||||
let issues = get_issues(changed).await?;
|
// We don't capture issues and diagonistics here since we don't want to be
|
||||||
let diags = get_diagnostics(changed).await?;
|
// notified when they change
|
||||||
changed.strongly_consistent().await?;
|
changed.strongly_consistent().await?;
|
||||||
Ok((issues, diags))
|
Ok(())
|
||||||
},
|
},
|
||||||
|ctx| {
|
|_| {
|
||||||
let (issues, diags) = ctx.value;
|
|
||||||
Ok(vec![TurbopackResult {
|
Ok(vec![TurbopackResult {
|
||||||
result: (),
|
result: (),
|
||||||
issues: issues.iter().map(|i| NapiIssue::from(&**i)).collect(),
|
issues: vec![],
|
||||||
diagnostics: diags.iter().map(|d| NapiDiagnostic::from(d)).collect(),
|
diagnostics: vec![],
|
||||||
}])
|
}])
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
|
@ -313,11 +313,11 @@ pub fn project_entrypoints_subscribe(
|
||||||
turbo_tasks.clone(),
|
turbo_tasks.clone(),
|
||||||
func,
|
func,
|
||||||
move || async move {
|
move || async move {
|
||||||
let entrypoints = container.entrypoints();
|
let entrypoints_operation = container.entrypoints();
|
||||||
let issues = get_issues(entrypoints).await?;
|
let entrypoints = entrypoints_operation.strongly_consistent().await?;
|
||||||
let diags = get_diagnostics(entrypoints).await?;
|
|
||||||
|
|
||||||
let entrypoints = entrypoints.strongly_consistent().await?;
|
let issues = get_issues(entrypoints_operation).await?;
|
||||||
|
let diags = get_diagnostics(entrypoints_operation).await?;
|
||||||
|
|
||||||
Ok((entrypoints, issues, diags))
|
Ok((entrypoints, issues, diags))
|
||||||
},
|
},
|
||||||
|
@ -383,10 +383,10 @@ pub fn project_hmr_events(
|
||||||
let state = project
|
let state = project
|
||||||
.project()
|
.project()
|
||||||
.hmr_version_state(identifier.clone(), session);
|
.hmr_version_state(identifier.clone(), session);
|
||||||
let update = project.project().hmr_update(identifier, state);
|
let update_operation = project.project().hmr_update(identifier, state);
|
||||||
let issues = get_issues(update).await?;
|
let update = update_operation.strongly_consistent().await?;
|
||||||
let diags = get_diagnostics(update).await?;
|
let issues = get_issues(update_operation).await?;
|
||||||
let update = update.strongly_consistent().await?;
|
let diags = get_diagnostics(update_operation).await?;
|
||||||
match &*update {
|
match &*update {
|
||||||
Update::None => {}
|
Update::None => {}
|
||||||
Update::Total(TotalUpdate { to }) => {
|
Update::Total(TotalUpdate { to }) => {
|
||||||
|
@ -451,11 +451,11 @@ pub fn project_hmr_identifiers_subscribe(
|
||||||
turbo_tasks.clone(),
|
turbo_tasks.clone(),
|
||||||
func,
|
func,
|
||||||
move || async move {
|
move || async move {
|
||||||
let hmr_identifiers = container.hmr_identifiers();
|
let hmr_identifiers_operation = container.hmr_identifiers();
|
||||||
let issues = get_issues(hmr_identifiers).await?;
|
let hmr_identifiers = hmr_identifiers_operation.strongly_consistent().await?;
|
||||||
let diags = get_diagnostics(hmr_identifiers).await?;
|
|
||||||
|
|
||||||
let hmr_identifiers = hmr_identifiers.strongly_consistent().await?;
|
let issues = get_issues(hmr_identifiers_operation).await?;
|
||||||
|
let diags = get_diagnostics(hmr_identifiers_operation).await?;
|
||||||
|
|
||||||
Ok((hmr_identifiers, issues, diags))
|
Ok((hmr_identifiers, issues, diags))
|
||||||
},
|
},
|
||||||
|
|
|
@ -69,30 +69,23 @@ impl Drop for RootTask {
|
||||||
|
|
||||||
#[napi]
|
#[napi]
|
||||||
pub fn root_task_dispose(
|
pub fn root_task_dispose(
|
||||||
#[napi(ts_arg_type = "{ __napiType: \"RootTask\" }")] _root_task: External<RootTask>,
|
#[napi(ts_arg_type = "{ __napiType: \"RootTask\" }")] mut root_task: External<RootTask>,
|
||||||
) -> napi::Result<()> {
|
) -> napi::Result<()> {
|
||||||
// TODO(alexkirsz) Implement. Not panicking here to avoid crashing the process
|
if let Some(task) = root_task.task_id.take() {
|
||||||
// when testing.
|
root_task.turbo_tasks.dispose_root_task(task);
|
||||||
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn get_issues<T: Send>(source: Vc<T>) -> Result<Vec<ReadRef<PlainIssue>>> {
|
pub async fn get_issues<T: Send>(source: Vc<T>) -> Result<Vec<ReadRef<PlainIssue>>> {
|
||||||
let issues = source
|
let issues = source.peek_issues_with_path().await?;
|
||||||
.peek_issues_with_path()
|
|
||||||
.await?
|
|
||||||
.strongly_consistent()
|
|
||||||
.await?;
|
|
||||||
issues.get_plain_issues().await
|
issues.get_plain_issues().await
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Collect [turbopack::core::diagnostics::Diagnostic] from given source,
|
/// Collect [turbopack::core::diagnostics::Diagnostic] from given source,
|
||||||
/// returns [turbopack::core::diagnostics::PlainDiagnostic]
|
/// returns [turbopack::core::diagnostics::PlainDiagnostic]
|
||||||
pub async fn get_diagnostics<T: Send>(source: Vc<T>) -> Result<Vec<ReadRef<PlainDiagnostic>>> {
|
pub async fn get_diagnostics<T: Send>(source: Vc<T>) -> Result<Vec<ReadRef<PlainDiagnostic>>> {
|
||||||
let captured_diags = source
|
let captured_diags = source.peek_diagnostics().await?;
|
||||||
.peek_diagnostics()
|
|
||||||
.await?
|
|
||||||
.strongly_consistent()
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
captured_diags
|
captured_diags
|
||||||
.diagnostics
|
.diagnostics
|
||||||
|
|
|
@ -22,8 +22,8 @@ use turbo_tasks::{
|
||||||
debug::ValueDebugFormat,
|
debug::ValueDebugFormat,
|
||||||
graph::{AdjacencyMap, GraphTraversal},
|
graph::{AdjacencyMap, GraphTraversal},
|
||||||
trace::TraceRawVcs,
|
trace::TraceRawVcs,
|
||||||
Completion, Completions, IntoTraitRef, State, TaskInput, TransientInstance, TryFlatJoinIterExt,
|
Completion, Completions, IntoTraitRef, State, TaskInput, TraitRef, TransientInstance,
|
||||||
Value, ValueToString, Vc,
|
TryFlatJoinIterExt, Value, ValueToString, Vc,
|
||||||
};
|
};
|
||||||
use turbopack_binding::{
|
use turbopack_binding::{
|
||||||
turbo::{
|
turbo::{
|
||||||
|
@ -562,6 +562,21 @@ impl Project {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let pages_document_endpoint = TraitRef::cell(
|
||||||
|
self.pages_project()
|
||||||
|
.document_endpoint()
|
||||||
|
.into_trait_ref()
|
||||||
|
.await?,
|
||||||
|
);
|
||||||
|
let pages_app_endpoint =
|
||||||
|
TraitRef::cell(self.pages_project().app_endpoint().into_trait_ref().await?);
|
||||||
|
let pages_error_endpoint = TraitRef::cell(
|
||||||
|
self.pages_project()
|
||||||
|
.error_endpoint()
|
||||||
|
.into_trait_ref()
|
||||||
|
.await?,
|
||||||
|
);
|
||||||
|
|
||||||
let middleware = find_context_file(
|
let middleware = find_context_file(
|
||||||
self.project_path(),
|
self.project_path(),
|
||||||
middleware_files(self.next_config().page_extensions()),
|
middleware_files(self.next_config().page_extensions()),
|
||||||
|
@ -569,7 +584,11 @@ impl Project {
|
||||||
let middleware = if let FindContextFileResult::Found(fs_path, _) = *middleware.await? {
|
let middleware = if let FindContextFileResult::Found(fs_path, _) = *middleware.await? {
|
||||||
let source = Vc::upcast(FileSource::new(fs_path));
|
let source = Vc::upcast(FileSource::new(fs_path));
|
||||||
Some(Middleware {
|
Some(Middleware {
|
||||||
endpoint: Vc::upcast(self.middleware_endpoint(source)),
|
endpoint: TraitRef::cell(
|
||||||
|
Vc::upcast::<Box<dyn Endpoint>>(self.middleware_endpoint(source))
|
||||||
|
.into_trait_ref()
|
||||||
|
.await?,
|
||||||
|
),
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
|
@ -578,9 +597,9 @@ impl Project {
|
||||||
Ok(Entrypoints {
|
Ok(Entrypoints {
|
||||||
routes,
|
routes,
|
||||||
middleware,
|
middleware,
|
||||||
pages_document_endpoint: self.pages_project().document_endpoint(),
|
pages_document_endpoint,
|
||||||
pages_app_endpoint: self.pages_project().app_endpoint(),
|
pages_app_endpoint,
|
||||||
pages_error_endpoint: self.pages_project().error_endpoint(),
|
pages_error_endpoint,
|
||||||
}
|
}
|
||||||
.cell())
|
.cell())
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,11 @@ use std::collections::HashMap;
|
||||||
|
|
||||||
use anyhow::{bail, Result};
|
use anyhow::{bail, Result};
|
||||||
use next_core::emit_client_assets;
|
use next_core::emit_client_assets;
|
||||||
use turbo_tasks::{State, TryFlatJoinIterExt, TryJoinIterExt, ValueDefault, ValueToString, Vc};
|
use serde::{Deserialize, Serialize};
|
||||||
|
use turbo_tasks::{
|
||||||
|
debug::ValueDebugFormat, trace::TraceRawVcs, State, TryFlatJoinIterExt, TryJoinIterExt,
|
||||||
|
ValueDefault, ValueToString, Vc,
|
||||||
|
};
|
||||||
use turbopack_binding::{
|
use turbopack_binding::{
|
||||||
turbo::tasks_fs::FileSystemPath,
|
turbo::tasks_fs::FileSystemPath,
|
||||||
turbopack::core::{
|
turbopack::core::{
|
||||||
|
@ -18,8 +22,17 @@ use turbopack_binding::{
|
||||||
#[turbo_tasks::value(transparent)]
|
#[turbo_tasks::value(transparent)]
|
||||||
pub struct OutputAssetsOperation(Vc<OutputAssets>);
|
pub struct OutputAssetsOperation(Vc<OutputAssets>);
|
||||||
|
|
||||||
type VersionedContentMapInner =
|
#[derive(
|
||||||
HashMap<Vc<FileSystemPath>, (Vc<Box<dyn VersionedContent>>, Vc<OutputAssets>)>;
|
Clone, Copy, TraceRawVcs, PartialEq, Eq, ValueDebugFormat, Serialize, Deserialize, Debug,
|
||||||
|
)]
|
||||||
|
struct MapEntry {
|
||||||
|
assets_operation: Vc<OutputAssets>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[turbo_tasks::value(transparent)]
|
||||||
|
struct OptionMapEntry(Option<MapEntry>);
|
||||||
|
|
||||||
|
type VersionedContentMapInner = HashMap<Vc<FileSystemPath>, MapEntry>;
|
||||||
|
|
||||||
#[turbo_tasks::value]
|
#[turbo_tasks::value]
|
||||||
pub struct VersionedContentMap {
|
pub struct VersionedContentMap {
|
||||||
|
@ -55,12 +68,9 @@ impl VersionedContentMap {
|
||||||
let entries: Vec<_> = assets
|
let entries: Vec<_> = assets
|
||||||
.iter()
|
.iter()
|
||||||
.map(|&asset| async move {
|
.map(|&asset| async move {
|
||||||
// NOTE(alexkirsz) `.versioned_content()` should not be resolved, to ensure that
|
|
||||||
// it always points to the task that computes the versioned
|
|
||||||
// content.
|
|
||||||
Ok((
|
Ok((
|
||||||
asset.ident().path().resolve().await?,
|
asset.ident().path().resolve().await?,
|
||||||
(asset.versioned_content(), assets_operation),
|
MapEntry { assets_operation },
|
||||||
))
|
))
|
||||||
})
|
})
|
||||||
.try_join()
|
.try_join()
|
||||||
|
@ -73,14 +83,17 @@ impl VersionedContentMap {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[turbo_tasks::function]
|
#[turbo_tasks::function]
|
||||||
pub async fn get(&self, path: Vc<FileSystemPath>) -> Result<Vc<Box<dyn VersionedContent>>> {
|
pub async fn get(
|
||||||
|
self: Vc<Self>,
|
||||||
|
path: Vc<FileSystemPath>,
|
||||||
|
) -> Result<Vc<Box<dyn VersionedContent>>> {
|
||||||
let (content, _) = self.get_internal(path).await?;
|
let (content, _) = self.get_internal(path).await?;
|
||||||
Ok(content)
|
Ok(content)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[turbo_tasks::function]
|
#[turbo_tasks::function]
|
||||||
pub async fn get_and_write(
|
pub async fn get_and_write(
|
||||||
&self,
|
self: Vc<Self>,
|
||||||
path: Vc<FileSystemPath>,
|
path: Vc<FileSystemPath>,
|
||||||
client_relative_path: Vc<FileSystemPath>,
|
client_relative_path: Vc<FileSystemPath>,
|
||||||
client_output_path: Vc<FileSystemPath>,
|
client_output_path: Vc<FileSystemPath>,
|
||||||
|
@ -105,28 +118,34 @@ impl VersionedContentMap {
|
||||||
.await?;
|
.await?;
|
||||||
Ok(Vc::cell(keys))
|
Ok(Vc::cell(keys))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[turbo_tasks::function]
|
||||||
|
async fn raw_get(&self, path: Vc<FileSystemPath>) -> Result<Vc<OptionMapEntry>> {
|
||||||
|
let result = {
|
||||||
|
let map = self.map.get();
|
||||||
|
map.get(&path).copied()
|
||||||
|
};
|
||||||
|
Ok(Vc::cell(result))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl VersionedContentMap {
|
impl VersionedContentMap {
|
||||||
async fn get_internal(
|
async fn get_internal(
|
||||||
&self,
|
self: Vc<Self>,
|
||||||
path: Vc<FileSystemPath>,
|
path: Vc<FileSystemPath>,
|
||||||
) -> Result<(Vc<Box<dyn VersionedContent>>, Vc<OutputAssets>)> {
|
) -> Result<(Vc<Box<dyn VersionedContent>>, Vc<OutputAssets>)> {
|
||||||
let result = {
|
let result = self.raw_get(path).await?;
|
||||||
// NOTE(alexkirsz) This is to avoid Rust marking this method as !Send because a
|
if let Some(MapEntry { assets_operation }) = *result {
|
||||||
// StateRef to the map is captured across an await boundary below, even though
|
// NOTE(alexkirsz) This is necessary to mark the task as active again.
|
||||||
// it does not look like it would.
|
Vc::connect(assets_operation);
|
||||||
// I think this is a similar issue as https://fasterthanli.me/articles/a-rust-match-made-in-hell
|
for asset in assets_operation.await?.iter() {
|
||||||
let map = self.map.get();
|
if asset.ident().path().resolve().await? == path {
|
||||||
map.get(&path).copied()
|
let content = asset.versioned_content();
|
||||||
};
|
return Ok((content, assets_operation));
|
||||||
let Some((content, assets_operation)) = result else {
|
}
|
||||||
let path = path.to_string().await?;
|
}
|
||||||
bail!("could not find versioned content for path {}", path);
|
}
|
||||||
};
|
let path = path.to_string().await?;
|
||||||
// NOTE(alexkirsz) This is necessary to mark the task as active again.
|
bail!("could not find versioned content for path {}", path);
|
||||||
Vc::connect(assets_operation);
|
|
||||||
Vc::connect(content);
|
|
||||||
Ok((content, assets_operation))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,7 +193,7 @@
|
||||||
"@types/ws": "8.2.0",
|
"@types/ws": "8.2.0",
|
||||||
"@vercel/ncc": "0.34.0",
|
"@vercel/ncc": "0.34.0",
|
||||||
"@vercel/nft": "0.22.6",
|
"@vercel/nft": "0.22.6",
|
||||||
"@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230922.2",
|
"@vercel/turbopack-ecmascript-runtime": "https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230928.3",
|
||||||
"acorn": "8.5.0",
|
"acorn": "8.5.0",
|
||||||
"ajv": "8.11.0",
|
"ajv": "8.11.0",
|
||||||
"amphtml-validator": "1.0.35",
|
"amphtml-validator": "1.0.35",
|
||||||
|
|
|
@ -122,6 +122,8 @@ function handleSuccess() {
|
||||||
if (isHotUpdate) {
|
if (isHotUpdate) {
|
||||||
tryApplyUpdates(onBeforeFastRefresh, onFastRefresh)
|
tryApplyUpdates(onBeforeFastRefresh, onFastRefresh)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
onBuildOk()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
import connect from './error-overlay/hot-dev-client'
|
import connect from './error-overlay/hot-dev-client'
|
||||||
import { sendMessage } from './error-overlay/websocket'
|
import { sendMessage } from './error-overlay/websocket'
|
||||||
|
|
||||||
|
let reloading = false
|
||||||
|
|
||||||
export default (mode: 'webpack' | 'turbopack') => {
|
export default (mode: 'webpack' | 'turbopack') => {
|
||||||
const devClient = connect(mode)
|
const devClient = connect(mode)
|
||||||
|
|
||||||
devClient.subscribeToHmrEvent((obj: any) => {
|
devClient.subscribeToHmrEvent((obj: any) => {
|
||||||
|
if (reloading) return
|
||||||
// if we're on an error/404 page, we can't reliably tell if the newly added/removed page
|
// if we're on an error/404 page, we can't reliably tell if the newly added/removed page
|
||||||
// matches the current path. In that case, assume any added/removed entries should trigger a reload of the current page
|
// matches the current path. In that case, assume any added/removed entries should trigger a reload of the current page
|
||||||
const isOnErrorPage =
|
const isOnErrorPage =
|
||||||
|
@ -19,6 +22,7 @@ export default (mode: 'webpack' | 'turbopack') => {
|
||||||
clientId: window.__nextDevClientId,
|
clientId: window.__nextDevClientId,
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
reloading = true
|
||||||
return window.location.reload()
|
return window.location.reload()
|
||||||
}
|
}
|
||||||
case 'removedPage': {
|
case 'removedPage': {
|
||||||
|
|
|
@ -25,7 +25,10 @@ export function pageBootrap(assetPrefix: string) {
|
||||||
}, process.env.__NEXT_BUILD_INDICATOR_POSITION)
|
}, process.env.__NEXT_BUILD_INDICATOR_POSITION)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let reloading = false
|
||||||
|
|
||||||
addMessageListener((payload) => {
|
addMessageListener((payload) => {
|
||||||
|
if (reloading) return
|
||||||
if ('action' in payload) {
|
if ('action' in payload) {
|
||||||
if (payload.action === HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR) {
|
if (payload.action === HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR) {
|
||||||
const { stack, message } = JSON.parse(payload.errorJSON)
|
const { stack, message } = JSON.parse(payload.errorJSON)
|
||||||
|
@ -33,6 +36,7 @@ export function pageBootrap(assetPrefix: string) {
|
||||||
error.stack = stack
|
error.stack = stack
|
||||||
throw error
|
throw error
|
||||||
} else if (payload.action === HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE) {
|
} else if (payload.action === HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE) {
|
||||||
|
reloading = true
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
} else if (
|
} else if (
|
||||||
payload.action ===
|
payload.action ===
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -109,6 +109,7 @@ import {
|
||||||
deleteCache,
|
deleteCache,
|
||||||
} from '../../../build/webpack/plugins/nextjs-require-cache-hot-reloader'
|
} from '../../../build/webpack/plugins/nextjs-require-cache-hot-reloader'
|
||||||
import { normalizeMetadataRoute } from '../../../lib/metadata/get-metadata-route'
|
import { normalizeMetadataRoute } from '../../../lib/metadata/get-metadata-route'
|
||||||
|
import { clearModuleContext } from '../render-server'
|
||||||
|
|
||||||
const wsServer = new ws.Server({ noServer: true })
|
const wsServer = new ws.Server({ noServer: true })
|
||||||
|
|
||||||
|
@ -339,6 +340,7 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const file of result.serverPaths.map((p) => path.join(distDir, p))) {
|
for (const file of result.serverPaths.map((p) => path.join(distDir, p))) {
|
||||||
|
clearModuleContext(file)
|
||||||
deleteCache(file)
|
deleteCache(file)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,7 +509,7 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
makePayload: (
|
makePayload: (
|
||||||
page: string,
|
page: string,
|
||||||
change: TurbopackResult<ServerClientChange>
|
change: TurbopackResult<ServerClientChange>
|
||||||
) => HMR_ACTION_TYPES | void
|
) => Promise<HMR_ACTION_TYPES> | HMR_ACTION_TYPES | void
|
||||||
) {
|
) {
|
||||||
if (!endpoint || changeSubscriptions.has(page)) return
|
if (!endpoint || changeSubscriptions.has(page)) return
|
||||||
|
|
||||||
|
@ -525,7 +527,7 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
)
|
)
|
||||||
|
|
||||||
processIssues(page, page, change)
|
processIssues(page, page, change)
|
||||||
const payload = makePayload(page, change)
|
const payload = await makePayload(page, change)
|
||||||
if (payload) sendHmr('endpoint-change', page, payload)
|
if (payload) sendHmr('endpoint-change', page, payload)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -539,108 +541,6 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
issues.delete(page)
|
issues.delete(page)
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
|
||||||
async function handleEntries() {
|
|
||||||
for await (const entrypoints of iter) {
|
|
||||||
if (!currentEntriesHandlingResolve) {
|
|
||||||
currentEntriesHandling = new Promise(
|
|
||||||
// eslint-disable-next-line no-loop-func
|
|
||||||
(resolve) => (currentEntriesHandlingResolve = resolve)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
globalEntries.app = entrypoints.pagesAppEndpoint
|
|
||||||
globalEntries.document = entrypoints.pagesDocumentEndpoint
|
|
||||||
globalEntries.error = entrypoints.pagesErrorEndpoint
|
|
||||||
|
|
||||||
curEntries.clear()
|
|
||||||
|
|
||||||
for (const [pathname, route] of entrypoints.routes) {
|
|
||||||
switch (route.type) {
|
|
||||||
case 'page':
|
|
||||||
case 'page-api':
|
|
||||||
case 'app-page':
|
|
||||||
case 'app-route': {
|
|
||||||
curEntries.set(pathname, route)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
Log.info(`skipping ${pathname} (${route.type})`)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const [pathname, subscriptionPromise] of changeSubscriptions) {
|
|
||||||
if (pathname === '') {
|
|
||||||
// middleware is handled below
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!curEntries.has(pathname)) {
|
|
||||||
const subscription = await subscriptionPromise
|
|
||||||
subscription.return?.()
|
|
||||||
changeSubscriptions.delete(pathname)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const { middleware } = entrypoints
|
|
||||||
// We check for explicit true/false, since it's initialized to
|
|
||||||
// undefined during the first loop (middlewareChanges event is
|
|
||||||
// unnecessary during the first serve)
|
|
||||||
if (prevMiddleware === true && !middleware) {
|
|
||||||
// Went from middleware to no middleware
|
|
||||||
await clearChangeSubscription('middleware')
|
|
||||||
sendHmr('entrypoint-change', 'middleware', {
|
|
||||||
event: HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES,
|
|
||||||
})
|
|
||||||
} else if (prevMiddleware === false && middleware) {
|
|
||||||
// Went from no middleware to middleware
|
|
||||||
sendHmr('endpoint-change', 'middleware', {
|
|
||||||
event: HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (middleware) {
|
|
||||||
const writtenEndpoint = await processResult(
|
|
||||||
await middleware.endpoint.writeToDisk()
|
|
||||||
)
|
|
||||||
processIssues('middleware', 'middleware', writtenEndpoint)
|
|
||||||
await loadMiddlewareManifest('middleware', 'middleware')
|
|
||||||
serverFields.actualMiddlewareFile = 'middleware'
|
|
||||||
serverFields.middleware = {
|
|
||||||
match: null as any,
|
|
||||||
page: '/',
|
|
||||||
matchers:
|
|
||||||
middlewareManifests.get('middleware')?.middleware['/'].matchers,
|
|
||||||
}
|
|
||||||
|
|
||||||
changeSubscription('middleware', middleware.endpoint, () => {
|
|
||||||
return { event: HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES }
|
|
||||||
})
|
|
||||||
prevMiddleware = true
|
|
||||||
} else {
|
|
||||||
middlewareManifests.delete('middleware')
|
|
||||||
serverFields.actualMiddlewareFile = undefined
|
|
||||||
serverFields.middleware = undefined
|
|
||||||
prevMiddleware = false
|
|
||||||
}
|
|
||||||
await propagateServerField(
|
|
||||||
'actualMiddlewareFile',
|
|
||||||
serverFields.actualMiddlewareFile
|
|
||||||
)
|
|
||||||
await propagateServerField('middleware', serverFields.middleware)
|
|
||||||
|
|
||||||
currentEntriesHandlingResolve!()
|
|
||||||
currentEntriesHandlingResolve = undefined
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
handleEntries().catch((err) => {
|
|
||||||
console.error(err)
|
|
||||||
process.exit(1)
|
|
||||||
})
|
|
||||||
} catch (e) {
|
|
||||||
console.error(e)
|
|
||||||
}
|
|
||||||
|
|
||||||
function mergeBuildManifests(manifests: Iterable<BuildManifest>) {
|
function mergeBuildManifests(manifests: Iterable<BuildManifest>) {
|
||||||
const manifest: Partial<BuildManifest> & Pick<BuildManifest, 'pages'> = {
|
const manifest: Partial<BuildManifest> & Pick<BuildManifest, 'pages'> = {
|
||||||
pages: {
|
pages: {
|
||||||
|
@ -877,8 +777,13 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
// computation. This is not a change, so swallow it.
|
// computation. This is not a change, so swallow it.
|
||||||
try {
|
try {
|
||||||
await subscription.next()
|
await subscription.next()
|
||||||
|
|
||||||
|
for await (const data of subscription) {
|
||||||
|
processIssues('hmr', id, data)
|
||||||
|
sendTurbopackMessage(data)
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
// The client is using an HMR session from a previous server, tell them
|
// The client might be using an HMR session from a previous server, tell them
|
||||||
// to fully reload the page to resolve the issue. We can't use
|
// to fully reload the page to resolve the issue. We can't use
|
||||||
// `hotReloader.send` since that would force very connected client to
|
// `hotReloader.send` since that would force very connected client to
|
||||||
// reload, only this client is out of date.
|
// reload, only this client is out of date.
|
||||||
|
@ -889,11 +794,6 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
client.close()
|
client.close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
for await (const data of subscription) {
|
|
||||||
processIssues('hmr', id, data)
|
|
||||||
sendTurbopackMessage(data)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function unsubscribeToHmrEvents(id: string, client: ws) {
|
function unsubscribeToHmrEvents(id: string, client: ws) {
|
||||||
|
@ -902,6 +802,121 @@ async function startWatcher(opts: SetupOpts) {
|
||||||
subscription?.return!()
|
subscription?.return!()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
async function handleEntries() {
|
||||||
|
for await (const entrypoints of iter) {
|
||||||
|
if (!currentEntriesHandlingResolve) {
|
||||||
|
currentEntriesHandling = new Promise(
|
||||||
|
// eslint-disable-next-line no-loop-func
|
||||||
|
(resolve) => (currentEntriesHandlingResolve = resolve)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
globalEntries.app = entrypoints.pagesAppEndpoint
|
||||||
|
globalEntries.document = entrypoints.pagesDocumentEndpoint
|
||||||
|
globalEntries.error = entrypoints.pagesErrorEndpoint
|
||||||
|
|
||||||
|
curEntries.clear()
|
||||||
|
|
||||||
|
for (const [pathname, route] of entrypoints.routes) {
|
||||||
|
switch (route.type) {
|
||||||
|
case 'page':
|
||||||
|
case 'page-api':
|
||||||
|
case 'app-page':
|
||||||
|
case 'app-route': {
|
||||||
|
curEntries.set(pathname, route)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
Log.info(`skipping ${pathname} (${route.type})`)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const [pathname, subscriptionPromise] of changeSubscriptions) {
|
||||||
|
if (pathname === '') {
|
||||||
|
// middleware is handled below
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!curEntries.has(pathname)) {
|
||||||
|
const subscription = await subscriptionPromise
|
||||||
|
subscription.return?.()
|
||||||
|
changeSubscriptions.delete(pathname)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const { middleware } = entrypoints
|
||||||
|
// We check for explicit true/false, since it's initialized to
|
||||||
|
// undefined during the first loop (middlewareChanges event is
|
||||||
|
// unnecessary during the first serve)
|
||||||
|
if (prevMiddleware === true && !middleware) {
|
||||||
|
// Went from middleware to no middleware
|
||||||
|
await clearChangeSubscription('middleware')
|
||||||
|
sendHmr('entrypoint-change', 'middleware', {
|
||||||
|
event: HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES,
|
||||||
|
})
|
||||||
|
} else if (prevMiddleware === false && middleware) {
|
||||||
|
// Went from no middleware to middleware
|
||||||
|
sendHmr('endpoint-change', 'middleware', {
|
||||||
|
event: HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (middleware) {
|
||||||
|
const processMiddleware = async () => {
|
||||||
|
const writtenEndpoint = await processResult(
|
||||||
|
await middleware.endpoint.writeToDisk()
|
||||||
|
)
|
||||||
|
processIssues('middleware', 'middleware', writtenEndpoint)
|
||||||
|
await loadMiddlewareManifest('middleware', 'middleware')
|
||||||
|
serverFields.actualMiddlewareFile = 'middleware'
|
||||||
|
serverFields.middleware = {
|
||||||
|
match: null as any,
|
||||||
|
page: '/',
|
||||||
|
matchers:
|
||||||
|
middlewareManifests.get('middleware')?.middleware['/']
|
||||||
|
.matchers,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await processMiddleware()
|
||||||
|
|
||||||
|
changeSubscription('middleware', middleware.endpoint, async () => {
|
||||||
|
await processMiddleware()
|
||||||
|
await propagateServerField(
|
||||||
|
'actualMiddlewareFile',
|
||||||
|
serverFields.actualMiddlewareFile
|
||||||
|
)
|
||||||
|
await propagateServerField('middleware', serverFields.middleware)
|
||||||
|
await writeMiddlewareManifest()
|
||||||
|
|
||||||
|
console.log('middleware changes')
|
||||||
|
return { event: HMR_ACTIONS_SENT_TO_BROWSER.MIDDLEWARE_CHANGES }
|
||||||
|
})
|
||||||
|
prevMiddleware = true
|
||||||
|
} else {
|
||||||
|
middlewareManifests.delete('middleware')
|
||||||
|
serverFields.actualMiddlewareFile = undefined
|
||||||
|
serverFields.middleware = undefined
|
||||||
|
prevMiddleware = false
|
||||||
|
}
|
||||||
|
await propagateServerField(
|
||||||
|
'actualMiddlewareFile',
|
||||||
|
serverFields.actualMiddlewareFile
|
||||||
|
)
|
||||||
|
await propagateServerField('middleware', serverFields.middleware)
|
||||||
|
|
||||||
|
currentEntriesHandlingResolve!()
|
||||||
|
currentEntriesHandlingResolve = undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
handleEntries().catch((err) => {
|
||||||
|
console.error(err)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e)
|
||||||
|
}
|
||||||
|
|
||||||
// Write empty manifests
|
// Write empty manifests
|
||||||
await mkdir(path.join(distDir, 'server'), { recursive: true })
|
await mkdir(path.join(distDir, 'server'), { recursive: true })
|
||||||
await mkdir(path.join(distDir, 'static/development'), { recursive: true })
|
await mkdir(path.join(distDir, 'static/development'), { recursive: true })
|
||||||
|
|
158
pnpm-lock.yaml
158
pnpm-lock.yaml
|
@ -1058,8 +1058,8 @@ importers:
|
||||||
specifier: 0.22.6
|
specifier: 0.22.6
|
||||||
version: 0.22.6
|
version: 0.22.6
|
||||||
'@vercel/turbopack-ecmascript-runtime':
|
'@vercel/turbopack-ecmascript-runtime':
|
||||||
specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230922.2
|
specifier: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230928.3
|
||||||
version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230922.2(react-refresh@0.12.0)(webpack@5.86.0)'
|
version: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230928.3(react-refresh@0.12.0)(webpack@5.86.0)'
|
||||||
acorn:
|
acorn:
|
||||||
specifier: 8.5.0
|
specifier: 8.5.0
|
||||||
version: 8.5.0
|
version: 8.5.0
|
||||||
|
@ -1320,7 +1320,7 @@ importers:
|
||||||
version: 0.13.4
|
version: 0.13.4
|
||||||
sass-loader:
|
sass-loader:
|
||||||
specifier: 12.4.0
|
specifier: 12.4.0
|
||||||
version: 12.4.0(sass@1.54.0)(webpack@5.86.0)
|
version: 12.4.0(webpack@5.86.0)
|
||||||
schema-utils2:
|
schema-utils2:
|
||||||
specifier: npm:schema-utils@2.7.1
|
specifier: npm:schema-utils@2.7.1
|
||||||
version: /schema-utils@2.7.1
|
version: /schema-utils@2.7.1
|
||||||
|
@ -1486,7 +1486,7 @@ importers:
|
||||||
dependencies:
|
dependencies:
|
||||||
next:
|
next:
|
||||||
specifier: '*'
|
specifier: '*'
|
||||||
version: link:../next
|
version: 13.5.3(@babel/core@7.18.0)(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0)(sass@1.54.0)
|
||||||
|
|
||||||
packages/next-polyfill-module:
|
packages/next-polyfill-module:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
@ -6714,6 +6714,10 @@ packages:
|
||||||
resolution: {integrity: sha512-XQr74QaLeMiqhStEhLn1im9EOMnkypp7MZOwQhGzqp2Weu5eQJbpPxWxixxlYRKWPOmJjsk6qYfYH9kq43yc2w==}
|
resolution: {integrity: sha512-XQr74QaLeMiqhStEhLn1im9EOMnkypp7MZOwQhGzqp2Weu5eQJbpPxWxixxlYRKWPOmJjsk6qYfYH9kq43yc2w==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@next/env@13.5.3:
|
||||||
|
resolution: {integrity: sha512-X4te86vsbjsB7iO4usY9jLPtZ827Mbx+WcwNBGUOIuswuTAKQtzsuoxc/6KLxCMvogKG795MhrR1LDhYgDvasg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@next/react-refresh-utils@13.5.3(react-refresh@0.12.0)(webpack@5.86.0):
|
/@next/react-refresh-utils@13.5.3(react-refresh@0.12.0)(webpack@5.86.0):
|
||||||
resolution: {integrity: sha512-Y4wsqtdX+/QZ6W19N3y/YnuxAt/a79l/zYmRc2mwEplP0rIv6W3MBo3ePFUXOMVfmVesnOhfnZanaGiynZcFOg==}
|
resolution: {integrity: sha512-Y4wsqtdX+/QZ6W19N3y/YnuxAt/a79l/zYmRc2mwEplP0rIv6W3MBo3ePFUXOMVfmVesnOhfnZanaGiynZcFOg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -6727,6 +6731,87 @@ packages:
|
||||||
webpack: 5.86.0(@swc/core@1.3.85)
|
webpack: 5.86.0(@swc/core@1.3.85)
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@next/swc-darwin-arm64@13.5.3:
|
||||||
|
resolution: {integrity: sha512-6hiYNJxJmyYvvKGrVThzo4nTcqvqUTA/JvKim7Auaj33NexDqSNwN5YrrQu+QhZJCIpv2tULSHt+lf+rUflLSw==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-darwin-x64@13.5.3:
|
||||||
|
resolution: {integrity: sha512-UpBKxu2ob9scbpJyEq/xPgpdrgBgN3aLYlxyGqlYX5/KnwpJpFuIHU2lx8upQQ7L+MEmz+fA1XSgesoK92ppwQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-linux-arm64-gnu@13.5.3:
|
||||||
|
resolution: {integrity: sha512-5AzM7Yx1Ky+oLY6pHs7tjONTF22JirDPd5Jw/3/NazJ73uGB05NqhGhB4SbeCchg7SlVYVBeRMrMSZwJwq/xoA==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-linux-arm64-musl@13.5.3:
|
||||||
|
resolution: {integrity: sha512-A/C1shbyUhj7wRtokmn73eBksjTM7fFQoY2v/0rTM5wehpkjQRLOXI8WJsag2uLhnZ4ii5OzR1rFPwoD9cvOgA==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-linux-x64-gnu@13.5.3:
|
||||||
|
resolution: {integrity: sha512-FubPuw/Boz8tKkk+5eOuDHOpk36F80rbgxlx4+xty/U71e3wZZxVYHfZXmf0IRToBn1Crb8WvLM9OYj/Ur815g==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-linux-x64-musl@13.5.3:
|
||||||
|
resolution: {integrity: sha512-DPw8nFuM1uEpbX47tM3wiXIR0Qa+atSzs9Q3peY1urkhofx44o7E1svnq+a5Q0r8lAcssLrwiM+OyJJgV/oj7g==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-win32-arm64-msvc@13.5.3:
|
||||||
|
resolution: {integrity: sha512-zBPSP8cHL51Gub/YV8UUePW7AVGukp2D8JU93IHbVDu2qmhFAn9LWXiOOLKplZQKxnIPUkJTQAJDCWBWU4UWUA==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-win32-ia32-msvc@13.5.3:
|
||||||
|
resolution: {integrity: sha512-ONcL/lYyGUj4W37D4I2I450SZtSenmFAvapkJQNIJhrPMhzDU/AdfLkW98NvH1D2+7FXwe7yclf3+B7v28uzBQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [ia32]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@next/swc-win32-x64-msvc@13.5.3:
|
||||||
|
resolution: {integrity: sha512-2Vz2tYWaLqJvLcWbbTlJ5k9AN6JD7a5CN2pAeIzpbecK8ZF/yobA39cXtv6e+Z8c5UJuVOmaTldEAIxvsIux/Q==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
/@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3:
|
/@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3:
|
||||||
resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==}
|
resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
|
@ -7206,7 +7291,6 @@ packages:
|
||||||
/@opentelemetry/api@1.4.1:
|
/@opentelemetry/api@1.4.1:
|
||||||
resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==}
|
resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==}
|
||||||
engines: {node: '>=8.0.0'}
|
engines: {node: '>=8.0.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@opentelemetry/core@1.15.2(@opentelemetry/api@1.4.1):
|
/@opentelemetry/core@1.15.2(@opentelemetry/api@1.4.1):
|
||||||
resolution: {integrity: sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==}
|
resolution: {integrity: sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==}
|
||||||
|
@ -7236,7 +7320,7 @@ packages:
|
||||||
open: 8.4.0
|
open: 8.4.0
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
tslib: 2.5.3
|
tslib: 2.6.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@playwright/test@1.35.1:
|
/@playwright/test@1.35.1:
|
||||||
|
@ -7721,7 +7805,7 @@ packages:
|
||||||
/@swc/helpers@0.4.14:
|
/@swc/helpers@0.4.14:
|
||||||
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
|
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.5.3
|
tslib: 2.6.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@swc/helpers@0.5.2:
|
/@swc/helpers@0.5.2:
|
||||||
|
@ -9517,7 +9601,7 @@ packages:
|
||||||
resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
|
resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.5.3
|
tslib: 2.6.2
|
||||||
|
|
||||||
/astral-regex@2.0.0:
|
/astral-regex@2.0.0:
|
||||||
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
|
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
|
||||||
|
@ -19350,6 +19434,48 @@ packages:
|
||||||
resolution: {integrity: sha1-yobR/ogoFpsBICCOPchCS524NCw=}
|
resolution: {integrity: sha1-yobR/ogoFpsBICCOPchCS524NCw=}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/next@13.5.3(@babel/core@7.18.0)(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0)(sass@1.54.0):
|
||||||
|
resolution: {integrity: sha512-4Nt4HRLYDW/yRpJ/QR2t1v63UOMS55A38dnWv3UDOWGezuY0ZyFO1ABNbD7mulVzs9qVhgy2+ppjdsANpKP1mg==}
|
||||||
|
engines: {node: '>=16.14.0'}
|
||||||
|
hasBin: true
|
||||||
|
peerDependencies:
|
||||||
|
'@opentelemetry/api': ^1.1.0
|
||||||
|
react: ^18.2.0
|
||||||
|
react-dom: ^18.2.0
|
||||||
|
sass: ^1.3.0
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@opentelemetry/api':
|
||||||
|
optional: true
|
||||||
|
sass:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
'@next/env': 13.5.3
|
||||||
|
'@opentelemetry/api': 1.4.1
|
||||||
|
'@swc/helpers': 0.5.2
|
||||||
|
busboy: 1.6.0
|
||||||
|
caniuse-lite: 1.0.30001406
|
||||||
|
postcss: 8.4.14
|
||||||
|
react: 18.2.0
|
||||||
|
react-dom: 18.2.0(react@18.2.0)
|
||||||
|
sass: 1.54.0
|
||||||
|
styled-jsx: 5.1.1(@babel/core@7.18.0)(react@18.2.0)
|
||||||
|
watchpack: 2.4.0
|
||||||
|
zod: 3.21.4
|
||||||
|
optionalDependencies:
|
||||||
|
'@next/swc-darwin-arm64': 13.5.3
|
||||||
|
'@next/swc-darwin-x64': 13.5.3
|
||||||
|
'@next/swc-linux-arm64-gnu': 13.5.3
|
||||||
|
'@next/swc-linux-arm64-musl': 13.5.3
|
||||||
|
'@next/swc-linux-x64-gnu': 13.5.3
|
||||||
|
'@next/swc-linux-x64-musl': 13.5.3
|
||||||
|
'@next/swc-win32-arm64-msvc': 13.5.3
|
||||||
|
'@next/swc-win32-ia32-msvc': 13.5.3
|
||||||
|
'@next/swc-win32-x64-msvc': 13.5.3
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@babel/core'
|
||||||
|
- babel-plugin-macros
|
||||||
|
dev: false
|
||||||
|
|
||||||
/nice-try@1.0.5:
|
/nice-try@1.0.5:
|
||||||
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
|
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -22765,7 +22891,7 @@ packages:
|
||||||
ast-types: 0.14.2
|
ast-types: 0.14.2
|
||||||
esprima: 4.0.1
|
esprima: 4.0.1
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
tslib: 2.5.3
|
tslib: 2.6.2
|
||||||
|
|
||||||
/rechoir@0.6.2:
|
/rechoir@0.6.2:
|
||||||
resolution: {integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=}
|
resolution: {integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=}
|
||||||
|
@ -23536,7 +23662,7 @@ packages:
|
||||||
/rxjs@7.8.1:
|
/rxjs@7.8.1:
|
||||||
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
|
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.5.3
|
tslib: 2.6.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/sade@1.7.4:
|
/sade@1.7.4:
|
||||||
|
@ -23585,7 +23711,7 @@ packages:
|
||||||
/safer-buffer@2.1.2:
|
/safer-buffer@2.1.2:
|
||||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||||
|
|
||||||
/sass-loader@12.4.0(sass@1.54.0)(webpack@5.86.0):
|
/sass-loader@12.4.0(webpack@5.86.0):
|
||||||
resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==}
|
resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==}
|
||||||
engines: {node: '>= 12.13.0'}
|
engines: {node: '>= 12.13.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
@ -23603,7 +23729,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
klona: 2.0.4
|
klona: 2.0.4
|
||||||
neo-async: 2.6.2
|
neo-async: 2.6.2
|
||||||
sass: 1.54.0
|
|
||||||
webpack: 5.86.0(@swc/core@1.3.85)
|
webpack: 5.86.0(@swc/core@1.3.85)
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -24852,7 +24977,7 @@ packages:
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@pkgr/utils': 2.3.1
|
'@pkgr/utils': 2.3.1
|
||||||
tslib: 2.5.3
|
tslib: 2.6.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/table@6.8.0:
|
/table@6.8.0:
|
||||||
|
@ -25399,6 +25524,7 @@ packages:
|
||||||
|
|
||||||
/tslib@2.5.3:
|
/tslib@2.5.3:
|
||||||
resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
|
resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/tslib@2.6.2:
|
/tslib@2.6.2:
|
||||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||||
|
@ -26859,9 +26985,9 @@ packages:
|
||||||
/zwitch@2.0.4:
|
/zwitch@2.0.4:
|
||||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||||
|
|
||||||
'@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230922.2(react-refresh@0.12.0)(webpack@5.86.0)':
|
'@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230928.3(react-refresh@0.12.0)(webpack@5.86.0)':
|
||||||
resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230922.2}
|
resolution: {tarball: https://gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230928.3}
|
||||||
id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230922.2'
|
id: '@gitpkg-fork.vercel.sh/vercel/turbo/crates/turbopack-ecmascript-runtime/js?turbopack-230928.3'
|
||||||
name: '@vercel/turbopack-ecmascript-runtime'
|
name: '@vercel/turbopack-ecmascript-runtime'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
|
@ -115,7 +115,7 @@ describe('jsconfig-path-reloading', () => {
|
||||||
await check(async () => {
|
await check(async () => {
|
||||||
const html3 = await browser.eval('document.documentElement.innerHTML')
|
const html3 = await browser.eval('document.documentElement.innerHTML')
|
||||||
return html3.includes('id="first-data"') &&
|
return html3.includes('id="first-data"') &&
|
||||||
!html3.includes('id="second-data"')
|
!html3.includes('second-data')
|
||||||
? 'success'
|
? 'success'
|
||||||
: html3
|
: html3
|
||||||
}, 'success')
|
}, 'success')
|
||||||
|
|
Loading…
Reference in a new issue