Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Turbopack] improve hmr stability #69978

Conversation

sokra
Copy link
Member

@sokra sokra commented Sep 11, 2024

What?

avoid race condition in hmr by using strongly consistent reads

Copy link
Member Author

sokra commented Sep 11, 2024

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sokra and the rest of your teammates on Graphite Graphite

@sokra sokra changed the title improve hmr stability [Turbopack] improve hmr stability Sep 11, 2024
@sokra sokra marked this pull request as ready for review September 11, 2024 16:21
@ijjk
Copy link
Member

ijjk commented Sep 11, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
buildDuration 18.3s 16.8s N/A
buildDurationCached 9.2s 7.9s N/A
nodeModulesSize 358 MB 358 MB
nextStartRea..uration (ms) 444ms 437ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
1062.HASH.js gzip 169 B 168 B N/A
2cd9da90-HASH.js gzip 52 kB 52 kB N/A
5867-HASH.js gzip 42.5 kB 42.5 kB N/A
8503-HASH.js gzip 5.25 kB 5.25 kB N/A
framework-HASH.js gzip 56.9 kB 56.9 kB N/A
main-app-HASH.js gzip 223 B 224 B N/A
main-HASH.js gzip 32.6 kB 32.6 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 191 B 191 B
amp-HASH.js gzip 511 B 510 B N/A
css-HASH.js gzip 342 B 343 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 265 B 266 B N/A
head-HASH.js gzip 362 B 364 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.4 kB 4.4 kB
index-HASH.js gzip 268 B 267 B N/A
link-HASH.js gzip 2.81 kB 2.81 kB N/A
routerDirect..HASH.js gzip 329 B 327 B N/A
script-HASH.js gzip 398 B 396 B N/A
withRouter-HASH.js gzip 325 B 324 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 5.28 kB 5.28 kB
Client Build Manifests
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
_buildManifest.js gzip 749 B 749 B
Overall change 749 B 749 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
index.html gzip 522 B 523 B N/A
link.html gzip 536 B 536 B
withRouter.html gzip 518 B 518 B
Overall change 1.05 kB 1.05 kB
Edge SSR bundle Size
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 180 kB 180 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
middleware-b..fest.js gzip 671 B 667 B N/A
middleware-r..fest.js gzip 156 B 157 B N/A
middleware.js gzip 29.9 kB 29.9 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
973-experime...dev.js gzip 322 B 322 B
973.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 317 kB 317 kB
app-page-exp..prod.js gzip 125 kB 125 kB
app-page-tur..prod.js gzip 139 kB 139 kB
app-page-tur..prod.js gzip 134 kB 134 kB
app-page.run...dev.js gzip 305 kB 305 kB
app-page.run..prod.js gzip 121 kB 121 kB
app-route-ex...dev.js gzip 31.2 kB 31.2 kB
app-route-ex..prod.js gzip 21.1 kB 21.1 kB
app-route-tu..prod.js gzip 21.1 kB 21.1 kB
app-route-tu..prod.js gzip 20.9 kB 20.9 kB
app-route.ru...dev.js gzip 32.9 kB 32.9 kB
app-route.ru..prod.js gzip 20.9 kB 20.9 kB
pages-api-tu..prod.js gzip 9.62 kB 9.62 kB
pages-api.ru...dev.js gzip 11.5 kB 11.5 kB
pages-api.ru..prod.js gzip 9.61 kB 9.61 kB
pages-turbo...prod.js gzip 20.8 kB 20.8 kB
pages.runtim...dev.js gzip 26.4 kB 26.4 kB
pages.runtim..prod.js gzip 20.8 kB 20.8 kB
server.runti..prod.js gzip 57.7 kB 57.7 kB
Overall change 1.45 MB 1.45 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra/hmr-stability Change
0.pack gzip 1.65 MB 1.65 MB ⚠️ +1.16 kB
index.pack gzip 132 kB 131 kB N/A
Overall change 1.65 MB 1.65 MB ⚠️ +1.16 kB
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
       /***/
     },
 
-    /***/ 7492: /***/ (
+    /***/ 1690: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -30,7 +30,7 @@
         default: () => /* binding */ nHandler,
       });
 
-      // NAMESPACE OBJECT: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsbkogrb%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+      // NAMESPACE OBJECT: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsbkogrb%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
       var page_next_edge_ssr_entry_namespaceObject = {};
       __webpack_require__.r(page_next_edge_ssr_entry_namespaceObject);
       __webpack_require__.d(page_next_edge_ssr_entry_namespaceObject, {
@@ -69,35 +69,35 @@
         tree: () => tree,
       });
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/web/globals.js
-      var globals = __webpack_require__(578);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
-      var adapter = __webpack_require__(8519);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
-      var render = __webpack_require__(2492);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
-      var incremental_cache = __webpack_require__(729);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/app-render.js + 74 modules
-      var app_render = __webpack_require__(1993);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
-      var module_compiled = __webpack_require__(7055);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/route-kind.js
-      var route_kind = __webpack_require__(1384);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/client/components/error-boundary.js
-      var error_boundary = __webpack_require__(8292);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
-      var entry_base = __webpack_require__(9147); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsbkogrb%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/web/globals.js
+      var globals = __webpack_require__(1603);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+      var adapter = __webpack_require__(6148);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
+      var render = __webpack_require__(301);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+      var incremental_cache = __webpack_require__(6802);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/app-render.js + 74 modules
+      var app_render = __webpack_require__(1887);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
+      var module_compiled = __webpack_require__(6217);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/route-kind.js
+      var route_kind = __webpack_require__(8636);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/client/components/error-boundary.js
+      var error_boundary = __webpack_require__(746);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
+      var entry_base = __webpack_require__(6729); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsbkogrb%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
       const component0 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 6908)
