Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Upgrade React from 378973b3-20251205 to 55480b4d-20251208 - #86993

Closed
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208
Closed

Upgrade React from 378973b3-20251205 to 55480b4d-20251208#86993
nextjs-bot wants to merge 6 commits into
canaryfrom
update/react/19.3.0-canary-55480b4d-20251208

Conversation

@eps1lon

Copy link
Copy Markdown
Member

Nothing interesting in here.

@eps1loneps1lon closed this Dec 9, 2025
@eps1lon
eps1lon deleted the update/react/19.3.0-canary-55480b4d-20251208 branch December 9, 2025 16:29
@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
buildDuration18.3s14.9sN/A
buildDurationCached13.9s10.8sN/A
nodeModulesSize456 MB456 MBN/A
nextStartRea..uration (ms)715ms714msN/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
4951-HASH.js gzip5.37 kB5.38 kBN/A
68680909-HASH.js gzip62.3 kB62.3 kBN/A
8034-HASH.js gzip52.8 kB53 kB⚠️ +203 B
9564.HASH.js gzip170 B168 BN/A
9565-HASH.js gzip4.46 kB4.48 kBN/A
framework-HASH.js gzip59.7 kB59.7 kBN/A
main-app-HASH.js gzip255 B252 BN/A
main-HASH.js gzip38.6 kB38.5 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kBN/A
Overall change52.8 kB53 kB⚠️ +203 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_app-HASH.js gzip192 B194 BN/A
_error-HASH.js gzip183 B182 BN/A
css-HASH.js gzip334 B333 BN/A
dynamic-HASH.js gzip1.79 kB1.81 kBN/A
edge-ssr-HASH.js gzip254 B255 BN/A
head-HASH.js gzip352 B349 BN/A
hooks-HASH.js gzip383 B378 BN/A
image-HASH.js gzip580 B581 BN/A
index-HASH.js gzip259 B258 BN/A
link-HASH.js gzip2.51 kB2.5 kBN/A
routerDirect..HASH.js gzip317 B319 BN/A
script-HASH.js gzip386 B386 B
withRouter-HASH.js gzip314 B312 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change492 B492 B
Client Build Manifests
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
_buildManifest.js gzip735 B738 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
index.html gzip524 B524 B
link.html gzip539 B538 BN/A
withRouter.html gzip521 B520 BN/A
Overall change524 B524 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
edge-ssr.js gzip124 kB124 kB⚠️ +129 B
page.js gzip236 kB236 kBN/A
Overall change124 kB124 kB⚠️ +129 B
Middleware size
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
middleware-b..fest.js gzip653 B654 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.8 kB32.7 kBN/A
edge-runtime..pack.js gzip846 B846 B
Overall change1 kB1 kB
Next Runtimes
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
app-page-exp...dev.js gzip301 kB301 kB
app-page-exp..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip301 kB301 kBN/A
app-page-tur..prod.js gzip155 kB155 kB
app-page-tur...dev.js gzip297 kB297 kBN/A
app-page-tur..prod.js gzip153 kB153 kBN/A
app-page.run...dev.js gzip297 kB297 kBN/A
app-page.run..prod.js gzip153 kB153 kBN/A
app-route-ex...dev.js gzip68.6 kB68.6 kBN/A
app-route-ex..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.7 kB68.7 kB
app-route-tu..prod.js gzip47.5 kB47.5 kB
app-route-tu...dev.js gzip68.3 kB68.3 kBN/A
app-route-tu..prod.js gzip47.2 kB47.2 kB
app-route.ru...dev.js gzip68.2 kB68.2 kBN/A
app-route.ru..prod.js gzip47.2 kB47.2 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip41 kB41 kB
pages-api-tu..prod.js gzip31.1 kB31.1 kB
pages-api.ru...dev.js gzip41 kB41 kB
pages-api.ru..prod.js gzip31.1 kB31.1 kB
pages-turbo....dev.js gzip50.5 kB50.5 kB
pages-turbo...prod.js gzip38 kB38 kB
pages.runtim...dev.js gzip50.5 kB50.5 kB
pages.runtim..prod.js gzip38 kB38 kB
server.runti..prod.js gzip59.8 kB59.8 kB
Overall change1.2 MB1.2 MB
build cache Overall increase ⚠️
vercel/next.js canaryvercel/next.js update/react/19.3.0-canary-55480b4d-20251208Change
0.pack gzip3.11 MB3.1 MBN/A
index.pack gzip92.6 kB93.4 kB⚠️ +786 B
Overall change92.6 kB93.4 kB⚠️ +786 B
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-b087a17851e05d6f.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",+ "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
"/image": [
- "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",- "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",+ "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1361: /***/ (module) => {- // extracted by mini-css-extract-plugin- module.exports = { helloWorld: "css_helloWorld__aUdUq" };-- /***/- },-- /***/ 1651: /***/ (+ /***/ 942: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -16,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function () {
- return __webpack_require__(3321);+ return __webpack_require__(3023);
},
]);
if (false) {
@@ -25,7 +18,7 @@
/***/
},
- /***/ 3321: /***/ (+ /***/ 3023: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1361);+ __webpack_require__(3264);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
/***/
},
++ /***/ 3264: /***/ (module) => {+ // extracted by mini-css-extract-plugin+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1651)+ __webpack_exec__(942)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 617: /***/ (- __unused_webpack_module,- exports,- __webpack_require__- ) => {- "use strict";- /* __next_internal_client_entry_do_not_use__ cjs */- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "LoadableContext", {- enumerable: true,- get: function () {- return LoadableContext;- },- });- const _interop_require_default = __webpack_require__(1532);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const LoadableContext = _react.default.createContext(null);- if (false) {- } //# sourceMappingURL=loadable-context.shared-runtime.js.map-- /***/- },-- /***/ 620: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- 0 && 0;- function _export(target, all) {- for (var name in all)- Object.defineProperty(target, name, {- enumerable: true,- get: all[name],- });- }- _export(exports, {- /**- * This function lets you dynamically import a component.- * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.- *- * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)- */ default: function () {- return dynamic;- },- noSSR: function () {- return noSSR;- },- });- const _interop_require_default = __webpack_require__(1532);- const _jsxruntime = __webpack_require__(7002);- const _react = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(6466)- );- const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(- __webpack_require__(3147)- );- const isServerSide = "object" === "undefined";- // Normalize loader to return the module as form { default: Component } for `React.lazy`.- // Also for backward compatible since next/dynamic allows to resolve a component directly with loader- // Client component reference proxy need to be converted to a module.- function convertModule(mod) {- return {- default: mod?.default || mod,- };- }- function noSSR(LoadableInitializer, loadableOptions) {- // Removing webpack and modules means react-loadable won't try preloading- delete loadableOptions.webpack;- delete loadableOptions.modules;- // This check is necessary to prevent react-loadable from initializing on the server- if (!isServerSide) {- return LoadableInitializer(loadableOptions);- }- const Loading = loadableOptions.loading;- // This will only be rendered on the server side- return () =>- /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {- error: null,- isLoading: true,- pastDelay: false,- timedOut: false,- });- }- function dynamic(dynamicOptions, options) {- let loadableFn = _loadablesharedruntime.default;- let loadableOptions = {- // A loading component is not required, so we default it- loading: ({ error, isLoading, pastDelay }) => {- if (!pastDelay) return null;- if (false) {- }- return null;- },- };- // Support for direct import(), eg: dynamic(import('../hello-world'))- // Note that this is only kept for the edge case where someone is passing in a promise as first argument- // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))- // To make sure we don't execute the import without rendering first- if (dynamicOptions instanceof Promise) {- loadableOptions.loader = () => dynamicOptions;- // Support for having import as a function, eg: dynamic(() => import('../hello-world'))- } else if (typeof dynamicOptions === "function") {- loadableOptions.loader = dynamicOptions;- // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})- } else if (typeof dynamicOptions === "object") {- loadableOptions = {- ...loadableOptions,- ...dynamicOptions,- };- }- // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})- loadableOptions = {- ...loadableOptions,- ...options,- };- const loaderFn = loadableOptions.loader;- const loader = () =>- loaderFn != null- ? loaderFn().then(convertModule)- : Promise.resolve(convertModule(() => null));- // coming from build/babel/plugins/react-loadable-plugin.js- if (loadableOptions.loadableGenerated) {- loadableOptions = {- ...loadableOptions,- ...loadableOptions.loadableGenerated,- };- delete loadableOptions.loadableGenerated;- }- // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).- if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {- delete loadableOptions.webpack;- delete loadableOptions.modules;- return noSSR(loadableFn, loadableOptions);- }- return loadableFn({- ...loadableOptions,- loader: loader,- });- }- 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=dynamic.js.map-- /***/- },-- /***/ 1173: /***/ (+ /***/ 1151: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(620);+ module.exports = __webpack_require__(7368);
/***/
},
- /***/ 2907: /***/ (+ /***/ 4773: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -186,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1173);+ __webpack_require__(1151);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 9564)- .then(__webpack_require__.bind(__webpack_require__, 9564))+ .e(/* import() */ 6022)+ .then(__webpack_require__.bind(__webpack_require__, 6022))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 9564],+ webpack: () => [/*require.resolve*/ 6022],
},
}
);
@@ -227,7 +67,7 @@
/***/
},
- /***/ 3147: /***/ (+ /***/ 5631: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(6466)
);
- const _loadablecontextsharedruntime = __webpack_require__(617);+ const _loadablecontextsharedruntime = __webpack_require__(6861);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 4236: /***/ (+ /***/ 6861: /***/ (+ __unused_webpack_module,+ exports,+ __webpack_require__+ ) => {+ "use strict";+ /* __next_internal_client_entry_do_not_use__ cjs */+ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "LoadableContext", {+ enumerable: true,+ get: function () {+ return LoadableContext;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const LoadableContext = _react.default.createContext(null);+ if (false) {+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map++ /***/+ },++ /***/ 7368: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ 0 && 0;+ function _export(target, all) {+ for (var name in all)+ Object.defineProperty(target, name, {+ enumerable: true,+ get: all[name],+ });+ }+ _export(exports, {+ /**+ * This function lets you dynamically import a component.+ * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.+ *+ * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)+ */ default: function () {+ return dynamic;+ },+ noSSR: function () {+ return noSSR;+ },+ });+ const _interop_require_default = __webpack_require__(1532);+ const _jsxruntime = __webpack_require__(7002);+ const _react = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(6466)+ );+ const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(+ __webpack_require__(5631)+ );+ const isServerSide = "object" === "undefined";+ // Normalize loader to return the module as form { default: Component } for `React.lazy`.+ // Also for backward compatible since next/dynamic allows to resolve a component directly with loader+ // Client component reference proxy need to be converted to a module.+ function convertModule(mod) {+ return {+ default: mod?.default || mod,+ };+ }+ function noSSR(LoadableInitializer, loadableOptions) {+ // Removing webpack and modules means react-loadable won't try preloading+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ // This check is necessary to prevent react-loadable from initializing on the server+ if (!isServerSide) {+ return LoadableInitializer(loadableOptions);+ }+ const Loading = loadableOptions.loading;+ // This will only be rendered on the server side+ return () =>+ /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {+ error: null,+ isLoading: true,+ pastDelay: false,+ timedOut: false,+ });+ }+ function dynamic(dynamicOptions, options) {+ let loadableFn = _loadablesharedruntime.default;+ let loadableOptions = {+ // A loading component is not required, so we default it+ loading: ({ error, isLoading, pastDelay }) => {+ if (!pastDelay) return null;+ if (false) {+ }+ return null;+ },+ };+ // Support for direct import(), eg: dynamic(import('../hello-world'))+ // Note that this is only kept for the edge case where someone is passing in a promise as first argument+ // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))+ // To make sure we don't execute the import without rendering first+ if (dynamicOptions instanceof Promise) {+ loadableOptions.loader = () => dynamicOptions;+ // Support for having import as a function, eg: dynamic(() => import('../hello-world'))+ } else if (typeof dynamicOptions === "function") {+ loadableOptions.loader = dynamicOptions;+ // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})+ } else if (typeof dynamicOptions === "object") {+ loadableOptions = {+ ...loadableOptions,+ ...dynamicOptions,+ };+ }+ // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})+ loadableOptions = {+ ...loadableOptions,+ ...options,+ };+ const loaderFn = loadableOptions.loader;+ const loader = () =>+ loaderFn != null+ ? loaderFn().then(convertModule)+ : Promise.resolve(convertModule(() => null));+ // coming from build/babel/plugins/react-loadable-plugin.js+ if (loadableOptions.loadableGenerated) {+ loadableOptions = {+ ...loadableOptions,+ ...loadableOptions.loadableGenerated,+ };+ delete loadableOptions.loadableGenerated;+ }+ // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).+ if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {+ delete loadableOptions.webpack;+ delete loadableOptions.modules;+ return noSSR(loadableFn, loadableOptions);+ }+ return loadableFn({+ ...loadableOptions,+ loader: loader,+ });+ }+ 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=dynamic.js.map++ /***/+ },++ /***/ 8258: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(2907);+ return __webpack_require__(4773);
},
]);
if (false) {
@@ -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__(4236)+ __webpack_exec__(8258)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 2366: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(8140);- },- ]);- if (false) {- }+ /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {+ module.exports = __webpack_require__(8141);
/***/
},
- /***/ 8140: /***/ (+ /***/ 2682: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +22,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9386);+ __webpack_require__(48);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
/***/
},
- /***/ 9386: /***/ (- module,+ /***/ 2956: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1649);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(2682);+ },+ ]);+ if (false) {+ }
/***/
},
@@ -82,7 +78,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2366)+ __webpack_exec__(2956)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 497: /***/ (+ /***/ 8114: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/image",+ function () {+ return __webpack_require__(9180);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 9180: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.1/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(7002);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js- var next_image = __webpack_require__(9565);+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.1_react@19.2.1__react@19.2.1/node_modules/next/image.js+ var next_image = __webpack_require__(5467);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-- /***/ 5748: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/image",- function () {- return __webpack_require__(497);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>- __webpack_exec__(5748)+ /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>+ __webpack_exec__(8114)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1182: /***/ (+ /***/ 2156: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function () {
- return __webpack_require__(4610);+ return __webpack_require__(8272);
},
]);
if (false) {
@@ -18,7 +18,220 @@
/***/
},
- /***/ 1557: /***/ (module, exports, __webpack_require__) => {+ /***/ 4581: /***/ (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__(6466);+ const _requestidlecallback = __webpack_require__(7441);+ 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++ /***/+ },++ /***/ 6155: /***/ (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__(6466);+ 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++ /***/+ },++ /***/ 7046: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(8113);++ /***/+ },++ /***/ 8113: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(6466)
);
- const _resolvehref = __webpack_require__(5475);- const _islocalurl = __webpack_require__(6475);- const _formaturl = __webpack_require__(9998);- const _utils = __webpack_require__(3084);- const _addlocale = __webpack_require__(3921);- const _routercontextsharedruntime = __webpack_require__(7726);- const _useintersection = __webpack_require__(4806);- const _getdomainlocale = __webpack_require__(3219);- const _addbasepath = __webpack_require__(5498);- const _usemergedref = __webpack_require__(3255);- const _erroronce = __webpack_require__(1685);+ const _resolvehref = __webpack_require__(2399);+ const _islocalurl = __webpack_require__(6687);+ const _formaturl = __webpack_require__(4802);+ const _utils = __webpack_require__(9208);+ const _addlocale = __webpack_require__(9845);+ const _routercontextsharedruntime = __webpack_require__(3466);+ const _useintersection = __webpack_require__(4581);+ const _getdomainlocale = __webpack_require__(8319);+ const _addbasepath = __webpack_require__(4126);+ const _usemergedref = __webpack_require__(6155);+ const _erroronce = __webpack_require__(8305);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -434,140 +647,7 @@
/***/
},
- /***/ 1685: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;- },- });- let errorOnce = (_) => {};- if (false) {- } //# sourceMappingURL=error-once.js.map-- /***/- },-- /***/ 3219: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "getDomainLocale", {- enumerable: true,- get: function () {- return getDomainLocale;- },- });- const _normalizetrailingslash = __webpack_require__(1059);- const basePath =- /* unused pure expression or super */ null && (false || "");- function getDomainLocale(path, locale, locales, domainLocales) {- if (false) {- } else {- return false;- }- }- 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=get-domain-locale.js.map-- /***/- },-- /***/ 3255: /***/ (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__(6466);- 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-- /***/- },-- /***/ 4610: /***/ (+ /***/ 8272: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -582,7 +662,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9056);+ __webpack_require__(7046);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
/***/
},
- /***/ 4806: /***/ (module, exports, __webpack_require__) => {+ /***/ 8305: /***/ (__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__(6466);- const _requestidlecallback = __webpack_require__(805);- 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;- }+ let errorOnce = (_) => {};+ if (false) {+ } //# sourceMappingURL=error-once.js.map++ /***/+ },++ /***/ 8319: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "getDomainLocale", {+ enumerable: true,+ get: function () {+ return getDomainLocale;+ },+ });+ const _normalizetrailingslash = __webpack_require__(6063);+ const basePath =+ /* unused pure expression or super */ null && (false || "");+ function getDomainLocale(path, locale, locales, domainLocales) {+ if (false) {+ } else {+ return false;
}
- 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" ||
@@ -733,17 +743,7 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 9056: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(1557);+ } //# sourceMappingURL=get-domain-locale.js.map
/***/
},
@@ -753,7 +753,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1182)+ __webpack_exec__(2156)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {- module.exports = __webpack_require__(5258);-- /***/- },-- /***/ 6853: /***/ (+ /***/ 2895: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -22,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(15);+ __webpack_require__(3489);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
/***/
},
- /***/ 9264: /***/ (+ /***/ 3489: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(3102);++ /***/+ },++ /***/ 9884: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -63,7 +67,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function () {
- return __webpack_require__(6853);+ return __webpack_require__(2895);
},
]);
if (false) {
@@ -77,7 +81,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9264)+ __webpack_exec__(9884)
);
/******/ 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],
{
- /***/ 1593: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(372);-- /***/- },-- /***/ 4550: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(8527);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8527: /***/ (+ /***/ 69: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(7002);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1593);+ __webpack_require__(2027);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 2027: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(1536);++ /***/+ },++ /***/ 2268: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(69);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4550)+ __webpack_exec__(2268)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

Diff for 8034-HASH.js
failed to diff
Diff for 9565-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js
failed to diff
Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 2c73d6a

@nextjs-bot

Copy link
Copy Markdown
ContributorAuthor

Failing test suites

Commit: 2c73d6a | About building and testing Next.js

pnpm test-start test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (job)

  • runtime prefetching > in a private cache > can completely prefetch a page that uses cookies and no uncached IO (DD)
Expand output

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: socket hang up
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=180y0
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp/in-private-cache
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=o863q
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /!KGRlZmF1bHQp
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

● runtime prefetching › in a private cache › can completely prefetch a page that uses cookies and no uncached IO

apiRequestContext.fetch: read ECONNRESET
Call log:
- → GET http://localhost:43865/in-private-cache/cookies-only?_rsc=nn07o
- user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/130.0.6723.31 Safari/537.36
- accept: */*
- accept-encoding: gzip,deflate,br
- cookie: testCookie=initialValue
- next-test-fetch-priority: low
- referer: http://localhost:43865/
- next-router-prefetch: 1
- next-router-segment-prefetch: /_index
- next-url: /
- rsc: 1
- sec-ch-ua: "Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"
- sec-ch-ua-mobile: ?0
- sec-ch-ua-platform: "Linux"
226 | // server; we pass the request to the server the immediately.
227 | result: (async () => {
> 228 | const originalResponse = await page.request.fetch(request, {
| ^
229 | maxRedirects: 0,
230 | })
231 |
at fetch (lib/router-act.ts:228:59)
at lib/router-act.ts:246:13
at routeHandler (lib/router-act.ts:258:7)

@github-actionsgithub-actionsBot locked as resolved and limited conversation to collaborators Dec 24, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nextjs-bot@eps1lon