next.js
next.js copied to clipboard
next-upgrade: change `--turbo` to `--turbopack` if applicable
Why?
Release v15.0.1-canary.3 added --turbopack flag and is recommended over --turbo due to confusion with Turborepo. If found on the version above, replace it for the users.
Test Plan
Suggest Turbopack
pnpm test:upgrade-fixture bin/__testfixtures__/suggest-turbopack
"scripts": {
- "dev": "next dev"
+ "dev": "next dev --turbopack"
},
Change --turbo to --turbopack
pnpm test:upgrade-fixture bin/__testfixtures__/change-turbo-to-turbopack
CLI output includes:
✔ Replaced "--turbo" with "--turbopack" in your dev script.
"scripts": {
- "dev": "next dev --turbo"
+ "dev": "next dev --turbopack"
},
Stats from current PR
Default Build (Increase detected ⚠️)
General
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| buildDuration | 20.9s | 16.4s | N/A |
| buildDurationCached | 15.6s | 13.6s | N/A |
| nodeModulesSize | 373 MB | 373 MB | ✓ |
| nextStartRea..uration (ms) | 414ms | 416ms | N/A |
Client Bundles (main, webpack)
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| 2585.HASH.js gzip | 169 B | 169 B | ✓ |
| 7382-HASH.js gzip | 5.27 kB | 5.27 kB | ✓ |
| 850563de-HASH.js gzip | 52.6 kB | 52.6 kB | N/A |
| 9756-HASH.js gzip | 44.6 kB | 44.6 kB | N/A |
| framework-HASH.js gzip | 57.4 kB | 57.4 kB | N/A |
| main-app-HASH.js gzip | 232 B | 233 B | N/A |
| main-HASH.js gzip | 32.8 kB | 32.8 kB | N/A |
| webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
| Overall change | 5.44 kB | 5.44 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 194 B | ✓ |
| _error-HASH.js gzip | 193 B | 192 B | N/A |
| amp-HASH.js gzip | 511 B | 510 B | N/A |
| css-HASH.js gzip | 342 B | 341 B | N/A |
| dynamic-HASH.js gzip | 1.85 kB | 1.84 kB | N/A |
| edge-ssr-HASH.js gzip | 264 B | 266 B | N/A |
| head-HASH.js gzip | 363 B | 361 B | N/A |
| hooks-HASH.js gzip | 392 B | 390 B | N/A |
| image-HASH.js gzip | 4.41 kB | 4.4 kB | N/A |
| index-HASH.js gzip | 268 B | 268 B | ✓ |
| link-HASH.js gzip | 2.78 kB | 2.78 kB | N/A |
| routerDirect..HASH.js gzip | 329 B | 328 B | N/A |
| script-HASH.js gzip | 395 B | 393 B | N/A |
| withRouter-HASH.js gzip | 324 B | 325 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 568 B | 568 B | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 745 B | 750 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| index.html gzip | 522 B | 523 B | N/A |
| link.html gzip | 538 B | 537 B | N/A |
| withRouter.html gzip | 521 B | 519 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 128 kB | 128 kB | N/A |
| page.js gzip | 187 kB | 187 kB | N/A |
| Overall change | 0 B | 0 B | ✓ |
Middleware size
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 671 B | 670 B | N/A |
| middleware-r..fest.js gzip | 155 B | 156 B | N/A |
| middleware.js gzip | 31 kB | 31 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 10-24-next-upgrade_add_test_for_turbopack_suggestion | 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 | 121 kB | 121 kB | ✓ |
| app-page-tur..prod.js gzip | 134 kB | 134 kB | ✓ |
| app-page-tur..prod.js gzip | 129 kB | 129 kB | ✓ |
| app-page.run...dev.js gzip | 307 kB | 307 kB | ✓ |
| app-page.run..prod.js gzip | 117 kB | 117 kB | ✓ |
| app-route-ex...dev.js gzip | 35.9 kB | 35.9 kB | ✓ |
| app-route-ex..prod.js gzip | 24.4 kB | 24.4 kB | ✓ |
| app-route-tu..prod.js gzip | 24.4 kB | 24.4 kB | ✓ |
| app-route-tu..prod.js gzip | 24.2 kB | 24.2 kB | ✓ |
| app-route.ru...dev.js gzip | 37.5 kB | 37.5 kB | ✓ |
| app-route.ru..prod.js gzip | 24.2 kB | 24.2 kB | ✓ |
| pages-api-tu..prod.js gzip | 9.61 kB | 9.61 kB | ✓ |
| pages-api.ru...dev.js gzip | 11.4 kB | 11.4 kB | ✓ |
| pages-api.ru..prod.js gzip | 9.61 kB | 9.61 kB | ✓ |
| pages-turbo...prod.js gzip | 20.9 kB | 20.9 kB | ✓ |
| pages.runtim...dev.js gzip | 26.5 kB | 26.5 kB | ✓ |
| pages.runtim..prod.js gzip | 20.9 kB | 20.9 kB | ✓ |
| server.runti..prod.js gzip | 58.4 kB | 58.4 kB | ✓ |
| Overall change | 1.45 MB | 1.45 MB | ✓ |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 10-24-next-upgrade_add_test_for_turbopack_suggestion | Change | |
|---|---|---|---|
| 0.pack gzip | 1.85 MB | 1.85 MB | ⚠️ +1.61 kB |
| index.pack gzip | 143 kB | 145 kB | ⚠️ +1.08 kB |
| Overall change | 1.99 MB | 2 MB | ⚠️ +2.69 kB |
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
/***/
},
- /***/ 2392: /***/ (
+ /***/ 5007: /***/ (
__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-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.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-stats6hptv9%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-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.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-stats6hptv9%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, {
@@ -82,35 +82,35 @@
workUnitAsyncStorage: () => entry_base /* workUnitAsyncStorage */.Sz,
});
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/web/globals.js
- var globals = __webpack_require__(4314);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
- var adapter = __webpack_require__(6346);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
- var render = __webpack_require__(8080);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 5 modules
- var incremental_cache = __webpack_require__(9527);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/app-render/app-render.js + 63 modules
- var app_render = __webpack_require__(8631);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
- var module_compiled = __webpack_require__(7032);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/route-kind.js
- var route_kind = __webpack_require__(5007);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/client/components/error-boundary.js
- var error_boundary = __webpack_require__(5057);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/app-render/entry-base.js + 29 modules
- var entry_base = __webpack_require__(6343); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.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-stats6hptv9%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-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/web/globals.js
+ var globals = __webpack_require__(6421);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+ var adapter = __webpack_require__(6554);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
+ var render = __webpack_require__(3456);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 5 modules
+ var incremental_cache = __webpack_require__(8709);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/app-render/app-render.js + 63 modules
+ var app_render = __webpack_require__(6630);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
+ var module_compiled = __webpack_require__(1426);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/route-kind.js
+ var route_kind = __webpack_require__(1910);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/client/components/error-boundary.js
+ var error_boundary = __webpack_require__(9071);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/app-render/entry-base.js + 29 modules
+ var entry_base = __webpack_require__(2423); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.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-stats6hptv9%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 module0 = () =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 5108)
+ __webpack_require__.bind(__webpack_require__, 9367)
);
const module1 = () =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 6307)
+ __webpack_require__.bind(__webpack_require__, 8445)
);
const page2 = () =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 3993)
+ __webpack_require__.bind(__webpack_require__, 6557)
);
// We inject the tree and pages here so that we can use them in the route
@@ -173,12 +173,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-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/lib/page-types.js
- var page_types = __webpack_require__(2731);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/app-render/encryption-utils.js
- var encryption_utils = __webpack_require__(4752);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/dist/esm/server/app-render/action-utils.js
- var action_utils = __webpack_require__(4926); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/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":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sImV4cGlyZVRpbWUiOjMxNTM2MDAwLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJtb2R1bGFyaXplSW1wb3J0cyI6eyJAbXVpL2ljb25zLW1hdGVyaWFsIjp7InRyYW5zZm9ybSI6IkBtdWkvaWNvbnMtbWF0ZXJpYWwve3ttZW1iZXJ9fSJ9LCJsb2Rhc2giOnsidHJhbnNmb3JtIjoibG9kYXNoL3t7bWVtYmVyfX0ifX0sIm91dHB1dEZpbGVUcmFjaW5nUm9vdCI6Ii90bXAvbmV4dC1zdGF0czZocHR2OS9zdGF0cy1hcHAiLCJleHBlcmltZW50YWwiOnsiY2FjaGVMaWZlIjp7ImRlZmF1bHQiOnsic3RhbGUiOjMwMCwicmV2YWxpZGF0ZSI6OTAwLCJleHBpcmUiOjQyOTQ5NjcyOTR9LCJzZWNvbmRzIjp7InN0YWxlIjowLCJyZXZhbGlkYXRlIjoxLCJleHBpcmUiOjF9LCJtaW51dGVzIjp7InN0YWxlIjozMDAsInJldmFsaWRhdGUiOjYwLCJleHBpcmUiOjM2MDB9LCJob3VycyI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjozNjAwLCJleHBpcmUiOjg2NDAwfSwiZGF5cyI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjo4NjQwMCwiZXhwaXJlIjo2MDQ4MDB9LCJ3ZWVrcyI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjo2MDQ4MDAsImV4cGlyZSI6MjU5MjAwMH0sIm1heCI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjoyNTkyMDAwLCJleHBpcmUiOjQyOTQ5NjcyOTR9fSwiY2FjaGVIYW5kbGVycyI6e30sIm11bHRpWm9uZURyYWZ0TW9kZSI6ZmFsc2UsImFwcE5hdkZhaWxIYW5kbGluZyI6ZmFsc2UsInByZXJlbmRlckVhcmx5RXhpdCI6dHJ1ZSwic2VydmVyTWluaWZpY2F0aW9uIjp0cnVlLCJzZXJ2ZXJTb3VyY2VNYXBzIjpmYWxzZSwibGlua05vVG91Y2hTdGFydCI6ZmFsc2UsImNhc2VTZW5zaXRpdmVSb3V0ZXMiOmZhbHNlLCJwcmVsb2FkRW50cmllc09uU3RhcnQiOnRydWUsImNsaWVudFJvdXRlckZpbHRlciI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyUmVkaXJlY3RzIjpmYWxzZSwiZmV0Y2hDYWNoZUtleVByZWZpeCI6IiIsIm1pZGRsZXdhcmVQcmVmZXRjaCI6ImZsZXhpYmxlIiwib3B0aW1pc3RpY0NsaWVudENhY2hlIjp0cnVlLCJtYW51YWxDbGllbnRCYXNlUGF0aCI6ZmFsc2UsImNwdXMiOjE5LCJtZW1vcnlCYXNlZFdvcmtlcnNDb3VudCI6ZmFsc2UsImlzckZsdXNoVG9EaXNrIjp0cnVlLCJ3b3JrZXJUaHJlYWRzIjpmYWxzZSwib3B0aW1pemVDc3MiOmZhbHNlLCJuZXh0U2NyaXB0V29ya2VycyI6ZmFsc2UsInNjcm9sbFJlc3RvcmF0aW9uIjpmYWxzZSwiZXh0ZXJuYWxEaXIiOmZhbHNlLCJkaXNhYmxlT3B0aW1pemVkTG9hZGluZyI6ZmFsc2UsImd6aXBTaXplIjp0cnVlLCJjcmFDb21wYXQiOmZhbHNlLCJlc21FeHRlcm5hbHMiOnRydWUsImZ1bGx5U3BlY2lmaWVkIjpmYWxzZSwic3djVHJhY2VQcm9maWxpbmciOmZhbHNlLCJmb3JjZVN3Y1RyYW5zZm9ybXMiOmZhbHNlLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiOjEyODAwMCwidHVyYm8iOnsicm9vdCI6Ii90bXAvbmV4dC1zdGF0czZocHR2OS9zdGF0cy1hcHAifSwidHlwZWRSb3V0ZXMiOmZhbHNlLCJ0eXBlZEVudiI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQ29tcGlsZXMiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckJ1aWxkVHJhY2VzIjpmYWxzZSwicHByIjpmYWxzZSwid2VicGFja01lbW9yeU9wdGltaXphdGlvbnMiOmZhbHNlLCJvcHRpbWl6ZVNlcnZlclJlYWN0Ijp0cnVlLCJ1c2VFYXJseUltcG9ydCI6ZmFsc2UsInN0YWxlVGltZXMiOnsiZHluYW1pYyI6MCwic3RhdGljIjozMDB9LCJhZnRlciI6ZmFsc2UsInNlcnZlckNvbXBvbmVudHNIbXJDYWNoZSI6dHJ1ZSwic3RhdGljR2VuZXJhdGlvbk1heENvbmN1cnJlbmN5Ijo4LCJzdGF0aWNHZW5lcmF0aW9uTWluUGFnZXNQZXJXb3JrZXIiOjI1LCJkeW5hbWljSU8iOmZhbHNlLCJvcHRpbWl6ZVBhY2thZ2VJbXBvcnRzIjpbImx1Y2lkZS1yZWFjdCIsImRhdGUtZm5zIiwibG9kYXNoLWVzIiwicmFtZGEiLCJhbnRkIiwicmVhY3QtYm9vdHN0cmFwIiwiYWhvb2tzIiwiQGFudC1kZXNpZ24vaWNvbnMiLCJAaGVhZGxlc3N1aS9yZWFjdCIsIkBoZWFkbGVzc3VpLWZsb2F0L3JlYWN0IiwiQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUiLCJAdmlzeC92aXN4IiwiQHRyZW1vci9yZWFjdCIsInJ4anMiLCJAbXVpL21hdGVyaWFsIiwiQG11aS9pY29ucy1tYXRlcmlhbCIsInJlY2hhcnRzIiwicmVhY3QtdXNlIiwiZWZmZWN0IiwiQGVmZmVjdC9zY2hlbWEiLCJAZWZmZWN0L3BsYXRmb3JtIiwiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIiwiQGVmZmVjdC9wbGF0Zm9ybS1icm93c2VyIiwiQGVmZmVjdC9wbGF0Zm9ybS1idW4iLCJAZWZmZWN0L3NxbCIsIkBlZmZlY3Qvc3FsLW1zc3FsIiwiQGVmZmVjdC9zcWwtbXlzcWwyIiwiQGVmZmVjdC9zcWwtcGciLCJAZWZmZWN0L3NxbC1zcXVsaXRlLW5vZGUiLCJAZWZmZWN0L3NxbC1zcXVsaXRlLWJ1biIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtd2FzbSIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtcmVhY3QtbmF0aXZlIiwiQGVmZmVjdC9ycGMiLCJAZWZmZWN0L3JwYy1odHRwIiwiQGVmZmVjdC90eXBlY2xhc3MiLCJAZWZmZWN0L2V4cGVyaW1lbnRhbCIsIkBlZmZlY3Qvb3BlbnRlbGVtZXRyeSIsIkBtYXRlcmlhbC11aS9jb3JlIiwiQG1hdGVyaWFsLXVpL2ljb25zIiwiQHRhYmxlci9pY29ucy1yZWFjdCIsIm11aS1jb3JlIiwicmVhY3QtaWNvbnMvYWkiLCJyZWFjdC1pY29ucy9iaSIsInJlYWN0LWljb25zL2JzIiwicmVhY3QtaWNvbnMvY2ciLCJyZWFjdC1pY29ucy9jaSIsInJlYWN0LWljb25zL2RpIiwicmVhY3QtaWNvbnMvZmEiLCJyZWFjdC1pY29ucy9mYTYiLCJyZWFjdC1pY29ucy9mYyIsInJlYWN0LWljb25zL2ZpIiwicmVhY3QtaWNvbnMvZ2kiLCJyZWFjdC1pY29ucy9nbyIsInJlYWN0LWljb25zL2dyIiwicmVhY3QtaWNvbnMvaGkiLCJyZWFjdC1pY29ucy9oaTIiLCJyZWFjdC1pY29ucy9pbSIsInJlYWN0LWljb25zL2lvIiwicmVhY3QtaWNvbnMvaW81IiwicmVhY3QtaWNvbnMvbGlhIiwicmVhY3QtaWNvbnMvbGliIiwicmVhY3QtaWNvbnMvbHUiLCJyZWFjdC1pY29ucy9tZCIsInJlYWN0LWljb25zL3BpIiwicmVhY3QtaWNvbnMvcmkiLCJyZWFjdC1pY29ucy9yeCIsInJlYWN0LWljb25zL3NpIiwicmVhY3QtaWNvbnMvc2wiLCJyZWFjdC1pY29ucy90YiIsInJlYWN0LWljb25zL3RmaSIsInJlYWN0LWljb25zL3RpIiwicmVhY3QtaWNvbnMvdnNjIiwicmVhY3QtaWNvbnMvd2kiXX0sImJ1bmRsZVBhZ2VzUm91dGVyRGVwZW5kZW5jaWVzIjpmYWxzZSwiY29uZmlnRmlsZSI6Ii90bXAvbmV4dC1zdGF0czZocHR2OS9zdGF0cy1hcHAvbmV4dC5jb25maWcuanMiLCJjb25maWdGaWxlTmFtZSI6Im5leHQuY29uZmlnLmpzIn0=","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzNmhwdHY5JTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30=","cacheHandlers":"{}"}!
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/lib/page-types.js
+ var page_types = __webpack_require__(8888);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+ var encryption_utils = __webpack_require__(6638);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/dist/esm/server/app-render/action-utils.js
+ var action_utils = __webpack_require__(2689); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/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":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sImV4cGlyZVRpbWUiOjMxNTM2MDAwLCJzdGF0aWNQYWdlR2VuZXJhdGlvblRpbWVvdXQiOjYwLCJtb2R1bGFyaXplSW1wb3J0cyI6eyJAbXVpL2ljb25zLW1hdGVyaWFsIjp7InRyYW5zZm9ybSI6IkBtdWkvaWNvbnMtbWF0ZXJpYWwve3ttZW1iZXJ9fSJ9LCJsb2Rhc2giOnsidHJhbnNmb3JtIjoibG9kYXNoL3t7bWVtYmVyfX0ifX0sIm91dHB1dEZpbGVUcmFjaW5nUm9vdCI6Ii90bXAvbmV4dC1zdGF0czZocHR2OS9zdGF0cy1hcHAiLCJleHBlcmltZW50YWwiOnsiY2FjaGVMaWZlIjp7ImRlZmF1bHQiOnsic3RhbGUiOjMwMCwicmV2YWxpZGF0ZSI6OTAwLCJleHBpcmUiOjQyOTQ5NjcyOTR9LCJzZWNvbmRzIjp7InN0YWxlIjowLCJyZXZhbGlkYXRlIjoxLCJleHBpcmUiOjF9LCJtaW51dGVzIjp7InN0YWxlIjozMDAsInJldmFsaWRhdGUiOjYwLCJleHBpcmUiOjM2MDB9LCJob3VycyI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjozNjAwLCJleHBpcmUiOjg2NDAwfSwiZGF5cyI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjo4NjQwMCwiZXhwaXJlIjo2MDQ4MDB9LCJ3ZWVrcyI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjo2MDQ4MDAsImV4cGlyZSI6MjU5MjAwMH0sIm1heCI6eyJzdGFsZSI6MzAwLCJyZXZhbGlkYXRlIjoyNTkyMDAwLCJleHBpcmUiOjQyOTQ5NjcyOTR9fSwiY2FjaGVIYW5kbGVycyI6e30sIm11bHRpWm9uZURyYWZ0TW9kZSI6ZmFsc2UsImFwcE5hdkZhaWxIYW5kbGluZyI6ZmFsc2UsInByZXJlbmRlckVhcmx5RXhpdCI6dHJ1ZSwic2VydmVyTWluaWZpY2F0aW9uIjp0cnVlLCJzZXJ2ZXJTb3VyY2VNYXBzIjpmYWxzZSwibGlua05vVG91Y2hTdGFydCI6ZmFsc2UsImNhc2VTZW5zaXRpdmVSb3V0ZXMiOmZhbHNlLCJwcmVsb2FkRW50cmllc09uU3RhcnQiOnRydWUsImNsaWVudFJvdXRlckZpbHRlciI6dHJ1ZSwiY2xpZW50Um91dGVyRmlsdGVyUmVkaXJlY3RzIjpmYWxzZSwiZmV0Y2hDYWNoZUtleVByZWZpeCI6IiIsIm1pZGRsZXdhcmVQcmVmZXRjaCI6ImZsZXhpYmxlIiwib3B0aW1pc3RpY0NsaWVudENhY2hlIjp0cnVlLCJtYW51YWxDbGllbnRCYXNlUGF0aCI6ZmFsc2UsImNwdXMiOjE5LCJtZW1vcnlCYXNlZFdvcmtlcnNDb3VudCI6ZmFsc2UsImlzckZsdXNoVG9EaXNrIjp0cnVlLCJ3b3JrZXJUaHJlYWRzIjpmYWxzZSwib3B0aW1pemVDc3MiOmZhbHNlLCJuZXh0U2NyaXB0V29ya2VycyI6ZmFsc2UsInNjcm9sbFJlc3RvcmF0aW9uIjpmYWxzZSwiZXh0ZXJuYWxEaXIiOmZhbHNlLCJkaXNhYmxlT3B0aW1pemVkTG9hZGluZyI6ZmFsc2UsImd6aXBTaXplIjp0cnVlLCJjcmFDb21wYXQiOmZhbHNlLCJlc21FeHRlcm5hbHMiOnRydWUsImZ1bGx5U3BlY2lmaWVkIjpmYWxzZSwic3djVHJhY2VQcm9maWxpbmciOmZhbHNlLCJmb3JjZVN3Y1RyYW5zZm9ybXMiOmZhbHNlLCJsYXJnZVBhZ2VEYXRhQnl0ZXMiOjEyODAwMCwidHVyYm8iOnsicm9vdCI6Ii90bXAvbmV4dC1zdGF0czZocHR2OS9zdGF0cy1hcHAifSwidHlwZWRSb3V0ZXMiOmZhbHNlLCJ0eXBlZEVudiI6ZmFsc2UsInBhcmFsbGVsU2VydmVyQ29tcGlsZXMiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckJ1aWxkVHJhY2VzIjpmYWxzZSwicHByIjpmYWxzZSwid2VicGFja01lbW9yeU9wdGltaXphdGlvbnMiOmZhbHNlLCJvcHRpbWl6ZVNlcnZlclJlYWN0Ijp0cnVlLCJ1c2VFYXJseUltcG9ydCI6ZmFsc2UsInN0YWxlVGltZXMiOnsiZHluYW1pYyI6MCwic3RhdGljIjozMDB9LCJhZnRlciI6ZmFsc2UsInNlcnZlckNvbXBvbmVudHNIbXJDYWNoZSI6dHJ1ZSwic3RhdGljR2VuZXJhdGlvbk1heENvbmN1cnJlbmN5Ijo4LCJzdGF0aWNHZW5lcmF0aW9uTWluUGFnZXNQZXJXb3JrZXIiOjI1LCJkeW5hbWljSU8iOmZhbHNlLCJvcHRpbWl6ZVBhY2thZ2VJbXBvcnRzIjpbImx1Y2lkZS1yZWFjdCIsImRhdGUtZm5zIiwibG9kYXNoLWVzIiwicmFtZGEiLCJhbnRkIiwicmVhY3QtYm9vdHN0cmFwIiwiYWhvb2tzIiwiQGFudC1kZXNpZ24vaWNvbnMiLCJAaGVhZGxlc3N1aS9yZWFjdCIsIkBoZWFkbGVzc3VpLWZsb2F0L3JlYWN0IiwiQGhlcm9pY29ucy9yZWFjdC8yMC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L291dGxpbmUiLCJAdmlzeC92aXN4IiwiQHRyZW1vci9yZWFjdCIsInJ4anMiLCJAbXVpL21hdGVyaWFsIiwiQG11aS9pY29ucy1tYXRlcmlhbCIsInJlY2hhcnRzIiwicmVhY3QtdXNlIiwiZWZmZWN0IiwiQGVmZmVjdC9zY2hlbWEiLCJAZWZmZWN0L3BsYXRmb3JtIiwiQGVmZmVjdC9wbGF0Zm9ybS1ub2RlIiwiQGVmZmVjdC9wbGF0Zm9ybS1icm93c2VyIiwiQGVmZmVjdC9wbGF0Zm9ybS1idW4iLCJAZWZmZWN0L3NxbCIsIkBlZmZlY3Qvc3FsLW1zc3FsIiwiQGVmZmVjdC9zcWwtbXlzcWwyIiwiQGVmZmVjdC9zcWwtcGciLCJAZWZmZWN0L3NxbC1zcXVsaXRlLW5vZGUiLCJAZWZmZWN0L3NxbC1zcXVsaXRlLWJ1biIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtd2FzbSIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtcmVhY3QtbmF0aXZlIiwiQGVmZmVjdC9ycGMiLCJAZWZmZWN0L3JwYy1odHRwIiwiQGVmZmVjdC90eXBlY2xhc3MiLCJAZWZmZWN0L2V4cGVyaW1lbnRhbCIsIkBlZmZlY3Qvb3BlbnRlbGVtZXRyeSIsIkBtYXRlcmlhbC11aS9jb3JlIiwiQG1hdGVyaWFsLXVpL2ljb25zIiwiQHRhYmxlci9pY29ucy1yZWFjdCIsIm11aS1jb3JlIiwicmVhY3QtaWNvbnMvYWkiLCJyZWFjdC1pY29ucy9iaSIsInJlYWN0LWljb25zL2JzIiwicmVhY3QtaWNvbnMvY2ciLCJyZWFjdC1pY29ucy9jaSIsInJlYWN0LWljb25zL2RpIiwicmVhY3QtaWNvbnMvZmEiLCJyZWFjdC1pY29ucy9mYTYiLCJyZWFjdC1pY29ucy9mYyIsInJlYWN0LWljb25zL2ZpIiwicmVhY3QtaWNvbnMvZ2kiLCJyZWFjdC1pY29ucy9nbyIsInJlYWN0LWljb25zL2dyIiwicmVhY3QtaWNvbnMvaGkiLCJyZWFjdC1pY29ucy9oaTIiLCJyZWFjdC1pY29ucy9pbSIsInJlYWN0LWljb25zL2lvIiwicmVhY3QtaWNvbnMvaW81IiwicmVhY3QtaWNvbnMvbGlhIiwicmVhY3QtaWNvbnMvbGliIiwicmVhY3QtaWNvbnMvbHUiLCJyZWFjdC1pY29ucy9tZCIsInJlYWN0LWljb25zL3BpIiwicmVhY3QtaWNvbnMvcmkiLCJyZWFjdC1pY29ucy9yeCIsInJlYWN0LWljb25zL3NpIiwicmVhY3QtaWNvbnMvc2wiLCJyZWFjdC1pY29ucy90YiIsInJlYWN0LWljb25zL3RmaSIsInJlYWN0LWljb25zL3RpIiwicmVhY3QtaWNvbnMvdnNjIiwicmVhY3QtaWNvbnMvd2kiXX0sImJ1bmRsZVBhZ2VzUm91dGVyRGVwZW5kZW5jaWVzIjpmYWxzZSwiY29uZmlnRmlsZSI6Ii90bXAvbmV4dC1zdGF0czZocHR2OS9zdGF0cy1hcHAvbmV4dC5jb25maWcuanMiLCJjb25maWdGaWxlTmFtZSI6Im5leHQuY29uZmlnLmpzIn0=","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzNmhwdHY5JTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30=","cacheHandlers":"{}"}!
var _self___RSC_MANIFEST;
const incrementalCacheHandler = null;
@@ -455,56 +455,56 @@
/***/
},
- /***/ 6578: /***/ (
+ /***/ 7853: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 4655)
+ __webpack_require__.bind(__webpack_require__, 5278)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 5788)
+ __webpack_require__.bind(__webpack_require__, 2873)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 6565)
+ __webpack_require__.bind(__webpack_require__, 7021)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1590)
+ __webpack_require__.bind(__webpack_require__, 2904)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8398)
+ __webpack_require__.bind(__webpack_require__, 7782)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 5025)
+ __webpack_require__.bind(__webpack_require__, 2310)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 491)
+ __webpack_require__.bind(__webpack_require__, 4281)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 3272)
+ __webpack_require__.bind(__webpack_require__, 2113)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 4852)
+ __webpack_require__.bind(__webpack_require__, 5947)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1906)
+ __webpack_require__.bind(__webpack_require__, 3504)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7927)
+ __webpack_require__.bind(__webpack_require__, 5198)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7363)
+ __webpack_require__.bind(__webpack_require__, 6316)
);
/***/
},
- /***/ 3017: /***/ () => {
+ /***/ 6331: /***/ () => {
/***/
},
- /***/ 3993: /***/ (
+ /***/ 6557: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -524,7 +524,7 @@
/***/
},
- /***/ 5108: /***/ (
+ /***/ 9367: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -536,7 +536,7 @@
/* harmony export */
});
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(6034);
+ __webpack_require__(9198);
function RootLayout({ children }) {
return /*#__PURE__*/ (0,
@@ -555,7 +555,7 @@
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [68, 187], () => __webpack_exec__(2392));
+ /******/ __webpack_require__.O(0, [299, 532], () => __webpack_exec__(5007));
/******/ 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 dynamic-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2739],
{
- /***/ 9725: /***/ (
+ /***/ 1959: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(5425);
+ return __webpack_require__(4291);
},
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 4979: /***/ (module, exports, __webpack_require__) => {
+ /***/ 9774: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -51,7 +51,7 @@
__webpack_require__(6609)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2158)
+ __webpack_require__(2134)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -152,11 +152,7 @@
/***/
},
- /***/ 9320: /***/ (
- __unused_webpack_module,
- exports,
- __webpack_require__
- ) => {
+ /***/ 81: /***/ (__unused_webpack_module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -179,7 +175,7 @@
/***/
},
- /***/ 2158: /***/ (
+ /***/ 2134: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -221,7 +217,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6609)
);
- const _loadablecontextsharedruntime = __webpack_require__(9320);
+ const _loadablecontextsharedruntime = __webpack_require__(81);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -456,7 +452,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 5425: /***/ (
+ /***/ 4291: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -471,7 +467,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(4744);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5937);
+ __webpack_require__(5904);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -480,12 +476,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 2585)
- .then(__webpack_require__.bind(__webpack_require__, 2585))
+ .e(/* import() */ 5860)
+ .then(__webpack_require__.bind(__webpack_require__, 5860))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 2585],
+ webpack: () => [/*require.resolve*/ 5860],
},
}
);
@@ -512,12 +508,12 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 5937: /***/ (
+ /***/ 5904: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4979);
+ module.exports = __webpack_require__(9774);
/***/
},
@@ -527,7 +523,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
- __webpack_exec__(9725)
+ __webpack_exec__(1959)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[8358],
{
- /***/ 32: /***/ (
+ /***/ 6529: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/image",
function () {
- return __webpack_require__(3299);
+ return __webpack_require__(9636);
},
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 9708: /***/ (module, exports, __webpack_require__) => {
+ /***/ 709: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -40,17 +40,17 @@
__webpack_require__(610)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(5136)
+ __webpack_require__(9770)
);
- const _getimgprops = __webpack_require__(8064);
- const _imageconfig = __webpack_require__(538);
- const _imageconfigcontextsharedruntime = __webpack_require__(1780);
- const _warnonce = __webpack_require__(2626);
- const _routercontextsharedruntime = __webpack_require__(5197);
+ const _getimgprops = __webpack_require__(2298);
+ const _imageconfig = __webpack_require__(8401);
+ const _imageconfigcontextsharedruntime = __webpack_require__(947);
+ const _warnonce = __webpack_require__(8761);
+ const _routercontextsharedruntime = __webpack_require__(4785);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3204)
+ __webpack_require__(9836)
);
- const _usemergedref = __webpack_require__(7213);
+ const _usemergedref = __webpack_require__(8647);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -371,7 +371,7 @@
/***/
},
- /***/ 7213: /***/ (module, exports, __webpack_require__) => {
+ /***/ 8647: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -432,7 +432,7 @@
/***/
},
- /***/ 8064: /***/ (
+ /***/ 2298: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -448,9 +448,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(2626);
- const _imageblursvg = __webpack_require__(7001);
- const _imageconfig = __webpack_require__(538);
+ const _warnonce = __webpack_require__(8761);
+ const _imageblursvg = __webpack_require__(34);
+ const _imageconfig = __webpack_require__(8401);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -824,7 +824,7 @@
/***/
},
- /***/ 7001: /***/ (__unused_webpack_module, exports) => {
+ /***/ 34: /***/ (__unused_webpack_module, exports) => {
"use strict";
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -879,7 +879,7 @@
/***/
},
- /***/ 4178: /***/ (
+ /***/ 2933: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -906,10 +906,10 @@
},
});
const _interop_require_default = __webpack_require__(9608);
- const _getimgprops = __webpack_require__(8064);
- const _imagecomponent = __webpack_require__(9708);
+ const _getimgprops = __webpack_require__(2298);
+ const _imagecomponent = __webpack_require__(709);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3204)
+ __webpack_require__(9836)
);
function getImageProps(imgProps) {
const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -941,7 +941,7 @@
/***/
},
- /***/ 3204: /***/ (__unused_webpack_module, exports) => {
+ /***/ 9836: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -976,7 +976,7 @@
/***/
},
- /***/ 3299: /***/ (
+ /***/ 9636: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -993,8 +993,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(4744);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_fqnwmzresl2hrinmjfrqg34ihq/node_modules/next/image.js
- var next_image = __webpack_require__(7641);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-45804af1-20241021_re_dcrk7anheu5balwwdvbhf3r7h4/node_modules/next/image.js
+ var next_image = __webpack_require__(3415);
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",
@@ -1024,12 +1024,12 @@
/***/
},
- /***/ 7641: /***/ (
+ /***/ 3415: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4178);
+ module.exports = __webpack_require__(2933);
/***/
},
@@ -1039,7 +1039,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
- __webpack_exec__(32)
+ __webpack_exec__(6529)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 9756-HASH.js
Diff too large to display
Diff for main-HASH.js
Diff too large to display
Failing test suites
Commit: 1483bfed0be16879f07309dbe4b0318a3e8ab9ba
pnpm test-dev-turbo test/e2e/prerender.test.ts (turbopack)
- Prerender > should log error in console and browser in development mode
- Prerender > should error on bad object from getStaticProps
- Prerender > should show error for invalid JSON returned from getStaticProps on CST
Expand output
● Prerender › should log error in console and browser in development mode
thrown: "Exceeded timeout of 240000 ms for a test.
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."
1082 | })
1083 |
> 1084 | it('should log error in console and browser in development mode', async () => {
| ^
1085 | const browser = await webdriver(next.url, '/')
1086 | expect(await browser.elementByCss('p').text()).toMatch(/hello.*?world/)
1087 |
at it (e2e/prerender.test.ts:1084:7)
at runTests (e2e/prerender.test.ts:2478:3)
at Object.describe (e2e/prerender.test.ts:24:1)
● Prerender › should error on bad object from getStaticProps
expect(received).toMatch(expected)
Expected pattern: /Additional keys were returned/
Received string: "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/%5Broot%20of%20the%20server%5D__ba5e51._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/cec93_react-dom_859686._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_20fad6._.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_0051ed._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/c4173_next_9d2dac._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_468b23._.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_b67173._.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><span>time: <!-- -->1729704771088</span><a id=\"non-json\" href=\"/non-json/1\">to non-json</a><br/><a id=\"another\" href=\"/another?hello=world\">to another</a><br/><a id=\"something\" href=\"/something\">to something</a><br/><a id=\"normal\" href=\"/normal\">to normal</a><br/><a id=\"post-1\" href=\"/blog/post-1\">to dynamic</a><a id=\"broken-post\" href=\"/blog/post-100\">to broken</a><a id=\"broken-at-first-post\" href=\"/blog/post-999\">to broken at first</a><br/><a id=\"comment-1\" href=\"/blog/post-1/comment-1\">to another dynamic</a><a id=\"to-catchall\" href=\"/catchall/first\">to catchall</a><br/><a id=\"to-nested-index\" href=\"/index\">to nested index</a><br/><a id=\"to-rewritten-ssg\" href=\"/about\">to rewritten static path page</a><br/><a id=\"catchall-optional-root\" href=\"/catchall-optional\">to optional catchall root</a><a id=\"catchall-optional-value\" href=\"/catchall-optional/value\">to optional catchall page /value</a><br/><a id=\"dynamic-first\" href=\"/dynamic/[first]\">to dynamic [first] page</a><a id=\"dynamic-second\" href=\"/dynamic/[second]\">to dynamic [second] page</a><br/><a id=\"catchall-explicit-string\" href=\"/catchall-explicit/[first]/[second]\">to catchall-explicit [first]/[second] page</a><a id=\"catchall-explicit-object\" href=\"/catchall-explicit/[third]/[fourth]\">to catchall-explicit [third]/[fourth] page</a></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"world\":\"world\",\"time\":1729704771088},\"__N_SSG\":true},\"page\":\"/\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"gsp\":true,\"scriptLoader\":[]}</script></body></html>"
1139 | retry(async () => {
1140 | const html = await renderViaHTTP(next.url, '/')
> 1141 | expect(html).toMatch(/Additional keys were returned/)
| ^
1142 | })
1143 | )
1144 | })
at toMatch (e2e/prerender.test.ts:1141:28)
at retry (lib/next-test-utils.ts:806:14)
at lib/next-modes/next-dev.ts:184:9
at NextDevInstance.patchFile (lib/next-modes/base.ts:519:9)
at Object.<anonymous> (e2e/prerender.test.ts:1135:9)
● Prerender › should show error for invalid JSON returned from getStaticProps on CST
thrown: "Exceeded timeout of 240000 ms for a test.
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."
1235 | })
1236 |
> 1237 | it('should show error for invalid JSON returned from getStaticProps on CST', async () => {
| ^
1238 | const browser = await webdriver(next.url, '/')
1239 | await browser.elementByCss('#non-json').click()
1240 |
at it (e2e/prerender.test.ts:1237:7)
at runTests (e2e/prerender.test.ts:2478:3)
at Object.describe (e2e/prerender.test.ts:24:1)
Read more about building and testing Next.js in contributing.md.
Test failures are unrelated.