Skip to content

Conversation

@lukesandberg
Copy link
Contributor

@lukesandberg lukesandberg commented Nov 18, 2025

Refactor Analyzer State Management in Turbopack

This PR refactors the state management in the Turbopack ECMAScript analyzer to improve code organization and maintainability. The changes include:

  • Introduced a LexicalContext enum to track the current execution context (function, module, control flow) and remove most dependencies on AstPath
  • Moved early return stack and variable declaration kind into the AnalyzerState struct
  • Added helper methods for entering and exiting different block types
  • Improved handling of nested blocks and control flow
  • Fixed unreachable code detection in anonymous blocks which allows us to drop some redundant unreachable effects from loops
  • Handle more cases for nested var declarations

These refactorings are all either fixing minor issues or regularizing state management. This is preparation for splitting this AST traversal into two pieces.

@ijjk ijjk added created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js. labels Nov 18, 2025
Copy link
Contributor Author

lukesandberg commented Nov 18, 2025

This stack of pull requests is managed by Graphite. Learn more about stacking.

@lukesandberg lukesandberg changed the title Refactor the analyzer to fix a few issues and prepare to split it up [turbopack] Refactor the analyzer to fix a few issues and prepare to split it up Nov 18, 2025
@ijjk
Copy link
Member

ijjk commented Nov 18, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js more_lambda_helpers Change
buildDuration 18.4s 15.7s N/A
buildDurationCached 14.6s 11.5s N/A
nodeModulesSize 455 MB 455 MB N/A
nextStartRea..uration (ms) 695ms 670ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js more_lambda_helpers Change
436-HASH.js gzip 5.32 kB 5.32 kB N/A
4779.HASH.js gzip 169 B 169 B
9760-HASH.js gzip 52.3 kB 52.6 kB ⚠️ +337 B
c57d0559-HASH.js gzip 62.3 kB 62.3 kB N/A
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 254 B 256 B N/A
main-HASH.js gzip 38.3 kB 38.3 kB N/A
webpack-HASH.js gzip 1.69 kB 1.69 kB
Overall change 114 kB 114 kB ⚠️ +337 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js more_lambda_helpers 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 more_lambda_helpers Change
_app-HASH.js gzip 193 B 194 B N/A
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 334 B 334 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB N/A
edge-ssr-HASH.js gzip 255 B 254 B N/A
head-HASH.js gzip 350 B 351 B N/A
hooks-HASH.js gzip 384 B 384 B
image-HASH.js gzip 4.78 kB 4.77 kB N/A
index-HASH.js gzip 260 B 259 B N/A
link-HASH.js gzip 2.5 kB 2.5 kB N/A
routerDirect..HASH.js gzip 316 B 320 B N/A
script-HASH.js gzip 388 B 388 B
withRouter-HASH.js gzip 316 B 314 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.39 kB 1.39 kB
Client Build Manifests
vercel/next.js canary vercel/next.js more_lambda_helpers Change
_buildManifest.js gzip 718 B 720 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js more_lambda_helpers Change
index.html gzip 524 B 522 B N/A
link.html gzip 538 B 536 B N/A
withRouter.html gzip 521 B 518 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js more_lambda_helpers Change
edge-ssr.js gzip 126 kB 126 kB N/A
page.js gzip 233 kB 234 kB ⚠️ +912 B
Overall change 233 kB 234 kB ⚠️ +912 B
Middleware size Overall increase ⚠️
vercel/next.js canary vercel/next.js more_lambda_helpers Change
middleware-b..fest.js gzip 635 B 637 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 32.8 kB 33 kB ⚠️ +188 B
edge-runtime..pack.js gzip 846 B 846 B
Overall change 33.8 kB 34 kB ⚠️ +188 B
Next Runtimes
vercel/next.js canary vercel/next.js more_lambda_helpers Change
app-page-exp...dev.js gzip 297 kB 297 kB N/A
app-page-exp..prod.js gzip 153 kB 153 kB
app-page-tur...dev.js gzip 296 kB 296 kB N/A
app-page-tur..prod.js gzip 153 kB 153 kB
app-page-tur...dev.js gzip 293 kB 293 kB
app-page-tur..prod.js gzip 151 kB 151 kB
app-page.run...dev.js gzip 293 kB 293 kB N/A
app-page.run..prod.js gzip 151 kB 151 kB
app-route-ex...dev.js gzip 68.3 kB 68.3 kB
app-route-ex..prod.js gzip 47.2 kB 47.2 kB
app-route-tu...dev.js gzip 68.3 kB 68.3 kB
app-route-tu..prod.js gzip 47.2 kB 47.2 kB
app-route-tu...dev.js gzip 68 kB 68 kB
app-route-tu..prod.js gzip 47 kB 47 kB
app-route.ru...dev.js gzip 68 kB 68 kB
app-route.ru..prod.js gzip 47 kB 47 kB
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 40.9 kB 40.9 kB
pages-api-tu..prod.js gzip 31 kB 31 kB
pages-api.ru...dev.js gzip 40.8 kB 40.8 kB N/A
pages-api.ru..prod.js gzip 30.9 kB 30.9 kB
pages-turbo....dev.js gzip 50.3 kB 50.3 kB
pages-turbo...prod.js gzip 37.8 kB 37.8 kB
pages.runtim...dev.js gzip 50.3 kB 50.3 kB N/A
pages.runtim..prod.js gzip 37.8 kB 37.8 kB
server.runti..prod.js gzip 60.5 kB 60.5 kB
Overall change 1.65 MB 1.65 MB
build cache
vercel/next.js canary vercel/next.js more_lambda_helpers Change
0.pack gzip 3.06 MB 3.06 MB N/A
index.pack gzip 93.4 kB 93.4 kB N/A
Overall change 0 B 0 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 dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 1033: /***/ (
+    /***/ 431: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function () {
-          return __webpack_require__(6490);
+          return __webpack_require__(8084);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5323: /***/ (
+    /***/ 2699: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -60,7 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(2223)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(9289);
+      const _loadablecontextsharedruntime = __webpack_require__(3785);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -293,73 +293,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 6490: /***/ (
+    /***/ 3785: /***/ (
       __unused_webpack_module,
-      __webpack_exports__,
+      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 */
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
       });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(1503);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7320);
-      /* 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() */ 4779)
-            .then(__webpack_require__.bind(__webpack_require__, 4779))
-            .then((mod) => mod.Hello),
-        {
-          loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 4779],
-          },
-        }
+      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__(2223)
       );
-      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;
-
-      /***/
-    },
-
-    /***/ 7320: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7340);
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
 
       /***/
     },
 
-    /***/ 7340: /***/ (module, exports, __webpack_require__) => {
+    /***/ 6828: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -392,7 +353,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
         __webpack_require__(2223)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5323)
+        __webpack_require__(2699)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -492,29 +453,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 9289: /***/ (
+    /***/ 7514: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(6828);
+
+      /***/
+    },
+
+    /***/ 8084: /***/ (
       __unused_webpack_module,
-      exports,
+      __webpack_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;
-        },
+      __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 */
       });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2223)
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(1503);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(7514);
+      /* 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() */ 9573)
+            .then(__webpack_require__.bind(__webpack_require__, 9573))
+            .then((mod) => mod.Hello),
+        {
+          loadableGenerated: {
+            webpack: () => [/*require.resolve*/ 9573],
+          },
+        }
       );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+      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;
 
       /***/
     },
@@ -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__(1033)
+      __webpack_exec__(431)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [676],
   {
-    /***/ 1819: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/edge-ssr",
-        function () {
-          return __webpack_require__(7521);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7521: /***/ (
+    /***/ 983: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -37,13 +20,30 @@
 
       /***/
     },
+
+    /***/ 985: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/edge-ssr",
+        function () {
+          return __webpack_require__(983);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1819)
+      __webpack_exec__(985)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5350],
   {
-    /***/ 619: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/head",
-        function () {
-          return __webpack_require__(9891);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7997: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(6705);
-
-      /***/
-    },
-
-    /***/ 9891: /***/ (
+    /***/ 1417: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7997);
+        __webpack_require__(5171);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +49,40 @@
 
       /***/
     },
+
+    /***/ 1937: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/head",
+        function () {
+          return __webpack_require__(1417);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 5171: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(7505);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(619)
+      __webpack_exec__(1937)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1679: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(4655);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 4655: /***/ (
+    /***/ 1598: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -76,13 +59,30 @@
 
       /***/
     },
+
+    /***/ 3925: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(1598);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1679)
+      __webpack_exec__(3925)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 797: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/image",
-        function () {
-          return __webpack_require__(5999);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 1713: /***/ (__unused_webpack_module, exports) => {
+    /***/ 881: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -58,7 +41,7 @@
       /***/
     },
 
-    /***/ 2263: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -136,7 +119,137 @@
       /***/
     },
 
-    /***/ 2728: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1744: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "default", {
+        enumerable: true,
+        get: function () {
+          return _default;
+        },
+      });
+      const _findclosestquality = __webpack_require__(7054);
+      function defaultLoader({ config, src, width, quality }) {
+        if (
+          src.startsWith("/") &&
+          src.includes("?") &&
+          config.localPatterns?.length === 1 &&
+          config.localPatterns[0].pathname === "**" &&
+          config.localPatterns[0].search === ""
+        ) {
+          throw Object.defineProperty(
+            new Error(
+              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
+                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
+            ),
+            "__NEXT_ERROR_CODE",
+            {
+              value: "E871",
+              enumerable: false,
+              configurable: true,
+            }
+          );
+        }
+        if (false) {
+        }
+        const q = (0, _findclosestquality.findClosestQuality)(quality, config);
+        return `${config.path}?url=${encodeURIComponent(
+          src
+        )}&w=${width}&q=${q}${
+          src.startsWith("/_next/static/media/") && false ? 0 : ""
+        }`;
+      }
+      // We use this to determine if the import is the default loader
+      // or a custom loader defined by the user in next.config.js
+      defaultLoader.__next_img_default = true;
+      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+      /***/
+    },
+
+    /***/ 2388: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      // ESM COMPAT FLAG
+      __webpack_require__.r(__webpack_exports__);
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        __N_SSP: () => /* binding */ __N_SSP,
+        default: () => /* binding */ pages_image,
+      });
+
+      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(1503);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+      var next_image = __webpack_require__(3866);
+      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+      /* harmony default export */ const nextjs = {
+        src: "/_next/static/media/nextjs.cae0b805.png",
+        height: 1347,
+        width: 1626,
+        blurDataURL:
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+        blurWidth: 8,
+        blurHeight: 7,
+      }; // ./pages/image.js
+      function ImagePage(props) {
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+              children: "next/image example",
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+              src: nextjs,
+              placeholder: "blur",
+            }),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const pages_image = ImagePage;
+
+      /***/
+    },
+
+    /***/ 3866: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(6888);
+
+      /***/
+    },
+
+    /***/ 4483: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/image",
+        function () {
+          return __webpack_require__(2388);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 6600: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -158,17 +271,17 @@
         __webpack_require__(9507)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6705)