+          __webpack_require__.bind(__webpack_require__, 176)
         );
       const component1 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 4482)
+          __webpack_require__.bind(__webpack_require__, 5078)
         );
       const page2 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 3073)
+          __webpack_require__.bind(__webpack_require__, 2934)
         );
 
       // We inject the tree and pages here so that we can use them in the route
@@ -163,12 +163,12 @@
       });
 
       //# sourceMappingURL=app-page.js.map
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/lib/page-types.js
-      var page_types = __webpack_require__(5067);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/encryption-utils.js
-      var encryption_utils = __webpack_require__(9845);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/action-utils.js
-      var action_utils = __webpack_require__(4670); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzYmtvZ3JiL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR1cmJvIjp7InJvb3QiOiIvdG1wL25leHQtc3RhdHNia29ncmIvc3RhdHMtYXBwIn0sInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6ZmFsc2UsInVzZUVhcmx5SW1wb3J0IjpmYWxzZSwic3RhbGVUaW1lcyI6eyJkeW5hbWljIjowLCJzdGF0aWMiOjMwMH0sImFmdGVyIjpmYWxzZSwic2VydmVyQ29tcG9uZW50c0htckNhY2hlIjp0cnVlLCJzdGF0aWNHZW5lcmF0aW9uTWF4Q29uY3VycmVuY3kiOjgsInN0YXRpY0dlbmVyYXRpb25NaW5QYWdlc1BlcldvcmtlciI6MjUsImR5bmFtaWNJTyI6ZmFsc2UsIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJlZmZlY3QiLCJAZWZmZWN0L3NjaGVtYSIsIkBlZmZlY3QvcGxhdGZvcm0iLCJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiLCJAZWZmZWN0L3BsYXRmb3JtLWJyb3dzZXIiLCJAZWZmZWN0L3BsYXRmb3JtLWJ1biIsIkBlZmZlY3Qvc3FsIiwiQGVmZmVjdC9zcWwtbXNzcWwiLCJAZWZmZWN0L3NxbC1teXNxbDIiLCJAZWZmZWN0L3NxbC1wZyIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtbm9kZSIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtYnVuIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS13YXNtIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1yZWFjdC1uYXRpdmUiLCJAZWZmZWN0L3JwYyIsIkBlZmZlY3QvcnBjLWh0dHAiLCJAZWZmZWN0L3R5cGVjbGFzcyIsIkBlZmZlY3QvZXhwZXJpbWVudGFsIiwiQGVmZmVjdC9vcGVudGVsZW1ldHJ5IiwiQG1hdGVyaWFsLXVpL2NvcmUiLCJAbWF0ZXJpYWwtdWkvaWNvbnMiLCJAdGFibGVyL2ljb25zLXJlYWN0IiwibXVpLWNvcmUiLCJyZWFjdC1pY29ucy9haSIsInJlYWN0LWljb25zL2JpIiwicmVhY3QtaWNvbnMvYnMiLCJyZWFjdC1pY29ucy9jZyIsInJlYWN0LWljb25zL2NpIiwicmVhY3QtaWNvbnMvZGkiLCJyZWFjdC1pY29ucy9mYSIsInJlYWN0LWljb25zL2ZhNiIsInJlYWN0LWljb25zL2ZjIiwicmVhY3QtaWNvbnMvZmkiLCJyZWFjdC1pY29ucy9naSIsInJlYWN0LWljb25zL2dvIiwicmVhY3QtaWNvbnMvZ3IiLCJyZWFjdC1pY29ucy9oaSIsInJlYWN0LWljb25zL2hpMiIsInJlYWN0LWljb25zL2ltIiwicmVhY3QtaWNvbnMvaW8iLCJyZWFjdC1pY29ucy9pbzUiLCJyZWFjdC1pY29ucy9saWEiLCJyZWFjdC1pY29ucy9saWIiLCJyZWFjdC1pY29ucy9sdSIsInJlYWN0LWljb25zL21kIiwicmVhY3QtaWNvbnMvcGkiLCJyZWFjdC1pY29ucy9yaSIsInJlYWN0LWljb25zL3J4IiwicmVhY3QtaWNvbnMvc2kiLCJyZWFjdC1pY29ucy9zbCIsInJlYWN0LWljb25zL3RiIiwicmVhY3QtaWNvbnMvdGZpIiwicmVhY3QtaWNvbnMvdGkiLCJyZWFjdC1pY29ucy92c2MiLCJyZWFjdC1pY29ucy93aSJdfSwiYnVuZGxlUGFnZXNSb3V0ZXJEZXBlbmRlbmNpZXMiOmZhbHNlLCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzYmtvZ3JiL3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzYmtvZ3JiJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/lib/page-types.js
+      var page_types = __webpack_require__(7743);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+      var encryption_utils = __webpack_require__(659);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/action-utils.js
+      var action_utils = __webpack_require__(778); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzYmtvZ3JiL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR1cmJvIjp7InJvb3QiOiIvdG1wL25leHQtc3RhdHNia29ncmIvc3RhdHMtYXBwIn0sInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6ZmFsc2UsInVzZUVhcmx5SW1wb3J0IjpmYWxzZSwic3RhbGVUaW1lcyI6eyJkeW5hbWljIjowLCJzdGF0aWMiOjMwMH0sImFmdGVyIjpmYWxzZSwic2VydmVyQ29tcG9uZW50c0htckNhY2hlIjp0cnVlLCJzdGF0aWNHZW5lcmF0aW9uTWF4Q29uY3VycmVuY3kiOjgsInN0YXRpY0dlbmVyYXRpb25NaW5QYWdlc1BlcldvcmtlciI6MjUsImR5bmFtaWNJTyI6ZmFsc2UsIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJlZmZlY3QiLCJAZWZmZWN0L3NjaGVtYSIsIkBlZmZlY3QvcGxhdGZvcm0iLCJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiLCJAZWZmZWN0L3BsYXRmb3JtLWJyb3dzZXIiLCJAZWZmZWN0L3BsYXRmb3JtLWJ1biIsIkBlZmZlY3Qvc3FsIiwiQGVmZmVjdC9zcWwtbXNzcWwiLCJAZWZmZWN0L3NxbC1teXNxbDIiLCJAZWZmZWN0L3NxbC1wZyIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtbm9kZSIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtYnVuIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS13YXNtIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1yZWFjdC1uYXRpdmUiLCJAZWZmZWN0L3JwYyIsIkBlZmZlY3QvcnBjLWh0dHAiLCJAZWZmZWN0L3R5cGVjbGFzcyIsIkBlZmZlY3QvZXhwZXJpbWVudGFsIiwiQGVmZmVjdC9vcGVudGVsZW1ldHJ5IiwiQG1hdGVyaWFsLXVpL2NvcmUiLCJAbWF0ZXJpYWwtdWkvaWNvbnMiLCJAdGFibGVyL2ljb25zLXJlYWN0IiwibXVpLWNvcmUiLCJyZWFjdC1pY29ucy9haSIsInJlYWN0LWljb25zL2JpIiwicmVhY3QtaWNvbnMvYnMiLCJyZWFjdC1pY29ucy9jZyIsInJlYWN0LWljb25zL2NpIiwicmVhY3QtaWNvbnMvZGkiLCJyZWFjdC1pY29ucy9mYSIsInJlYWN0LWljb25zL2ZhNiIsInJlYWN0LWljb25zL2ZjIiwicmVhY3QtaWNvbnMvZmkiLCJyZWFjdC1pY29ucy9naSIsInJlYWN0LWljb25zL2dvIiwicmVhY3QtaWNvbnMvZ3IiLCJyZWFjdC1pY29ucy9oaSIsInJlYWN0LWljb25zL2hpMiIsInJlYWN0LWljb25zL2ltIiwicmVhY3QtaWNvbnMvaW8iLCJyZWFjdC1pY29ucy9pbzUiLCJyZWFjdC1pY29ucy9saWEiLCJyZWFjdC1pY29ucy9saWIiLCJyZWFjdC1pY29ucy9sdSIsInJlYWN0LWljb25zL21kIiwicmVhY3QtaWNvbnMvcGkiLCJyZWFjdC1pY29ucy9yaSIsInJlYWN0LWljb25zL3J4IiwicmVhY3QtaWNvbnMvc2kiLCJyZWFjdC1pY29ucy9zbCIsInJlYWN0LWljb25zL3RiIiwicmVhY3QtaWNvbnMvdGZpIiwicmVhY3QtaWNvbnMvdGkiLCJyZWFjdC1pY29ucy92c2MiLCJyZWFjdC1pY29ucy93aSJdfSwiYnVuZGxlUGFnZXNSb3V0ZXJEZXBlbmRlbmNpZXMiOmZhbHNlLCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzYmtvZ3JiL3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzYmtvZ3JiJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
       var _self___RSC_MANIFEST;
 
       const incrementalCacheHandler = null;
