next.js
next.js copied to clipboard
[Type Definition] - Updates the manifest types to reflect the current specifications
manifest-types.ts
The current types in manifest-types.ts are out of date in places and incorrect in places. This PR resolves the known issues.
file_handlers
The file_handlers array should contain objects with an accept object not an accept array.
See:
- https://developer.mozilla.org/en-US/docs/Web/Manifest/file_handlers
- https://wicg.github.io/manifest-incubations/#accept-member
icons and shortcuts.icons
The icon.purpose badge value was replaced by monochrome and no longer exists in the specification.
See:
- https://developer.mozilla.org/en-US/docs/Web/Manifest/icons
- https://github.com/w3c/manifest/pull/833
- https://www.w3.org/TR/appmanifest/#:~:text=BREAKING%20CHANGE%3A%20Replace%20%22badge%22%20with%20%22monochrome%22
launch_handler
The launch_handler object currently supports one value client_mode that is a string or array of strings.
The strings have to be one of the defined values.
I'm curious where the platform and url values came from. I could not find those values in any documentation new or old.
See:
- https://developer.mozilla.org/en-US/docs/Web/Manifest/launch_handler
- https://wicg.github.io/web-app-launch/#launch_handler-member
- https://wicg.github.io/web-app-launch/#client_mode-member
protocol_handlers
The protocol_handlers object does not support a title value.
I could not find any old or new documentation showing the title value.
See:
- https://developer.mozilla.org/en-US/docs/Web/Manifest/protocol_handlers
- https://wicg.github.io/manifest-incubations/#protocol-handler-items
screenshots
The screenshots object supports form_factor, label, and platform in addition to the other image related values.
The form_factor value has to be either narrow or wide if specified.
The platform value, if specified, has to be one of the defined values.
See:
- https://developer.mozilla.org/en-US/docs/Web/Manifest/screenshots
- https://w3c.github.io/manifest-app-info/#screenshot-object-and-its-members
serviceworker
This member was removed from the specification.
See:
- https://github.com/w3c/manifest/pull/825
- https://www.w3.org/TR/appmanifest/#:~:text=BREAKING%20CHANGE%3A%20remove%20serviceworker%20member
- https://developer.mozilla.org/en-US/docs/Web/Manifest/serviceworker#specifications
share_target
The share_target.params had the values name, value, and required. I could not find any old or new documentation showing these values.
The share_target had the values url, title, text, and files as direct values. These values should be, instead, values of share_target.params.
The action and params members are required.
The method string is case insensitive. (See bullet point 2. at https://w3c.github.io/web-share-target/level-2/#share_target-member). For practical reasons the type includes all caps and all lower variants.
The enctype must be application/x-www-form-urlencoded or multipart/form-data. Previously text/plain was included as a valid value but it is not. (See various places where it lists the valid values at https://w3c.github.io/web-share-target/level-2/#share_target-member)
The share_target.params value should be an object not an array of objects.
The share_target.params.files value should accept a single file or an array of files. (See bullet point 5. for single file and bullet point 6. for array of files at https://w3c.github.io/web-share-target/level-2/#share_target-member)
The share_target.params.files.accept value should accept a string or array of strings. (See bullet point 7. 2. for string and bullet point 7. 3. for array of strings at https://w3c.github.io/web-share-target/level-2/#share_target-member)
See:
- https://developer.mozilla.org/en-US/docs/Web/Manifest/share_target
- https://w3c.github.io/web-share-target/level-2/#share_target-member
- https://w3c.github.io/web-share-target/level-2/#sharetarget-and-its-members
- https://w3c.github.io/web-share-target/level-2/#dom-sharetargetparams
Allow CI Workflow Run
- [ ] approve CI run for commit: 9a0e18a206bf5a65ab1a76c17af130cf5c45b0ca
Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer
While technically all members are optional in the specification, practically speaking there are required members to make the PWA installable.
displayordisplay_overrideiconsnameorshort_namestart_url
I personally think it would make sense to make display, icons, name, and start_url required in the types. With these four you can get an installable application. I'm curious what others think and if there are any arguments for or against making these four required?
when can this be merged?
While technically all members are optional in the specification, practically speaking there are required members to make the PWA installable.
displayordisplay_override
icons
nameorshort_name
start_urlI personally think it would make sense to make
display,icons,name, andstart_urlrequired in the types. With these four you can get an installable application. I'm curious what others think and if there are any arguments for or against making these four required?
That first article mentioning that they're all optional also says (emphasis mine)
The most common use for a web application manifest is to provide information that the browser needs to install a progressive web app (PWA) on a device ... All members are optional in the specification, but some applications require some members to be present. For example, PWAs must provide certain manifest members.
I'm not sure what other applications a web app manifest is used for, but I would be inclined to leave them optional to align with the spec and allow for those other use cases.
Thanks for your feedback @redbmk. As much as I think it would be more helpful to make some required and leave others optional, my changes align with the spec and do not change the optionality of the members.
I'm with @sahandsn, I too am curious when this can be merged. It has been two months and no feedback from @huozhi.
Stats from current PR
Default Build
General
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| buildDuration | 19.8s | 18.2s | N/A |
| buildDurationCached | 10s | 8.6s | N/A |
| nodeModulesSize | 359 MB | 359 MB | N/A |
| nextStartRea..uration (ms) | 461ms | 466ms | N/A |
Client Bundles (main, webpack)
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| 1264-HASH.js gzip | 43 kB | 43 kB | N/A |
| 58074cee-HASH.js gzip | 52.8 kB | 52.8 kB | N/A |
| 8735-HASH.js gzip | 5.25 kB | 5.26 kB | N/A |
| 9392.HASH.js gzip | 168 B | 168 B | ✓ |
| framework-HASH.js gzip | 57.5 kB | 57.5 kB | N/A |
| main-app-HASH.js gzip | 230 B | 230 B | ✓ |
| main-HASH.js gzip | 32.7 kB | 32.7 kB | N/A |
| webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
| Overall change | 398 B | 398 B | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | 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 | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 193 B | 194 B | N/A |
| _error-HASH.js gzip | 193 B | 191 B | N/A |
| amp-HASH.js gzip | 508 B | 510 B | N/A |
| css-HASH.js gzip | 342 B | 340 B | N/A |
| dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | N/A |
| edge-ssr-HASH.js gzip | 266 B | 266 B | ✓ |
| head-HASH.js gzip | 365 B | 363 B | N/A |
| hooks-HASH.js gzip | 392 B | 391 B | N/A |
| image-HASH.js gzip | 4.4 kB | 4.4 kB | N/A |
| index-HASH.js gzip | 268 B | 268 B | ✓ |
| link-HASH.js gzip | 2.79 kB | 2.78 kB | N/A |
| routerDirect..HASH.js gzip | 327 B | 328 B | N/A |
| script-HASH.js gzip | 393 B | 397 B | N/A |
| withRouter-HASH.js gzip | 325 B | 323 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 640 B | 640 B | ✓ |
Client Build Manifests
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 747 B | 750 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| index.html gzip | 523 B | 524 B | N/A |
| link.html gzip | 536 B | 537 B | N/A |
| withRouter.html gzip | 518 B | 519 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 128 kB | 128 kB | N/A |
| page.js gzip | 179 kB | 179 kB | N/A |
| Overall change | 0 B | 0 B | ✓ |
Middleware size
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 669 B | 668 B | N/A |
| middleware-r..fest.js gzip | 156 B | 154 B | N/A |
| middleware.js gzip | 29.8 kB | 29.8 kB | ✓ |
| edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
| Overall change | 30.7 kB | 30.7 kB | ✓ |
Next Runtimes
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | 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 | 318 kB | 318 kB | ✓ |
| app-page-exp..prod.js gzip | 126 kB | 126 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 | 308 kB | 308 kB | ✓ |
| app-page.run..prod.js gzip | 121 kB | 121 kB | ✓ |
| app-route-ex...dev.js gzip | 32.1 kB | 32.1 kB | ✓ |
| app-route-ex..prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
| app-route-tu..prod.js gzip | 21.7 kB | 21.7 kB | ✓ |
| app-route-tu..prod.js gzip | 21.5 kB | 21.5 kB | ✓ |
| app-route.ru...dev.js gzip | 33.7 kB | 33.7 kB | ✓ |
| app-route.ru..prod.js gzip | 21.5 kB | 21.5 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.9 kB | 57.9 kB | ✓ |
| Overall change | 1.46 MB | 1.46 MB | ✓ |
build cache
| vercel/next.js canary | coderfin/next.js coderfin/manifest-types | Change | |
|---|---|---|---|
| 0.pack gzip | 1.66 MB | 1.66 MB | N/A |
| index.pack gzip | 134 kB | 132 kB | N/A |
| Overall change | 0 B | 0 B | ✓ |
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
/***/
},
- /***/ 6443: /***/ (
+ /***/ 7600: /***/ (
__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-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/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-statskdwl13%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-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/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-statskdwl13%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, {
@@ -70,35 +70,35 @@
tree: () => tree,
});
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/web/globals.js
- var globals = __webpack_require__(4674);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
- var adapter = __webpack_require__(6485);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
- var render = __webpack_require__(3913);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
- var incremental_cache = __webpack_require__(8754);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/app-render/app-render.js + 74 modules
- var app_render = __webpack_require__(7027);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
- var module_compiled = __webpack_require__(8127);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/route-kind.js
- var route_kind = __webpack_require__(6626);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/client/components/error-boundary.js
- var error_boundary = __webpack_require__(5327);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/app-render/entry-base.js + 10 modules
- var entry_base = __webpack_require__(3405); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/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-statskdwl13%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-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/web/globals.js
+ var globals = __webpack_require__(313);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+ var adapter = __webpack_require__(3144);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
+ var render = __webpack_require__(9433);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+ var incremental_cache = __webpack_require__(1099);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/app-render/app-render.js + 74 modules
+ var app_render = __webpack_require__(2166);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
+ var module_compiled = __webpack_require__(6242);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/route-kind.js
+ var route_kind = __webpack_require__(6244);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/client/components/error-boundary.js
+ var error_boundary = __webpack_require__(7432);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/app-render/entry-base.js + 10 modules
+ var entry_base = __webpack_require__(2430); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/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-statskdwl13%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__, 9636)
+ __webpack_require__.bind(__webpack_require__, 5258)
);
const module1 = () =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 3163)
+ __webpack_require__.bind(__webpack_require__, 9143)
);
const page2 = () =>
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1982)
+ __webpack_require__.bind(__webpack_require__, 1329)
);
// We inject the tree and pages here so that we can use them in the route
@@ -161,12 +161,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-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/lib/page-types.js
- var page_types = __webpack_require__(7233);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/app-render/encryption-utils.js
- var encryption_utils = __webpack_require__(8179);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/dist/esm/server/app-render/action-utils.js
- var action_utils = __webpack_require__(351); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/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":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRza2R3bDEzL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR1cmJvIjp7InJvb3QiOiIvdG1wL25leHQtc3RhdHNrZHdsMTMvc3RhdHMtYXBwIn0sInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjAsInN0YXRpYyI6MzAwfSwiYWZ0ZXIiOmZhbHNlLCJzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUiOnRydWUsInN0YXRpY0dlbmVyYXRpb25NYXhDb25jdXJyZW5jeSI6OCwic3RhdGljR2VuZXJhdGlvbk1pblBhZ2VzUGVyV29ya2VyIjoyNSwiZHluYW1pY0lPIjpmYWxzZSwib3B0aW1pemVQYWNrYWdlSW1wb3J0cyI6WyJsdWNpZGUtcmVhY3QiLCJkYXRlLWZucyIsImxvZGFzaC1lcyIsInJhbWRhIiwiYW50ZCIsInJlYWN0LWJvb3RzdHJhcCIsImFob29rcyIsIkBhbnQtZGVzaWduL2ljb25zIiwiQGhlYWRsZXNzdWkvcmVhY3QiLCJAaGVhZGxlc3N1aS1mbG9hdC9yZWFjdCIsIkBoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lIiwiQHZpc3gvdmlzeCIsIkB0cmVtb3IvcmVhY3QiLCJyeGpzIiwiQG11aS9tYXRlcmlhbCIsIkBtdWkvaWNvbnMtbWF0ZXJpYWwiLCJyZWNoYXJ0cyIsInJlYWN0LXVzZSIsImVmZmVjdCIsIkBlZmZlY3Qvc2NoZW1hIiwiQGVmZmVjdC9wbGF0Zm9ybSIsIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSIsIkBlZmZlY3QvcGxhdGZvcm0tYnJvd3NlciIsIkBlZmZlY3QvcGxhdGZvcm0tYnVuIiwiQGVmZmVjdC9zcWwiLCJAZWZmZWN0L3NxbC1tc3NxbCIsIkBlZmZlY3Qvc3FsLW15c3FsMiIsIkBlZmZlY3Qvc3FsLXBnIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1ub2RlIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1idW4iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXdhc20iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXJlYWN0LW5hdGl2ZSIsIkBlZmZlY3QvcnBjIiwiQGVmZmVjdC9ycGMtaHR0cCIsIkBlZmZlY3QvdHlwZWNsYXNzIiwiQGVmZmVjdC9leHBlcmltZW50YWwiLCJAZWZmZWN0L29wZW50ZWxlbWV0cnkiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJidW5kbGVQYWdlc1JvdXRlckRlcGVuZGVuY2llcyI6ZmFsc2UsImNvbmZpZ0ZpbGUiOiIvdG1wL25leHQtc3RhdHNrZHdsMTMvc3RhdHMtYXBwL25leHQuY29uZmlnLmpzIiwiY29uZmlnRmlsZU5hbWUiOiJuZXh0LmNvbmZpZy5qcyJ9","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRza2R3bDEzJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/lib/page-types.js
+ var page_types = __webpack_require__(7665);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+ var encryption_utils = __webpack_require__(8779);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/dist/esm/server/app-render/action-utils.js
+ var action_utils = __webpack_require__(6800); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/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":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRza2R3bDEzL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR1cmJvIjp7InJvb3QiOiIvdG1wL25leHQtc3RhdHNrZHdsMTMvc3RhdHMtYXBwIn0sInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjAsInN0YXRpYyI6MzAwfSwiYWZ0ZXIiOmZhbHNlLCJzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUiOnRydWUsInN0YXRpY0dlbmVyYXRpb25NYXhDb25jdXJyZW5jeSI6OCwic3RhdGljR2VuZXJhdGlvbk1pblBhZ2VzUGVyV29ya2VyIjoyNSwiZHluYW1pY0lPIjpmYWxzZSwib3B0aW1pemVQYWNrYWdlSW1wb3J0cyI6WyJsdWNpZGUtcmVhY3QiLCJkYXRlLWZucyIsImxvZGFzaC1lcyIsInJhbWRhIiwiYW50ZCIsInJlYWN0LWJvb3RzdHJhcCIsImFob29rcyIsIkBhbnQtZGVzaWduL2ljb25zIiwiQGhlYWRsZXNzdWkvcmVhY3QiLCJAaGVhZGxlc3N1aS1mbG9hdC9yZWFjdCIsIkBoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lIiwiQHZpc3gvdmlzeCIsIkB0cmVtb3IvcmVhY3QiLCJyeGpzIiwiQG11aS9tYXRlcmlhbCIsIkBtdWkvaWNvbnMtbWF0ZXJpYWwiLCJyZWNoYXJ0cyIsInJlYWN0LXVzZSIsImVmZmVjdCIsIkBlZmZlY3Qvc2NoZW1hIiwiQGVmZmVjdC9wbGF0Zm9ybSIsIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSIsIkBlZmZlY3QvcGxhdGZvcm0tYnJvd3NlciIsIkBlZmZlY3QvcGxhdGZvcm0tYnVuIiwiQGVmZmVjdC9zcWwiLCJAZWZmZWN0L3NxbC1tc3NxbCIsIkBlZmZlY3Qvc3FsLW15c3FsMiIsIkBlZmZlY3Qvc3FsLXBnIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1ub2RlIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1idW4iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXdhc20iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXJlYWN0LW5hdGl2ZSIsIkBlZmZlY3QvcnBjIiwiQGVmZmVjdC9ycGMtaHR0cCIsIkBlZmZlY3QvdHlwZWNsYXNzIiwiQGVmZmVjdC9leHBlcmltZW50YWwiLCJAZWZmZWN0L29wZW50ZWxlbWV0cnkiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJidW5kbGVQYWdlc1JvdXRlckRlcGVuZGVuY2llcyI6ZmFsc2UsImNvbmZpZ0ZpbGUiOiIvdG1wL25leHQtc3RhdHNrZHdsMTMvc3RhdHMtYXBwL25leHQuY29uZmlnLmpzIiwiY29uZmlnRmlsZU5hbWUiOiJuZXh0LmNvbmZpZy5qcyJ9","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRza2R3bDEzJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
var _self___RSC_MANIFEST;
const incrementalCacheHandler = null;
@@ -430,53 +430,53 @@
/***/
},
- /***/ 3183: /***/ (
+ /***/ 2911: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8145)
+ __webpack_require__.bind(__webpack_require__, 3431)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 4750)
+ __webpack_require__.bind(__webpack_require__, 8225)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 8254)
+ __webpack_require__.bind(__webpack_require__, 3486)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 581)
+ __webpack_require__.bind(__webpack_require__, 4117)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 1983)
+ __webpack_require__.bind(__webpack_require__, 2048)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 7108)
+ __webpack_require__.bind(__webpack_require__, 3820)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 3733)
+ __webpack_require__.bind(__webpack_require__, 4348)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 3899)
+ __webpack_require__.bind(__webpack_require__, 9566)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 654)
+ __webpack_require__.bind(__webpack_require__, 5522)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 486)
+ __webpack_require__.bind(__webpack_require__, 8881)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 5519)
+ __webpack_require__.bind(__webpack_require__, 6624)
);
/***/
},
- /***/ 8826: /***/ () => {
+ /***/ 2514: /***/ () => {
/***/
},
- /***/ 1982: /***/ (
+ /***/ 1329: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -496,7 +496,7 @@
/***/
},
- /***/ 9636: /***/ (
+ /***/ 5258: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -508,7 +508,7 @@
/* harmony export */
});
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(661);
+ __webpack_require__(1149);
function RootLayout({ children }) {
return /*#__PURE__*/ (0,
@@ -527,7 +527,7 @@
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [372, 815], () => __webpack_exec__(6443));
+ /******/ __webpack_require__.O(0, [564, 999], () => __webpack_exec__(7600));
/******/ 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],
{
- /***/ 8027: /***/ (
+ /***/ 1595: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/image",
function () {
- return __webpack_require__(4022);
+ return __webpack_require__(6890);
},
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 1425: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6803: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -40,17 +40,17 @@
__webpack_require__(1122)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2192)
+ __webpack_require__(4786)
);
- const _getimgprops = __webpack_require__(4733);
- const _imageconfig = __webpack_require__(7032);
- const _imageconfigcontextsharedruntime = __webpack_require__(833);
- const _warnonce = __webpack_require__(6352);
- const _routercontextsharedruntime = __webpack_require__(3326);
+ const _getimgprops = __webpack_require__(4486);
+ const _imageconfig = __webpack_require__(5054);
+ const _imageconfigcontextsharedruntime = __webpack_require__(4760);
+ const _warnonce = __webpack_require__(3361);
+ const _routercontextsharedruntime = __webpack_require__(7013);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2909)
+ __webpack_require__(282)
);
- const _usemergedref = __webpack_require__(3660);
+ const _usemergedref = __webpack_require__(2277);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -371,7 +371,7 @@
/***/
},
- /***/ 3660: /***/ (module, exports, __webpack_require__) => {
+ /***/ 2277: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -440,7 +440,7 @@
/***/
},
- /***/ 4733: /***/ (
+ /***/ 4486: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -456,9 +456,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(6352);
- const _imageblursvg = __webpack_require__(9627);
- const _imageconfig = __webpack_require__(7032);
+ const _warnonce = __webpack_require__(3361);
+ const _imageblursvg = __webpack_require__(743);
+ const _imageconfig = __webpack_require__(5054);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -831,7 +831,7 @@
/***/
},
- /***/ 9627: /***/ (__unused_webpack_module, exports) => {
+ /***/ 743: /***/ (__unused_webpack_module, exports) => {
"use strict";
/**
* A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -886,7 +886,7 @@
/***/
},
- /***/ 1426: /***/ (
+ /***/ 3821: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -913,10 +913,10 @@
},
});
const _interop_require_default = __webpack_require__(9608);
- const _getimgprops = __webpack_require__(4733);
- const _imagecomponent = __webpack_require__(1425);
+ const _getimgprops = __webpack_require__(4486);
+ const _imagecomponent = __webpack_require__(6803);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2909)
+ __webpack_require__(282)
);
function getImageProps(imgProps) {
const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -948,7 +948,7 @@
/***/
},
- /***/ 2909: /***/ (__unused_webpack_module, exports) => {
+ /***/ 282: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -983,7 +983,7 @@
/***/
},
- /***/ 4022: /***/ (
+ /***/ 6890: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -1000,8 +1000,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(4239);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_4voywblxyd6hwxmgkdxojhafki/node_modules/next/image.js
- var next_image = __webpack_require__(8213);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-e740d4b1-20240919_re_nqqicwefyvx6x4sgxdm35cimjm/node_modules/next/image.js
+ var next_image = __webpack_require__(4470);
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",
@@ -1031,12 +1031,12 @@
/***/
},
- /***/ 8213: /***/ (
+ /***/ 4470: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1426);
+ module.exports = __webpack_require__(3821);
/***/
},
@@ -1046,7 +1046,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
- __webpack_exec__(8027)
+ __webpack_exec__(1595)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 1264-HASH.js
Diff too large to display
Diff for main-HASH.js
Diff too large to display
Failing test suites
Commit: de7986d44be41e40759e36827302ece52da3657f
pnpm test test/integration/gssp-redirect/test/index.test.js
- GS(S)P Redirect Support > production mode > should error for redirect during prerendering
Expand output
● GS(S)P Redirect Support › production mode › should error for redirect during prerendering
expect(received).toContain(expected) // indexOf
Expected substring: "`redirect` can not be returned from getStaticProps during prerendering"
Received string: " ▲ Next.js 15.0.0-canary.163·
Checking validity of types ...
Creating an optimized production build ...
✓ Compiled successfully
Collecting page data ...
Generating static pages (0/12) ...
Generating static pages (3/12)··
Generating static pages (6/12)··
Generating static pages (9/12)··
⚠ Linting is disabled.·
> Build error occurred
Error: Export encountered an error on /invalid/[slug]: /invalid/first, exiting the build.
289 | // If prerenderEarlyExit is enabled, we'll exit the build immediately.
290 | if (nextConfig.experimental.prerenderEarlyExit) {
> 291 | throw new ExportPageError(`Export encountered an error on ${pageKey}, exiting the build.`);
| ^
292 | } else {
293 | // Otherwise, this is a no-op. The build will continue, and a summary of failed pages will be displayed at the end.
294 | }
at exportPageWithRetry (../packages/next/dist/export/worker.js:291:31)
at async Promise.all (index 1)
at async Object.exportPages (../packages/next/dist/export/worker.js:315:31) {
type: 'ExportPageError',
code: 'NEXT_EXPORT_PAGE_ERROR'
}
"
at Object.toContain (integration/gssp-redirect/test/index.test.js:579:24)
Read more about building and testing Next.js in contributing.md.