+        __webpack_require__(7505)
       );
-      const _getimgprops = __webpack_require__(3556);
-      const _imageconfig = __webpack_require__(3157);
-      const _imageconfigcontextsharedruntime = __webpack_require__(9323);
-      const _warnonce = __webpack_require__(6173);
-      const _routercontextsharedruntime = __webpack_require__(6046);
+      const _getimgprops = __webpack_require__(9588);
+      const _imageconfig = __webpack_require__(2645);
+      const _imageconfigcontextsharedruntime = __webpack_require__(5451);
+      const _warnonce = __webpack_require__(7549);
+      const _routercontextsharedruntime = __webpack_require__(5470);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3744)
+        __webpack_require__(1744)
       );
-      const _usemergedref = __webpack_require__(2263);
+      const _usemergedref = __webpack_require__(1511);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -495,7 +608,96 @@
       /***/
     },
 
-    /***/ 3556: /***/ (
+    /***/ 6888: /***/ (
+      __unused_webpack_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, {
+        default: function () {
+          return _default;
+        },
+        getImageProps: function () {
+          return getImageProps;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _getimgprops = __webpack_require__(9588);
+      const _imagecomponent = __webpack_require__(6600);
+      const _imageloader = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1744)
+      );
+      function getImageProps(imgProps) {
+        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+          defaultLoader: _imageloader.default,
+          // This is replaced by webpack define plugin
+          imgConf: {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [32, 48, 64, 96, 128, 256, 384],
+            qualities: [75],
+            path: "/_next/image",
+            loader: "default",
+            dangerouslyAllowSVG: false,
+            unoptimized: false,
+          },
+        });
+        // Normally we don't care about undefined props because we pass to JSX,
+        // but this exported function could be used by the end user for anything
+        // so we delete undefined props to clean it up a little.
+        for (const [key, value] of Object.entries(props)) {
+          if (value === undefined) {
+            delete props[key];
+          }
+        }
+        return {
+          props,
+        };
+      }
+      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
+
+      /***/
+    },
+
+    /***/ 7054: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "findClosestQuality", {
+        enumerable: true,
+        get: function () {
+          return findClosestQuality;
+        },
+      });
+      function findClosestQuality(quality, config) {
+        const q = quality || 75;
+        if (!config?.qualities?.length) {
+          return q;
+        }
+        return config.qualities.reduce(
+          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
+          0
+        );
+      } //# sourceMappingURL=find-closest-quality.js.map
+
+      /***/
+    },
+
+    /***/ 9588: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -511,9 +713,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(6173);
-      const _imageblursvg = __webpack_require__(1713);
-      const _imageconfig = __webpack_require__(3157);
+      const _warnonce = __webpack_require__(7549);
+      const _imageblursvg = __webpack_require__(881);
+      const _imageconfig = __webpack_require__(2645);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -943,215 +1145,13 @@
 
       /***/
     },
-
-    /***/ 3744: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return _default;
-        },
-      });
-      const _findclosestquality = __webpack_require__(8494);
-      function defaultLoader({ config, src, width, quality }) {
-        if (
-          src.startsWith("/") &&
-          src.includes("?") &&
-          config.localPatterns?.length === 1 &&
-          config.localPatterns[0].pathname === "**" &&
-          config.localPatterns[0].search === ""
-        ) {
-          throw Object.defineProperty(
-            new Error(
-              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
-                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
-            ),
-            "__NEXT_ERROR_CODE",
-            {
-              value: "E871",
-              enumerable: false,
-              configurable: true,
-            }
-          );
-        }
-        if (false) {
-        }
-        const q = (0, _findclosestquality.findClosestQuality)(quality, config);
-        return `${config.path}?url=${encodeURIComponent(
-          src
-        )}&w=${width}&q=${q}${
-          src.startsWith("/_next/static/media/") && false ? 0 : ""
-        }`;
-      }
-      // We use this to determine if the import is the default loader
-      // or a custom loader defined by the user in next.config.js
-      defaultLoader.__next_img_default = true;
-      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
-
-      /***/
-    },
-
-    /***/ 4292: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7896);
-
-      /***/
-    },
-
-    /***/ 5999: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      // ESM COMPAT FLAG
-      __webpack_require__.r(__webpack_exports__);
-
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        __N_SSP: () => /* binding */ __N_SSP,
-        default: () => /* binding */ pages_image,
-      });
-
-      // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(1503);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
-      var next_image = __webpack_require__(4292);
-      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
-      /* harmony default export */ const nextjs = {
-        src: "/_next/static/media/nextjs.cae0b805.png",
-        height: 1347,
-        width: 1626,
-        blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
-        blurWidth: 8,
-        blurHeight: 7,
-      }; // ./pages/image.js
-      function ImagePage(props) {
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
-              children: "next/image example",
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
-              src: nextjs,
-              placeholder: "blur",
-            }),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const pages_image = ImagePage;
-
-      /***/
-    },
-
-    /***/ 7896: /***/ (
-      __unused_webpack_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, {
-        default: function () {
-          return _default;
-        },
-        getImageProps: function () {
-          return getImageProps;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _getimgprops = __webpack_require__(3556);
-      const _imagecomponent = __webpack_require__(2728);
-      const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3744)
-      );
-      function getImageProps(imgProps) {
-        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
-          defaultLoader: _imageloader.default,
-          // This is replaced by webpack define plugin
-          imgConf: {
-            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-            imageSizes: [32, 48, 64, 96, 128, 256, 384],
-            qualities: [75],
-            path: "/_next/image",
-            loader: "default",
-            dangerouslyAllowSVG: false,
-            unoptimized: false,
-          },
-        });
-        // Normally we don't care about undefined props because we pass to JSX,
-        // but this exported function could be used by the end user for anything
-        // so we delete undefined props to clean it up a little.
-        for (const [key, value] of Object.entries(props)) {
-          if (value === undefined) {
-            delete props[key];
-          }
-        }
-        return {
-          props,
-        };
-      }
-      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
-      /***/
-    },
-
-    /***/ 8494: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "findClosestQuality", {
-        enumerable: true,
-        get: function () {
-          return findClosestQuality;
-        },
-      });
-      function findClosestQuality(quality, config) {
-        const q = quality || 75;
-        if (!config?.qualities?.length) {
-          return q;
-        }
-        return config.qualities.reduce(
-          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
-          0
-        );
-      } //# sourceMappingURL=find-closest-quality.js.map
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(797)
+      __webpack_exec__(4483)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,338 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 69: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1511: /***/ (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__(2223);
+      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
+
+      /***/
+    },
+
+    /***/ 2025: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(4591);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 3267: /***/ (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__(2371);
+      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
+
+      /***/
+    },
+
+    /***/ 4591: /***/ (
+      __unused_webpack_module,
+      __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__(1503);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(6929);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_link__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!",
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+              {
+                href: "/",
+                children: "Go to /",
+              }
+            ),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+      /***/
+    },
+
+    /***/ 6929: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8885);
+
+      /***/
+    },
+
+    /***/ 7686: /***/ (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__(2223);
+      const _requestidlecallback = __webpack_require__(901);
+      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
+
+      /***/
+    },
+
+    /***/ 8101: /***/ (__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
+
+      /***/
+    },
+
+    /***/ 8885: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -28,17 +359,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(2223)
       );
-      const _resolvehref = __webpack_require__(2275);
-      const _islocalurl = __webpack_require__(3179);
-      const _formaturl = __webpack_require__(5486);
-      const _utils = __webpack_require__(3708);
-      const _addlocale = __webpack_require__(8225);
-      const _routercontextsharedruntime = __webpack_require__(6046);
-      const _useintersection = __webpack_require__(2678);
-      const _getdomainlocale = __webpack_require__(4499);
-      const _addbasepath = __webpack_require__(7434);
-      const _usemergedref = __webpack_require__(2263);
-      const _erroronce = __webpack_require__(2197);
+      const _resolvehref = __webpack_require__(7379);
+      const _islocalurl = __webpack_require__(4843);
+      const _formaturl = __webpack_require__(9374);
+      const _utils = __webpack_require__(3116);
+      const _addlocale = __webpack_require__(8065);
+      const _routercontextsharedruntime = __webpack_require__(5470);
+      const _useintersection = __webpack_require__(7686);
+      const _getdomainlocale = __webpack_require__(3267);
+      const _addbasepath = __webpack_require__(1450);
+      const _usemergedref = __webpack_require__(1511);
+      const _erroronce = __webpack_require__(8101);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -416,344 +747,13 @@
 
       /***/
     },
-
-    /***/ 2197: /***/ (__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
-
-      /***/
-    },
-
-    /***/ 2263: /***/ (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__(2223);
-      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
-
-      /***/
-    },
-
-    /***/ 2369: /***/ (
-      __unused_webpack_module,
-      __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__(1503);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(6691);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_link__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      function aLink(props) {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
-          children: [
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
-              children: "A Link page!",
-            }),
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
-              {
-                href: "/",
-                children: "Go to /",
-              }
-            ),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
-      /***/
-    },
-
-    /***/ 2678: /***/ (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__(2223);
-      const _requestidlecallback = __webpack_require__(4213);
-      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
-
-      /***/
-    },
-
-    /***/ 4499: /***/ (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__(1379);
-      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
-
-      /***/
-    },
-
-    /***/ 6691: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(69);
-
-      /***/
-    },
-
-    /***/ 6771: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(2369);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(6771)
+      __webpack_exec__(2025)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,34 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 97: /***/ (
+    /***/ 417: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/routerDirect",
+        function () {
+          return __webpack_require__(5491);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 1840: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3252);
+
+      /***/
+    },
+
+    /***/ 5491: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +43,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7798);
+        __webpack_require__(1840);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,40 +62,13 @@
 
       /***/
     },
-
-    /***/ 4283: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/routerDirect",
-        function () {
-          return __webpack_require__(97);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7798: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(9300);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4283)
+      __webpack_exec__(417)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 5964: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(2010);
-
-      /***/
-    },
-
-    /***/ 7758: /***/ (
+    /***/ 1312: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5964);
+        __webpack_require__(2398);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -59,7 +49,17 @@
       /***/
     },
 
-    /***/ 8803: /***/ (
+    /***/ 2398: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8954);
+
+      /***/
+    },
+
+    /***/ 4305: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -67,7 +67,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function () {
-          return __webpack_require__(7758);
+          return __webpack_require__(1312);
         },
       ]);
       if (false) {
@@ -81,7 +81,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(8803)
+      __webpack_exec__(4305)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 184: /***/ (
+    /***/ 358: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7798);
+        __webpack_require__(1840);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,7 +35,17 @@
       /***/
     },
 
-    /***/ 3163: /***/ (
+    /***/ 1840: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3252);
+
+      /***/
+    },
+
+    /***/ 4041: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -43,7 +53,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function () {
-          return __webpack_require__(184);
+          return __webpack_require__(358);
         },
       ]);
       if (false) {
@@ -51,23 +61,13 @@
 
       /***/
     },
-
-    /***/ 7798: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(9300);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(3163)
+      __webpack_exec__(4041)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 436-HASH.js

Diff too large to display

Diff for 9760-HASH.js
failed to diff
Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4977],
   {
-    /***/ 7854: /***/ () => {
-      /* (ignored) */
-      /***/
-    },
-
-    /***/ 9599: /***/ (
+    /***/ 2363: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7126, 23)
+        __webpack_require__.t.bind(__webpack_require__, 844, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4031, 23)
+        __webpack_require__.t.bind(__webpack_require__, 4365, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1117, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3903, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1522, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3100, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1798, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7364, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8366, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5632, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6571, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8889, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 596, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9958, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1321, 23)
+        __webpack_require__.t.bind(__webpack_require__, 7839, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 724, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1270, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6999, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1885, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 854)
+        __webpack_require__.bind(__webpack_require__, 4088)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7752, 23)
+        __webpack_require__.t.bind(__webpack_require__, 9622, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1201, 23)
+        __webpack_require__.t.bind(__webpack_require__, 995, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7823, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8577, 23)
       );
 
       /***/
     },
+
+    /***/ 2788: /***/ () => {
+      /* (ignored) */
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
@@ -66,8 +66,8 @@
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(
       0,
-      [9137, 9760],
-      () => (__webpack_exec__(4730), __webpack_exec__(9599))
+      [2494, 4936],
+      () => (__webpack_exec__(204), __webpack_exec__(2363))
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for pages-api.runtime.dev.js

Diff too large to display

Diff for pages.runtime.dev.js

Diff too large to display

Commit: 2694253

@ijjk
Copy link
Member

ijjk commented Nov 18, 2025

Failing test suites

Commit: 2694253 | About building and testing Next.js

pnpm test test/integration/404-page-ssg/test/index.test.ts (turbopack) (job)

  • 404 Page Support SSG > production mode > should build successfully (DD)
  • 404 Page Support SSG > production mode > should respond to 404 correctly (DD)
  • 404 Page Support SSG > production mode > should render error correctly (DD)
  • 404 Page Support SSG > production mode > should not show an error in the logs for 404 SSG (DD)
  • 404 Page Support SSG > production mode > should render index page normal (DD)
  • 404 Page Support SSG > production mode > should not revalidate custom 404 page (DD)
  • 404 Page Support SSG > production mode > should set pages404 in routes-manifest correctly (DD)
  • 404 Page Support SSG > production mode > should have 404 page in prerender-manifest (DD)
Expand output

● 404 Page Support SSG › production mode › should build successfully

expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1

  100 |         })
  101 |
> 102 |         expect(code).toBe(0)
      |                      ^
  103 |         expect(buildStderr).not.toMatch(gip404Err)
  104 |         expect(buildStdout).not.toMatch(gip404Err)
  105 |

  at Object.toBe (integration/404-page-ssg/test/index.test.ts:102:22)

● 404 Page Support SSG › production mode › should respond to 404 correctly

TypeError: Invalid URL

  195 | ): Promise<Response> {
  196 |   const url = query ? withQuery(pathname, query) : pathname
> 197 |   return fetch(getFullUrl(appPort, url), opts)
      |               ^
  198 | }
  199 |
  200 | export function renderViaHTTP(

  at parseURL (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1164:12)
  at new Request (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1210:17)
  at ../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1439:19
  at fetch (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1437:9)
  at fetchViaHTTP (lib/next-test-utils.ts:197:15)
  at Object.<anonymous> (integration/404-page-ssg/test/index.test.ts:27:35)

● 404 Page Support SSG › production mode › should render error correctly

TypeError: Invalid URL

  195 | ): Promise<Response> {
  196 |   const url = query ? withQuery(pathname, query) : pathname
> 197 |   return fetch(getFullUrl(appPort, url), opts)
      |               ^
  198 | }
  199 |
  200 | export function renderViaHTTP(

  at parseURL (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1164:12)
  at new Request (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1210:17)
  at ../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1439:19
  at fetch (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1437:9)
  at fetchViaHTTP (lib/next-test-utils.ts:197:15)
  at fetchViaHTTP (lib/next-test-utils.ts:206:10)
  at Object.<anonymous> (integration/404-page-ssg/test/index.test.ts:33:37)

● 404 Page Support SSG › production mode › should not show an error in the logs for 404 SSG

TypeError: Invalid URL

  195 | ): Promise<Response> {
  196 |   const url = query ? withQuery(pathname, query) : pathname
> 197 |   return fetch(getFullUrl(appPort, url), opts)
      |               ^
  198 | }
  199 |
  200 | export function renderViaHTTP(

  at parseURL (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1164:12)
  at new Request (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1210:17)
  at ../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1439:19
  at fetch (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1437:9)
  at fetchViaHTTP (lib/next-test-utils.ts:197:15)
  at fetchViaHTTP (lib/next-test-utils.ts:206:10)
  at Object.<anonymous> (integration/404-page-ssg/test/index.test.ts:38:24)

● 404 Page Support SSG › production mode › should render index page normal

TypeError: Invalid URL

  195 | ): Promise<Response> {
  196 |   const url = query ? withQuery(pathname, query) : pathname
> 197 |   return fetch(getFullUrl(appPort, url), opts)
      |               ^
  198 | }
  199 |
  200 | export function renderViaHTTP(

  at parseURL (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1164:12)
  at new Request (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1210:17)
  at ../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1439:19
  at fetch (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1437:9)
  at fetchViaHTTP (lib/next-test-utils.ts:197:15)
  at fetchViaHTTP (lib/next-test-utils.ts:206:10)
  at Object.<anonymous> (integration/404-page-ssg/test/index.test.ts:44:37)

● 404 Page Support SSG › production mode › should not revalidate custom 404 page

TypeError: Invalid URL

  195 | ): Promise<Response> {
  196 |   const url = query ? withQuery(pathname, query) : pathname
> 197 |   return fetch(getFullUrl(appPort, url), opts)
      |               ^
  198 | }
  199 |
  200 | export function renderViaHTTP(

  at parseURL (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1164:12)
  at new Request (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1210:17)
  at ../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1439:19
  at fetch (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1437:9)
  at fetchViaHTTP (lib/next-test-utils.ts:197:15)
  at fetchViaHTTP (lib/next-test-utils.ts:206:10)
  at Object.<anonymous> (integration/404-page-ssg/test/index.test.ts:50:39)

● 404 Page Support SSG › production mode › should set pages404 in routes-manifest correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/404-page-ssg/.next/routes-manifest.json'

● 404 Page Support SSG › production mode › should have 404 page in prerender-manifest

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/404-page-ssg/.next/prerender-manifest.json'

pnpm test test/integration/absolute-assetprefix/test/index.test.ts (turbopack) (job)

  • absolute assetPrefix with path prefix > production mode > should not fetch static data from a CDN (DD)
  • absolute assetPrefix with path prefix > production mode > should fetch from cache correctly (DD)
  • absolute assetPrefix with path prefix > production mode > should work with getStaticPaths prerendered (DD)
  • absolute assetPrefix with path prefix > production mode > should work with getStaticPaths fallback (DD)
  • absolute assetPrefix with path prefix > production mode > should work with getServerSideProps (DD)
Expand output

● absolute assetPrefix with path prefix › production mode › should not fetch static data from a CDN

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.4s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_90bf5b21.js:1:59)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /gssp
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● absolute assetPrefix with path prefix › production mode › should fetch from cache correctly

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.4s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_90bf5b21.js:1:59)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /gssp
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● absolute assetPrefix with path prefix › production mode › should work with getStaticPaths prerendered

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.4s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_90bf5b21.js:1:59)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /gssp
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● absolute assetPrefix with path prefix › production mode › should work with getStaticPaths fallback

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.4s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_90bf5b21.js:1:59)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /gssp
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● absolute assetPrefix with path prefix › production mode › should work with getServerSideProps

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.4s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_90bf5b21.js:1:59)
  at instantiateModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/absolute-assetprefix/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /gssp
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test test/integration/404-page-custom-error/test/index.test.ts (turbopack) (job)

  • Default 404 Page with custom _error > development mode > should respond to 404 correctly (DD)
  • Default 404 Page with custom _error > development mode > should render error correctly (DD)
  • Default 404 Page with custom _error > development mode > should render index page normal (DD)
Expand output

● Default 404 Page with custom _error › development mode › should respond to 404 correctly

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  24 |   it('should respond to 404 correctly', async () => {
  25 |     const res = await fetchViaHTTP(appPort, '/404')
> 26 |     expect(res.status).toBe(404)
     |                        ^
  27 |     expect(await res.text()).toContain('This page could not be found')
  28 |   })
  29 |

  at Object.toBe (integration/404-page-custom-error/test/index.test.ts:26:24)

● Default 404 Page with custom _error › development mode › should render error correctly

expect(received).toContain(expected) // indexOf

Expected substring: "oops"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/packages_next_dist_compiled_34ace371._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_771675cc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_client_874eadb1._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_0ddb1751._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_app_809261c2.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__0aa96d8f._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_c220116a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_404-page-custom-error_pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_404-page-custom-error_pages__app_0da8fbf9._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_7a27a3f0._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_f764dc06._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_error_5ee5793a.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_404-page-custom-error_pages__error_47be495e.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__0b6e0634._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_404-page-custom-error_pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_404-page-custom-error_pages__error_29cb04fa._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4251:54)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4243:167)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4440:180)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4523:190)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:5232:206)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:5789:209)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/pages/_error.js:6:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderErrorToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1704:26)\\n    at async pipe.req.req (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1611:30)\\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1021:25)\\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:479:13)\\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  30 |   it('should render error correctly', async () => {
  31 |     const text = await renderViaHTTP(appPort, '/err')
> 32 |     expect(text).toContain(isDev ? 'oops' : 'Internal Server Error')
     |                  ^
  33 |   })
  34 |
  35 |   it('should render index page normal', async () => {

  at Object.toContain (integration/404-page-custom-error/test/index.test.ts:32:18)

● Default 404 Page with custom _error › development mode › should render index page normal

expect(received).toContain(expected) // indexOf

Expected substring: "hello from index"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/packages_next_dist_compiled_34ace371._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_771675cc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_client_874eadb1._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_0ddb1751._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_app_809261c2.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__0aa96d8f._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_c220116a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_404-page-custom-error_pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_404-page-custom-error_pages__app_0da8fbf9._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_7a27a3f0._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_f764dc06._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_error_5ee5793a.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_404-page-custom-error_pages__error_47be495e.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__0b6e0634._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_404-page-custom-error_pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_404-page-custom-error_pages__error_29cb04fa._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4251:54)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4243:167)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4440:180)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:4523:190)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:5232:206)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[root-of-the-server]__fb65528d._.js:5789:209)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/404-page-custom-error/.next/dev/server/pages/_error.js:6:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderErrorToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1704:26)\\n    at async pipe.req.req (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1611:30)\\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1021:25)\\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:479:13)\\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  35 |   it('should render index page normal', async () => {
  36 |     const html = await renderViaHTTP(appPort, '/')
> 37 |     expect(html).toContain('hello from index')
     |                  ^
  38 |   })
  39 |
  40 |   if (!isDev) {

  at Object.toContain (integration/404-page-custom-error/test/index.test.ts:37:18)

pnpm test-start test/e2e/app-dir/next-config-ts-native-ts/import-from-node-modules/next-config-ts-import-from-node-modules-cjs.test.ts (job)

  • next-config-ts-import-from-node-modules-cjs > should import from node_modules (CJS) (DD)
Expand output

● next-config-ts-import-from-node-modules-cjs › should import from node_modules (CJS)

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-dev test/e2e/app-dir/next-config-ts-native-ts/async-function/async-function-esm.test.ts (job)

  • next-config-ts-async-function-esm > should support config as async function (ESM) (DD)
Expand output

● next-config-ts-async-function-esm › should support config as async function (ESM)

expect(received).toBe(expected) // Object.is equality

Expected: "foo"
Received: ""

  17 |   it('should support config as async function (ESM)', async () => {
  18 |     const $ = await next.render$('/')
> 19 |     expect($('p').text()).toBe('foo')
     |                           ^
  20 |   })
  21 | })
  22 |

  at Object.toBe (e2e/app-dir/next-config-ts-native-ts/async-function/async-function-esm.test.ts:19:27)

pnpm test test/integration/404-page-app/test/index.test.ts (turbopack) (job)

  • 404 Page Support with _app > development mode > should not show pages/404 GIP error if _app has GIP (DD)
Expand output

● 404 Page Support with _app › development mode › should not show pages/404 GIP error if _app has GIP

expect(received).toBe(expected) // Object.is equality

Expected: 404
Received: 500

  83 |       it('should not show pages/404 GIP error if _app has GIP', async () => {
  84 |         const res = await fetchViaHTTP(appPort, '/abc')
> 85 |         expect(res.status).toBe(404)
     |                            ^
  86 |         const $ = cheerio.load(await res.text())
  87 |         expect($('#404-title').text()).toBe('Hi There')
  88 |         expect(stderr).not.toMatch(gip404Err)

  at Object.toBe (integration/404-page-app/test/index.test.ts:85:28)

pnpm test-start-turbo test/e2e/app-dir/asset-prefix-absolute/asset-prefix-absolute-no-path.test.ts (turbopack) (job)

  • app-dir action allowed origins > should pass if localhost is set as a safe origin (DD)
  • app-dir action allowed origins > should not crash for requests from privacy sensitive contexts (DD)
Expand output

● app-dir action allowed origins › should pass if localhost is set as a safe origin

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir action allowed origins › should not crash for requests from privacy sensitive contexts

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test test/integration/client-shallow-routing/test/index.test.ts (turbopack) (job)

  • Client Shallow Routing > production mode > should not shallowly navigate back in history when current page was not shallow (DD)
  • Client Shallow Routing > production mode > should not shallowly navigate forwards in history when current page was not shallow (DD)
Expand output

● Client Shallow Routing › production mode › should not shallowly navigate back in history when current page was not shallow

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.9s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[root-of-the-server]__f44a3428._.js:1:24239)
  at module evaluation (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[root-of-the-server]__f44a3428._.js:1:24063)
  at instantiateModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/packages_next_1c7a8966._.js:1:41803)
  at instantiateModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /[slug]
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Client Shallow Routing › production mode › should not shallowly navigate forwards in history when current page was not shallow

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.9s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[root-of-the-server]__f44a3428._.js:1:24239)
  at module evaluation (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[root-of-the-server]__f44a3428._.js:1:24063)
  at instantiateModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/packages_next_1c7a8966._.js:1:41803)
  at instantiateModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/client-shallow-routing/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /[slug]
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test test/integration/catches-missing-getStaticProps/test/index.test.ts (turbopack) (job)

  • Catches Missing getStaticProps > development mode > should catch it in development mode (DD)
Expand output

● Catches Missing getStaticProps › development mode › should catch it in development mode

expect(received).toMatch(expected)

Expected pattern: /getStaticPaths was added without a getStaticProps in/
Received string:  "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/packages_next_dist_compiled_34ace371._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_771675cc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_client_874eadb1._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_0ddb1751._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_app_809261c2.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__2e778fad._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_c220116a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_catches-missing-getStaticProps_pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_catches-missing-getStaticProps_pages__app_3a04e23b._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_7a27a3f0._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_f764dc06._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_error_5ee5793a.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__1aa8463a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_catches-missing-getStaticProps_pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_catches-missing-getStaticProps_pages__error_f7d59dd2._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[root-of-the-server]__fb37bffc._.js:3797:54)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[root-of-the-server]__fb37bffc._.js:3789:167)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[root-of-the-server]__fb37bffc._.js:3986:180)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[root-of-the-server]__fb37bffc._.js:4069:190)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[root-of-the-server]__fb37bffc._.js:4778:206)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[root-of-the-server]__fb37bffc._.js:5335:209)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/catches-missing-getStaticProps/.next/dev/server/pages/[slug].js:6:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1451:24)\\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1515:32)\\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1021:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:394:17)\\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:912:17)\\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:436:24)\\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  23 |         await killApp(app)
  24 |
> 25 |         expect(html).toMatch(errorRegex)
     |                      ^
  26 |       })
  27 |     }
  28 |   )

  at Object.toMatch (integration/catches-missing-getStaticProps/test/index.test.ts:25:22)

pnpm test test/integration/dynamic-optional-routing-root-fallback/test/index.test.ts (turbopack) (job)

  • Dynamic Optional Routing Root Fallback > production mode > should render optional catch-all top-level route with no segments (DD)
  • Dynamic Optional Routing Root Fallback > production mode > should render optional catch-all top-level route with one segment (DD)
  • Dynamic Optional Routing Root Fallback > production mode > should render optional catch-all top-level route with two segments (DD)
Expand output

● Dynamic Optional Routing Root Fallback › production mode › should render optional catch-all top-level route with no segments

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__9ef1f9ce._.js:1:24492)
  at module evaluation (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__9ef1f9ce._.js:1:24316)
  at instantiateModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__16bd83de._.js:5:913)
  at instantiateModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /[[...optionalName]]
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Dynamic Optional Routing Root Fallback › production mode › should render optional catch-all top-level route with one segment

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__9ef1f9ce._.js:1:24492)
  at module evaluation (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__9ef1f9ce._.js:1:24316)
  at instantiateModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__16bd83de._.js:5:913)
  at instantiateModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /[[...optionalName]]
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Dynamic Optional Routing Root Fallback › production mode › should render optional catch-all top-level route with two segments

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__9ef1f9ce._.js:1:24492)
  at module evaluation (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__9ef1f9ce._.js:1:24316)
  at instantiateModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[root-of-the-server]__16bd83de._.js:5:913)
  at instantiateModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/dynamic-optional-routing-root-fallback/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /[[...optionalName]]
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test test/integration/critical-css/test/index.test.ts (turbopack) (job)

  • CSS optimization for SSR apps > production mode > should have all CSS files in manifest (DD)
  • CSS optimization for SSR apps > production mode > should inline critical CSS (DD)
  • CSS optimization for SSR apps > production mode > should inline critical CSS (dynamic) (DD)
  • CSS optimization for SSR apps > production mode > should not inline non-critical css (DD)
Expand output

● CSS optimization for SSR apps › production mode › should have all CSS files in manifest

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)
- Experiments (use with caution):
  ✓ optimizeCss

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/_567fd8ec._.js:1:376)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS optimization for SSR apps › production mode › should inline critical CSS

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)
- Experiments (use with caution):
  ✓ optimizeCss

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/_567fd8ec._.js:1:376)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS optimization for SSR apps › production mode › should inline critical CSS (dynamic)

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)
- Experiments (use with caution):
  ✓ optimizeCss

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/_567fd8ec._.js:1:376)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS optimization for SSR apps › production mode › should not inline non-critical css

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)
- Experiments (use with caution):
  ✓ optimizeCss

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.7s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/critical-css/.next/server/chunks/ssr/_567fd8ec._.js:1:376)
  at instantiateModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/critical-css/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test-start-turbo test/e2e/app-dir/app-prefetch-static/app-prefetch-static.test.ts (turbopack) (job)

  • app-prefetch-static > should correctly navigate between static & dynamic pages (DD)
Expand output

● app-prefetch-static › should correctly navigate between static & dynamic pages

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-dev-turbo test/development/acceptance-app/app-hmr-changes.test.ts (turbopack) (job)

  • Error overlay - RSC build errors > Skipped in webpack > should handle successive HMR changes with errors correctly (DD)
Expand output

● Error overlay - RSC build errors › Skipped in webpack › should handle successive HMR changes with errors correctly

expect(received).toContain(expected) // indexOf

Expected substring: "A few years ago I tweeted"
Received string:    "<head><meta charset=\"utf-8\" data-next-head=\"\"><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/56ed4_next_dist_compiled_15e31485._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_dist_shared_lib_31adb197._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_dist_client_dff713a3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_dist_b472f377._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_app_a2fb8da9.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_508b4fde._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/76102_react-dom_44795136._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_7136f466._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__app_80d10996._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_dist_shared_lib_e934a956._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_dist_c1ec698c._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/56ed4_next_error_5cd43764.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_21f63821._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__error_d2f735af._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/node_modules__pnpm_d7618c8c._.js:4263:54)\\n    at module evaluation (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/node_modules__pnpm_d7618c8c._.js:4255:339)\\n    at instantiateModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/node_modules__pnpm_d7618c8c._.js:4452:352)\\n    at instantiateModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/node_modules__pnpm_d7618c8c._.js:4535:362)\\n    at instantiateModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/node_modules__pnpm_d7618c8c._.js:5238:378)\\n    at instantiateModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/node_modules__pnpm_d7618c8c._.js:5795:381)\\n    at instantiateModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/.next/dev/server/pages/_error.js:7:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/base-server.js:1704:26)\\n    at async pipe.req.req (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/base-server.js:1611:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/base-server.js:1021:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/next-server.js:409:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/base-server.js:912:17)\\n    at async /tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/lib/router-server.js:436:24)\\n    at async requestHandlerImpl (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/tmp/next-install-9abefc848dc989c9bb89b631ffc15d6d0ea5330b5dc055240e7e7e5bd2798322/node_modules/.pnpm/file+..+next-repo-afa8779a87e7a2b061e4a812c66fd8815eb9990ccd0679f36f7a8e90b90ac5a0+packages+n_brdw74jhp6vwkv2xmou5mofxtm/node_modules/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body>"

  36 |         expect(
  37 |           await session.evaluate('document.documentElement.innerHTML')
> 38 |         ).toContain('A few years ago I tweeted')
     |           ^
  39 |
  40 |         const pagePath = 'app/(post)/2020/develop-preview-test/page.mdx'
  41 |         const originalPage = await next.readFile(pagePath)

  at Object.toContain (development/acceptance-app/app-hmr-changes.test.ts:38:11)

pnpm test-start-turbo test/e2e/app-dir/app-external/app-external.test.ts (turbopack) (job)

  • app dir - external dependency > should be able to opt-out 3rd party packages being bundled in server components (DD)
  • app dir - external dependency > should handle external async module libraries correctly (DD)
  • app dir - external dependency > should transpile specific external packages with the transpilePackages option (DD)
  • app dir - external dependency > should resolve the subset react in server components based on the react-server condition (DD)
  • app dir - external dependency > should resolve 3rd party package exports based on the react-server condition (DD)
  • app dir - external dependency > should correctly collect global css imports and mark them as side effects (DD)
  • app dir - external dependency > should handle external css modules (DD)
  • app dir - external dependency > should use the same export type for packages in both ssr and client (DD)
  • app dir - external dependency > should handle external css modules in pages (DD)
  • app dir - external dependency > should handle external next/font (DD)
  • app dir - external dependency > should not apply swc optimizer transform for external packages in browser layer in web worker (DD)
  • app dir - external dependency > should emit cjs helpers for external cjs modules when compiled (DD)
  • app dir - external dependency > should export client module references in esm (DD)
  • app dir - external dependency > should support client module references with SSR-only ESM externals (DD)
  • app dir - external dependency > should support exporting multiple star re-exports (DD)
  • app dir - external dependency > should have proper tree-shaking for known modules in CJS (DD)
  • app dir - external dependency > should use the same async storages if imported directly (DD)
  • app dir - external dependency > app route > should resolve next/server api from external esm package (DD)
  • app dir - external dependency > mixed syntax external modules > should handle mixed module with next/dynamic (DD)
  • app dir - external dependency > mixed syntax external modules > should handle mixed module in server and client components (DD)
  • app dir - external dependency > react in external esm packages > should use the same react in client app (DD)
  • app dir - external dependency > react in external esm packages > should use the same react in server app (DD)
  • app dir - external dependency > react in external esm packages > should use the same react in edge server app (DD)
  • app dir - external dependency > react in external esm packages > should use the same react in pages (DD)
  • app dir - external dependency > react in external esm packages > should support namespace import with ESM packages (DD)
  • app dir - external dependency > react in external esm packages > should apply serverExternalPackages inside of node_modules (DD)
  • app dir - external dependency > server actions > should prefer to resolve esm over cjs for bundling optout packages (DD)
  • app dir - external dependency > server actions > should compile server actions from node_modules in client components (DD)
Expand output

● app dir - external dependency › should be able to opt-out 3rd party packages being bundled in server components

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should handle external async module libraries correctly

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should transpile specific external packages with the transpilePackages option

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should resolve the subset react in server components based on the react-server condition

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should resolve 3rd party package exports based on the react-server condition

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should correctly collect global css imports and mark them as side effects

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should handle external css modules

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should use the same export type for packages in both ssr and client

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should handle external css modules in pages

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should handle external next/font

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should not apply swc optimizer transform for external packages in browser layer in web worker

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › react in external esm packages › should use the same react in client app

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › react in external esm packages › should use the same react in server app

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › react in external esm packages › should use the same react in edge server app

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › react in external esm packages › should use the same react in pages

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › react in external esm packages › should support namespace import with ESM packages

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › react in external esm packages › should apply serverExternalPackages inside of node_modules

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › mixed syntax external modules › should handle mixed module with next/dynamic

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › mixed syntax external modules › should handle mixed module in server and client components

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should emit cjs helpers for external cjs modules when compiled

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should export client module references in esm

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should support client module references with SSR-only ESM externals

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should support exporting multiple star re-exports

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should have proper tree-shaking for known modules in CJS

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › should use the same async storages if imported directly

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › server actions › should prefer to resolve esm over cjs for bundling optout packages

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › server actions › should compile server actions from node_modules in client components

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir - external dependency › app route › should resolve next/server api from external esm package

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test test/integration/custom-page-extension/test/index.test.ts (turbopack) (job)

  • Custom page extension > development mode > should work with normal page (DD)
  • Custom page extension > development mode > should work dynamic page (DD)
Expand output

● Custom page extension › development mode › should work with normal page

expect(received).toContain(expected) // indexOf

Expected substring: "Blog - CPE"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/packages_next_dist_compiled_34ace371._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_771675cc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_client_874eadb1._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_0ddb1751._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_app_809261c2.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__aaf4a434._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_c220116a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_custom-page-extension_pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_custom-page-extension_pages__app_c9039e14._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_7a27a3f0._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_f764dc06._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_error_5ee5793a.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__123b0a7d._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_custom-page-extension_pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_custom-page-extension_pages__error_7e5aecd3._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:3786:54)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:3778:167)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:3975:180)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:4058:190)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:4767:206)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:5324:209)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/pages/blog.js:6:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1451:24)\\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1515:32)\\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1021:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:394:17)\\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:912:17)\\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:436:24)\\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  18 |   it('should work with normal page', async () => {
  19 |     const html = await renderViaHTTP(appPort, '/blog')
> 20 |     expect(html).toContain('Blog - CPE')
     |                  ^
  21 |   })
  22 |
  23 |   it('should work dynamic page', async () => {

  at Object.toContain (integration/custom-page-extension/test/index.test.ts:20:18)

● Custom page extension › development mode › should work dynamic page

expect(received).toContain(expected) // indexOf

Expected substring: "Post - nextjs"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/packages_next_dist_compiled_34ace371._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_771675cc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_client_874eadb1._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_0ddb1751._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_app_809261c2.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__aaf4a434._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_c220116a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_custom-page-extension_pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_custom-page-extension_pages__app_c9039e14._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_shared_lib_7a27a3f0._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_dist_f764dc06._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/packages_next_error_5ee5793a.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__123b0a7d._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/test_integration_custom-page-extension_pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-test_integration_custom-page-extension_pages__error_7e5aecd3._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"[::]\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:3786:54)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:3778:167)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:3975:180)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:4058:190)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:4767:206)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[root-of-the-server]__17d44b12._.js:5324:209)\\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/custom-page-extension/.next/dev/server/pages/blog.js:6:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1451:24)\\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1515:32)\\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1021:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:394:17)\\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:912:17)\\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:436:24)\\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  23 |   it('should work dynamic page', async () => {
  24 |     const html = await renderViaHTTP(appPort, '/blog/nextjs')
> 25 |     expect(html).toContain('Post - nextjs')
     |                  ^
  26 |   })
  27 | }
  28 |

  at Object.toContain (integration/custom-page-extension/test/index.test.ts:25:18)

pnpm test-dev-turbo test/development/app-dir/dev-fetch-hmr/dev-fetch-hmr.test.ts (turbopack) (job)

  • dev-fetch-hmr > should retain module level fetch patching (DD)
Expand output

● dev-fetch-hmr › should retain module level fetch patching

expect(received).toContain(expected) // indexOf

Expected substring: "monkey patching is fun"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/e902e_next_dist_compiled_85f2def3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_dist_shared_lib_f374d9dc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_dist_client_4a2840c0._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_dist_c5b271ab._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_app_aa880cb3.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_c8d20fe9._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/76102_react-dom_44795136._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_7136f466._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__app_cfd3334b._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_dist_shared_lib_6610bb6b._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_dist_036fdfcc._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/e902e_next_error_827a4b02.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_b84f3512._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__error_f51057c2._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"server\",\"message\":\"Cannot set properties of undefined (setting 'EMPTY')\",\"stack\":\"TypeError: Cannot set properties of undefined (setting 'EMPTY')\\n    at \\u003cstatic_initializer\\u003e (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/node_modules__pnpm_e2e02be3._.js:4263:54)\\n    at module evaluation (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/node_modules__pnpm_e2e02be3._.js:4255:336)\\n    at instantiateModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/node_modules__pnpm_e2e02be3._.js:4452:349)\\n    at instantiateModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/node_modules__pnpm_e2e02be3._.js:4535:359)\\n    at instantiateModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/node_modules__pnpm_e2e02be3._.js:5238:375)\\n    at instantiateModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at getOrInstantiateModuleFromParent (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:738:12)\\n    at Context.esmImport [as i] (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:228:20)\\n    at module evaluation (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/node_modules__pnpm_e2e02be3._.js:5795:378)\\n    at instantiateModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:715:9)\\n    at instantiateRuntimeModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:743:12)\\n    at getOrInstantiateRuntimeModule (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:756:12)\\n    at Object.m (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:765:18)\\n    at Object.\\u003canonymous\\u003e (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/.next/dev/server/pages/_error.js:7:3)\\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\\n    at Module._load (node:internal/modules/cjs/loader:938:12)\\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\\n    at mod.require (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/require-hook.js:68:28)\\n    at require (node:internal/modules/helpers:130:18)\\n    at requirePage (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/require.js:105:80)\\n    at loadComponentsImpl (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/load-components.js:161:61)\\n    at async DevServer.findPageComponentsImpl (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/next-server.js:879:36)\\n    at async DevServer.findPageComponents (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/dev/next-dev-server.js:690:16)\\n    at async DevServer.renderErrorToResponseImpl (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/base-server.js:1704:26)\\n    at async pipe.req.req (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/base-server.js:1611:30)\\n    at async DevServer.pipeImpl (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/base-server.js:1021:25)\\n    at async NextNodeServer.handleCatchallRenderRequest (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/next-server.js:409:21)\\n    at async DevServer.handleRequestImpl (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/base-server.js:912:17)\\n    at async /tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/dev/next-dev-server.js:386:20\\n    at async Span.traceAsyncFn (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/dev/next-dev-server.js:382:24)\\n    at async invokeRender (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/lib/router-server.js:240:21)\\n    at async handleRequest (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/lib/router-server.js:436:24)\\n    at async requestHandlerImpl (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/lib/router-server.js:484:13)\\n    at async Server.requestListener (/tmp/next-install-14c8858a64c6364adf4fcbe6148f1829db6a3c6798c9d7c5ff4fe9b795158f8b/node_modules/.pnpm/next@file+..+next-repo-2c1d524e844a89f29d7109151302313416224d783d5e570e516e8e807fd92172_e4c335b8934cd5f36e58c44fe1c2695d/node_modules/next/dist/server/lib/start-server.js:226:13)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  11 |   it('should retain module level fetch patching', async () => {
  12 |     const html = await next.render('/')
> 13 |     expect(html).toContain('monkey patching is fun')
     |                  ^
  14 |
  15 |     const magicNumber = cheerio.load(html)('#magic-number').text()
  16 |

  at Object.toContain (development/app-dir/dev-fetch-hmr/dev-fetch-hmr.test.ts:13:18)

pnpm test-dev-turbo test/development/app-dir/owner-stack-react-missing-key-prop/owner-stack-react-missing-key-prop.test.ts (turbopack) (job)

  • app-dir - owner-stack-react-missing-key-prop > should catch invalid element from on rsc component (DD)
  • app-dir - owner-stack-react-missing-key-prop > should catch invalid element from on ssr client component (DD)
Expand output

● app-dir - owner-stack-react-missing-key-prop › should catch invalid element from on rsc component

Redbox did not open.

  13 |   it('should catch invalid element from on rsc component', async () => {
  14 |     const browser = await next.browser('/rsc')
> 15 |     await openRedbox(browser)
     |     ^
  16 |
  17 |     const stackFramesContent = await getStackFramesContent(browser)
  18 |     const source = await getRedboxSource(browser)

  at Object.<anonymous> (development/app-dir/owner-stack-react-missing-key-prop/owner-stack-react-missing-key-prop.test.ts:15:5)

● app-dir - owner-stack-react-missing-key-prop › should catch invalid element from on ssr client component

Redbox did not open.

  59 |   it('should catch invalid element from on ssr client component', async () => {
  60 |     const browser = await next.browser('/ssr')
> 61 |     await openRedbox(browser)
     |     ^
  62 |
  63 |     const stackFramesContent = await getStackFramesContent(browser)
  64 |     const source = await getRedboxSource(browser)

  at Object.<anonymous> (development/app-dir/owner-stack-react-missing-key-prop/owner-stack-react-missing-key-prop.test.ts:61:5)

pnpm test-start-turbo test/e2e/api-resolver-query-writeable/api-resolver-query-writeable.test.ts (turbopack) (job)

  • api-resolver-query-writeable > should allow req.query to be writable and reflect changes made in the API handler (DD)
Expand output

● api-resolver-query-writeable › should allow req.query to be writable and reflect changes made in the API handler

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test test/integration/500-page/test/gsp-gssp.test.ts (turbopack) (job)

  • gsp-gssp > development mode > shows error with getServerSideProps in pages/500 dev (DD)
Expand output

● gsp-gssp › development mode › shows error with getServerSideProps in pages/500 dev

expect(received).toMatch(expected)

Expected pattern: /`pages\/500` can not have getInitialProps\/getServerSideProps/
Received string:  "⨯ TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at Object.<anonymous> (../../../test/integration/500-page/.next/dev/server/pages/500.js:6:3)
  ⨯ TypeError: Cannot set properties of undefined (setting 'EMPTY')
  at Object.<anonymous> (../../../test/integration/500-page/.next/dev/server/pages/500.js:6:3) {
    page: '/500'
  }
  ⨯ TypeError: Cannot set properties of undefined (setting 'EMPTY')
  at Object.<anonymous> (../../../test/integration/500-page/.next/dev/server/pages/500.js:6:3) {
    page: '/500'
  }
  "
  at Object.toMatch (integration/500-page/test/gsp-gssp.test.ts:244:24)

pnpm test test/integration/app-dynamic-error/test/index.test.ts (turbopack) (job)

  • 404 Page Support with _app > production mode > should build successfully (DD)
  • 404 Page Support with _app > production mode > should not output static 404 if _app has getInitialProps (DD)
  • 404 Page Support with _app > production mode > specify to use the 404 page still in the routes-manifest (DD)
  • 404 Page Support with _app > production mode > should still use 404 page (DD)
Expand output

● 404 Page Support with _app › production mode › should build successfully

expect(received).toBe(expected) // Object.is equality

Expected: 0
Received: 1

  33 |         })
  34 |
> 35 |         expect(code).toBe(0)
     |                      ^
  36 |         expect(stderr).not.toMatch(gip404Err)
  37 |         expect(stdout).not.toMatch(gip404Err)
  38 |

  at Object.toBe (integration/404-page-app/test/index.test.ts:35:22)

● 404 Page Support with _app › production mode › should not output static 404 if _app has getInitialProps

page.goto: Target page, context or browser has been closed
Call log:
  - navigating to "http://localhost:undefined/404", waiting until "load"

  343 |     await opts?.beforePageLoad?.(page)
  344 |
> 345 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  346 |   }
  347 |
  348 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/404-page-app/test/index.test.ts:44:25)

● 404 Page Support with _app › production mode › specify to use the 404 page still in the routes-manifest

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/404-page-app/.next/routes-manifest.json'

● 404 Page Support with _app › production mode › should still use 404 page

TypeError: Invalid URL

  195 | ): Promise<Response> {
  196 |   const url = query ? withQuery(pathname, query) : pathname
> 197 |   return fetch(getFullUrl(appPort, url), opts)
      |               ^
  198 | }
  199 |
  200 | export function renderViaHTTP(

  at parseURL (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1164:12)
  at new Request (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1210:17)
  at ../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1439:19
  at fetch (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1437:9)
  at fetchViaHTTP (lib/next-test-utils.ts:197:15)
  at Object.<anonymous> (integration/404-page-app/test/index.test.ts:57:39)

● Test suite failed to run

browserContext.close: Target page, context or browser has been closed

  42 | export async function quit() {
  43 |   await Promise.all(pendingTeardown.map((fn) => fn()))
> 44 |   await context?.close()
     |   ^
  45 |   await browser?.close()
  46 |   context = undefined
  47 |   browser = undefined

  at quit (lib/browsers/playwright.ts:44:3)
  at Object.<anonymous> (lib/next-webdriver.ts:45:7)

pnpm test test/integration/non-next-dist-exclude/test/index.test.ts (turbopack) (job)

  • Non-Next externalization > production mode > Externalized non-Next dist-using package (DD)
Expand output

● Non-Next externalization › production mode › Externalized non-Next dist-using package

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 3.2s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[root-of-the-server]__c9dbd86f._.js:1:123)
  at instantiateModule (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/non-next-dist-exclude/app/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test test/integration/client-404/test/index.test.ts (turbopack) (job)

  • Client 404 > production mode > Client Navigation 404 > should hard navigate to URL on failing to load bundle (DD)
  • Client 404 > production mode > Client Navigation 404 > should hard navigate to URL on failing to load missing bundle (DD)
  • Client 404 > production mode > Client Navigation 404 > should show 404 upon client replacestate > should navigate the page (DD)
Expand output

● Client 404 › production mode › Client Navigation 404 › should show 404 upon client replacestate › should navigate the page

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 2.5s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/client-404/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/client-404/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/client-404/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_790c2b34.js:1:59)
  at instantiateModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Client 404 › production mode › Client Navigation 404 › should hard navigate to URL on failing to load bundle

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 2.5s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/client-404/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/client-404/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/client-404/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_790c2b34.js:1:59)
  at instantiateModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Client 404 › production mode › Client Navigation 404 › should hard navigate to URL on failing to load missing bundle

command failed with code 1 signal null
▲ Next.js 16.0.2-canary.23 (Turbopack)

   Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 2.5s
   Collecting page data using 19 workers ...
TypeError: Cannot set properties of undefined (setting 'EMPTY')

  at <static_initializer> (../../../test/integration/client-404/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:24109)
  at module evaluation (../../../test/integration/client-404/.next/server/chunks/ssr/[root-of-the-server]__6a7528d3._.js:1:23933)
  at instantiateModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:738:12)
  at Context.esmImport [as i] (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:228:20)
  at module evaluation (../../../test/integration/client-404/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_790c2b34.js:1:59)
  at instantiateModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:715:9)
  at instantiateRuntimeModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:743:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:756:12)
  at Object.m (../../../test/integration/client-404/.next/server/chunks/ssr/[turbopack]_runtime.js:765:18)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:820:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test-start test/e2e/app-dir/next-config-ts-native-ts/export-default/next-config-ts-export-default-cjs.test.ts (job)

  • next-config-ts-export-default-cjs > should support export default (CJS) (DD)
Expand output

● next-config-ts-export-default-cjs › should support export default (CJS)

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-start-turbo test/e2e/app-dir/app-rendering/rendering.test.ts (turbopack) (job)

  • app dir rendering > should serve app/page.server.js at / (DD)
  • app dir rendering > ISR > should revalidate the page when revalidate is configured (DD)
  • app dir rendering > SSR only > should run data in layout and page (DD)
  • app dir rendering > SSR only > should run data fetch in parallel (DD)
  • app dir rendering > static only > should run data in layout and page (DD)
  • app dir rendering > static only > should run data in parallel and use cached version for production (DD)
Expand output

● app dir rendering › should serve app/page.server.js at /

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir rendering › SSR only › should run data in layout and page

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir rendering › SSR only › should run data fetch in parallel

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir rendering › static only › should run data in layout and page

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir rendering › static only › should run data in parallel and use cached version for production

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir rendering › ISR › should revalidate the page when revalidate is configured

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app dir rendering › mixed static and dynamic › should generate static data during build and use it

next build failed with code/signal 1

  75 |             if (code || signal)
  76 |               reject(
> 77 |                 new Error(
     |                 ^
  78 |                   `next build failed with code/signal ${code || signal}`
  79 |                 )
  80 |               )

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-dev-turbo test/development/acceptance-app/editor-links.test.ts (turbopack) (job)

  • cache-indicator > is none on initial load (DD)
Expand output

● cache-indicator › is none on initial load

page.waitForSelector: Target page, context or browser has been closed
Call log:
  - waiting for locator('[data-next-badge]') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (development/app-dir/cache-indicator/cache-indicator.test.ts:14:33)

● Test suite failed to run

browserContext.close: Target page, context or browser has been closed

  42 | export async function quit() {
  43 |   await Promise.all(pendingTeardown.map((fn) => fn()))
> 44 |   await context?.close()
     |   ^
  45 |   await browser?.close()
  46 |   context = undefined
  47 |   browser = undefined

  at quit (lib/browsers/playwright.ts:44:3)
  at Object.<anonymous> (lib/next-webdriver.ts:45:7)

pnpm test-dev-turbo test/development/app-dir/hmr-intercept-routes/hmr-intercept-routes.test.ts (turbopack) (job)

  • hmr-intercept-routes > should update intercept routes via HMR (DD)
Expand output

● hmr-intercept-routes › should update intercept routes via HMR

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('h1') to be visible

  519 |
  520 |     return this.startChain(async () => {
> 521 |       const el = await page.waitForSelector(selector, {
      |                             ^
  522 |         timeout,
  523 |         state,
  524 |       })

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (development/app-dir/hmr-intercept-routes/hmr-intercept-routes.test.ts:13:28)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (development/app-dir/hmr-intercept-routes/hmr-intercept-routes.test.ts:13:47)

pnpm test test/integration/required-server-files-ssr-404/test/index.test.ts (job)

  • Required Server Files > production mode > should output required-server-files manifest correctly (DD)
  • Required Server Files > production mode > should render SSR page correctly (DD)
  • Required Server Files > production mode > should render dynamic SSR page correctly (DD)
  • Required Server Files > production mode > should render fallback page correctly (DD)
  • Required Server Files > production mode > should render SSR page correctly with x-matched-path (DD)
  • Required Server Files > production mode > should render dynamic SSR page correctly with x-matched-path (DD)
  • Required Server Files > production mode > should render fallback page correctly with x-matched-path and routes-matches (DD)
  • Required Server Files > production mode > should return data correctly with x-matched-path (DD)
  • Required Server Files > production mode > should render fallback optional catch-all route correctly with x-matched-path and routes-matches (DD)
  • Required Server Files > production mode > should return data correctly with x-matched-path for optional catch-all route (DD)
  • Required Server Files > production mode > should not apply trailingSlash redirect (DD)
  • Required Server Files > production mode > should normalize catch-all rewrite query values correctly (DD)
  • Required Server Files > production mode > should bubble error correctly for gip page (DD)
  • Required Server Files > production mode > should bubble error correctly for gssp page (DD)
  • Required Server Files > production mode > should bubble error correctly for gsp page (DD)
  • Required Server Files > production mode > should normalize optional values correctly for SSP page (DD)
  • Required Server Files > production mode > should normalize optional values correctly for SSG page (DD)
  • Required Server Files > production mode > should normalize optional values correctly for API page (DD)
  • Required Server Files > production mode > should match the index page correctly (DD)
  • Required Server Files > production mode > should match the root dynamic page correctly (DD)
  • Required Server Files > production mode > should handle 404s properly (DD)
  • Required Server Files > production mode > partial optional catch-all route > should render /partial-catch-all/hello.com (DD)
  • Required Server Files > production mode > partial optional catch-all route > should render /partial-catch-all/hello.com/hello (DD)
  • Required Server Files > production mode > partial optional catch-all route > should render /partial-catch-all/hello.com/hello/world (DD)
Expand output

● Required Server Files › production mode › should output required-server-files manifest correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render SSR page correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render dynamic SSR page correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render fallback page correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render SSR page correctly with x-matched-path

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render dynamic SSR page correctly with x-matched-path

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render fallback page correctly with x-matched-path and routes-matches

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should return data correctly with x-matched-path

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should render fallback optional catch-all route correctly with x-matched-path and routes-matches

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › partial optional catch-all route › should render /partial-catch-all/hello.com

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › partial optional catch-all route › should render /partial-catch-all/hello.com/hello

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › partial optional catch-all route › should render /partial-catch-all/hello.com/hello/world

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should return data correctly with x-matched-path for optional catch-all route

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should not apply trailingSlash redirect

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should normalize catch-all rewrite query values correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should bubble error correctly for gip page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should bubble error correctly for gssp page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should bubble error correctly for gsp page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should normalize optional values correctly for SSP page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should normalize optional values correctly for SSG page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should normalize optional values correctly for API page

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should match the index page correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should match the root dynamic page correctly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Required Server Files › production mode › should handle 404s properly

thrown: "Exceeded timeout of 60000 ms for a hook.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         await fs.remove(join(appDir, '.next'))
  21 |         await nextBuild(appDir, undefined, {
  22 |           env: {

  at beforeAll (integration/required-server-files-ssr-404/test/index.test.ts:19:7)
  at integration/required-server-files-ssr-404/test/index.test.ts:16:56
  at Object.describe (integration/required-server-files-ssr-404/test/index.test.ts:15:1)

● Test suite failed to run

ENOENT: no such file or directory, rename '/root/actions-runner/_work/next.js/next.js/test/integration/required-server-files-ssr-404/pages-bak' -> '/root/actions-runner/_work/next.js/next.js/test/integration/required-server-files-ssr-404/pages'

pnpm test-dev-turbo test/development/acceptance-app/ReactRefreshModule.test.ts (turbopack) (job)

  • ReactRefreshModule app > should allow any variable names (DD)
Expand output

● ReactRefreshModule app › should allow any variable names

Application is in inconsistent state: timeout.

  113 |             }
  114 |             if (status !== 'pending') {
> 115 |               throw new Error(
      |                     ^
  116 |                 `Application is in inconsistent state: ${status}.`
  117 |               )
  118 |             }

  at Object.patch (lib/development-sandbox.ts:115:21)
  at Object.<anonymous> (development/acceptance-app/ReactRefreshModule.test.ts:26:7)

pnpm test-start test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (job)

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

thrown: "Exceeded timeout of 120000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  128 |   })
  129 |
> 130 |   it('should not re-fetch cached data when navigating back to a route group', async () => {
      |   ^
  131 |     let act: ReturnType<typeof createRouterAct>
  132 |     // Just installing so that the page doesn't automatically move past dynamic stale time
  133 |     createTimeController()

  at it (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:130:3)
  at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:6:1)

pnpm test test/integration/telemetry/test/index.test.ts (job)

  • Telemetry CLI > production mode > cli session: babel tooling config (DD)
  • Telemetry CLI > production mode > cli session: custom babel config (plugin) (DD)
  • Telemetry CLI > production mode > cli session: package.json custom babel config (plugin) (DD)
  • Telemetry CLI > production mode > cli session: custom babel config (preset) (DD)
  • Telemetry CLI > production mode > cli session: next config with webpack (DD)
  • Telemetry CLI > production mode > detect static 404 correctly for next build (DD)
  • Telemetry CLI > production mode > detect page counts correctly for next build (DD)
Expand output

● Telemetry CLI › production mode › cli session: babel tooling config

thrown: "Exceeded timeout of 60000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

  188 |       })
  189 |
> 190 |       it('cli session: babel tooling config', async () => {
      |       ^
  191 |         await fs.rename(
  192 |           path.join(appDir, '.babelrc.default'),
  193 |           path.join(appDir, '.babelrc')

  at it (integration/telemetry/test/index.test.ts:190:7)
  at integration/telemetry/test/index.test.ts:98:56
  at Object.describe (integration/telemetry/test/index.test.ts:13:1)

● Telemetry CLI › production mode › cli session: custom babel config (plugin)

TypeError: Cannot read properties of null (reading 'pop')

  231 |
  232 |         const event = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/
> 233 |           .exec(stderr)
      |                 ^
  234 |           .pop()
  235 |
  236 |         expect(event).toMatch(/"hasNextConfig": false/)

  at Object.stderr (integration/telemetry/test/index.test.ts:233:17)

● Telemetry CLI › production mode › cli session: package.json custom babel config (plugin)

TypeError: Cannot read properties of null (reading 'pop')

  257 |
  258 |         const event = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/
> 259 |           .exec(stderr)
      |                 ^
  260 |           .pop()
  261 |
  262 |         expect(event).toMatch(/"hasNextConfig": false/)

  at Object.stderr (integration/telemetry/test/index.test.ts:259:17)

● Telemetry CLI › production mode › cli session: custom babel config (preset)

TypeError: Cannot read properties of null (reading 'pop')

  283 |
  284 |         const event = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/
> 285 |           .exec(stderr)
      |                 ^
  286 |           .pop()
  287 |
  288 |         expect(event).toMatch(/"hasNextConfig": false/)

  at Object.stderr (integration/telemetry/test/index.test.ts:285:17)

● Telemetry CLI › production mode › cli session: next config with webpack

TypeError: Cannot read properties of null (reading 'pop')

  309 |
  310 |         const event = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/
> 311 |           .exec(stderr)
      |                 ^
  312 |           .pop()
  313 |
  314 |         expect(event).toMatch(/"hasNextConfig": true/)

  at Object.stderr (integration/telemetry/test/index.test.ts:311:17)

● Telemetry CLI › production mode › detect static 404 correctly for next build

TypeError: Cannot read properties of null (reading 'pop')

  342 |
  343 |         const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/
> 344 |           .exec(stderr)
      |                 ^
  345 |           .pop()
  346 |         expect(event1).toMatch(/hasStatic404.*?true/)
  347 |       })

  at Object.stderr (integration/telemetry/test/index.test.ts:344:17)

● Telemetry CLI › production mode › detect page counts correctly for next build

TypeError: Cannot read properties of null (reading 'pop')

  354 |
  355 |         const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/
> 356 |           .exec(stderr)
      |                 ^
  357 |           .pop()
  358 |         expect(event1).toMatch(/"staticPropsPageCount": 2/)
  359 |         expect(event1).toMatch(/"serverPropsPageCount": 2/)

  at Object.stderr (integration/telemetry/test/index.test.ts:356:17)

@ijjk ijjk added the tests label Nov 18, 2025
@lukesandberg lukesandberg changed the base branch from canary to graphite-base/86265 November 18, 2025 22:29
@lukesandberg lukesandberg changed the base branch from graphite-base/86265 to update_snapshot November 18, 2025 22:29
* don't produce redundant unreachable effects for loops
* fix how we identify 'nested lexical scopes'
* document a few irregularies
* adopt a consistent pattern for managing the early_return_stack and the var_decl_kind fields
@lukesandberg lukesandberg changed the base branch from update_snapshot to graphite-base/86265 November 19, 2025 17:47
@lukesandberg lukesandberg changed the base branch from graphite-base/86265 to canary November 19, 2025 17:47
@codspeed-hq
Copy link

codspeed-hq bot commented Nov 19, 2025

CodSpeed Performance Report

Merging #86265 will improve performances by 11.15%

Comparing more_lambda_helpers (58abacf) with canary (bbfd5fb)

Summary

⚡ 3 improvements
✅ 14 untouched
⏩ 3 skipped1

Benchmarks breakdown

Mode Benchmark BASE HEAD Change
Simulation app-page-turbo.runtime.prod.js[full] 823.1 ms 799.1 ms +3.01%
Simulation packages-bundle.js[full] 1.3 s 1.1 s +9.69%
Simulation packages-bundle.js[tracing] 1,058.7 ms 952.5 ms +11.15%

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@lukesandberg lukesandberg marked this pull request as ready for review November 19, 2025 18:15
@lukesandberg lukesandberg requested a review from a team November 19, 2025 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by: Turbopack team PRs by the Turbopack team. tests Turbopack Related to Turbopack with Next.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants