-
Notifications
You must be signed in to change notification settings - Fork 30.3k
prevent browser cache from using stale RSC responses from previous builds #86554
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
prevent browser cache from using stale RSC responses from previous builds #86554
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Tests Passed |
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| buildDuration | 16.7s | 14.9s | N/A |
| buildDurationCached | 13.6s | 10.7s | N/A |
| nodeModulesSize | 456 MB | 456 MB | |
| nextStartRea..uration (ms) | 713ms | 702ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| 2086.HASH.js gzip | 169 B | 169 B | ✓ |
| 2161-HASH.js gzip | 5.39 kB | 5.41 kB | N/A |
| 2747-HASH.js gzip | 4.48 kB | 4.46 kB | N/A |
| 4322-HASH.js gzip | 51.2 kB | 50.9 kB | N/A |
| ec793fe8-HASH.js gzip | 62.3 kB | 62.3 kB | N/A |
| framework-HASH.js gzip | 59.8 kB | 59.8 kB | N/A |
| main-app-HASH.js gzip | 251 B | 254 B | N/A |
| main-HASH.js gzip | 38.3 kB | 38.7 kB | |
| webpack-HASH.js gzip | 1.68 kB | 1.69 kB | N/A |
| Overall change | 38.5 kB | 38.9 kB |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | 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 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 193 B | N/A |
| _error-HASH.js gzip | 182 B | 182 B | ✓ |
| css-HASH.js gzip | 336 B | 335 B | N/A |
| dynamic-HASH.js gzip | 1.8 kB | 1.8 kB | N/A |
| edge-ssr-HASH.js gzip | 256 B | 256 B | ✓ |
| head-HASH.js gzip | 352 B | 349 B | N/A |
| hooks-HASH.js gzip | 385 B | 384 B | N/A |
| image-HASH.js gzip | 580 B | 580 B | ✓ |
| index-HASH.js gzip | 259 B | 258 B | N/A |
| link-HASH.js gzip | 2.5 kB | 2.51 kB | N/A |
| routerDirect..HASH.js gzip | 319 B | 317 B | N/A |
| script-HASH.js gzip | 385 B | 387 B | N/A |
| withRouter-HASH.js gzip | 316 B | 315 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 1.12 kB | 1.12 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 738 B | 738 B | ✓ |
| Overall change | 738 B | 738 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| index.html gzip | 524 B | 525 B | N/A |
| link.html gzip | 539 B | 538 B | N/A |
| withRouter.html gzip | 521 B | 521 B | ✓ |
| Overall change | 521 B | 521 B | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 124 kB | 124 kB | N/A |
| page.js gzip | 237 kB | 238 kB | |
| Overall change | 237 kB | 238 kB |
Middleware size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 652 B | 654 B | N/A |
| middleware-r..fest.js gzip | 155 B | 156 B | N/A |
| middleware.js gzip | 32.7 kB | 33 kB | |
| edge-runtime..pack.js gzip | 846 B | 846 B | ✓ |
| Overall change | 33.5 kB | 33.8 kB |
Next Runtimes
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 301 kB | 301 kB | N/A |
| app-page-exp..prod.js gzip | 156 kB | 156 kB | ✓ |
| app-page-tur...dev.js gzip | 301 kB | 301 kB | N/A |
| app-page-tur..prod.js gzip | 156 kB | 156 kB | ✓ |
| app-page-tur...dev.js gzip | 298 kB | 298 kB | ✓ |
| app-page-tur..prod.js gzip | 154 kB | 154 kB | ✓ |
| app-page.run...dev.js gzip | 298 kB | 298 kB | ✓ |
| app-page.run..prod.js gzip | 154 kB | 154 kB | ✓ |
| app-route-ex...dev.js gzip | 68.6 kB | 68.6 kB | ✓ |
| app-route-ex..prod.js gzip | 47.4 kB | 47.4 kB | ✓ |
| app-route-tu...dev.js gzip | 68.6 kB | 68.6 kB | ✓ |
| app-route-tu..prod.js gzip | 47.5 kB | 47.5 kB | ✓ |
| app-route-tu...dev.js gzip | 68.2 kB | 68.2 kB | ✓ |
| app-route-tu..prod.js gzip | 47.2 kB | 47.2 kB | ✓ |
| app-route.ru...dev.js gzip | 68.2 kB | 68.2 kB | ✓ |
| app-route.ru..prod.js gzip | 47.2 kB | 47.2 kB | ✓ |
| dist_client_...dev.js gzip | 324 B | 324 B | ✓ |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| dist_client_...dev.js gzip | 317 B | 317 B | ✓ |
| pages-api-tu...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api-tu..prod.js gzip | 31.1 kB | 31.1 kB | ✓ |
| pages-api.ru...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api.ru..prod.js gzip | 31.1 kB | 31.1 kB | ✓ |
| pages-turbo....dev.js gzip | 50.6 kB | 50.7 kB | N/A |
| pages-turbo...prod.js gzip | 38.1 kB | 38.2 kB | N/A |
| pages.runtim...dev.js gzip | 50.6 kB | 50.7 kB | N/A |
| pages.runtim..prod.js gzip | 38.1 kB | 38.1 kB | N/A |
| server.runti..prod.js gzip | 59.8 kB | 59.9 kB | N/A |
| Overall change | 1.83 MB | 1.83 MB | ✓ |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| 0.pack gzip | 3.61 MB | 3.61 MB | |
| index.pack gzip | 99.5 kB | 98.5 kB | N/A |
| Overall change | 3.61 MB | 3.61 MB |
Diff details
Diff for page.js
Diff too large to display
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for _buildManifest.js
@@ -611,35 +611,35 @@ self.__BUILD_MANIFEST = (function (a, b, c) {
numHashes: NaN,
bitArray: [],
},
- "/": ["static\u002Fchunks\u002Fpages\u002Findex-dda7d8b64d4ba15c.js"],
+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-d95f7ec6af4d2644.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-6ef44d3954f25711.js",
+ "static\u002Fchunks\u002Fpages\u002F_error-209c0c82205a7c9f.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-c8aaa7211416a045.js",
+ "static\u002Fchunks\u002Fpages\u002Fcss-62710339bc830ded.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-d53bb7f318f342c2.js",
+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8ed3486bb68dd6c6.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-1383106d4a3e7d72.js",
+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-0db9f7bb610d3072.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-1db1c4be1a45662f.js"],
- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e6deee5b72a5b112.js"],
+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-747416c4075e42aa.js"],
+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-8b10205be7505244.js"],
"/image": [
- "static\u002Fchunks\u002F2747-90c828280005c0c3.js",
- "static\u002Fchunks\u002Fpages\u002Fimage-868472cd5e84efc9.js",
+ "static\u002Fchunks\u002F6349-ee9aecde860d4832.js",
+ "static\u002Fchunks\u002Fpages\u002Fimage-f90ae17c3ad1d38b.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-0ec374e48b2ce5d9.js"],
+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-6ab9a67b348df1bf.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-1a34bfadbc088491.js",
+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-f132fb471e65a8b9.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-52320f59afbd096d.js",
+ "static\u002Fchunks\u002Fpages\u002Fscript-8e2028e44b8da2d9.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-3b1a16d3dfa21c16.js",
+ "static\u002Fchunks\u002Fpages\u002FwithRouter-a86d259faa012c1c.js",
],
sortedPages: [
"\u002F",Diff for dynamic-HASH.js
@@ -1,17 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1231: /***/ (
- module,
+ /***/ 2604: /***/ (
+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4464);
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/dynamic",
+ function () {
+ return __webpack_require__(3643);
+ },
+ ]);
+ if (false) {
+ }
/***/
},
- /***/ 2101: /***/ (
+ /***/ 3401: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -38,24 +45,63 @@
/***/
},
- /***/ 3458: /***/ (
+ /***/ 3643: /***/ (
__unused_webpack_module,
- __unused_webpack_exports,
+ __webpack_exports__,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/dynamic",
- function () {
- return __webpack_require__(9381);
- },
- ]);
- if (false) {
- }
+ "use strict";
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
+ });
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(3108);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(3973);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+ () =>
+ __webpack_require__
+ .e(/* import() */ 1596)
+ .then(__webpack_require__.bind(__webpack_require__, 1596))
+ .then((mod) => mod.Hello),
+ {
+ loadableGenerated: {
+ webpack: () => [/*require.resolve*/ 1596],
+ },
+ }
+ );
+ const Page = () =>
+ /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+ {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+ children: "testing next/dynamic size",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ DynamicHello,
+ {}
+ ),
+ ],
+ }
+ );
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
/***/
},
- /***/ 4464: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3660: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -88,7 +134,7 @@
__webpack_require__(4312)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9799)
+ __webpack_require__(4539)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -188,63 +234,17 @@
/***/
},
- /***/ 9381: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
+ /***/ 3973: /***/ (
+ module,
+ __unused_webpack_exports,
__webpack_require__
) => {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
- });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(3108);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1231);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_dynamic__WEBPACK_IMPORTED_MODULE_1__
- );
-
- const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
- () =>
- __webpack_require__
- .e(/* import() */ 2086)
- .then(__webpack_require__.bind(__webpack_require__, 2086))
- .then((mod) => mod.Hello),
- {
- loadableGenerated: {
- webpack: () => [/*require.resolve*/ 2086],
- },
- }
- );
- const Page = () =>
- /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
- {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
- children: "testing next/dynamic size",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- DynamicHello,
- {}
- ),
- ],
- }
- );
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
+ module.exports = __webpack_require__(3660);
/***/
},
- /***/ 9799: /***/ (
+ /***/ 4539: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +286,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(4312)
);
- const _loadablecontextsharedruntime = __webpack_require__(2101);
+ const _loadablecontextsharedruntime = __webpack_require__(3401);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -524,7 +524,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, [636, 6593, 8792], () =>
- __webpack_exec__(3458)
+ __webpack_exec__(2604)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for edge-ssr-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[676],
{
- /***/ 1564: /***/ (
+ /***/ 7046: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/edge-ssr",
+ function () {
+ return __webpack_require__(7142);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 7142: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -20,30 +37,13 @@
/***/
},
-
- /***/ 4300: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/edge-ssr",
- function () {
- return __webpack_require__(1564);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4300)
+ __webpack_exec__(7046)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for head-HASH.js
@@ -1,34 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 1548: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/head",
- function () {
- return __webpack_require__(4282);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 3952: /***/ (
+ /***/ 3770: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1653);
+ module.exports = __webpack_require__(9025);
/***/
},
- /***/ 4282: /***/ (
+ /***/ 6236: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(3952);
+ __webpack_require__(3770);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +59,30 @@
/***/
},
+
+ /***/ 6510: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/head",
+ function () {
+ return __webpack_require__(6236);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1548)
+ __webpack_exec__(6510)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for index-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 6376: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/",
- function () {
- return __webpack_require__(8460);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 8460: /***/ (
+ /***/ 830: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -36,13 +19,30 @@
/***/
},
+
+ /***/ 1938: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/",
+ function () {
+ return __webpack_require__(830);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6376)
+ __webpack_exec__(1938)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for link-HASH.js
@@ -1,7 +1,220 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 857: /***/ (module, exports, __webpack_require__) => {
+ /***/ 2774: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "useIntersection", {
+ enumerable: true,
+ get: function () {
+ return useIntersection;
+ },
+ });
+ const _react = __webpack_require__(4312);
+ const _requestidlecallback = __webpack_require__(9413);
+ const hasIntersectionObserver =
+ typeof IntersectionObserver === "function";
+ const observers = new Map();
+ const idList = [];
+ function createObserver(options) {
+ const id = {
+ root: options.root || null,
+ margin: options.rootMargin || "",
+ };
+ const existing = idList.find(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ let instance;
+ if (existing) {
+ instance = observers.get(existing);
+ if (instance) {
+ return instance;
+ }
+ }
+ const elements = new Map();
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach((entry) => {
+ const callback = elements.get(entry.target);
+ const isVisible =
+ entry.isIntersecting || entry.intersectionRatio > 0;
+ if (callback && isVisible) {
+ callback(isVisible);
+ }
+ });
+ }, options);
+ instance = {
+ id,
+ observer,
+ elements,
+ };
+ idList.push(id);
+ observers.set(id, instance);
+ return instance;
+ }
+ function observe(element, callback, options) {
+ const { id, observer, elements } = createObserver(options);
+ elements.set(element, callback);
+ observer.observe(element);
+ return function unobserve() {
+ elements.delete(element);
+ observer.unobserve(element);
+ // Destroy observer when there's nothing left to watch:
+ if (elements.size === 0) {
+ observer.disconnect();
+ observers.delete(id);
+ const index = idList.findIndex(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ if (index > -1) {
+ idList.splice(index, 1);
+ }
+ }
+ };
+ }
+ function useIntersection({ rootRef, rootMargin, disabled }) {
+ const isDisabled = disabled || !hasIntersectionObserver;
+ const [visible, setVisible] = (0, _react.useState)(false);
+ const elementRef = (0, _react.useRef)(null);
+ const setElement = (0, _react.useCallback)((element) => {
+ elementRef.current = element;
+ }, []);
+ (0, _react.useEffect)(() => {
+ if (hasIntersectionObserver) {
+ if (isDisabled || visible) return;
+ const element = elementRef.current;
+ if (element && element.tagName) {
+ const unobserve = observe(
+ element,
+ (isVisible) => isVisible && setVisible(isVisible),
+ {
+ root: rootRef?.current,
+ rootMargin,
+ }
+ );
+ return unobserve;
+ }
+ } else {
+ if (!visible) {
+ const idleCallback = (0,
+ _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+ return () =>
+ (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+ }
+ }
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+ const resetVisible = (0, _react.useCallback)(() => {
+ setVisible(false);
+ }, []);
+ return [setElement, visible, resetVisible];
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=use-intersection.js.map
+
+ /***/
+ },
+
+ /***/ 3351: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "useMergedRef", {
+ enumerable: true,
+ get: function () {
+ return useMergedRef;
+ },
+ });
+ const _react = __webpack_require__(4312);
+ function useMergedRef(refA, refB) {
+ const cleanupA = (0, _react.useRef)(null);
+ const cleanupB = (0, _react.useRef)(null);
+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+ // (because it hasn't been updated for React 19)
+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+ return (0, _react.useCallback)(
+ (current) => {
+ if (current === null) {
+ const cleanupFnA = cleanupA.current;
+ if (cleanupFnA) {
+ cleanupA.current = null;
+ cleanupFnA();
+ }
+ const cleanupFnB = cleanupB.current;
+ if (cleanupFnB) {
+ cleanupB.current = null;
+ cleanupFnB();
+ }
+ } else {
+ if (refA) {
+ cleanupA.current = applyRef(refA, current);
+ }
+ if (refB) {
+ cleanupB.current = applyRef(refB, current);
+ }
+ }
+ },
+ [refA, refB]
+ );
+ }
+ function applyRef(refA, current) {
+ if (typeof refA === "function") {
+ const cleanup = refA(current);
+ if (typeof cleanup === "function") {
+ return cleanup;
+ } else {
+ return () => refA(null);
+ }
+ } else {
+ refA.current = current;
+ return () => {
+ refA.current = null;
+ };
+ }
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=use-merged-ref.js.map
+
+ /***/
+ },
+
+ /***/ 3440: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(4757);
+
+ /***/
+ },
+
+ /***/ 4757: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -23,22 +236,22 @@
return useLinkStatus;
},
});
- const _interop_require_wildcard = __webpack_require__(8781);
+ const _interop_require_wildcard = __webpack_require__(1162);
const _jsxruntime = __webpack_require__(3108);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(4312)
);
- const _resolvehref = __webpack_require__(4055);
- const _islocalurl = __webpack_require__(7175);
- const _formaturl = __webpack_require__(9674);
- const _utils = __webpack_require__(7424);
- const _addlocale = __webpack_require__(589);
- const _routercontextsharedruntime = __webpack_require__(7010);
- const _useintersection = __webpack_require__(2330);
- const _getdomainlocale = __webpack_require__(7207);
- const _addbasepath = __webpack_require__(9942);
- const _usemergedref = __webpack_require__(8067);
- const _erroronce = __webpack_require__(1945);
+ const _resolvehref = __webpack_require__(4691);
+ const _islocalurl = __webpack_require__(4763);
+ const _formaturl = __webpack_require__(3246);
+ const _utils = __webpack_require__(7372);
+ const _addlocale = __webpack_require__(1809);
+ const _routercontextsharedruntime = __webpack_require__(2254);
+ const _useintersection = __webpack_require__(2774);
+ const _getdomainlocale = __webpack_require__(8803);
+ const _addbasepath = __webpack_require__(5834);
+ const _usemergedref = __webpack_require__(3351);
+ const _erroronce = __webpack_require__(6021);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -417,168 +630,43 @@
/***/
},
- /***/ 1945: /***/ (__unused_webpack_module, exports) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "errorOnce", {
- enumerable: true,
- get: function () {
- return errorOnce;
+ /***/ 5326: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/link",
+ function () {
+ return __webpack_require__(9058);
},
- });
- let errorOnce = (_) => {};
+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map
+ }
/***/
},
- /***/ 2330: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6021: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useIntersection", {
+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useIntersection;
+ return errorOnce;
},
});
- const _react = __webpack_require__(4312);
- const _requestidlecallback = __webpack_require__(601);
- const hasIntersectionObserver =
- typeof IntersectionObserver === "function";
- const observers = new Map();
- const idList = [];
- function createObserver(options) {
- const id = {
- root: options.root || null,
- margin: options.rootMargin || "",
- };
- const existing = idList.find(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- let instance;
- if (existing) {
- instance = observers.get(existing);
- if (instance) {
- return instance;
- }
- }
- const elements = new Map();
- const observer = new IntersectionObserver((entries) => {
- entries.forEach((entry) => {
- const callback = elements.get(entry.target);
- const isVisible =
- entry.isIntersecting || entry.intersectionRatio > 0;
- if (callback && isVisible) {
- callback(isVisible);
- }
- });
- }, options);
- instance = {
- id,
- observer,
- elements,
- };
- idList.push(id);
- observers.set(id, instance);
- return instance;
- }
- function observe(element, callback, options) {
- const { id, observer, elements } = createObserver(options);
- elements.set(element, callback);
- observer.observe(element);
- return function unobserve() {
- elements.delete(element);
- observer.unobserve(element);
- // Destroy observer when there's nothing left to watch:
- if (elements.size === 0) {
- observer.disconnect();
- observers.delete(id);
- const index = idList.findIndex(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- if (index > -1) {
- idList.splice(index, 1);
- }
- }
- };
- }
- function useIntersection({ rootRef, rootMargin, disabled }) {
- const isDisabled = disabled || !hasIntersectionObserver;
- const [visible, setVisible] = (0, _react.useState)(false);
- const elementRef = (0, _react.useRef)(null);
- const setElement = (0, _react.useCallback)((element) => {
- elementRef.current = element;
- }, []);
- (0, _react.useEffect)(() => {
- if (hasIntersectionObserver) {
- if (isDisabled || visible) return;
- const element = elementRef.current;
- if (element && element.tagName) {
- const unobserve = observe(
- element,
- (isVisible) => isVisible && setVisible(isVisible),
- {
- root: rootRef?.current,
- rootMargin,
- }
- );
- return unobserve;
- }
- } else {
- if (!visible) {
- const idleCallback = (0,
- _requestidlecallback.requestIdleCallback)(() => setVisible(true));
- return () =>
- (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
- }
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
- const resetVisible = (0, _react.useCallback)(() => {
- setVisible(false);
- }, []);
- return [setElement, visible, resetVisible];
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map
-
- /***/
- },
-
- /***/ 4972: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/link",
- function () {
- return __webpack_require__(7600);
- },
- ]);
+ let errorOnce = (_) => {};
if (false) {
- }
+ } //# sourceMappingURL=error-once.js.map
/***/
},
- /***/ 7207: /***/ (module, exports, __webpack_require__) => {
+ /***/ 8803: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -590,7 +678,7 @@
return getDomainLocale;
},
});
- const _normalizetrailingslash = __webpack_require__(151);
+ const _normalizetrailingslash = __webpack_require__(1315);
const basePath =
/* unused pure expression or super */ null && (false || "");
function getDomainLocale(path, locale, locales, domainLocales) {
@@ -614,7 +702,7 @@
/***/
},
- /***/ 7600: /***/ (
+ /***/ 9058: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -629,7 +717,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7830);
+ __webpack_require__(3440);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -659,101 +747,13 @@
/***/
},
-
- /***/ 7830: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(857);
-
- /***/
- },
-
- /***/ 8067: /***/ (module, exports, __webpack_require__) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "useMergedRef", {
- enumerable: true,
- get: function () {
- return useMergedRef;
- },
- });
- const _react = __webpack_require__(4312);
- function useMergedRef(refA, refB) {
- const cleanupA = (0, _react.useRef)(null);
- const cleanupB = (0, _react.useRef)(null);
- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
- // (this happens often if the user doesn't pass a ref to Link/Form/Image)
- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
- // (because it hasn't been updated for React 19)
- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
- return (0, _react.useCallback)(
- (current) => {
- if (current === null) {
- const cleanupFnA = cleanupA.current;
- if (cleanupFnA) {
- cleanupA.current = null;
- cleanupFnA();
- }
- const cleanupFnB = cleanupB.current;
- if (cleanupFnB) {
- cleanupB.current = null;
- cleanupFnB();
- }
- } else {
- if (refA) {
- cleanupA.current = applyRef(refA, current);
- }
- if (refB) {
- cleanupB.current = applyRef(refB, current);
- }
- }
- },
- [refA, refB]
- );
- }
- function applyRef(refA, current) {
- if (typeof refA === "function") {
- const cleanup = refA(current);
- if (typeof cleanup === "function") {
- return cleanup;
- } else {
- return () => refA(null);
- }
- } else {
- refA.current = current;
- return () => {
- refA.current = null;
- };
- }
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=use-merged-ref.js.map
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4972)
+ __webpack_exec__(5326)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for routerDirect-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 1179: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(9864);
-
- /***/
- },
-
- /***/ 1640: /***/ (
+ /***/ 2014: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1179);
+ __webpack_require__(4169);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -46,7 +36,17 @@
/***/
},
- /***/ 2172: /***/ (
+ /***/ 4169: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(9700);
+
+ /***/
+ },
+
+ /***/ 4414: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -54,7 +54,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/routerDirect",
function () {
- return __webpack_require__(1640);
+ return __webpack_require__(2014);
},
]);
if (false) {
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2172)
+ __webpack_exec__(4414)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for script-HASH.js
@@ -1,17 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 4977: /***/ (
+ /***/ 2591: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(326);
+ module.exports = __webpack_require__(4634);
/***/
},
- /***/ 5887: /***/ (
+ /***/ 5030: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/script",
+ function () {
+ return __webpack_require__(7557);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 7557: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4977);
+ __webpack_require__(2591);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -58,30 +75,13 @@
/***/
},
-
- /***/ 6268: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/script",
- function () {
- return __webpack_require__(5887);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6268)
+ __webpack_exec__(5030)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for withRouter-HASH.js
@@ -1,34 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 1179: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(9864);
-
- /***/
- },
-
- /***/ 2028: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/withRouter",
- function () {
- return __webpack_require__(4501);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 4501: /***/ (
+ /***/ 559: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1179);
+ __webpack_require__(4169);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
+
+ /***/ 726: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/withRouter",
+ function () {
+ return __webpack_require__(559);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 4169: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(9700);
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2028)
+ __webpack_exec__(726)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for 2161-HASH.js
Diff too large to display
Diff for 2747-HASH.js
Diff too large to display
Diff for 4322-HASH.js
failed to diffDiff for main-HASH.js
Diff too large to display
Diff for pages-turbo...ntime.dev.js
@@ -8,7 +8,7 @@ Read more: https://nextjs.org/docs/messages/no-document-import-in-page`),"__NEXT
Keys that need to be moved: ${invalidKeys.join(", ")}.
Read more: https://nextjs.org/docs/messages/${docsPathname}`};function checkRedirectValues(redirect,req,method){let{destination,permanent,statusCode,basePath}=redirect,errors=[],hasStatusCode=void 0!==statusCode,hasPermanent=void 0!==permanent;hasPermanent&&hasStatusCode?errors.push("`permanent` and `statusCode` can not both be provided"):hasPermanent&&"boolean"!=typeof permanent?errors.push("`permanent` must be `true` or `false`"):hasStatusCode&&!allowedStatusCodes.has(statusCode)&&errors.push(`\`statusCode\` must undefined or one of ${[...allowedStatusCodes].join(", ")}`);let destinationType=typeof destination;"string"!==destinationType&&errors.push(`\`destination\` should be string but received ${destinationType}`);let basePathType=typeof basePath;if("undefined"!==basePathType&&"boolean"!==basePathType&&errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`),errors.length>0)throw Object.defineProperty(Error(`Invalid redirect object returned from ${method} for ${req.url}
`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
-Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(res.setHeader("Cache-Control",function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";return 0===revalidate?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof revalidate?`s-maxage=${revalidate}${swrHeader}`:`s-maxage=${constants.CACHE_ONE_YEAR}${swrHeader}`}({revalidate:!1,expire:expireTime})),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
+Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(!function(res,cacheControl,cdnCacheControlHeader="CDN-Cache-Control"){let cacheHeaders=function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";if(0===revalidate)return{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"};let maxAge="number"==typeof revalidate?revalidate:constants.CACHE_ONE_YEAR,cdnCacheControl=`max-age=${maxAge}${swrHeader}`;return{"Cache-Control":`s-maxage=${maxAge}`,cdnCacheControl:cdnCacheControl}}(cacheControl);res.setHeader("Cache-Control",cacheHeaders["Cache-Control"]),cacheHeaders.cdnCacheControl&&res.setHeader(cdnCacheControlHeader,cacheHeaders.cdnCacheControl)}(res,{revalidate:!1,expire:expireTime},renderOpts.experimental.cdnCacheControlHeader),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
Read more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`),"__NEXT_ERROR_CODE",{value:"E187",enumerable:!1,configurable:!0});if(getStaticPaths&&!isSSG)throw Object.defineProperty(Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`),"__NEXT_ERROR_CODE",{value:"E447",enumerable:!1,configurable:!0});if(isSSG&&pageIsDynamic&&!getStaticPaths)throw Object.defineProperty(Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.
Read more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`),"__NEXT_ERROR_CODE",{value:"E255",enumerable:!1,configurable:!0});let asPath=renderOpts.resolvedAsPath||req.url;if(dev){let{isValidElementType}=__webpack_require__("./dist/compiled/react-is/index.js");if(!isValidElementType(Component))throw Object.defineProperty(Error(`The default export is not a React Component in page: "${pathname}"`),"__NEXT_ERROR_CODE",{value:"E286",enumerable:!1,configurable:!0});if(!isValidElementType(App))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_app"'),"__NEXT_ERROR_CODE",{value:"E464",enumerable:!1,configurable:!0});if(!isValidElementType(Document))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_document"'),"__NEXT_ERROR_CODE",{value:"E511",enumerable:!1,configurable:!0});if((isAutoExport||isFallback)&&(query={},asPath=`${pathname}${req.url.endsWith("/")&&"/"!==pathname&&!pageIsDynamic?"/":""}`,req.url=pathname),"/404"===pathname&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages/404\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E134",enumerable:!1,configurable:!0});if(STATIC_STATUS_PAGES.includes(pathname)&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages${pathname}\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E125",enumerable:!1,configurable:!0});(null==renderOpts?void 0:renderOpts.setIsrStatus)&&renderOpts.setIsrStatus(asPath,isSSG||isAutoExport)}for(let methodName of["getStaticProps","getServerSideProps","getStaticPaths"])if(null==Component?void 0:Component[methodName])throw Object.defineProperty(Error(`page ${pathname} ${methodName} ${constants.GSSP_COMPONENT_MEMBER_ERROR}`),"__NEXT_ERROR_CODE",{value:"E417",enumerable:!1,configurable:!0});await loadable_shared_runtime.preloadAll(),(isSSG||getServerSideProps)&&!isFallback&&previewProps&&(isPreview=!1!==(previewData=render_tryGetPreviewData(req,res,previewProps,!!renderOpts.multiZoneDraftMode)));let routerIsReady=!!(getServerSideProps||hasPageGetInitialProps||!defaultAppGetInitialProps&&!isSSG||isExperimentalCompile),router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,isPreview,getRequestMeta(req,"isLocaleDomain")),appRouter={back(){router.back()},forward(){router.forward()},refresh(){router.reload()},hmrRefresh(){},push(href,{scroll}={}){router.push(href,void 0,{scroll})},replace(href,{scroll}={}){router.replace(href,void 0,{scroll})},prefetch(href){router.prefetch(href)}},scriptLoader={},jsxStyleRegistry=(0,external_styled_jsx_namespaceObject.createStyleRegistry)(),head=[(0,jsx_runtime_namespaceObject.jsx)("meta",{charSet:"utf-8"},"charset"),(0,jsx_runtime_namespaceObject.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")],reactLoadableModules=[],initialScripts={};hasPageScripts&&(initialScripts.beforeInteractive=[].concat(hasPageScripts()).filter(script=>"beforeInteractive"===script.props.strategy).map(script=>script.props));let csp=req.headers["content-security-policy"]||req.headers["content-security-policy-report-only"],nonce="string"==typeof csp?function(cspHeaderValue){var _directive_split_slice_map_find;let directives=cspHeaderValue.split(";").map(directive=>directive.trim()),directive=directives.find(dir=>dir.startsWith("script-src"))||directives.find(dir=>dir.startsWith("default-src"));if(!directive)return;let nonce=null==(_directive_split_slice_map_find=directive.split(" ").slice(1).map(source=>source.trim()).find(source=>source.startsWith("'nonce-")&&source.length>8&&source.endsWith("'")))?void 0:_directive_split_slice_map_find.slice(7,-1);if(nonce){if(ESCAPE_REGEX.test(nonce))throw Object.defineProperty(Error("Nonce value from Content-Security-Policy contained HTML escape characters.\nLearn more: https://nextjs.org/docs/messages/nonce-contained-invalid-characters"),"__NEXT_ERROR_CODE",{value:"E440",enumerable:!1,configurable:!0});return nonce}}(csp):void 0,AppContainer=({children})=>{var router1;return(0,jsx_runtime_namespaceObject.jsx)(AppRouterContext.Provider,{value:appRouter,children:(0,jsx_runtime_namespaceObject.jsx)(SearchParamsContext.Provider,{value:(router1=router).isReady&&router1.query?new URL(router1.asPath,"http://n").searchParams:new URLSearchParams,children:(0,jsx_runtime_namespaceObject.jsx)(PathnameContextProviderAdapter,{router:router,isAutoExport:isAutoExport,children:(0,jsx_runtime_namespaceObject.jsx)(PathParamsContext.Provider,{value:function(router){if(!router.isReady||!router.query)return null;let pathParams={};for(let key of Object.keys(getRouteRegex(router.pathname).groups))pathParams[key]=router.query[key];return pathParams}(router),children:(0,jsx_runtime_namespaceObject.jsx)(RouterContext.Provider,{value:router,children:(0,jsx_runtime_namespaceObject.jsx)(HeadManagerContext.Provider,{value:{updateHead:state=>{head=state},updateScripts:scripts=>{scriptLoader=scripts},scripts:initialScripts,mountedInstances:new Set,nonce},children:(0,jsx_runtime_namespaceObject.jsx)(LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName),children:(0,jsx_runtime_namespaceObject.jsx)(external_styled_jsx_namespaceObject.StyleRegistry,{registry:jsxStyleRegistry,children:(0,jsx_runtime_namespaceObject.jsx)(ImageConfigContext.Provider,{value:images,children:children})})})})})})})})})},Noop=()=>null,AppContainerWithIsomorphicFiberStructure=({children})=>(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(Noop,{}),(0,jsx_runtime_namespaceObject.jsx)(AppContainer,{children:(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[children,(0,jsx_runtime_namespaceObject.jsx)(Noop,{})]})})]}),ctx={err,req:isAutoExport?void 0:req,res:isAutoExport?void 0:res,pathname,query,asPath,locale:renderOpts.locale,locales:renderOpts.locales,defaultLocale:renderOpts.defaultLocale,AppTree:props=>(0,jsx_runtime_namespaceObject.jsx)(AppContainerWithIsomorphicFiberStructure,{children:renderPageTree(App,Component,{...props,router})}),defaultGetInitialProps:async(docCtx,options={})=>{let{html,head:renderPageHead}=await docCtx.renderPage({enhanceApp:AppComp=>props=>(0,jsx_runtime_namespaceObject.jsx)(AppComp,{...props})}),styles=jsxStyleRegistry.styles({nonce:options.nonce||nonce});return jsxStyleRegistry.flush(),{html,head:renderPageHead,styles}}},nextExport=!isSSG&&(renderOpts.nextExport||dev&&(isAutoExport||isFallback));if(props=await loadGetInitialProps(App,{AppTree:ctx.AppTree,Component,router,ctx}),(isSSG||getServerSideProps)&&isPreview&&(props.__N_PREVIEW=!0),isSSG&&(props.__N_SSG=!0),isSSG&&!isFallback){let data,revalidate;try{data=await (0,tracer_.getTracer)().trace(trace_constants.RenderSpan.getStaticProps,{spanName:`getStaticProps ${pathname}`,attributes:{"next.route":pathname}},()=>getStaticProps({...pageIsDynamic?{params}:void 0,...isPreview?{draftMode:!0,preview:!0,previewData:previewData}:void 0,locales:[...renderOpts.locales??[]],locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale,revalidateReason:renderOpts.isOnDemandRevalidate?"on-demand":isBuildTimeSSG?"build":"stale"}))}catch(staticPropsError){throw staticPropsError&&"ENOENT"===staticPropsError.code&&delete staticPropsError.code,staticPropsError}if(null==data)throw Object.defineProperty(Error(constants.GSP_NO_RETURNED_VALUE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});let invalidKeys=Object.keys(data).filter(key=>"revalidate"!==key&&"props"!==key&&"redirect"!==key&&"notFound"!==key);if(invalidKeys.includes("unstable_revalidate"))throw Object.defineProperty(Error(constants.UNSTABLE_REVALIDATE_RENAME_ERROR),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(invalidKeys.length)throw Object.defineProperty(Error(invalidKeysMsg("getStaticProps",invalidKeys)),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(void 0!==data.notFound&&void 0!==data.redirect)throw Object.defineProperty(Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?"getStaticProps":"getServerSideProps"} at the same time. Page: ${pathname}
See more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`),"__NEXT_ERROR_CODE",{value:"E454",enumerable:!1,configurable:!0});if("notFound"in data&&data.notFound){if("/404"===pathname)throw Object.defineProperty(Error('The /404 page can not return notFound in "getStaticProps", please remove it to continue!'),"__NEXT_ERROR_CODE",{value:"E121",enumerable:!1,configurable:!0});metadata.isNotFound=!0}if("redirect"in data&&data.redirect&&"object"==typeof data.redirect){if(checkRedirectValues(data.redirect,req,"getStaticProps"),isBuildTimeSSG)throw Object.defineProperty(Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})Diff for pages-turbo...time.prod.js
Diff too large to display
Diff for pages.runtime.dev.js
@@ -8,7 +8,7 @@ Read more: https://nextjs.org/docs/messages/no-document-import-in-page`),"__NEXT
Keys that need to be moved: ${invalidKeys.join(", ")}.
Read more: https://nextjs.org/docs/messages/${docsPathname}`};function checkRedirectValues(redirect,req,method){let{destination,permanent,statusCode,basePath}=redirect,errors=[],hasStatusCode=void 0!==statusCode,hasPermanent=void 0!==permanent;hasPermanent&&hasStatusCode?errors.push("`permanent` and `statusCode` can not both be provided"):hasPermanent&&"boolean"!=typeof permanent?errors.push("`permanent` must be `true` or `false`"):hasStatusCode&&!allowedStatusCodes.has(statusCode)&&errors.push(`\`statusCode\` must undefined or one of ${[...allowedStatusCodes].join(", ")}`);let destinationType=typeof destination;"string"!==destinationType&&errors.push(`\`destination\` should be string but received ${destinationType}`);let basePathType=typeof basePath;if("undefined"!==basePathType&&"boolean"!==basePathType&&errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`),errors.length>0)throw Object.defineProperty(Error(`Invalid redirect object returned from ${method} for ${req.url}
`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
-Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(res.setHeader("Cache-Control",function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";return 0===revalidate?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof revalidate?`s-maxage=${revalidate}${swrHeader}`:`s-maxage=${constants.CACHE_ONE_YEAR}${swrHeader}`}({revalidate:!1,expire:expireTime})),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
+Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(!function(res,cacheControl,cdnCacheControlHeader="CDN-Cache-Control"){let cacheHeaders=function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";if(0===revalidate)return{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"};let maxAge="number"==typeof revalidate?revalidate:constants.CACHE_ONE_YEAR,cdnCacheControl=`max-age=${maxAge}${swrHeader}`;return{"Cache-Control":`s-maxage=${maxAge}`,cdnCacheControl:cdnCacheControl}}(cacheControl);res.setHeader("Cache-Control",cacheHeaders["Cache-Control"]),cacheHeaders.cdnCacheControl&&res.setHeader(cdnCacheControlHeader,cacheHeaders.cdnCacheControl)}(res,{revalidate:!1,expire:expireTime},renderOpts.experimental.cdnCacheControlHeader),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
Read more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`),"__NEXT_ERROR_CODE",{value:"E187",enumerable:!1,configurable:!0});if(getStaticPaths&&!isSSG)throw Object.defineProperty(Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`),"__NEXT_ERROR_CODE",{value:"E447",enumerable:!1,configurable:!0});if(isSSG&&pageIsDynamic&&!getStaticPaths)throw Object.defineProperty(Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.
Read more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`),"__NEXT_ERROR_CODE",{value:"E255",enumerable:!1,configurable:!0});let asPath=renderOpts.resolvedAsPath||req.url;if(dev){let{isValidElementType}=__webpack_require__("./dist/compiled/react-is/index.js");if(!isValidElementType(Component))throw Object.defineProperty(Error(`The default export is not a React Component in page: "${pathname}"`),"__NEXT_ERROR_CODE",{value:"E286",enumerable:!1,configurable:!0});if(!isValidElementType(App))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_app"'),"__NEXT_ERROR_CODE",{value:"E464",enumerable:!1,configurable:!0});if(!isValidElementType(Document))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_document"'),"__NEXT_ERROR_CODE",{value:"E511",enumerable:!1,configurable:!0});if((isAutoExport||isFallback)&&(query={},asPath=`${pathname}${req.url.endsWith("/")&&"/"!==pathname&&!pageIsDynamic?"/":""}`,req.url=pathname),"/404"===pathname&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages/404\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E134",enumerable:!1,configurable:!0});if(STATIC_STATUS_PAGES.includes(pathname)&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages${pathname}\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E125",enumerable:!1,configurable:!0});(null==renderOpts?void 0:renderOpts.setIsrStatus)&&renderOpts.setIsrStatus(asPath,isSSG||isAutoExport)}for(let methodName of["getStaticProps","getServerSideProps","getStaticPaths"])if(null==Component?void 0:Component[methodName])throw Object.defineProperty(Error(`page ${pathname} ${methodName} ${constants.GSSP_COMPONENT_MEMBER_ERROR}`),"__NEXT_ERROR_CODE",{value:"E417",enumerable:!1,configurable:!0});await loadable_shared_runtime.preloadAll(),(isSSG||getServerSideProps)&&!isFallback&&previewProps&&(isPreview=!1!==(previewData=render_tryGetPreviewData(req,res,previewProps,!!renderOpts.multiZoneDraftMode)));let routerIsReady=!!(getServerSideProps||hasPageGetInitialProps||!defaultAppGetInitialProps&&!isSSG||isExperimentalCompile),router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,isPreview,getRequestMeta(req,"isLocaleDomain")),appRouter={back(){router.back()},forward(){router.forward()},refresh(){router.reload()},hmrRefresh(){},push(href,{scroll}={}){router.push(href,void 0,{scroll})},replace(href,{scroll}={}){router.replace(href,void 0,{scroll})},prefetch(href){router.prefetch(href)}},scriptLoader={},jsxStyleRegistry=(0,external_styled_jsx_namespaceObject.createStyleRegistry)(),head=[(0,jsx_runtime_namespaceObject.jsx)("meta",{charSet:"utf-8"},"charset"),(0,jsx_runtime_namespaceObject.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")],reactLoadableModules=[],initialScripts={};hasPageScripts&&(initialScripts.beforeInteractive=[].concat(hasPageScripts()).filter(script=>"beforeInteractive"===script.props.strategy).map(script=>script.props));let csp=req.headers["content-security-policy"]||req.headers["content-security-policy-report-only"],nonce="string"==typeof csp?function(cspHeaderValue){var _directive_split_slice_map_find;let directives=cspHeaderValue.split(";").map(directive=>directive.trim()),directive=directives.find(dir=>dir.startsWith("script-src"))||directives.find(dir=>dir.startsWith("default-src"));if(!directive)return;let nonce=null==(_directive_split_slice_map_find=directive.split(" ").slice(1).map(source=>source.trim()).find(source=>source.startsWith("'nonce-")&&source.length>8&&source.endsWith("'")))?void 0:_directive_split_slice_map_find.slice(7,-1);if(nonce){if(ESCAPE_REGEX.test(nonce))throw Object.defineProperty(Error("Nonce value from Content-Security-Policy contained HTML escape characters.\nLearn more: https://nextjs.org/docs/messages/nonce-contained-invalid-characters"),"__NEXT_ERROR_CODE",{value:"E440",enumerable:!1,configurable:!0});return nonce}}(csp):void 0,AppContainer=({children})=>{var router1;return(0,jsx_runtime_namespaceObject.jsx)(AppRouterContext.Provider,{value:appRouter,children:(0,jsx_runtime_namespaceObject.jsx)(SearchParamsContext.Provider,{value:(router1=router).isReady&&router1.query?new URL(router1.asPath,"http://n").searchParams:new URLSearchParams,children:(0,jsx_runtime_namespaceObject.jsx)(PathnameContextProviderAdapter,{router:router,isAutoExport:isAutoExport,children:(0,jsx_runtime_namespaceObject.jsx)(PathParamsContext.Provider,{value:function(router){if(!router.isReady||!router.query)return null;let pathParams={};for(let key of Object.keys(getRouteRegex(router.pathname).groups))pathParams[key]=router.query[key];return pathParams}(router),children:(0,jsx_runtime_namespaceObject.jsx)(RouterContext.Provider,{value:router,children:(0,jsx_runtime_namespaceObject.jsx)(HeadManagerContext.Provider,{value:{updateHead:state=>{head=state},updateScripts:scripts=>{scriptLoader=scripts},scripts:initialScripts,mountedInstances:new Set,nonce},children:(0,jsx_runtime_namespaceObject.jsx)(LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName),children:(0,jsx_runtime_namespaceObject.jsx)(external_styled_jsx_namespaceObject.StyleRegistry,{registry:jsxStyleRegistry,children:(0,jsx_runtime_namespaceObject.jsx)(ImageConfigContext.Provider,{value:images,children:children})})})})})})})})})},Noop=()=>null,AppContainerWithIsomorphicFiberStructure=({children})=>(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(Noop,{}),(0,jsx_runtime_namespaceObject.jsx)(AppContainer,{children:(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[children,(0,jsx_runtime_namespaceObject.jsx)(Noop,{})]})})]}),ctx={err,req:isAutoExport?void 0:req,res:isAutoExport?void 0:res,pathname,query,asPath,locale:renderOpts.locale,locales:renderOpts.locales,defaultLocale:renderOpts.defaultLocale,AppTree:props=>(0,jsx_runtime_namespaceObject.jsx)(AppContainerWithIsomorphicFiberStructure,{children:renderPageTree(App,Component,{...props,router})}),defaultGetInitialProps:async(docCtx,options={})=>{let{html,head:renderPageHead}=await docCtx.renderPage({enhanceApp:AppComp=>props=>(0,jsx_runtime_namespaceObject.jsx)(AppComp,{...props})}),styles=jsxStyleRegistry.styles({nonce:options.nonce||nonce});return jsxStyleRegistry.flush(),{html,head:renderPageHead,styles}}},nextExport=!isSSG&&(renderOpts.nextExport||dev&&(isAutoExport||isFallback));if(props=await loadGetInitialProps(App,{AppTree:ctx.AppTree,Component,router,ctx}),(isSSG||getServerSideProps)&&isPreview&&(props.__N_PREVIEW=!0),isSSG&&(props.__N_SSG=!0),isSSG&&!isFallback){let data,revalidate;try{data=await (0,tracer_.getTracer)().trace(trace_constants.RenderSpan.getStaticProps,{spanName:`getStaticProps ${pathname}`,attributes:{"next.route":pathname}},()=>getStaticProps({...pageIsDynamic?{params}:void 0,...isPreview?{draftMode:!0,preview:!0,previewData:previewData}:void 0,locales:[...renderOpts.locales??[]],locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale,revalidateReason:renderOpts.isOnDemandRevalidate?"on-demand":isBuildTimeSSG?"build":"stale"}))}catch(staticPropsError){throw staticPropsError&&"ENOENT"===staticPropsError.code&&delete staticPropsError.code,staticPropsError}if(null==data)throw Object.defineProperty(Error(constants.GSP_NO_RETURNED_VALUE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});let invalidKeys=Object.keys(data).filter(key=>"revalidate"!==key&&"props"!==key&&"redirect"!==key&&"notFound"!==key);if(invalidKeys.includes("unstable_revalidate"))throw Object.defineProperty(Error(constants.UNSTABLE_REVALIDATE_RENAME_ERROR),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(invalidKeys.length)throw Object.defineProperty(Error(invalidKeysMsg("getStaticProps",invalidKeys)),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(void 0!==data.notFound&&void 0!==data.redirect)throw Object.defineProperty(Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?"getStaticProps":"getServerSideProps"} at the same time. Page: ${pathname}
See more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`),"__NEXT_ERROR_CODE",{value:"E454",enumerable:!1,configurable:!0});if("notFound"in data&&data.notFound){if("/404"===pathname)throw Object.defineProperty(Error('The /404 page can not return notFound in "getStaticProps", please remove it to continue!'),"__NEXT_ERROR_CODE",{value:"E121",enumerable:!1,configurable:!0});metadata.isNotFound=!0}if("redirect"in data&&data.redirect&&"object"==typeof data.redirect){if(checkRedirectValues(data.redirect,req,"getStaticProps"),isBuildTimeSSG)throw Object.defineProperty(Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})Diff for pages.runtime.prod.js
Diff too large to display
Diff for server.runtime.prod.js
Diff too large to display
b9d6c7d to
98da6a6
Compare
b17b95a to
8e54882
Compare
f3e328e to
1ab4058
Compare
87e440f to
3bf2252
Compare
fd629a4 to
1bfba76
Compare
1bfba76 to
603b546
Compare
✅ Tests PassedUpdated 2026-01-05 19:41:01 UTC · Commit: 79abc71 |
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| buildDuration | 17.6s | 15s | N/A |
| buildDurationCached | 14s | 11s | N/A |
| nodeModulesSize | 457 MB | 457 MB | |
| nextStartRea..uration (ms) | 718ms | 716ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| 2086.HASH.js gzip | 169 B | 169 B | ✓ |
| 2161-HASH.js gzip | 5.39 kB | 5.41 kB | N/A |
| 2747-HASH.js gzip | 4.48 kB | 4.46 kB | N/A |
| 4322-HASH.js gzip | 52.5 kB | 52.2 kB | N/A |
| ec793fe8-HASH.js gzip | 62.3 kB | 62.3 kB | N/A |
| framework-HASH.js gzip | 59.8 kB | 59.8 kB | N/A |
| main-app-HASH.js gzip | 252 B | 254 B | N/A |
| main-HASH.js gzip | 38.4 kB | 38.7 kB | |
| webpack-HASH.js gzip | 1.68 kB | 1.69 kB | N/A |
| Overall change | 38.5 kB | 38.9 kB |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | 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 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 193 B | N/A |
| _error-HASH.js gzip | 182 B | 182 B | ✓ |
| css-HASH.js gzip | 336 B | 335 B | N/A |
| dynamic-HASH.js gzip | 1.8 kB | 1.8 kB | N/A |
| edge-ssr-HASH.js gzip | 256 B | 256 B | ✓ |
| head-HASH.js gzip | 352 B | 349 B | N/A |
| hooks-HASH.js gzip | 385 B | 384 B | N/A |
| image-HASH.js gzip | 580 B | 580 B | ✓ |
| index-HASH.js gzip | 259 B | 258 B | N/A |
| link-HASH.js gzip | 2.5 kB | 2.51 kB | N/A |
| routerDirect..HASH.js gzip | 319 B | 317 B | N/A |
| script-HASH.js gzip | 385 B | 387 B | N/A |
| withRouter-HASH.js gzip | 316 B | 315 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 1.12 kB | 1.12 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 738 B | 738 B | ✓ |
| Overall change | 738 B | 738 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| index.html gzip | 523 B | 525 B | N/A |
| link.html gzip | 537 B | 539 B | N/A |
| withRouter.html gzip | 520 B | 521 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 124 kB | 124 kB | N/A |
| page.js gzip | 238 kB | 239 kB | |
| Overall change | 238 kB | 239 kB |
Middleware size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 651 B | 655 B | N/A |
| middleware-r..fest.js gzip | 155 B | 156 B | N/A |
| middleware.js gzip | 32.8 kB | 32.9 kB | |
| edge-runtime..pack.js gzip | 846 B | 846 B | ✓ |
| Overall change | 33.6 kB | 33.8 kB |
Next Runtimes
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 302 kB | 302 kB | N/A |
| app-page-exp..prod.js gzip | 157 kB | 157 kB | ✓ |
| app-page-tur...dev.js gzip | 302 kB | 302 kB | N/A |
| app-page-tur..prod.js gzip | 157 kB | 157 kB | ✓ |
| app-page-tur...dev.js gzip | 299 kB | 299 kB | N/A |
| app-page-tur..prod.js gzip | 155 kB | 155 kB | ✓ |
| app-page.run...dev.js gzip | 299 kB | 299 kB | ✓ |
| app-page.run..prod.js gzip | 155 kB | 155 kB | ✓ |
| app-route-ex...dev.js gzip | 68.7 kB | 68.7 kB | ✓ |
| app-route-ex..prod.js gzip | 47.5 kB | 47.5 kB | ✓ |
| app-route-tu...dev.js gzip | 68.7 kB | 68.7 kB | ✓ |
| app-route-tu..prod.js gzip | 47.5 kB | 47.5 kB | ✓ |
| app-route-tu...dev.js gzip | 68.3 kB | 68.3 kB | ✓ |
| app-route-tu..prod.js gzip | 47.3 kB | 47.3 kB | ✓ |
| app-route.ru...dev.js gzip | 68.3 kB | 68.3 kB | ✓ |
| app-route.ru..prod.js gzip | 47.3 kB | 47.3 kB | ✓ |
| dist_client_...dev.js gzip | 324 B | 324 B | ✓ |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| dist_client_...dev.js gzip | 317 B | 317 B | ✓ |
| pages-api-tu...dev.js gzip | 41.1 kB | 41.1 kB | ✓ |
| pages-api-tu..prod.js gzip | 31.2 kB | 31.2 kB | ✓ |
| pages-api.ru...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api.ru..prod.js gzip | 31.2 kB | 31.2 kB | ✓ |
| pages-turbo....dev.js gzip | 50.7 kB | 50.8 kB | N/A |
| pages-turbo...prod.js gzip | 38.2 kB | 38.2 kB | N/A |
| pages.runtim...dev.js gzip | 50.6 kB | 50.7 kB | N/A |
| pages.runtim..prod.js gzip | 38.1 kB | 38.2 kB | N/A |
| server.runti..prod.js gzip | 59.9 kB | 60 kB | N/A |
| Overall change | 1.53 MB | 1.53 MB | ✓ |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js 11-26-prevent_browser_cache_from_using_stale_rsc_responses_from_previous_builds | Change | |
|---|---|---|---|
| 0.pack gzip | 3.62 MB | 3.62 MB | |
| index.pack gzip | 99.7 kB | 99.2 kB | N/A |
| Overall change | 3.62 MB | 3.62 MB |
Diff details
Diff for page.js
Diff too large to display
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for _buildManifest.js
@@ -611,35 +611,35 @@ self.__BUILD_MANIFEST = (function (a, b, c) {
numHashes: NaN,
bitArray: [],
},
- "/": ["static\u002Fchunks\u002Fpages\u002Findex-dda7d8b64d4ba15c.js"],
+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-d95f7ec6af4d2644.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-6ef44d3954f25711.js",
+ "static\u002Fchunks\u002Fpages\u002F_error-209c0c82205a7c9f.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-c8aaa7211416a045.js",
+ "static\u002Fchunks\u002Fpages\u002Fcss-62710339bc830ded.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-d53bb7f318f342c2.js",
+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8ed3486bb68dd6c6.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-1383106d4a3e7d72.js",
+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-0db9f7bb610d3072.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-1db1c4be1a45662f.js"],
- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e6deee5b72a5b112.js"],
+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-747416c4075e42aa.js"],
+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-8b10205be7505244.js"],
"/image": [
- "static\u002Fchunks\u002F2747-90c828280005c0c3.js",
- "static\u002Fchunks\u002Fpages\u002Fimage-868472cd5e84efc9.js",
+ "static\u002Fchunks\u002F6349-ee9aecde860d4832.js",
+ "static\u002Fchunks\u002Fpages\u002Fimage-f90ae17c3ad1d38b.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-0ec374e48b2ce5d9.js"],
+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-6ab9a67b348df1bf.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-1a34bfadbc088491.js",
+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-f132fb471e65a8b9.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-52320f59afbd096d.js",
+ "static\u002Fchunks\u002Fpages\u002Fscript-8e2028e44b8da2d9.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-3b1a16d3dfa21c16.js",
+ "static\u002Fchunks\u002Fpages\u002FwithRouter-a86d259faa012c1c.js",
],
sortedPages: [
"\u002F",Diff for dynamic-HASH.js
@@ -1,17 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1231: /***/ (
- module,
+ /***/ 2604: /***/ (
+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4464);
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/dynamic",
+ function () {
+ return __webpack_require__(3643);
+ },
+ ]);
+ if (false) {
+ }
/***/
},
- /***/ 2101: /***/ (
+ /***/ 3401: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -38,24 +45,63 @@
/***/
},
- /***/ 3458: /***/ (
+ /***/ 3643: /***/ (
__unused_webpack_module,
- __unused_webpack_exports,
+ __webpack_exports__,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/dynamic",
- function () {
- return __webpack_require__(9381);
- },
- ]);
- if (false) {
- }
+ "use strict";
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
+ });
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(3108);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(3973);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+ () =>
+ __webpack_require__
+ .e(/* import() */ 1596)
+ .then(__webpack_require__.bind(__webpack_require__, 1596))
+ .then((mod) => mod.Hello),
+ {
+ loadableGenerated: {
+ webpack: () => [/*require.resolve*/ 1596],
+ },
+ }
+ );
+ const Page = () =>
+ /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+ {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+ children: "testing next/dynamic size",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ DynamicHello,
+ {}
+ ),
+ ],
+ }
+ );
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
/***/
},
- /***/ 4464: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3660: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -88,7 +134,7 @@
__webpack_require__(4312)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9799)
+ __webpack_require__(4539)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -188,63 +234,17 @@
/***/
},
- /***/ 9381: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
+ /***/ 3973: /***/ (
+ module,
+ __unused_webpack_exports,
__webpack_require__
) => {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
- });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(3108);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1231);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_dynamic__WEBPACK_IMPORTED_MODULE_1__
- );
-
- const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
- () =>
- __webpack_require__
- .e(/* import() */ 2086)
- .then(__webpack_require__.bind(__webpack_require__, 2086))
- .then((mod) => mod.Hello),
- {
- loadableGenerated: {
- webpack: () => [/*require.resolve*/ 2086],
- },
- }
- );
- const Page = () =>
- /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
- {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
- children: "testing next/dynamic size",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- DynamicHello,
- {}
- ),
- ],
- }
- );
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
+ module.exports = __webpack_require__(3660);
/***/
},
- /***/ 9799: /***/ (
+ /***/ 4539: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +286,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(4312)
);
- const _loadablecontextsharedruntime = __webpack_require__(2101);
+ const _loadablecontextsharedruntime = __webpack_require__(3401);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -524,7 +524,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, [636, 6593, 8792], () =>
- __webpack_exec__(3458)
+ __webpack_exec__(2604)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for edge-ssr-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[676],
{
- /***/ 1564: /***/ (
+ /***/ 7046: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/edge-ssr",
+ function () {
+ return __webpack_require__(7142);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 7142: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -20,30 +37,13 @@
/***/
},
-
- /***/ 4300: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/edge-ssr",
- function () {
- return __webpack_require__(1564);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4300)
+ __webpack_exec__(7046)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for head-HASH.js
@@ -1,34 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 1548: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/head",
- function () {
- return __webpack_require__(4282);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 3952: /***/ (
+ /***/ 3770: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1653);
+ module.exports = __webpack_require__(9025);
/***/
},
- /***/ 4282: /***/ (
+ /***/ 6236: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(3952);
+ __webpack_require__(3770);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +59,30 @@
/***/
},
+
+ /***/ 6510: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/head",
+ function () {
+ return __webpack_require__(6236);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1548)
+ __webpack_exec__(6510)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for index-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 6376: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/",
- function () {
- return __webpack_require__(8460);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 8460: /***/ (
+ /***/ 830: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -36,13 +19,30 @@
/***/
},
+
+ /***/ 1938: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/",
+ function () {
+ return __webpack_require__(830);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6376)
+ __webpack_exec__(1938)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for link-HASH.js
@@ -1,7 +1,220 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 857: /***/ (module, exports, __webpack_require__) => {
+ /***/ 2774: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "useIntersection", {
+ enumerable: true,
+ get: function () {
+ return useIntersection;
+ },
+ });
+ const _react = __webpack_require__(4312);
+ const _requestidlecallback = __webpack_require__(9413);
+ const hasIntersectionObserver =
+ typeof IntersectionObserver === "function";
+ const observers = new Map();
+ const idList = [];
+ function createObserver(options) {
+ const id = {
+ root: options.root || null,
+ margin: options.rootMargin || "",
+ };
+ const existing = idList.find(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ let instance;
+ if (existing) {
+ instance = observers.get(existing);
+ if (instance) {
+ return instance;
+ }
+ }
+ const elements = new Map();
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach((entry) => {
+ const callback = elements.get(entry.target);
+ const isVisible =
+ entry.isIntersecting || entry.intersectionRatio > 0;
+ if (callback && isVisible) {
+ callback(isVisible);
+ }
+ });
+ }, options);
+ instance = {
+ id,
+ observer,
+ elements,
+ };
+ idList.push(id);
+ observers.set(id, instance);
+ return instance;
+ }
+ function observe(element, callback, options) {
+ const { id, observer, elements } = createObserver(options);
+ elements.set(element, callback);
+ observer.observe(element);
+ return function unobserve() {
+ elements.delete(element);
+ observer.unobserve(element);
+ // Destroy observer when there's nothing left to watch:
+ if (elements.size === 0) {
+ observer.disconnect();
+ observers.delete(id);
+ const index = idList.findIndex(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ if (index > -1) {
+ idList.splice(index, 1);
+ }
+ }
+ };
+ }
+ function useIntersection({ rootRef, rootMargin, disabled }) {
+ const isDisabled = disabled || !hasIntersectionObserver;
+ const [visible, setVisible] = (0, _react.useState)(false);
+ const elementRef = (0, _react.useRef)(null);
+ const setElement = (0, _react.useCallback)((element) => {
+ elementRef.current = element;
+ }, []);
+ (0, _react.useEffect)(() => {
+ if (hasIntersectionObserver) {
+ if (isDisabled || visible) return;
+ const element = elementRef.current;
+ if (element && element.tagName) {
+ const unobserve = observe(
+ element,
+ (isVisible) => isVisible && setVisible(isVisible),
+ {
+ root: rootRef?.current,
+ rootMargin,
+ }
+ );
+ return unobserve;
+ }
+ } else {
+ if (!visible) {
+ const idleCallback = (0,
+ _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+ return () =>
+ (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+ }
+ }
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+ const resetVisible = (0, _react.useCallback)(() => {
+ setVisible(false);
+ }, []);
+ return [setElement, visible, resetVisible];
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=use-intersection.js.map
+
+ /***/
+ },
+
+ /***/ 3351: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "useMergedRef", {
+ enumerable: true,
+ get: function () {
+ return useMergedRef;
+ },
+ });
+ const _react = __webpack_require__(4312);
+ function useMergedRef(refA, refB) {
+ const cleanupA = (0, _react.useRef)(null);
+ const cleanupB = (0, _react.useRef)(null);
+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+ // (because it hasn't been updated for React 19)
+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+ return (0, _react.useCallback)(
+ (current) => {
+ if (current === null) {
+ const cleanupFnA = cleanupA.current;
+ if (cleanupFnA) {
+ cleanupA.current = null;
+ cleanupFnA();
+ }
+ const cleanupFnB = cleanupB.current;
+ if (cleanupFnB) {
+ cleanupB.current = null;
+ cleanupFnB();
+ }
+ } else {
+ if (refA) {
+ cleanupA.current = applyRef(refA, current);
+ }
+ if (refB) {
+ cleanupB.current = applyRef(refB, current);
+ }
+ }
+ },
+ [refA, refB]
+ );
+ }
+ function applyRef(refA, current) {
+ if (typeof refA === "function") {
+ const cleanup = refA(current);
+ if (typeof cleanup === "function") {
+ return cleanup;
+ } else {
+ return () => refA(null);
+ }
+ } else {
+ refA.current = current;
+ return () => {
+ refA.current = null;
+ };
+ }
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=use-merged-ref.js.map
+
+ /***/
+ },
+
+ /***/ 3440: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(4757);
+
+ /***/
+ },
+
+ /***/ 4757: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -23,22 +236,22 @@
return useLinkStatus;
},
});
- const _interop_require_wildcard = __webpack_require__(8781);
+ const _interop_require_wildcard = __webpack_require__(1162);
const _jsxruntime = __webpack_require__(3108);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(4312)
);
- const _resolvehref = __webpack_require__(4055);
- const _islocalurl = __webpack_require__(7175);
- const _formaturl = __webpack_require__(9674);
- const _utils = __webpack_require__(7424);
- const _addlocale = __webpack_require__(589);
- const _routercontextsharedruntime = __webpack_require__(7010);
- const _useintersection = __webpack_require__(2330);
- const _getdomainlocale = __webpack_require__(7207);
- const _addbasepath = __webpack_require__(9942);
- const _usemergedref = __webpack_require__(8067);
- const _erroronce = __webpack_require__(1945);
+ const _resolvehref = __webpack_require__(4691);
+ const _islocalurl = __webpack_require__(4763);
+ const _formaturl = __webpack_require__(3246);
+ const _utils = __webpack_require__(7372);
+ const _addlocale = __webpack_require__(1809);
+ const _routercontextsharedruntime = __webpack_require__(2254);
+ const _useintersection = __webpack_require__(2774);
+ const _getdomainlocale = __webpack_require__(8803);
+ const _addbasepath = __webpack_require__(5834);
+ const _usemergedref = __webpack_require__(3351);
+ const _erroronce = __webpack_require__(6021);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -417,168 +630,43 @@
/***/
},
- /***/ 1945: /***/ (__unused_webpack_module, exports) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "errorOnce", {
- enumerable: true,
- get: function () {
- return errorOnce;
+ /***/ 5326: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/link",
+ function () {
+ return __webpack_require__(9058);
},
- });
- let errorOnce = (_) => {};
+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map
+ }
/***/
},
- /***/ 2330: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6021: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useIntersection", {
+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useIntersection;
+ return errorOnce;
},
});
- const _react = __webpack_require__(4312);
- const _requestidlecallback = __webpack_require__(601);
- const hasIntersectionObserver =
- typeof IntersectionObserver === "function";
- const observers = new Map();
- const idList = [];
- function createObserver(options) {
- const id = {
- root: options.root || null,
- margin: options.rootMargin || "",
- };
- const existing = idList.find(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- let instance;
- if (existing) {
- instance = observers.get(existing);
- if (instance) {
- return instance;
- }
- }
- const elements = new Map();
- const observer = new IntersectionObserver((entries) => {
- entries.forEach((entry) => {
- const callback = elements.get(entry.target);
- const isVisible =
- entry.isIntersecting || entry.intersectionRatio > 0;
- if (callback && isVisible) {
- callback(isVisible);
- }
- });
- }, options);
- instance = {
- id,
- observer,
- elements,
- };
- idList.push(id);
- observers.set(id, instance);
- return instance;
- }
- function observe(element, callback, options) {
- const { id, observer, elements } = createObserver(options);
- elements.set(element, callback);
- observer.observe(element);
- return function unobserve() {
- elements.delete(element);
- observer.unobserve(element);
- // Destroy observer when there's nothing left to watch:
- if (elements.size === 0) {
- observer.disconnect();
- observers.delete(id);
- const index = idList.findIndex(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- if (index > -1) {
- idList.splice(index, 1);
- }
- }
- };
- }
- function useIntersection({ rootRef, rootMargin, disabled }) {
- const isDisabled = disabled || !hasIntersectionObserver;
- const [visible, setVisible] = (0, _react.useState)(false);
- const elementRef = (0, _react.useRef)(null);
- const setElement = (0, _react.useCallback)((element) => {
- elementRef.current = element;
- }, []);
- (0, _react.useEffect)(() => {
- if (hasIntersectionObserver) {
- if (isDisabled || visible) return;
- const element = elementRef.current;
- if (element && element.tagName) {
- const unobserve = observe(
- element,
- (isVisible) => isVisible && setVisible(isVisible),
- {
- root: rootRef?.current,
- rootMargin,
- }
- );
- return unobserve;
- }
- } else {
- if (!visible) {
- const idleCallback = (0,
- _requestidlecallback.requestIdleCallback)(() => setVisible(true));
- return () =>
- (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
- }
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
- const resetVisible = (0, _react.useCallback)(() => {
- setVisible(false);
- }, []);
- return [setElement, visible, resetVisible];
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map
-
- /***/
- },
-
- /***/ 4972: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/link",
- function () {
- return __webpack_require__(7600);
- },
- ]);
+ let errorOnce = (_) => {};
if (false) {
- }
+ } //# sourceMappingURL=error-once.js.map
/***/
},
- /***/ 7207: /***/ (module, exports, __webpack_require__) => {
+ /***/ 8803: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -590,7 +678,7 @@
return getDomainLocale;
},
});
- const _normalizetrailingslash = __webpack_require__(151);
+ const _normalizetrailingslash = __webpack_require__(1315);
const basePath =
/* unused pure expression or super */ null && (false || "");
function getDomainLocale(path, locale, locales, domainLocales) {
@@ -614,7 +702,7 @@
/***/
},
- /***/ 7600: /***/ (
+ /***/ 9058: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -629,7 +717,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7830);
+ __webpack_require__(3440);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -659,101 +747,13 @@
/***/
},
-
- /***/ 7830: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(857);
-
- /***/
- },
-
- /***/ 8067: /***/ (module, exports, __webpack_require__) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "useMergedRef", {
- enumerable: true,
- get: function () {
- return useMergedRef;
- },
- });
- const _react = __webpack_require__(4312);
- function useMergedRef(refA, refB) {
- const cleanupA = (0, _react.useRef)(null);
- const cleanupB = (0, _react.useRef)(null);
- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
- // (this happens often if the user doesn't pass a ref to Link/Form/Image)
- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
- // (because it hasn't been updated for React 19)
- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
- return (0, _react.useCallback)(
- (current) => {
- if (current === null) {
- const cleanupFnA = cleanupA.current;
- if (cleanupFnA) {
- cleanupA.current = null;
- cleanupFnA();
- }
- const cleanupFnB = cleanupB.current;
- if (cleanupFnB) {
- cleanupB.current = null;
- cleanupFnB();
- }
- } else {
- if (refA) {
- cleanupA.current = applyRef(refA, current);
- }
- if (refB) {
- cleanupB.current = applyRef(refB, current);
- }
- }
- },
- [refA, refB]
- );
- }
- function applyRef(refA, current) {
- if (typeof refA === "function") {
- const cleanup = refA(current);
- if (typeof cleanup === "function") {
- return cleanup;
- } else {
- return () => refA(null);
- }
- } else {
- refA.current = current;
- return () => {
- refA.current = null;
- };
- }
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=use-merged-ref.js.map
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4972)
+ __webpack_exec__(5326)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for routerDirect-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 1179: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(9864);
-
- /***/
- },
-
- /***/ 1640: /***/ (
+ /***/ 2014: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1179);
+ __webpack_require__(4169);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -46,7 +36,17 @@
/***/
},
- /***/ 2172: /***/ (
+ /***/ 4169: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(9700);
+
+ /***/
+ },
+
+ /***/ 4414: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -54,7 +54,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/routerDirect",
function () {
- return __webpack_require__(1640);
+ return __webpack_require__(2014);
},
]);
if (false) {
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2172)
+ __webpack_exec__(4414)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for script-HASH.js
@@ -1,17 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 4977: /***/ (
+ /***/ 2591: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(326);
+ module.exports = __webpack_require__(4634);
/***/
},
- /***/ 5887: /***/ (
+ /***/ 5030: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/script",
+ function () {
+ return __webpack_require__(7557);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 7557: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4977);
+ __webpack_require__(2591);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -58,30 +75,13 @@
/***/
},
-
- /***/ 6268: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/script",
- function () {
- return __webpack_require__(5887);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6268)
+ __webpack_exec__(5030)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for withRouter-HASH.js
@@ -1,34 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 1179: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(9864);
-
- /***/
- },
-
- /***/ 2028: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/withRouter",
- function () {
- return __webpack_require__(4501);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 4501: /***/ (
+ /***/ 559: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1179);
+ __webpack_require__(4169);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
+
+ /***/ 726: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/withRouter",
+ function () {
+ return __webpack_require__(559);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 4169: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(9700);
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2028)
+ __webpack_exec__(726)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for 2161-HASH.js
Diff too large to display
Diff for 2747-HASH.js
Diff too large to display
Diff for 4322-HASH.js
failed to diffDiff for main-HASH.js
Diff too large to display
Diff for pages-turbo...ntime.dev.js
@@ -7,8 +7,8 @@ Read more: https://nextjs.org/docs/messages/no-document-import-in-page`),"__NEXT
Keys that need to be moved: ${invalidKeys.join(", ")}.
Read more: https://nextjs.org/docs/messages/${docsPathname}`};function checkRedirectValues(redirect,req,method){let{destination,permanent,statusCode,basePath}=redirect,errors=[],hasStatusCode=void 0!==statusCode,hasPermanent=void 0!==permanent;hasPermanent&&hasStatusCode?errors.push("`permanent` and `statusCode` can not both be provided"):hasPermanent&&"boolean"!=typeof permanent?errors.push("`permanent` must be `true` or `false`"):hasStatusCode&&!allowedStatusCodes.has(statusCode)&&errors.push(`\`statusCode\` must undefined or one of ${[...allowedStatusCodes].join(", ")}`);let destinationType=typeof destination;"string"!==destinationType&&errors.push(`\`destination\` should be string but received ${destinationType}`);let basePathType=typeof basePath;if("undefined"!==basePathType&&"boolean"!==basePathType&&errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`),errors.length>0)throw Object.defineProperty(Error(`Invalid redirect object returned from ${method} for ${req.url}
-`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
-Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(res.setHeader("Cache-Control",function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";return 0===revalidate?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof revalidate?`s-maxage=${revalidate}${swrHeader}`:`s-maxage=${constants.CACHE_ONE_YEAR}${swrHeader}`}({revalidate:!1,expire:expireTime})),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
+`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var cdnCacheControlHeader,query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
+Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile){let cacheHeaders;cdnCacheControlHeader=renderOpts.experimental.cdnCacheControlHeader,cacheHeaders=function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";if(0===revalidate)return{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"};let maxAge="number"==typeof revalidate?revalidate:constants.CACHE_ONE_YEAR,cdnCacheControl=`max-age=${maxAge}${swrHeader}`;return{"Cache-Control":`s-maxage=${maxAge}`,cdnCacheControl:cdnCacheControl}}({revalidate:!1,expire:expireTime}),res.setHeader("Cache-Control",cacheHeaders["Cache-Control"]),cacheHeaders.cdnCacheControl&&res.setHeader(cdnCacheControlHeader??"CDN-Cache-Control",cacheHeaders.cdnCacheControl),isAutoExport=!1}if(hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
Read more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`),"__NEXT_ERROR_CODE",{value:"E187",enumerable:!1,configurable:!0});if(getStaticPaths&&!isSSG)throw Object.defineProperty(Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`),"__NEXT_ERROR_CODE",{value:"E447",enumerable:!1,configurable:!0});if(isSSG&&pageIsDynamic&&!getStaticPaths)throw Object.defineProperty(Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.
Read more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`),"__NEXT_ERROR_CODE",{value:"E255",enumerable:!1,configurable:!0});let asPath=renderOpts.resolvedAsPath||req.url;if(dev){let{isValidElementType}=__webpack_require__("./dist/compiled/react-is/index.js");if(!isValidElementType(Component))throw Object.defineProperty(Error(`The default export is not a React Component in page: "${pathname}"`),"__NEXT_ERROR_CODE",{value:"E286",enumerable:!1,configurable:!0});if(!isValidElementType(App))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_app"'),"__NEXT_ERROR_CODE",{value:"E464",enumerable:!1,configurable:!0});if(!isValidElementType(Document))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_document"'),"__NEXT_ERROR_CODE",{value:"E511",enumerable:!1,configurable:!0});if((isAutoExport||isFallback)&&(query={},asPath=`${pathname}${req.url.endsWith("/")&&"/"!==pathname&&!pageIsDynamic?"/":""}`,req.url=pathname),"/404"===pathname&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages/404\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E134",enumerable:!1,configurable:!0});if(STATIC_STATUS_PAGES.includes(pathname)&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages${pathname}\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E125",enumerable:!1,configurable:!0});(null==renderOpts?void 0:renderOpts.setIsrStatus)&&renderOpts.setIsrStatus(asPath,isSSG||isAutoExport)}for(let methodName of["getStaticProps","getServerSideProps","getStaticPaths"])if(null==Component?void 0:Component[methodName])throw Object.defineProperty(Error(`page ${pathname} ${methodName} ${constants.GSSP_COMPONENT_MEMBER_ERROR}`),"__NEXT_ERROR_CODE",{value:"E417",enumerable:!1,configurable:!0});await loadable_shared_runtime.preloadAll(),(isSSG||getServerSideProps)&&!isFallback&&previewProps&&(isPreview=!1!==(previewData=render_tryGetPreviewData(req,res,previewProps,!!renderOpts.multiZoneDraftMode)));let routerIsReady=!!(getServerSideProps||hasPageGetInitialProps||!defaultAppGetInitialProps&&!isSSG||isExperimentalCompile),router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,isPreview,getRequestMeta(req,"isLocaleDomain")),appRouter={back(){router.back()},forward(){router.forward()},refresh(){router.reload()},hmrRefresh(){},push(href,{scroll}={}){router.push(href,void 0,{scroll})},replace(href,{scroll}={}){router.replace(href,void 0,{scroll})},prefetch(href){router.prefetch(href)}},scriptLoader={},jsxStyleRegistry=(0,external_styled_jsx_namespaceObject.createStyleRegistry)(),head=[(0,jsx_runtime_namespaceObject.jsx)("meta",{charSet:"utf-8"},"charset"),(0,jsx_runtime_namespaceObject.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")],reactLoadableModules=[],initialScripts={};hasPageScripts&&(initialScripts.beforeInteractive=[].concat(hasPageScripts()).filter(script=>"beforeInteractive"===script.props.strategy).map(script=>script.props));let csp=req.headers["content-security-policy"]||req.headers["content-security-policy-report-only"],nonce="string"==typeof csp?function(cspHeaderValue){var _directive_split_slice_map_find;let directives=cspHeaderValue.split(";").map(directive=>directive.trim()),directive=directives.find(dir=>dir.startsWith("script-src"))||directives.find(dir=>dir.startsWith("default-src"));if(!directive)return;let nonce=null==(_directive_split_slice_map_find=directive.split(" ").slice(1).map(source=>source.trim()).find(source=>source.startsWith("'nonce-")&&source.length>8&&source.endsWith("'")))?void 0:_directive_split_slice_map_find.slice(7,-1);if(nonce){if(ESCAPE_REGEX.test(nonce))throw Object.defineProperty(Error("Nonce value from Content-Security-Policy contained HTML escape characters.\nLearn more: https://nextjs.org/docs/messages/nonce-contained-invalid-characters"),"__NEXT_ERROR_CODE",{value:"E440",enumerable:!1,configurable:!0});return nonce}}(csp):void 0,AppContainer=({children})=>{var router1;return(0,jsx_runtime_namespaceObject.jsx)(AppRouterContext.Provider,{value:appRouter,children:(0,jsx_runtime_namespaceObject.jsx)(SearchParamsContext.Provider,{value:(router1=router).isReady&&router1.query?new URL(router1.asPath,"http://n").searchParams:new URLSearchParams,children:(0,jsx_runtime_namespaceObject.jsx)(PathnameContextProviderAdapter,{router:router,isAutoExport:isAutoExport,children:(0,jsx_runtime_namespaceObject.jsx)(PathParamsContext.Provider,{value:function(router){if(!router.isReady||!router.query)return null;let pathParams={};for(let key of Object.keys(getRouteRegex(router.pathname).groups))pathParams[key]=router.query[key];return pathParams}(router),children:(0,jsx_runtime_namespaceObject.jsx)(RouterContext.Provider,{value:router,children:(0,jsx_runtime_namespaceObject.jsx)(HeadManagerContext.Provider,{value:{updateHead:state=>{head=state},updateScripts:scripts=>{scriptLoader=scripts},scripts:initialScripts,mountedInstances:new Set,nonce},children:(0,jsx_runtime_namespaceObject.jsx)(LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName),children:(0,jsx_runtime_namespaceObject.jsx)(external_styled_jsx_namespaceObject.StyleRegistry,{registry:jsxStyleRegistry,children:(0,jsx_runtime_namespaceObject.jsx)(ImageConfigContext.Provider,{value:images,children:children})})})})})})})})})},Noop=()=>null,AppContainerWithIsomorphicFiberStructure=({children})=>(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(Noop,{}),(0,jsx_runtime_namespaceObject.jsx)(AppContainer,{children:(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[children,(0,jsx_runtime_namespaceObject.jsx)(Noop,{})]})})]}),ctx={err,req:isAutoExport?void 0:req,res:isAutoExport?void 0:res,pathname,query,asPath,locale:renderOpts.locale,locales:renderOpts.locales,defaultLocale:renderOpts.defaultLocale,AppTree:props=>(0,jsx_runtime_namespaceObject.jsx)(AppContainerWithIsomorphicFiberStructure,{children:renderPageTree(App,Component,{...props,router})}),defaultGetInitialProps:async(docCtx,options={})=>{let{html,head:renderPageHead}=await docCtx.renderPage({enhanceApp:AppComp=>props=>(0,jsx_runtime_namespaceObject.jsx)(AppComp,{...props})}),styles=jsxStyleRegistry.styles({nonce:options.nonce||nonce});return jsxStyleRegistry.flush(),{html,head:renderPageHead,styles}}},nextExport=!isSSG&&(renderOpts.nextExport||dev&&(isAutoExport||isFallback));if(props=await loadGetInitialProps(App,{AppTree:ctx.AppTree,Component,router,ctx}),(isSSG||getServerSideProps)&&isPreview&&(props.__N_PREVIEW=!0),isSSG&&(props.__N_SSG=!0),isSSG&&!isFallback){let data,revalidate;try{data=await (0,tracer_.getTracer)().trace(trace_constants.RenderSpan.getStaticProps,{spanName:`getStaticProps ${pathname}`,attributes:{"next.route":pathname}},()=>getStaticProps({...pageIsDynamic?{params}:void 0,...isPreview?{draftMode:!0,preview:!0,previewData:previewData}:void 0,locales:[...renderOpts.locales??[]],locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale,revalidateReason:renderOpts.isOnDemandRevalidate?"on-demand":isBuildTimeSSG?"build":"stale"}))}catch(staticPropsError){throw staticPropsError&&"ENOENT"===staticPropsError.code&&delete staticPropsError.code,staticPropsError}if(null==data)throw Object.defineProperty(Error(constants.GSP_NO_RETURNED_VALUE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});let invalidKeys=Object.keys(data).filter(key=>"revalidate"!==key&&"props"!==key&&"redirect"!==key&&"notFound"!==key);if(invalidKeys.includes("unstable_revalidate"))throw Object.defineProperty(Error(constants.UNSTABLE_REVALIDATE_RENAME_ERROR),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(invalidKeys.length)throw Object.defineProperty(Error(invalidKeysMsg("getStaticProps",invalidKeys)),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(void 0!==data.notFound&&void 0!==data.redirect)throw Object.defineProperty(Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?"getStaticProps":"getServerSideProps"} at the same time. Page: ${pathname}
See more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`),"__NEXT_ERROR_CODE",{value:"E454",enumerable:!1,configurable:!0});if("notFound"in data&&data.notFound){if("/404"===pathname)throw Object.defineProperty(Error('The /404 page can not return notFound in "getStaticProps", please remove it to continue!'),"__NEXT_ERROR_CODE",{value:"E121",enumerable:!1,configurable:!0});metadata.isNotFound=!0}if("redirect"in data&&data.redirect&&"object"==typeof data.redirect){if(checkRedirectValues(data.redirect,req,"getStaticProps"),isBuildTimeSSG)throw Object.defineProperty(Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})Diff for pages-turbo...time.prod.js
Diff too large to display
Diff for pages.runtime.dev.js
@@ -7,8 +7,8 @@ Read more: https://nextjs.org/docs/messages/no-document-import-in-page`),"__NEXT
Keys that need to be moved: ${invalidKeys.join(", ")}.
Read more: https://nextjs.org/docs/messages/${docsPathname}`};function checkRedirectValues(redirect,req,method){let{destination,permanent,statusCode,basePath}=redirect,errors=[],hasStatusCode=void 0!==statusCode,hasPermanent=void 0!==permanent;hasPermanent&&hasStatusCode?errors.push("`permanent` and `statusCode` can not both be provided"):hasPermanent&&"boolean"!=typeof permanent?errors.push("`permanent` must be `true` or `false`"):hasStatusCode&&!allowedStatusCodes.has(statusCode)&&errors.push(`\`statusCode\` must undefined or one of ${[...allowedStatusCodes].join(", ")}`);let destinationType=typeof destination;"string"!==destinationType&&errors.push(`\`destination\` should be string but received ${destinationType}`);let basePathType=typeof basePath;if("undefined"!==basePathType&&"boolean"!==basePathType&&errors.push(`\`basePath\` should be undefined or a false, received ${basePathType}`),errors.length>0)throw Object.defineProperty(Error(`Invalid redirect object returned from ${method} for ${req.url}
-`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
-Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile&&(res.setHeader("Cache-Control",function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";return 0===revalidate?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof revalidate?`s-maxage=${revalidate}${swrHeader}`:`s-maxage=${constants.CACHE_ONE_YEAR}${swrHeader}`}({revalidate:!1,expire:expireTime})),isAutoExport=!1),hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
+`+errors.join(" and ")+"\nSee more info here: https://nextjs.org/docs/messages/invalid-redirect-gssp"),"__NEXT_ERROR_CODE",{value:"E185",enumerable:!1,configurable:!0})}async function renderToHTMLImpl(req,res,pathname,query,renderOpts,extra,sharedContext,renderContext){let previewData,props,isPreview;(0,api_utils.setLazyProp)({req:req},"cookies",getCookieParser(req.headers));let metadata={};if(metadata.assetQueryString=renderOpts.dev&&renderOpts.assetQueryString||"",renderOpts.dev&&!metadata.assetQueryString){let userAgent=(req.headers["user-agent"]||"").toLowerCase();userAgent.includes("safari")&&!userAgent.includes("chrome")&&(metadata.assetQueryString=`?ts=${Date.now()}`)}sharedContext.deploymentId&&(metadata.assetQueryString+=`${metadata.assetQueryString?"&":"?"}dpl=${sharedContext.deploymentId}`),query=Object.assign({},query);let{err,dev=!1,pageConfig={},buildManifest,reactLoadableManifest,ErrorDebug,getStaticProps,getStaticPaths,getServerSideProps,isNextDataRequest,params,previewProps,basePath,images,runtime:globalRuntime,isExperimentalCompile,expireTime}=renderOpts,{App}=extra,assetQueryString=metadata.assetQueryString,Document=extra.Document,Component=renderOpts.Component,isFallback=renderContext.isFallback??!1,notFoundSrcPage=renderContext.developmentNotFoundSourcePage;var cdnCacheControlHeader,query1=query;for(let name of INTERNAL_QUERY_NAMES)delete query1[name];let isSSG=!!getStaticProps,isBuildTimeSSG=isSSG&&renderOpts.nextExport,defaultAppGetInitialProps=App.getInitialProps===App.origGetInitialProps,hasPageGetInitialProps=!!(null==Component?void 0:Component.getInitialProps),hasPageScripts=null==Component?void 0:Component.unstable_scriptLoader,pageIsDynamic=isDynamicRoute(pathname),defaultErrorGetInitialProps="/_error"===pathname&&Component.getInitialProps===Component.origGetInitialProps;renderOpts.nextExport&&hasPageGetInitialProps&&!defaultErrorGetInitialProps&&warn(`Detected getInitialProps on page '${pathname}' while running export. It's recommended to use getStaticProps which has a more correct behavior for static exporting.
+Read more: https://nextjs.org/docs/messages/get-initial-props-export`);let isAutoExport=!hasPageGetInitialProps&&defaultAppGetInitialProps&&!isSSG&&!getServerSideProps;if(isAutoExport&&!dev&&isExperimentalCompile){let cacheHeaders;cdnCacheControlHeader=renderOpts.experimental.cdnCacheControlHeader,cacheHeaders=function({revalidate,expire}){let swrHeader="number"==typeof revalidate&&void 0!==expire&&revalidate<expire?`, stale-while-revalidate=${expire-revalidate}`:"";if(0===revalidate)return{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate"};let maxAge="number"==typeof revalidate?revalidate:constants.CACHE_ONE_YEAR,cdnCacheControl=`max-age=${maxAge}${swrHeader}`;return{"Cache-Control":`s-maxage=${maxAge}`,cdnCacheControl:cdnCacheControl}}({revalidate:!1,expire:expireTime}),res.setHeader("Cache-Control",cacheHeaders["Cache-Control"]),cacheHeaders.cdnCacheControl&&res.setHeader(cdnCacheControlHeader??"CDN-Cache-Control",cacheHeaders.cdnCacheControl),isAutoExport=!1}if(hasPageGetInitialProps&&isSSG)throw Object.defineProperty(Error(constants.SSG_GET_INITIAL_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(hasPageGetInitialProps&&getServerSideProps)throw Object.defineProperty(Error(constants.SERVER_PROPS_GET_INIT_PROPS_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&isSSG)throw Object.defineProperty(Error(constants.SERVER_PROPS_SSG_CONFLICT+` ${pathname}`),"__NEXT_ERROR_CODE",{value:"E262",enumerable:!1,configurable:!0});if(getServerSideProps&&"export"===renderOpts.nextConfigOutput)throw Object.defineProperty(Error('getServerSideProps cannot be used with "output: export". See more info here: https://nextjs.org/docs/advanced-features/static-html-export'),"__NEXT_ERROR_CODE",{value:"E369",enumerable:!1,configurable:!0});if(getStaticPaths&&!pageIsDynamic)throw Object.defineProperty(Error(`getStaticPaths is only allowed for dynamic SSG pages and was found on '${pathname}'.
Read more: https://nextjs.org/docs/messages/non-dynamic-getstaticpaths-usage`),"__NEXT_ERROR_CODE",{value:"E187",enumerable:!1,configurable:!0});if(getStaticPaths&&!isSSG)throw Object.defineProperty(Error(`getStaticPaths was added without a getStaticProps in ${pathname}. Without getStaticProps, getStaticPaths does nothing`),"__NEXT_ERROR_CODE",{value:"E447",enumerable:!1,configurable:!0});if(isSSG&&pageIsDynamic&&!getStaticPaths)throw Object.defineProperty(Error(`getStaticPaths is required for dynamic SSG pages and is missing for '${pathname}'.
Read more: https://nextjs.org/docs/messages/invalid-getstaticpaths-value`),"__NEXT_ERROR_CODE",{value:"E255",enumerable:!1,configurable:!0});let asPath=renderOpts.resolvedAsPath||req.url;if(dev){let{isValidElementType}=__webpack_require__("./dist/compiled/react-is/index.js");if(!isValidElementType(Component))throw Object.defineProperty(Error(`The default export is not a React Component in page: "${pathname}"`),"__NEXT_ERROR_CODE",{value:"E286",enumerable:!1,configurable:!0});if(!isValidElementType(App))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_app"'),"__NEXT_ERROR_CODE",{value:"E464",enumerable:!1,configurable:!0});if(!isValidElementType(Document))throw Object.defineProperty(Error('The default export is not a React Component in page: "/_document"'),"__NEXT_ERROR_CODE",{value:"E511",enumerable:!1,configurable:!0});if((isAutoExport||isFallback)&&(query={},asPath=`${pathname}${req.url.endsWith("/")&&"/"!==pathname&&!pageIsDynamic?"/":""}`,req.url=pathname),"/404"===pathname&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages/404\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E134",enumerable:!1,configurable:!0});if(STATIC_STATUS_PAGES.includes(pathname)&&(hasPageGetInitialProps||getServerSideProps))throw Object.defineProperty(Error(`\`pages${pathname}\` ${constants.STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR}`),"__NEXT_ERROR_CODE",{value:"E125",enumerable:!1,configurable:!0});(null==renderOpts?void 0:renderOpts.setIsrStatus)&&renderOpts.setIsrStatus(asPath,isSSG||isAutoExport)}for(let methodName of["getStaticProps","getServerSideProps","getStaticPaths"])if(null==Component?void 0:Component[methodName])throw Object.defineProperty(Error(`page ${pathname} ${methodName} ${constants.GSSP_COMPONENT_MEMBER_ERROR}`),"__NEXT_ERROR_CODE",{value:"E417",enumerable:!1,configurable:!0});await loadable_shared_runtime.preloadAll(),(isSSG||getServerSideProps)&&!isFallback&&previewProps&&(isPreview=!1!==(previewData=render_tryGetPreviewData(req,res,previewProps,!!renderOpts.multiZoneDraftMode)));let routerIsReady=!!(getServerSideProps||hasPageGetInitialProps||!defaultAppGetInitialProps&&!isSSG||isExperimentalCompile),router=new ServerRouter(pathname,query,asPath,{isFallback:isFallback},routerIsReady,basePath,renderOpts.locale,renderOpts.locales,renderOpts.defaultLocale,renderOpts.domainLocales,isPreview,getRequestMeta(req,"isLocaleDomain")),appRouter={back(){router.back()},forward(){router.forward()},refresh(){router.reload()},hmrRefresh(){},push(href,{scroll}={}){router.push(href,void 0,{scroll})},replace(href,{scroll}={}){router.replace(href,void 0,{scroll})},prefetch(href){router.prefetch(href)}},scriptLoader={},jsxStyleRegistry=(0,external_styled_jsx_namespaceObject.createStyleRegistry)(),head=[(0,jsx_runtime_namespaceObject.jsx)("meta",{charSet:"utf-8"},"charset"),(0,jsx_runtime_namespaceObject.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")],reactLoadableModules=[],initialScripts={};hasPageScripts&&(initialScripts.beforeInteractive=[].concat(hasPageScripts()).filter(script=>"beforeInteractive"===script.props.strategy).map(script=>script.props));let csp=req.headers["content-security-policy"]||req.headers["content-security-policy-report-only"],nonce="string"==typeof csp?function(cspHeaderValue){var _directive_split_slice_map_find;let directives=cspHeaderValue.split(";").map(directive=>directive.trim()),directive=directives.find(dir=>dir.startsWith("script-src"))||directives.find(dir=>dir.startsWith("default-src"));if(!directive)return;let nonce=null==(_directive_split_slice_map_find=directive.split(" ").slice(1).map(source=>source.trim()).find(source=>source.startsWith("'nonce-")&&source.length>8&&source.endsWith("'")))?void 0:_directive_split_slice_map_find.slice(7,-1);if(nonce){if(ESCAPE_REGEX.test(nonce))throw Object.defineProperty(Error("Nonce value from Content-Security-Policy contained HTML escape characters.\nLearn more: https://nextjs.org/docs/messages/nonce-contained-invalid-characters"),"__NEXT_ERROR_CODE",{value:"E440",enumerable:!1,configurable:!0});return nonce}}(csp):void 0,AppContainer=({children})=>{var router1;return(0,jsx_runtime_namespaceObject.jsx)(AppRouterContext.Provider,{value:appRouter,children:(0,jsx_runtime_namespaceObject.jsx)(SearchParamsContext.Provider,{value:(router1=router).isReady&&router1.query?new URL(router1.asPath,"http://n").searchParams:new URLSearchParams,children:(0,jsx_runtime_namespaceObject.jsx)(PathnameContextProviderAdapter,{router:router,isAutoExport:isAutoExport,children:(0,jsx_runtime_namespaceObject.jsx)(PathParamsContext.Provider,{value:function(router){if(!router.isReady||!router.query)return null;let pathParams={};for(let key of Object.keys(getRouteRegex(router.pathname).groups))pathParams[key]=router.query[key];return pathParams}(router),children:(0,jsx_runtime_namespaceObject.jsx)(RouterContext.Provider,{value:router,children:(0,jsx_runtime_namespaceObject.jsx)(HeadManagerContext.Provider,{value:{updateHead:state=>{head=state},updateScripts:scripts=>{scriptLoader=scripts},scripts:initialScripts,mountedInstances:new Set,nonce},children:(0,jsx_runtime_namespaceObject.jsx)(LoadableContext.Provider,{value:moduleName=>reactLoadableModules.push(moduleName),children:(0,jsx_runtime_namespaceObject.jsx)(external_styled_jsx_namespaceObject.StyleRegistry,{registry:jsxStyleRegistry,children:(0,jsx_runtime_namespaceObject.jsx)(ImageConfigContext.Provider,{value:images,children:children})})})})})})})})})},Noop=()=>null,AppContainerWithIsomorphicFiberStructure=({children})=>(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[(0,jsx_runtime_namespaceObject.jsx)(Noop,{}),(0,jsx_runtime_namespaceObject.jsx)(AppContainer,{children:(0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment,{children:[children,(0,jsx_runtime_namespaceObject.jsx)(Noop,{})]})})]}),ctx={err,req:isAutoExport?void 0:req,res:isAutoExport?void 0:res,pathname,query,asPath,locale:renderOpts.locale,locales:renderOpts.locales,defaultLocale:renderOpts.defaultLocale,AppTree:props=>(0,jsx_runtime_namespaceObject.jsx)(AppContainerWithIsomorphicFiberStructure,{children:renderPageTree(App,Component,{...props,router})}),defaultGetInitialProps:async(docCtx,options={})=>{let{html,head:renderPageHead}=await docCtx.renderPage({enhanceApp:AppComp=>props=>(0,jsx_runtime_namespaceObject.jsx)(AppComp,{...props})}),styles=jsxStyleRegistry.styles({nonce:options.nonce||nonce});return jsxStyleRegistry.flush(),{html,head:renderPageHead,styles}}},nextExport=!isSSG&&(renderOpts.nextExport||dev&&(isAutoExport||isFallback));if(props=await loadGetInitialProps(App,{AppTree:ctx.AppTree,Component,router,ctx}),(isSSG||getServerSideProps)&&isPreview&&(props.__N_PREVIEW=!0),isSSG&&(props.__N_SSG=!0),isSSG&&!isFallback){let data,revalidate;try{data=await (0,tracer_.getTracer)().trace(trace_constants.RenderSpan.getStaticProps,{spanName:`getStaticProps ${pathname}`,attributes:{"next.route":pathname}},()=>getStaticProps({...pageIsDynamic?{params}:void 0,...isPreview?{draftMode:!0,preview:!0,previewData:previewData}:void 0,locales:[...renderOpts.locales??[]],locale:renderOpts.locale,defaultLocale:renderOpts.defaultLocale,revalidateReason:renderOpts.isOnDemandRevalidate?"on-demand":isBuildTimeSSG?"build":"stale"}))}catch(staticPropsError){throw staticPropsError&&"ENOENT"===staticPropsError.code&&delete staticPropsError.code,staticPropsError}if(null==data)throw Object.defineProperty(Error(constants.GSP_NO_RETURNED_VALUE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});let invalidKeys=Object.keys(data).filter(key=>"revalidate"!==key&&"props"!==key&&"redirect"!==key&&"notFound"!==key);if(invalidKeys.includes("unstable_revalidate"))throw Object.defineProperty(Error(constants.UNSTABLE_REVALIDATE_RENAME_ERROR),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(invalidKeys.length)throw Object.defineProperty(Error(invalidKeysMsg("getStaticProps",invalidKeys)),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});if(void 0!==data.notFound&&void 0!==data.redirect)throw Object.defineProperty(Error(`\`redirect\` and \`notFound\` can not both be returned from ${isSSG?"getStaticProps":"getServerSideProps"} at the same time. Page: ${pathname}
See more info here: https://nextjs.org/docs/messages/gssp-mixed-not-found-redirect`),"__NEXT_ERROR_CODE",{value:"E454",enumerable:!1,configurable:!0});if("notFound"in data&&data.notFound){if("/404"===pathname)throw Object.defineProperty(Error('The /404 page can not return notFound in "getStaticProps", please remove it to continue!'),"__NEXT_ERROR_CODE",{value:"E121",enumerable:!1,configurable:!0});metadata.isNotFound=!0}if("redirect"in data&&data.redirect&&"object"==typeof data.redirect){if(checkRedirectValues(data.redirect,req,"getStaticProps"),isBuildTimeSSG)throw Object.defineProperty(Error(`\`redirect\` can not be returned from getStaticProps during prerendering (${req.url})Diff for pages.runtime.prod.js
Diff too large to display
Diff for server.runtime.prod.js
Diff too large to display
603b546 to
79abc71
Compare

When we landed #76207 we started propagating the
stale-while-revalidatevalue to RSC responses. We wanted a way to express to CDNs that it can keep serving the cached content for some time while a revalidation runs in the background, but we specifically don't want that for private caches.As a result of this header, when re-building your application locally (or doing something on the server that would have expired the cache), the browser's disk cache would serve a stale RSC response. We currently encode a buildId in RSC payloads, so the client router will discard RSC responses that don't match what it is expecting.
Unfortunately there isn't a
s-stale-while-revalidateheader to express the intended semantics. This moves thestale-while-revalidateconfiguration into theCDN-Cache-Controlheader, which is becoming standardized and is supported by a wide variety of CDNs. This allows us to specify the SWR behavior more explicitly to CDNs while not impacting private caches like the browser. It restores the previous behavior of only settings-maxageon thecache-controlitself to avoid influencing browser cache.If Next.js is deployed to a CDN that doesn't support this header, it can be customized via
nextConfig.experimental.cdnCacheControlHeader. Eg, if deployed to Fastly, you'd configure this tocdnCacheControlHeader: 'Surrogate-Control'.Closes NAR-525
Reference docs:
Vercel
Cloudflare
Fastly
RFC 9213