@@ -432,50 +432,50 @@
       /***/
     },
 
-    /***/ 8186: /***/ (
+    /***/ 6858: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 8585)
+        __webpack_require__.bind(__webpack_require__, 753)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 9467)
+        __webpack_require__.bind(__webpack_require__, 6866)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1744)
+        __webpack_require__.bind(__webpack_require__, 7099)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 9329)
+        __webpack_require__.bind(__webpack_require__, 2064)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 7969)
+        __webpack_require__.bind(__webpack_require__, 7531)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 4252)
+        __webpack_require__.bind(__webpack_require__, 8704)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5685)
+        __webpack_require__.bind(__webpack_require__, 1335)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 853)
+        __webpack_require__.bind(__webpack_require__, 2618)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1843)
+        __webpack_require__.bind(__webpack_require__, 7794)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 8149)
+        __webpack_require__.bind(__webpack_require__, 7094)
       );
 
       /***/
     },
 
-    /***/ 5315: /***/ () => {
+    /***/ 9641: /***/ () => {
       /***/
     },
 
-    /***/ 3073: /***/ (
+    /***/ 2934: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -495,7 +495,7 @@
       /***/
     },
 
-    /***/ 6908: /***/ (
+    /***/ 176: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -507,7 +507,7 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(7669);
+        __webpack_require__(2843);
 
       function RootLayout({ children }) {
         return /*#__PURE__*/ (0,
@@ -526,7 +526,7 @@
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ __webpack_require__.O(0, [319, 704], () => __webpack_exec__(7492));
+    /******/ __webpack_require__.O(0, [819, 397], () => __webpack_exec__(1690));
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ (_ENTRIES = typeof _ENTRIES === "undefined" ? {} : _ENTRIES)[
       "middleware_app/app-edge-ssr/page"
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for image-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [8358],
   {
-    /***/ 8908: /***/ (
+    /***/ 8176: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(2111);
+          return __webpack_require__(934);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6308: /***/ (module, exports, __webpack_require__) => {
+    /***/ 5057: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -40,17 +40,17 @@
         __webpack_require__(1955)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2383)
+        __webpack_require__(7163)
       );
-      const _getimgprops = __webpack_require__(5640);
-      const _imageconfig = __webpack_require__(2758);
-      const _imageconfigcontextsharedruntime = __webpack_require__(899);
-      const _warnonce = __webpack_require__(3878);
-      const _routercontextsharedruntime = __webpack_require__(869);
+      const _getimgprops = __webpack_require__(5447);
+      const _imageconfig = __webpack_require__(1650);
+      const _imageconfigcontextsharedruntime = __webpack_require__(1953);
+      const _warnonce = __webpack_require__(5054);
+      const _routercontextsharedruntime = __webpack_require__(4445);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6501)
+        __webpack_require__(7406)
       );
-      const _usemergedref = __webpack_require__(3994);
+      const _usemergedref = __webpack_require__(3303);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -371,7 +371,7 @@
       /***/
     },
 
-    /***/ 3994: /***/ (module, exports, __webpack_require__) => {
+    /***/ 3303: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -440,7 +440,7 @@
       /***/
     },
 
-    /***/ 5640: /***/ (
+    /***/ 5447: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -456,9 +456,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(3878);
-      const _imageblursvg = __webpack_require__(4317);
-      const _imageconfig = __webpack_require__(2758);
+      const _warnonce = __webpack_require__(5054);
+      const _imageblursvg = __webpack_require__(1731);
+      const _imageconfig = __webpack_require__(1650);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -830,7 +830,7 @@
       /***/
     },
 
-    /***/ 4317: /***/ (__unused_webpack_module, exports) => {
+    /***/ 1731: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -885,7 +885,7 @@
       /***/
     },
 
-    /***/ 8580: /***/ (
+    /***/ 9833: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -912,10 +912,10 @@
         },
       });
       const _interop_require_default = __webpack_require__(9608);
-      const _getimgprops = __webpack_require__(5640);
-      const _imagecomponent = __webpack_require__(6308);
+      const _getimgprops = __webpack_require__(5447);
+      const _imagecomponent = __webpack_require__(5057);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6501)
+        __webpack_require__(7406)
       );
       function getImageProps(imgProps) {
         const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -947,7 +947,7 @@
       /***/
     },
 
