Uh oh!
There was an error while loading. Please reload this page.
Upgrade React from b45bb335-20251211 to bcf97c75-20251215 - #87200
Upgrade React from b45bb335-20251211 to bcf97c75-20251215#87200nextjs-bot wants to merge 6 commits into
b45bb335-20251211 to bcf97c75-20251215#87200Conversation
nextjs-bot
commented
Dec 15, 2025
Stats from current PRDefault Build (Increase detected |
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| buildDuration | 18.1s | 14.8s | N/A |
| buildDurationCached | 13.7s | 10.8s | N/A |
| nodeModulesSize | 457 MB | 457 MB | |
| nextStartRea..uration (ms) | 711ms | 712ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| 2086.HASH.js gzip | 169 B | 169 B | ✓ |
| 2161-HASH.js gzip | 5.39 kB | 5.41 kB | N/A |
| 2747-HASH.js gzip | 4.48 kB | 4.46 kB | N/A |
| 4322-HASH.js gzip | 52.9 kB | 52.7 kB | N/A |
| ec793fe8-HASH.js gzip | 62.3 kB | 62.3 kB | N/A |
| framework-HASH.js gzip | 59.8 kB | 59.8 kB | N/A |
| main-app-HASH.js gzip | 251 B | 253 B | N/A |
| main-HASH.js gzip | 38.2 kB | 38.5 kB | |
| webpack-HASH.js gzip | 1.68 kB | 1.69 kB | N/A |
| Overall change | 38.3 kB | 38.7 kB |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 193 B | N/A |
| _error-HASH.js gzip | 182 B | 182 B | ✓ |
| css-HASH.js gzip | 336 B | 335 B | N/A |
| dynamic-HASH.js gzip | 1.8 kB | 1.8 kB | N/A |
| edge-ssr-HASH.js gzip | 256 B | 256 B | ✓ |
| head-HASH.js gzip | 352 B | 349 B | N/A |
| hooks-HASH.js gzip | 385 B | 384 B | N/A |
| image-HASH.js gzip | 580 B | 580 B | ✓ |
| index-HASH.js gzip | 259 B | 258 B | N/A |
| link-HASH.js gzip | 2.5 kB | 2.51 kB | N/A |
| routerDirect..HASH.js gzip | 319 B | 317 B | N/A |
| script-HASH.js gzip | 385 B | 387 B | N/A |
| withRouter-HASH.js gzip | 316 B | 315 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 1.12 kB | 1.12 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 738 B | 738 B | ✓ |
| Overall change | 738 B | 738 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| index.html gzip | 523 B | 525 B | N/A |
| link.html gzip | 538 B | 538 B | ✓ |
| withRouter.html gzip | 520 B | 520 B | ✓ |
| Overall change | 1.06 kB | 1.06 kB | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 124 kB | 124 kB | |
| page.js gzip | 236 kB | 231 kB | N/A |
| Overall change | 124 kB | 124 kB |
Middleware size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 653 B | 654 B | N/A |
| middleware-r..fest.js gzip | 155 B | 156 B | N/A |
| middleware.js gzip | 32.7 kB | 32.9 kB | |
| edge-runtime..pack.js gzip | 846 B | 846 B | ✓ |
| Overall change | 33.5 kB | 33.8 kB |
Next Runtimes
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 301 kB | 301 kB | ✓ |
| app-page-exp..prod.js gzip | 155 kB | 155 kB | N/A |
| app-page-tur...dev.js gzip | 301 kB | 301 kB | N/A |
| app-page-tur..prod.js gzip | 155 kB | 155 kB | N/A |
| app-page-tur...dev.js gzip | 298 kB | 298 kB | ✓ |
| app-page-tur..prod.js gzip | 153 kB | 153 kB | ✓ |
| app-page.run...dev.js gzip | 298 kB | 298 kB | N/A |
| app-page.run..prod.js gzip | 153 kB | 153 kB | ✓ |
| app-route-ex...dev.js gzip | 68.6 kB | 68.6 kB | N/A |
| app-route-ex..prod.js gzip | 47.5 kB | 47.5 kB | ✓ |
| app-route-tu...dev.js gzip | 68.7 kB | 68.7 kB | N/A |
| app-route-tu..prod.js gzip | 47.5 kB | 47.5 kB | ✓ |
| app-route-tu...dev.js gzip | 68.3 kB | 68.3 kB | N/A |
| app-route-tu..prod.js gzip | 47.2 kB | 47.2 kB | N/A |
| app-route.ru...dev.js gzip | 68.2 kB | 68.2 kB | N/A |
| app-route.ru..prod.js gzip | 47.2 kB | 47.2 kB | N/A |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 328 B | 328 B | ✓ |
| dist_client_...dev.js gzip | 320 B | 320 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| pages-api-tu...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api-tu..prod.js gzip | 31.1 kB | 31.1 kB | ✓ |
| pages-api.ru...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api.ru..prod.js gzip | 31.1 kB | 31.1 kB | ✓ |
| pages-turbo....dev.js gzip | 50.5 kB | 50.5 kB | ✓ |
| pages-turbo...prod.js gzip | 38 kB | 38 kB | ✓ |
| pages.runtim...dev.js gzip | 50.5 kB | 50.5 kB | ✓ |
| pages.runtim..prod.js gzip | 38 kB | 38 kB | ✓ |
| server.runti..prod.js gzip | 59.8 kB | 59.8 kB | ✓ |
| Overall change | 1.38 MB | 1.38 MB | ✓ |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js update/react/19.3.0-canary-bcf97c75-20251215 | Change | |
|---|---|---|---|
| 0.pack gzip | 3.11 MB | 3.11 MB | |
| index.pack gzip | 93.7 kB | 93.1 kB | N/A |
| Overall change | 3.11 MB | 3.11 MB |
Diff details
Diff for page.js
Diff too large to display
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
failed to diffDiff for _buildManifest.js
@@ -611,35 +611,35 @@ self.__BUILD_MANIFEST = (function (a, b, c) {
numHashes: NaN,
bitArray: [],
},
- "/": ["static\u002Fchunks\u002Fpages\u002Findex-dda7d8b64d4ba15c.js"],+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-d95f7ec6af4d2644.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-6ef44d3954f25711.js",+ "static\u002Fchunks\u002Fpages\u002F_error-209c0c82205a7c9f.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-c8aaa7211416a045.js",+ "static\u002Fchunks\u002Fpages\u002Fcss-62710339bc830ded.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-d53bb7f318f342c2.js",+ "static\u002Fchunks\u002Fpages\u002Fdynamic-8ed3486bb68dd6c6.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-1383106d4a3e7d72.js",+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-0db9f7bb610d3072.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-1db1c4be1a45662f.js"],- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-e6deee5b72a5b112.js"],+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-747416c4075e42aa.js"],+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-8b10205be7505244.js"],
"/image": [
- "static\u002Fchunks\u002F2747-90c828280005c0c3.js",- "static\u002Fchunks\u002Fpages\u002Fimage-868472cd5e84efc9.js",+ "static\u002Fchunks\u002F6349-ee9aecde860d4832.js",+ "static\u002Fchunks\u002Fpages\u002Fimage-f90ae17c3ad1d38b.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-0ec374e48b2ce5d9.js"],+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-6ab9a67b348df1bf.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-1a34bfadbc088491.js",+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-f132fb471e65a8b9.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-52320f59afbd096d.js",+ "static\u002Fchunks\u002Fpages\u002Fscript-8e2028e44b8da2d9.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-3b1a16d3dfa21c16.js",+ "static\u002Fchunks\u002Fpages\u002FwithRouter-a86d259faa012c1c.js",
],
sortedPages: [
"\u002F",Diff for dynamic-HASH.js
@@ -1,17 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 1231: /***/ (- module,+ /***/ 2604: /***/ (+ __unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4464);+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/dynamic",+ function () {+ return __webpack_require__(3643);+ },+ ]);+ if (false) {+ }
/***/
},
- /***/ 2101: /***/ (+ /***/ 3401: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -38,24 +45,63 @@
/***/
},
- /***/ 3458: /***/ (+ /***/ 3643: /***/ (
__unused_webpack_module,
- __unused_webpack_exports,+ __webpack_exports__,
__webpack_require__
) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([- "/dynamic",- function () {- return __webpack_require__(9381);- },- ]);- if (false) {- }+ "use strict";+ __webpack_require__.r(__webpack_exports__);+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+ /* harmony export */+ });+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+ __webpack_require__(3108);+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =+ __webpack_require__(3973);+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =+ /*#__PURE__*/ __webpack_require__.n(+ next_dynamic__WEBPACK_IMPORTED_MODULE_1__+ );++ const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(+ () =>+ __webpack_require__+ .e(/* import() */ 1596)+ .then(__webpack_require__.bind(__webpack_require__, 1596))+ .then((mod) => mod.Hello),+ {+ loadableGenerated: {+ webpack: () => [/*require.resolve*/ 1596],+ },+ }+ );+ const Page = () =>+ /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,+ {+ children: [+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {+ children: "testing next/dynamic size",+ }),+ /*#__PURE__*/ (0,+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+ DynamicHello,+ {}+ ),+ ],+ }+ );+ var __N_SSP = true;+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
/***/
},
- /***/ 4464: /***/ (module, exports, __webpack_require__) => {+ /***/ 3660: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -88,7 +134,7 @@
__webpack_require__(4312)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(9799)+ __webpack_require__(4539)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -188,63 +234,17 @@
/***/
},
- /***/ 9381: /***/ (- __unused_webpack_module,- __webpack_exports__,+ /***/ 3973: /***/ (+ module,+ __unused_webpack_exports,
__webpack_require__
) => {
- "use strict";- __webpack_require__.r(__webpack_exports__);- /* harmony export */ __webpack_require__.d(__webpack_exports__, {- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,- /* harmony export */- });- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =- __webpack_require__(3108);- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =- __webpack_require__(1231);- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =- /*#__PURE__*/ __webpack_require__.n(- next_dynamic__WEBPACK_IMPORTED_MODULE_1__- );-- const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(- () =>- __webpack_require__- .e(/* import() */ 2086)- .then(__webpack_require__.bind(__webpack_require__, 2086))- .then((mod) => mod.Hello),- {- loadableGenerated: {- webpack: () => [/*require.resolve*/ 2086],- },- }- );- const Page = () =>- /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,- {- children: [- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {- children: "testing next/dynamic size",- }),- /*#__PURE__*/ (0,- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(- DynamicHello,- {}- ),- ],- }- );- var __N_SSP = true;- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;+ module.exports = __webpack_require__(3660);
/***/
},
- /***/ 9799: /***/ (+ /***/ 4539: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -286,7 +286,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(4312)
);
- const _loadablecontextsharedruntime = __webpack_require__(2101);+ const _loadablecontextsharedruntime = __webpack_require__(3401);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -524,7 +524,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3458)+ __webpack_exec__(2604)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for edge-ssr-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[676],
{
- /***/ 1564: /***/ (+ /***/ 7046: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/edge-ssr",+ function () {+ return __webpack_require__(7142);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7142: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -20,30 +37,13 @@
/***/
},
-- /***/ 4300: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/edge-ssr",- function () {- return __webpack_require__(1564);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4300)+ __webpack_exec__(7046)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for head-HASH.js
@@ -1,34 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 1548: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/head",- function () {- return __webpack_require__(4282);- },- ]);- if (false) {- }-- /***/- },-- /***/ 3952: /***/ (+ /***/ 3770: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(1653);+ module.exports = __webpack_require__(9025);
/***/
},
- /***/ 4282: /***/ (+ /***/ 6236: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(3952);+ __webpack_require__(3770);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +59,30 @@
/***/
},
++ /***/ 6510: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/head",+ function () {+ return __webpack_require__(6236);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1548)+ __webpack_exec__(6510)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for index-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 6376: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/",- function () {- return __webpack_require__(8460);- },- ]);- if (false) {- }-- /***/- },-- /***/ 8460: /***/ (+ /***/ 830: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -36,13 +19,30 @@
/***/
},
++ /***/ 1938: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/",+ function () {+ return __webpack_require__(830);+ },+ ]);+ if (false) {+ }++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6376)+ __webpack_exec__(1938)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for link-HASH.js
@@ -1,7 +1,220 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 857: /***/ (module, exports, __webpack_require__) => {+ /***/ 2774: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useIntersection", {+ enumerable: true,+ get: function () {+ return useIntersection;+ },+ });+ const _react = __webpack_require__(4312);+ const _requestidlecallback = __webpack_require__(9413);+ const hasIntersectionObserver =+ typeof IntersectionObserver === "function";+ const observers = new Map();+ const idList = [];+ function createObserver(options) {+ const id = {+ root: options.root || null,+ margin: options.rootMargin || "",+ };+ const existing = idList.find(+ (obj) => obj.root === id.root && obj.margin === id.margin+ );+ let instance;+ if (existing) {+ instance = observers.get(existing);+ if (instance) {+ return instance;+ }+ }+ const elements = new Map();+ const observer = new IntersectionObserver((entries) => {+ entries.forEach((entry) => {+ const callback = elements.get(entry.target);+ const isVisible =+ entry.isIntersecting || entry.intersectionRatio > 0;+ if (callback && isVisible) {+ callback(isVisible);+ }+ });+ }, options);+ instance = {+ id,+ observer,+ elements,+ };+ idList.push(id);+ observers.set(id, instance);+ return instance;+ }+ function observe(element, callback, options) {+ const { id, observer, elements } = createObserver(options);+ elements.set(element, callback);+ observer.observe(element);+ return function unobserve() {+ elements.delete(element);+ observer.unobserve(element);+ // Destroy observer when there's nothing left to watch:+ if (elements.size === 0) {+ observer.disconnect();+ observers.delete(id);+ const index = idList.findIndex(+ (obj) => obj.root === id.root && obj.margin === id.margin+ );+ if (index > -1) {+ idList.splice(index, 1);+ }+ }+ };+ }+ function useIntersection({ rootRef, rootMargin, disabled }) {+ const isDisabled = disabled || !hasIntersectionObserver;+ const [visible, setVisible] = (0, _react.useState)(false);+ const elementRef = (0, _react.useRef)(null);+ const setElement = (0, _react.useCallback)((element) => {+ elementRef.current = element;+ }, []);+ (0, _react.useEffect)(() => {+ if (hasIntersectionObserver) {+ if (isDisabled || visible) return;+ const element = elementRef.current;+ if (element && element.tagName) {+ const unobserve = observe(+ element,+ (isVisible) => isVisible && setVisible(isVisible),+ {+ root: rootRef?.current,+ rootMargin,+ }+ );+ return unobserve;+ }+ } else {+ if (!visible) {+ const idleCallback = (0,+ _requestidlecallback.requestIdleCallback)(() => setVisible(true));+ return () =>+ (0, _requestidlecallback.cancelIdleCallback)(idleCallback);+ }+ }+ // eslint-disable-next-line react-hooks/exhaustive-deps+ }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);+ const resetVisible = (0, _react.useCallback)(() => {+ setVisible(false);+ }, []);+ return [setElement, visible, resetVisible];+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-intersection.js.map++ /***/+ },++ /***/ 3351: /***/ (module, exports, __webpack_require__) => {+ "use strict";++ Object.defineProperty(exports, "__esModule", {+ value: true,+ });+ Object.defineProperty(exports, "useMergedRef", {+ enumerable: true,+ get: function () {+ return useMergedRef;+ },+ });+ const _react = __webpack_require__(4312);+ function useMergedRef(refA, refB) {+ const cleanupA = (0, _react.useRef)(null);+ const cleanupB = (0, _react.useRef)(null);+ // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+ // (this happens often if the user doesn't pass a ref to Link/Form/Image)+ // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+ // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+ // (because it hasn't been updated for React 19)+ // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+ // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+ return (0, _react.useCallback)(+ (current) => {+ if (current === null) {+ const cleanupFnA = cleanupA.current;+ if (cleanupFnA) {+ cleanupA.current = null;+ cleanupFnA();+ }+ const cleanupFnB = cleanupB.current;+ if (cleanupFnB) {+ cleanupB.current = null;+ cleanupFnB();+ }+ } else {+ if (refA) {+ cleanupA.current = applyRef(refA, current);+ }+ if (refB) {+ cleanupB.current = applyRef(refB, current);+ }+ }+ },+ [refA, refB]+ );+ }+ function applyRef(refA, current) {+ if (typeof refA === "function") {+ const cleanup = refA(current);+ if (typeof cleanup === "function") {+ return cleanup;+ } else {+ return () => refA(null);+ }+ } else {+ refA.current = current;+ return () => {+ refA.current = null;+ };+ }+ }+ if (+ (typeof exports.default === "function" ||+ (typeof exports.default === "object" && exports.default !== null)) &&+ typeof exports.default.__esModule === "undefined"+ ) {+ Object.defineProperty(exports.default, "__esModule", {+ value: true,+ });+ Object.assign(exports.default, exports);+ module.exports = exports.default;+ } //# sourceMappingURL=use-merged-ref.js.map++ /***/+ },++ /***/ 3440: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(4757);++ /***/+ },++ /***/ 4757: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -23,22 +236,22 @@
return useLinkStatus;
},
});
- const _interop_require_wildcard = __webpack_require__(8781);+ const _interop_require_wildcard = __webpack_require__(1162);
const _jsxruntime = __webpack_require__(3108);
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(4312)
);
- const _resolvehref = __webpack_require__(4055);- const _islocalurl = __webpack_require__(7175);- const _formaturl = __webpack_require__(9674);- const _utils = __webpack_require__(7424);- const _addlocale = __webpack_require__(589);- const _routercontextsharedruntime = __webpack_require__(7010);- const _useintersection = __webpack_require__(2330);- const _getdomainlocale = __webpack_require__(7207);- const _addbasepath = __webpack_require__(9942);- const _usemergedref = __webpack_require__(8067);- const _erroronce = __webpack_require__(1945);+ const _resolvehref = __webpack_require__(4691);+ const _islocalurl = __webpack_require__(4763);+ const _formaturl = __webpack_require__(3246);+ const _utils = __webpack_require__(7372);+ const _addlocale = __webpack_require__(1809);+ const _routercontextsharedruntime = __webpack_require__(2254);+ const _useintersection = __webpack_require__(2774);+ const _getdomainlocale = __webpack_require__(8803);+ const _addbasepath = __webpack_require__(5834);+ const _usemergedref = __webpack_require__(3351);+ const _erroronce = __webpack_require__(6021);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -417,168 +630,43 @@
/***/
},
- /***/ 1945: /***/ (__unused_webpack_module, exports) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "errorOnce", {- enumerable: true,- get: function () {- return errorOnce;+ /***/ 5326: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/link",+ function () {+ return __webpack_require__(9058);
},
- });- let errorOnce = (_) => {};+ ]);
if (false) {
- } //# sourceMappingURL=error-once.js.map+ }
/***/
},
- /***/ 2330: /***/ (module, exports, __webpack_require__) => {+ /***/ 6021: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useIntersection", {+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return useIntersection;+ return errorOnce;
},
});
- const _react = __webpack_require__(4312);- const _requestidlecallback = __webpack_require__(601);- const hasIntersectionObserver =- typeof IntersectionObserver === "function";- const observers = new Map();- const idList = [];- function createObserver(options) {- const id = {- root: options.root || null,- margin: options.rootMargin || "",- };- const existing = idList.find(- (obj) => obj.root === id.root && obj.margin === id.margin- );- let instance;- if (existing) {- instance = observers.get(existing);- if (instance) {- return instance;- }- }- const elements = new Map();- const observer = new IntersectionObserver((entries) => {- entries.forEach((entry) => {- const callback = elements.get(entry.target);- const isVisible =- entry.isIntersecting || entry.intersectionRatio > 0;- if (callback && isVisible) {- callback(isVisible);- }- });- }, options);- instance = {- id,- observer,- elements,- };- idList.push(id);- observers.set(id, instance);- return instance;- }- function observe(element, callback, options) {- const { id, observer, elements } = createObserver(options);- elements.set(element, callback);- observer.observe(element);- return function unobserve() {- elements.delete(element);- observer.unobserve(element);- // Destroy observer when there's nothing left to watch:- if (elements.size === 0) {- observer.disconnect();- observers.delete(id);- const index = idList.findIndex(- (obj) => obj.root === id.root && obj.margin === id.margin- );- if (index > -1) {- idList.splice(index, 1);- }- }- };- }- function useIntersection({ rootRef, rootMargin, disabled }) {- const isDisabled = disabled || !hasIntersectionObserver;- const [visible, setVisible] = (0, _react.useState)(false);- const elementRef = (0, _react.useRef)(null);- const setElement = (0, _react.useCallback)((element) => {- elementRef.current = element;- }, []);- (0, _react.useEffect)(() => {- if (hasIntersectionObserver) {- if (isDisabled || visible) return;- const element = elementRef.current;- if (element && element.tagName) {- const unobserve = observe(- element,- (isVisible) => isVisible && setVisible(isVisible),- {- root: rootRef?.current,- rootMargin,- }- );- return unobserve;- }- } else {- if (!visible) {- const idleCallback = (0,- _requestidlecallback.requestIdleCallback)(() => setVisible(true));- return () =>- (0, _requestidlecallback.cancelIdleCallback)(idleCallback);- }- }- // eslint-disable-next-line react-hooks/exhaustive-deps- }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);- const resetVisible = (0, _react.useCallback)(() => {- setVisible(false);- }, []);- return [setElement, visible, resetVisible];- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-intersection.js.map-- /***/- },-- /***/ 4972: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/link",- function () {- return __webpack_require__(7600);- },- ]);+ let errorOnce = (_) => {};
if (false) {
- }+ } //# sourceMappingURL=error-once.js.map
/***/
},
- /***/ 7207: /***/ (module, exports, __webpack_require__) => {+ /***/ 8803: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -590,7 +678,7 @@
return getDomainLocale;
},
});
- const _normalizetrailingslash = __webpack_require__(151);+ const _normalizetrailingslash = __webpack_require__(1315);
const basePath =
/* unused pure expression or super */ null && (false || "");
function getDomainLocale(path, locale, locales, domainLocales) {
@@ -614,7 +702,7 @@
/***/
},
- /***/ 7600: /***/ (+ /***/ 9058: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -629,7 +717,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7830);+ __webpack_require__(3440);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -659,101 +747,13 @@
/***/
},
-- /***/ 7830: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(857);-- /***/- },-- /***/ 8067: /***/ (module, exports, __webpack_require__) => {- "use strict";-- Object.defineProperty(exports, "__esModule", {- value: true,- });- Object.defineProperty(exports, "useMergedRef", {- enumerable: true,- get: function () {- return useMergedRef;- },- });- const _react = __webpack_require__(4312);- function useMergedRef(refA, refB) {- const cleanupA = (0, _react.useRef)(null);- const cleanupB = (0, _react.useRef)(null);- // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.- // (this happens often if the user doesn't pass a ref to Link/Form/Image)- // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),- // and the user might pass that ref into ref-merging library that doesn't support cleanup refs- // (because it hasn't been updated for React 19)- // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.- // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.- return (0, _react.useCallback)(- (current) => {- if (current === null) {- const cleanupFnA = cleanupA.current;- if (cleanupFnA) {- cleanupA.current = null;- cleanupFnA();- }- const cleanupFnB = cleanupB.current;- if (cleanupFnB) {- cleanupB.current = null;- cleanupFnB();- }- } else {- if (refA) {- cleanupA.current = applyRef(refA, current);- }- if (refB) {- cleanupB.current = applyRef(refB, current);- }- }- },- [refA, refB]- );- }- function applyRef(refA, current) {- if (typeof refA === "function") {- const cleanup = refA(current);- if (typeof cleanup === "function") {- return cleanup;- } else {- return () => refA(null);- }- } else {- refA.current = current;- return () => {- refA.current = null;- };- }- }- if (- (typeof exports.default === "function" ||- (typeof exports.default === "object" && exports.default !== null)) &&- typeof exports.default.__esModule === "undefined"- ) {- Object.defineProperty(exports.default, "__esModule", {- value: true,- });- Object.assign(exports.default, exports);- module.exports = exports.default;- } //# sourceMappingURL=use-merged-ref.js.map-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(4972)+ __webpack_exec__(5326)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for routerDirect-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 1179: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(9864);-- /***/- },-- /***/ 1640: /***/ (+ /***/ 2014: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1179);+ __webpack_require__(4169);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -46,7 +36,17 @@
/***/
},
- /***/ 2172: /***/ (+ /***/ 4169: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(9700);++ /***/+ },++ /***/ 4414: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -54,7 +54,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/routerDirect",
function () {
- return __webpack_require__(1640);+ return __webpack_require__(2014);
},
]);
if (false) {
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2172)+ __webpack_exec__(4414)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for script-HASH.js
@@ -1,17 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 4977: /***/ (+ /***/ 2591: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(326);+ module.exports = __webpack_require__(4634);
/***/
},
- /***/ 5887: /***/ (+ /***/ 5030: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/script",+ function () {+ return __webpack_require__(7557);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 7557: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4977);+ __webpack_require__(2591);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -58,30 +75,13 @@
/***/
},
-- /***/ 6268: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/script",- function () {- return __webpack_require__(5887);- },- ]);- if (false) {- }-- /***/- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6268)+ __webpack_exec__(5030)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for withRouter-HASH.js
@@ -1,34 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 1179: /***/ (- module,- __unused_webpack_exports,- __webpack_require__- ) => {- module.exports = __webpack_require__(9864);-- /***/- },-- /***/ 2028: /***/ (- __unused_webpack_module,- __unused_webpack_exports,- __webpack_require__- ) => {- (window.__NEXT_P = window.__NEXT_P || []).push([- "/withRouter",- function () {- return __webpack_require__(4501);- },- ]);- if (false) {- }-- /***/- },-- /***/ 4501: /***/ (+ /***/ 559: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(3108);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1179);+ __webpack_require__(4169);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
/***/
},
++ /***/ 726: /***/ (+ __unused_webpack_module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ (window.__NEXT_P = window.__NEXT_P || []).push([+ "/withRouter",+ function () {+ return __webpack_require__(559);+ },+ ]);+ if (false) {+ }++ /***/+ },++ /***/ 4169: /***/ (+ module,+ __unused_webpack_exports,+ __webpack_require__+ ) => {+ module.exports = __webpack_require__(9700);++ /***/+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2028)+ __webpack_exec__(726)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;Diff for 2161-HASH.js
Diff too large to display
Diff for 2747-HASH.js
Diff too large to display
Diff for 4322-HASH.js
failed to diffDiff for main-HASH.js
Diff too large to display
Diff for app-page-exp..ntime.dev.js
failed to diffDiff for app-page-tur..ntime.dev.js
failed to diffDiff for app-page-tur..ntime.dev.js
failed to diffDiff for app-page.runtime.dev.js
failed to diffDiff for server.runtime.prod.js
Diff too large to display
Failing test suitesCommit: 193aaa8 | About building and testing Next.js
Expand output● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-01 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-02 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-03 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-04 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-05 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-06 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-07 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-08 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-10 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-11 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-12 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-13 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-14 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-15 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-16 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-17 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-18 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-19 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-21 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-22 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-23 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-24 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-25 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-01 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/async-api-type-cast-02 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/custom-routes-access-api-prop-01 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-01 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-02 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/generate-metadata-access-api-prop-03 ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/origin-name-01-util ● next-async-request-api - dynamic-apis › transforms correctly next-async-request-api-dynamic-apis/origin-name-02-util
Expand output● Image Component Tests › production mode › SSR Image Component Tests › should render an image tag ● Image Component Tests › production mode › SSR Image Component Tests › should support passing through arbitrary attributes ● Image Component Tests › production mode › SSR Image Component Tests › should modify src with the loader ● Image Component Tests › production mode › SSR Image Component Tests › should correctly generate src even if preceding slash is included in prop ● Image Component Tests › production mode › SSR Image Component Tests › should add a srcset based on the loader ● Image Component Tests › production mode › SSR Image Component Tests › should add a srcset even with preceding slash in prop ● Image Component Tests › production mode › SSR Image Component Tests › should use imageSizes when width matches, not deviceSizes from next.config.js ● Image Component Tests › production mode › SSR Image Component Tests › should support the unoptimized attribute ● Image Component Tests › production mode › SSR Image Component Tests › should not add a srcset if unoptimized attribute present ● Image Component Tests › production mode › SSR Image Component Tests › should keep auto parameter if already set ● Image Component Tests › production mode › SSR Image Component Tests › should keep width parameter if already set ● Image Component Tests › production mode › SSR Image Component Tests › should keep fit parameter if already set ● Image Component Tests › production mode › SSR Image Component Tests › should add a preload tag for a priority image ● Image Component Tests › production mode › SSR Image Component Tests › should add a preload tag for a priority image with preceding slash ● Image Component Tests › production mode › SSR Image Component Tests › should add a preload tag for a priority image, with arbitrary host ● Image Component Tests › production mode › SSR Image Component Tests › should add a preload tag for a priority image, with quality ● Image Component Tests › production mode › SSR Image Component Tests › should not create any preload tags higher up the page than CSS preload tags ● Image Component Tests › production mode › SSR Image Component Tests › should add data-nimg data attribute based on layout ● Image Component Tests › production mode › SSR Image Component Tests › should not pass config to custom loader prop ● Image Component Tests › production mode › Client-side Image Component Tests › should render an image tag ● Image Component Tests › production mode › Client-side Image Component Tests › should support passing through arbitrary attributes ● Image Component Tests › production mode › Client-side Image Component Tests › should modify src with the loader ● Image Component Tests › production mode › Client-side Image Component Tests › should correctly generate src even if preceding slash is included in prop ● Image Component Tests › production mode › Client-side Image Component Tests › should add a srcset based on the loader ● Image Component Tests › production mode › Client-side Image Component Tests › should add a srcset even with preceding slash in prop ● Image Component Tests › production mode › Client-side Image Component Tests › should use imageSizes when width matches, not deviceSizes from next.config.js ● Image Component Tests › production mode › Client-side Image Component Tests › should support the unoptimized attribute ● Image Component Tests › production mode › Client-side Image Component Tests › should not add a srcset if unoptimized attribute present ● Image Component Tests › production mode › Client-side Image Component Tests › should keep auto parameter if already set ● Image Component Tests › production mode › Client-side Image Component Tests › should keep width parameter if already set ● Image Component Tests › production mode › Client-side Image Component Tests › should keep fit parameter if already set ● Image Component Tests › production mode › Client-side Image Component Tests › should NOT add a preload tag for a priority image ● Image Component Tests › production mode › Client-side Image Component Tests › should only be loaded once if ● Image Component Tests › production mode › Client-side Image Component Tests › Client-side Errors › Should not log an error when an unregistered host is used in production ● Image Component Tests › production mode › Client-side Image Component Tests › Client-side Errors › Should not log an error when an unregistered host is used in production ● Image Component Tests › production mode › SSR Lazy Loading Tests › should have loaded the first image immediately ● Image Component Tests › production mode › SSR Lazy Loading Tests › should not have loaded the second image immediately ● Image Component Tests › production mode › SSR Lazy Loading Tests › should pass through classes on a lazy loaded image ● Image Component Tests › production mode › SSR Lazy Loading Tests › should load the second image after scrolling down ● Image Component Tests › production mode › SSR Lazy Loading Tests › should not have loaded the third image after scrolling down ● Image Component Tests › production mode › SSR Lazy Loading Tests › should load the third image, which is unoptimized, after scrolling further down ● Image Component Tests › production mode › SSR Lazy Loading Tests › should load the fourth image lazily after scrolling down ● Image Component Tests › production mode › SSR Lazy Loading Tests › should load the fifth image eagerly, without scrolling ● Image Component Tests › production mode › SSR Lazy Loading Tests › should load the sixth image, which has lazyBoundary property after scrolling down ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should have loaded the first image immediately ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should not have loaded the second image immediately ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should pass through classes on a lazy loaded image ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should load the second image after scrolling down ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should not have loaded the third image after scrolling down ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should load the third image, which is unoptimized, after scrolling further down ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should load the fourth image lazily after scrolling down ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should load the fifth image eagerly, without scrolling ● Image Component Tests › production mode › Client-side Lazy Loading Tests › should load the sixth image, which has lazyBoundary property after scrolling down |
diff facebook/react@b45bb335...bcf97c75
React upstream changes