-    /***/ 6501: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7406: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -982,7 +982,7 @@
       /***/
     },
 
-    /***/ 2111: /***/ (
+    /***/ 934: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -999,8 +999,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-rc-7771d3a7-20240827/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(5815);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/image.js
-      var next_image = __webpack_require__(1878);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/image.js
+      var next_image = __webpack_require__(7649);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ const nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1030,12 +1030,12 @@
       /***/
     },
 
-    /***/ 1878: /***/ (
+    /***/ 7649: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(8580);
+      module.exports = __webpack_require__(9833);
 
       /***/
     },
@@ -1045,7 +1045,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
-      __webpack_exec__(8908)
+      __webpack_exec__(8176)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 5867-HASH.js

Diff too large to display

Commit: 55a43c7

@sokra sokra added the CI Bypass Graphite Optimization Ignore Graphite CI optimizations, run the full CI suite. https://graphite.dev/docs/stacking-and-ci label Sep 11, 2024
@sokra sokra force-pushed the wbinnssmith/hmr-version-map-allow-missing-asset branch from 040d33b to 68e2692 Compare September 11, 2024 19:18
@sokra sokra force-pushed the sokra/hmr-stability branch from 55a43c7 to 99e2687 Compare September 11, 2024 19:18
@ijjk
Copy link
Member

ijjk commented Sep 11, 2024

Failing test suites

Commit: 99e2687

TURBOPACK=1 pnpm test test/integration/middleware-dev-update/test/index.test.js (turbopack)

  • Middleware development errors > when middleware is removed > sends response correctly
Expand output

● Middleware development errors › when middleware is removed › sends response correctly

expect(received).not.toContain(expected) // indexOf

Expected substring: not "error"
Received string:        "PageNotFoundError: Cannot find module for page: /middleware

  260 |         pagePath = await (0, _findpagefile.findPageFile)(rootDir, normalizedPagePath, extensions, false);
  261 |         if (!pagePath) {
> 262 |             throw new _utils1.PageNotFoundError(normalizedPagePath);
      |                   ^
  263 |         }
  264 |         const pageUrl = (0, _ensureleadingslash.ensureLeadingSlash)((0, _removepagepathtail.removePagePathTail)((0, _normalizepathsep.normalizePathSep)(pagePath), {
  265 |             extensions

  at findPagePathData (../packages/next/dist/server/dev/on-demand-entry-handler.js:262:19)
  at async Object.ensurePage (../packages/next/dist/server/dev/hot-reloader-turbopack.js:660:42)
  at async handleRoute (../packages/next/dist/server/lib/router-utils/resolve-routes.js:297:29)
  at async resolveRoutes (../packages/next/dist/server/lib/router-utils/resolve-routes.js:547:28)
  at async handleRequest (../packages/next/dist/server/lib/router-server.js:220:96)
  at async requestHandlerImpl (../packages/next/dist/server/lib/router-server.js:384:13)
  at async Server.requestListener (../packages/next/dist/server/lib/start-server.js:142:13) {
    code: 'ENOENT'
  }
  FATAL: An unexpected Turbopack error occurred. Please report the content of /tmp/next-panic-df6377ff07cf0c1db04bc335f6d3b095.log to https://github.com/vercel/next.js/issues/new
  [Error: Cell doesn't exist
  Debug info:
  - Execution of get_written_endpoint_with_issues failed
  - Execution of <MiddlewareEndpoint as Endpoint>::write_to_disk failed
  - Cell doesn't exist] {
    name: 'TurbopackInternalError'
  }
  "
  at Object.toContain (integration/middleware-dev-update/test/index.test.js:70:39)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/app-document-remove-hmr/test/index.test.js (turbopack)

  • _app removal HMR > should HMR when _app is removed
Expand output

● _app removal HMR › should HMR when _app is removed

TIMED OUT: success

<head><meta charset="utf-8" data-next-head=""><meta name="viewport" content="width=device-width" data-next-head=""><noscript data-n-css=""></noscript><script src="/_next/static/chunks/%5Broot%20of%20the%20server%5D__acc400._.js" defer=""></script><script src="/_next/static/chunks/08b5e__pnpm_f27502._.js" defer=""></script><script src="/_next/static/chunks/pages__app_5771e1._.js" defer=""></script><script src="/_next/static/chunks/pages__app_006ec2._.js" defer=""></script><script src="/_next/static/chunks/%5Broot%20of%20the%20server%5D__35c167._.js" defer=""></script><script src="/_next/static/chunks/pages_index_5771e1._.js" defer=""></script><script src="/_next/static/chunks/pages_index_f38a40._.js" defer=""></script><script src="/_next/static/development/_ssgManifest.js" defer=""></script><script src="/_next/static/development/_buildManifest.js" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><p>custom _document</p><div id="__next"><p>custom _app</p><p>index page</p></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"development","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script><div id="__next-build-watcher" style="position: fixed; bottom: 10px; right: 20px; width: 0px; height: 0px; z-index: 99999;"></div><next-route-announcer><p aria-live="assertive" id="__next-route-announcer__" role="alert" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 1px; white-space: nowrap; overflow-wrap: normal;"></p></next-route-announcer></body>

undefined

  718 |
  719 |   if (hardError) {
> 720 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  721 |   }
  722 |   return false
  723 | }

  at check (lib/next-test-utils.ts:720:11)
  at Object.<anonymous> (integration/app-document-remove-hmr/test/index.test.js:33:7)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/development/typescript-auto-install/index.test.ts (turbopack)

  • typescript-auto-install > should detect TypeScript being added and auto setup
Expand output

● typescript-auto-install › should detect TypeScript being added and auto setup

TIMED OUT: /hello again/

<head><meta charset="utf-8" data-next-head=""><meta name="viewport" content="width=device-width" data-next-head=""><noscript data-n-css=""></noscript><script src="/_next/static/chunks/%5Broot%20of%20the%20server%5D__9b76db._.js" defer=""></script><script src="/_next/static/chunks/18724_react-dom_41482d._.js" defer=""></script><script src="/_next/static/chunks/node_modules__pnpm_4ea965._.js" defer=""></script><script src="/_next/static/chunks/%5Broot%20of%20the%20server%5D__f265a1._.js" defer=""></script><script src="/_next/static/chunks/pages__app_5771e1._.js" defer=""></script><script src="/_next/static/chunks/pages__app_689117._.js" defer=""></script><script src="/_next/static/chunks/8d9ec_next_dist_e5c608._.js" defer=""></script><script src="/_next/static/chunks/ea117_react_23ae33._.js" defer=""></script><script src="/_next/static/chunks/node_modules__pnpm_7da1d3._.js" defer=""></script><script src="/_next/static/chunks/%5Broot%20of%20the%20server%5D__13f17c._.js" defer=""></script><script src="/_next/static/chunks/pages_index_5771e1._.js" defer=""></script><script src="/_next/static/chunks/pages_index_e697c3._.js" defer=""></script><script src="/_next/static/development/_ssgManifest.js" defer=""></script><script src="/_next/static/development/_buildManifest.js" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"><p>hello world</p></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"development","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script><div id="__next-build-watcher" style="position: fixed; bottom: 10px; right: 20px; width: 0px; height: 0px; z-index: 99999;"></div><next-route-announcer><p aria-live="assertive" id="__next-route-announcer__" role="alert" style="border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 1px; white-space: nowrap; overflow-wrap: normal;"></p></next-route-announcer></body>

undefined

  718 |
  719 |   if (hardError) {
> 720 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  721 |   }
  722 |   return false
  723 | }

  at check (lib/next-test-utils.ts:720:11)
  at Object.<anonymous> (development/typescript-auto-install/index.test.ts:63:5)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-static/app-static-custom-handler.test.ts (turbopack)

  • app-dir static/dynamic handling > should use auto no cache when no fetch config
  • app-dir static/dynamic handling > should still cache even though the traceparent header was different
  • app-dir static/dynamic handling > should warn for too many cache tags
  • app-dir static/dynamic handling > should propagate unstable_cache tags correctly
  • app-dir static/dynamic handling > should infer a fetchCache of force-no-store when force-dynamic is used
  • app-dir static/dynamic handling > force-dynamic should supercede a "default" cache value
  • app-dir static/dynamic handling > fetchCache config should supercede dynamic config when force-dynamic is used
  • app-dir static/dynamic handling > fetch cache should supercede dynamic config when force-dynamic is used
  • app-dir static/dynamic handling > should correctly include headers instance in cache key
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-node
  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-edge
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-node
  • app-dir static/dynamic handling > unstable-cache should work in pages/api/unstable-cache-edge
  • app-dir static/dynamic handling > should not have cache tags header for non-minimal mode
  • app-dir static/dynamic handling > should correctly skip caching POST fetch for POST handler
  • app-dir static/dynamic handling > should correctly handle fetchCache = "force-no-store"
  • app-dir static/dynamic handling > should not cache non-ok statusCode
  • app-dir static/dynamic handling > should have correct prerender-manifest entries
  • app-dir static/dynamic handling > should output debug info for static bailouts
  • app-dir static/dynamic handling > should log fetch metrics to the diagnostics directory
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/app-page
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving/route-handler
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/app-page
  • app-dir static/dynamic handling > should stream properly for /stale-cache-serving-edge/route-handler
  • app-dir static/dynamic handling > should correctly handle statusCode with notFound + ISR
  • app-dir static/dynamic handling > should cache correctly for fetchCache = default-cache
  • app-dir static/dynamic handling > should cache correctly when accessing search params opts into dynamic rendering
  • app-dir static/dynamic handling > should cache correctly for fetchCache = force-cache
  • app-dir static/dynamic handling > should cache correctly for cache: no-store
  • app-dir static/dynamic handling > should not error with dynamic server usage with force-static
  • app-dir static/dynamic handling > should produce response with url from fetch
  • app-dir static/dynamic handling > should properly error when dynamic = "error" page uses dynamic
  • app-dir static/dynamic handling > should skip cache in draft mode
  • app-dir static/dynamic handling > should handle partial-gen-params with default dynamicParams correctly
  • app-dir static/dynamic handling > should handle partial-gen-params with layout dynamicParams = false correctly
  • app-dir static/dynamic handling > should handle partial-gen-params with page dynamicParams = false correctly
  • app-dir static/dynamic handling > should honor fetch cache correctly
  • app-dir static/dynamic handling > should honor fetch cache correctly (edge)
  • app-dir static/dynamic handling > should cache correctly with authorization header and revalidate
  • app-dir static/dynamic handling > should skip fetch cache when an authorization header is present after dynamic usage
  • app-dir static/dynamic handling > should skip fetch cache when accessing request properties
  • app-dir static/dynamic handling > should not cache correctly with POST method request init
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate
  • app-dir static/dynamic handling > should cache correctly with post method and revalidate edge
  • app-dir static/dynamic handling > should cache correctly with POST method and revalidate
  • app-dir static/dynamic handling > should cache correctly with cookie header and revalidate
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding
  • app-dir static/dynamic handling > should cache correctly with utf8 encoding edge
  • app-dir static/dynamic handling > should cache correctly handle JSON body
  • app-dir static/dynamic handling > should not throw Dynamic Server Usage error when using generateStaticParams with draftMode
  • app-dir static/dynamic handling > should force SSR correctly for headers usage
  • app-dir static/dynamic handling > should allow dynamic routes to access cookies
  • app-dir static/dynamic handling > should not error with generateStaticParams and dynamic data
  • app-dir static/dynamic handling > should not error with force-dynamic and catch-all routes
  • app-dir static/dynamic handling > should not error with generateStaticParams and authed data on revalidate
  • app-dir static/dynamic handling > should work with forced dynamic path
  • app-dir static/dynamic handling > should work with dynamic path no generateStaticParams
  • app-dir static/dynamic handling > should handle dynamicParams: true correctly
  • app-dir static/dynamic handling > should ssr dynamically when detected automatically with fetch cache option
  • app-dir static/dynamic handling > should render not found pages correctly and fallback to the default one
  • app-dir static/dynamic handling > should ssr dynamically when forced via config
  • app-dir static/dynamic handling > should keep querystring on static page
  • app-dir static/dynamic handling > should have logs from cache-handler
  • app-dir static/dynamic handling > should build dynamic param with edge runtime correctly
  • app-dir static/dynamic handling > Incremental cache limits > should cache large data when using custom cache handler and force-cache mode
  • app-dir static/dynamic handling > unstable_cache > should retrieve the same value on second request
  • app-dir static/dynamic handling > unstable_cache > should bypass cache in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not cache new result in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not error when retrieving the value undefined
  • app-dir static/dynamic handling > unstable_cache > should not error when calling a fetch no-store
  • app-dir static/dynamic handling > unstable_cache > should not error when calling a fetch no-cache
  • app-dir static/dynamic handling > unstable_noStore > should opt-out of static optimization
  • app-dir static/dynamic handling > unstable_noStore > should not opt-out of static optimization when used in next/cache
  • app-dir static/dynamic handling > usePathname > should have the correct values
  • app-dir static/dynamic handling > usePathname > should have values from canonical url on rewrite
  • app-dir static/dynamic handling > useSearchParams > client > should bailout to client rendering - with suspense boundary
  • app-dir static/dynamic handling > useSearchParams > client > should have values from canonical url on rewrite
  • app-dir static/dynamic handling > useSearchParams > server response > should bailout to client rendering - with suspense boundary
Expand output

● app-dir static/dynamic handling › should use auto no cache when no fetch config

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should use auto no cache when no fetch config

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should still cache even though the traceparent header was different

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should still cache even though the traceparent header was different

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should warn for too many cache tags

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should warn for too many cache tags

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should propagate unstable_cache tags correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should propagate unstable_cache tags correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should infer a fetchCache of force-no-store when force-dynamic is used

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should infer a fetchCache of force-no-store when force-dynamic is used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › force-dynamic should supercede a "default" cache value

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › force-dynamic should supercede a "default" cache value

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › fetchCache config should supercede dynamic config when force-dynamic is used

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › fetchCache config should supercede dynamic config when force-dynamic is used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › fetch cache should supercede dynamic config when force-dynamic is used

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › fetch cache should supercede dynamic config when force-dynamic is used

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should correctly include headers instance in cache key

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly include headers instance in cache key

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-node

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-edge

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly de-dupe fetch without next cache /react-fetch-deduping-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-node

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-node

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-node

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-edge

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable-cache should work in pages/api/unstable-cache-edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not have cache tags header for non-minimal mode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not have cache tags header for non-minimal mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should correctly skip caching POST fetch for POST handler

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly skip caching POST fetch for POST handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should correctly handle fetchCache = "force-no-store"

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly handle fetchCache = "force-no-store"

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not cache non-ok statusCode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not cache non-ok statusCode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should output HTML/RSC files for static paths

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should output HTML/RSC files for static paths

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should have correct prerender-manifest entries

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should have correct prerender-manifest entries

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should output debug info for static bailouts

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should output debug info for static bailouts

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should log fetch metrics to the diagnostics directory

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should log fetch metrics to the diagnostics directory

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/app-page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/app-page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/route-handler

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving/route-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/app-page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/app-page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/route-handler

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should stream properly for /stale-cache-serving-edge/route-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should correctly handle statusCode with notFound + ISR

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should correctly handle statusCode with notFound + ISR

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly for fetchCache = default-cache

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for fetchCache = default-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly when accessing search params opts into dynamic rendering

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly when accessing search params opts into dynamic rendering

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly for fetchCache = force-cache

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for fetchCache = force-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly for cache: no-store

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly for cache: no-store

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not error with dynamic server usage with force-static

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with dynamic server usage with force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should produce response with url from fetch

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should produce response with url from fetch

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should properly error when dynamic = "error" page uses dynamic

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should properly error when dynamic = "error" page uses dynamic

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should skip cache in draft mode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should skip cache in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should handle partial-gen-params with default dynamicParams correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle partial-gen-params with default dynamicParams correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should handle partial-gen-params with layout dynamicParams = false correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle partial-gen-params with layout dynamicParams = false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should handle partial-gen-params with page dynamicParams = false correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle partial-gen-params with page dynamicParams = false correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should honor fetch cache correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should honor fetch cache correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should honor fetch cache correctly (edge)

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should honor fetch cache correctly (edge)

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with authorization header and revalidate

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with authorization header and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should skip fetch cache when an authorization header is present after dynamic usage

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should skip fetch cache when an authorization header is present after dynamic usage

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should skip fetch cache when accessing request properties

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should skip fetch cache when accessing request properties

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not cache correctly with POST method request init

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not cache correctly with POST method request init

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate edge

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with post method and revalidate edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with POST method and revalidate

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with POST method and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with cookie header and revalidate

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with cookie header and revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding edge

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly with utf8 encoding edge

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should cache correctly handle JSON body

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should cache correctly handle JSON body

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not throw Dynamic Server Usage error when using generateStaticParams with draftMode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not throw Dynamic Server Usage error when using generateStaticParams with draftMode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should force SSR correctly for headers usage

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should force SSR correctly for headers usage

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should allow dynamic routes to access cookies

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should allow dynamic routes to access cookies

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not error with generateStaticParams and dynamic data

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with generateStaticParams and dynamic data

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not error with force-dynamic and catch-all routes

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with force-dynamic and catch-all routes

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should not error with generateStaticParams and authed data on revalidate

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should not error with generateStaticParams and authed data on revalidate

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should work with forced dynamic path

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should work with forced dynamic path

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should work with dynamic path no generateStaticParams

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should work with dynamic path no generateStaticParams

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should handle dynamicParams: true correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should handle dynamicParams: true correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch cache option

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch cache option

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should render not found pages correctly and fallback to the default one

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should render not found pages correctly and fallback to the default one

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch revalidate option

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should ssr dynamically when detected automatically with fetch revalidate option

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should ssr dynamically when forced via config

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should ssr dynamically when forced via config

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › useSearchParams › client › should bailout to client rendering - with suspense boundary

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › client › should bailout to client rendering - with suspense boundary

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › useSearchParams › client › should have empty search params on force-static

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › client › should have empty search params on force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › useSearchParams › client › should have values from canonical url on rewrite

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › client › should have values from canonical url on rewrite

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › useSearchParams › server response › should bailout to client rendering - with suspense boundary

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › server response › should bailout to client rendering - with suspense boundary

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › useSearchParams › server response › should have empty search params on force-static

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › useSearchParams › server response › should have empty search params on force-static

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › usePathname › should have the correct values

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › usePathname › should have the correct values

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › usePathname › should have values from canonical url on rewrite

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › usePathname › should have values from canonical url on rewrite

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_noStore › should opt-out of static optimization

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_noStore › should opt-out of static optimization

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_noStore › should not opt-out of static optimization when used in next/cache

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_noStore › should not opt-out of static optimization when used in next/cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_cache › should retrieve the same value on second request

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should retrieve the same value on second request

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-store

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-store

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-cache

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › unstable_cache › should not error when calling a fetch no-cache

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should keep querystring on static page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should keep querystring on static page

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should have logs from cache-handler

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should have logs from cache-handler

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › Incremental cache limits › should cache large data when using custom cache handler and force-cache mode

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › Incremental cache limits › should cache large data when using custom cache handler and force-cache mode

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● app-dir static/dynamic handling › should build dynamic param with edge runtime correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-static/app-static.test.ts:18:71
  at Object.describe (e2e/app-dir/app-static/app-static.test.ts:17:1)
  at Object.require (e2e/app-dir/app-static/app-static-custom-handler.test.ts:2:1)

● app-dir static/dynamic handling › should build dynamic param with edge runtime correctly

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.readFile (e2e/app-dir/app-static/app-static.test.ts:36:20)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

Read more about building and testing Next.js in contributing.md.

@sokra sokra force-pushed the wbinnssmith/hmr-version-map-allow-missing-asset branch from 68e2692 to 142ec77 Compare September 12, 2024 07:39
@sokra sokra closed this Sep 12, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CI Bypass Graphite Optimization Ignore Graphite CI optimizations, run the full CI suite. https://graphite.dev/docs/stacking-and-ci created-by: Turbopack team PRs by the Turbopack team. locked Turbopack Related to Turbopack with Next.js.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants