Skip to content

Turbopack: emit/collect#91100

Draft
mischnic wants to merge 21 commits intomischnic/ReferenceTypeConditionfrom
mischnic/emit-collect
Draft

Turbopack: emit/collect#91100
mischnic wants to merge 21 commits intomischnic/ReferenceTypeConditionfrom
mischnic/emit-collect

Conversation

@mischnic
Copy link
Member

@mischnic mischnic commented Mar 9, 2026

No description provided.

@nextjs-bot nextjs-bot added created-by: Turbopack team PRs by the Turbopack team. tests Turbopack Related to Turbopack with Next.js. labels Mar 9, 2026
Copy link
Member Author

mischnic commented Mar 9, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

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

@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Mar 9, 2026

Failing test suites

Commit: e810348 | About building and testing Next.js

pnpm test-dev test/e2e/turbopack-emit-collect/index.test.ts (job)

  • turbopack-emit-collect > works for /client/a (DD)
  • turbopack-emit-collect > works for /client/b (DD)
  • turbopack-emit-collect > works for /rsc/a (DD)
  • turbopack-emit-collect > works for /rsc/b (DD)
  • turbopack-emit-collect > works for /rsc/c (DD)
  • turbopack-emit-collect > works for /api (DD)
Expand output

● turbopack-emit-collect › works for /client/a

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `turbopack-emit-collect works for /client/a 1`

- Snapshot  - 10
+ Received  +  5

@@ -3,28 +3,23 @@
      "data": "data-for-layout",
      "id": "layout-target.js [app-rsc] (ecmascript)",
      "import": "layout",
    },
    {
-     "data": "data-for-shared-app",
-     "id": "target.js [app-rsc] (ecmascript)",
-     "import": "shared-app",
-   },
-   {
      "data": "data-for-shared-app-client-a",
      "id": "shared-app-client.js [app-client] (ecmascript)",
      "import": "app client",
    },
    {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-ssr] (ecmascript)",
-     "import": "app client",
-   },
-   {
      "data": "data-for-unique-client-a",
      "id": "unique.js [app-client] (ecmascript)",
      "import": "unique /client/a",
+   },
+   {
+     "data": "data-for-shared-app-client-a",
+     "id": "shared-app-client.js [app-ssr] (ecmascript)",
+     "import": "app client",
    },
    {
      "data": "data-for-unique-client-a",
      "id": "unique.js [app-ssr] (ecmascript)",
      "import": "unique /client/a",

  10 |       let $ = await next.render$('/client/a')
  11 |       let response = JSON.parse($('#list').text())
> 12 |       expect(response).toMatchInlineSnapshot(`
     |                        ^
  13 |        [
  14 |          {
  15 |            "data": "data-for-layout",

  at Object.toMatchInlineSnapshot (e2e/turbopack-emit-collect/index.test.ts:12:24)

● turbopack-emit-collect › works for /client/b

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `turbopack-emit-collect works for /client/b 1`

- Snapshot  - 7
+ Received  + 2

@@ -3,26 +3,21 @@
      "data": "data-for-layout",
      "id": "layout-target.js [app-rsc] (ecmascript)",
      "import": "layout",
    },
    {
-     "data": "data-for-shared-app",
-     "id": "target.js [app-rsc] (ecmascript)",
-     "import": "shared-app",
-   },
-   {
-     "data": "data-for-shared-app-client-a",
+     "data": "data-for-shared-app-client-b",
      "id": "shared-app-client.js [app-client] (ecmascript)",
      "import": "app client",
    },
    {
      "data": "data-for-unique-client-b",
      "id": "unique.js [app-client] (ecmascript)",
      "import": "unique /client/b",
    },
    {
-     "data": "data-for-shared-app-client-a",
+     "data": "data-for-shared-app-client-b",
      "id": "shared-app-client.js [app-ssr] (ecmascript)",
      "import": "app client",
    },
    {
      "data": "data-for-unique-client-b",

  49 |       let $ = await next.render$('/client/b')
  50 |       let response = JSON.parse($('#list').text())
> 51 |       expect(response).toMatchInlineSnapshot(`
     |                        ^
  52 |        [
  53 |          {
  54 |            "data": "data-for-layout",

  at Object.toMatchInlineSnapshot (e2e/turbopack-emit-collect/index.test.ts:51:24)

● turbopack-emit-collect › works for /rsc/a

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `turbopack-emit-collect works for /rsc/a 1`

- Snapshot  - 10
+ Received  +  0

@@ -17,16 +17,6 @@
    {
      "data": "data-for-shared-page",
      "id": "target.js [app-rsc] (ecmascript)",
      "import": "shared-page",
    },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-client] (ecmascript)",
-     "import": "app client",
-   },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-ssr] (ecmascript)",
-     "import": "app client",
-   },
  ]

  88 |       let $ = await next.render$('/rsc/a')
  89 |       let response = JSON.parse($('#list').text())
> 90 |       expect(response).toMatchInlineSnapshot(`
     |                        ^
  91 |        [
  92 |          {
  93 |            "data": "data-for-layout",

  at Object.toMatchInlineSnapshot (e2e/turbopack-emit-collect/index.test.ts:90:24)

● turbopack-emit-collect › works for /rsc/b

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `turbopack-emit-collect works for /rsc/b 1`

- Snapshot  - 10
+ Received  +  0

@@ -17,16 +17,6 @@
    {
      "data": "data-for-shared-page",
      "id": "target.js [app-rsc] (ecmascript)",
      "import": "shared-page",
    },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-client] (ecmascript)",
-     "import": "app client",
-   },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-ssr] (ecmascript)",
-     "import": "app client",
-   },
  ]

  127 |       let $ = await next.render$('/rsc/b')
  128 |       let response = JSON.parse($('#list').text())
> 129 |       expect(response).toMatchInlineSnapshot(`
      |                        ^
  130 |        [
  131 |          {
  132 |            "data": "data-for-layout",

  at Object.toMatchInlineSnapshot (e2e/turbopack-emit-collect/index.test.ts:129:24)

● turbopack-emit-collect › works for /rsc/c

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `turbopack-emit-collect works for /rsc/c 1`

- Snapshot  - 10
+ Received  +  0

@@ -12,16 +12,6 @@
    {
      "data": "data-for-shared-page",
      "id": "target.js [app-rsc] (ecmascript)",
      "import": "shared-page",
    },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-client] (ecmascript)",
-     "import": "app client",
-   },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-ssr] (ecmascript)",
-     "import": "app client",
-   },
  ]

  166 |       let $ = await next.render$('/rsc/c')
  167 |       let response = JSON.parse($('#list').text())
> 168 |       expect(response).toMatchInlineSnapshot(`
      |                        ^
  169 |        [
  170 |          {
  171 |            "data": "data-for-layout",

  at Object.toMatchInlineSnapshot (e2e/turbopack-emit-collect/index.test.ts:168:24)

● turbopack-emit-collect › works for /api

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `turbopack-emit-collect works for /api 1`

- Snapshot  - 15
+ Received  +  0

@@ -2,21 +2,6 @@
    {
      "data": "data-for-unique-api",
      "id": "unique.js [app-route] (ecmascript)",
      "import": "unique api",
    },
-   {
-     "data": "data-for-shared-app",
-     "id": "target.js [app-rsc] (ecmascript)",
-     "import": "shared-app",
-   },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-client] (ecmascript)",
-     "import": "app client",
-   },
-   {
-     "data": "data-for-shared-app-client-a",
-     "id": "shared-app-client.js [app-ssr] (ecmascript)",
-     "import": "app client",
-   },
  ]

  199 |     it('works for /api', async () => {
  200 |       const response = JSON.parse(await next.render('/api'))
> 201 |       expect(response).toMatchInlineSnapshot(`
      |                        ^
  202 |        [
  203 |          {
  204 |            "data": "data-for-unique-api",

  at Object.toMatchInlineSnapshot (e2e/turbopack-emit-collect/index.test.ts:201:24)

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

  • Root Catch-all Cache > production mode > should cache / correctly (DD)
Expand output

● Root Catch-all Cache › production mode › should cache / correctly

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1895ms
  Running TypeScript ...
  Finished TypeScript in 47ms ...
  Collecting page data using 4 workers ...
  Generating static pages using 4 workers (0/2) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/packages_next_dist_16eda45d._.js:4:18626)
  at instantiateModule (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/root-catchall-cache/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

pnpm test test/integration/build-trace-extra-entries-turbo/test/index.test.ts (turbopack) (job)

  • build trace with extra entries > production mode > should build and trace correctly (DD)
Expand output

● build trace with extra entries › production mode › should build and trace correctly

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

Expected: 0
Received: 1

  18 |         })
  19 |         console.log(result)
> 20 |         expect(result.code).toBe(0)
     |                             ^
  21 |
  22 |         const appTrace = await fs.readJSON(
  23 |           join(appDir, '.next/server/pages/_app.js.nft.json')

  at Object.toBe (integration/build-trace-extra-entries-turbo/test/index.test.ts:20:29)

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

  • next-config-ts-top-level-await-esm > should support top-level await (ESM) (DD)
Expand output

● next-config-ts-top-level-await-esm › should support top-level await (ESM)

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

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

  • next-config-ts-node-api-esm > should be able to use Node.js API (ESM) (DD)
Expand output

● next-config-ts-node-api-esm › should be able to use Node.js API (ESM)

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

pnpm test test/integration/build-trace-extra-entries-monorepo/test/index.test.ts (turbopack) (job)

  • next/dynamic > production mode > should load a Pages Router page correctly (DD)
  • next/dynamic > production mode > should load a App Router page correctly (DD)
Expand output

● next/dynamic › production mode › should load a Pages Router page correctly

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 4.5s
  Running TypeScript ...
  Finished TypeScript in 1900ms ...
  Collecting page data using 7 workers ...
  Generating static pages using 7 workers (0/4) ...
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '958044311'
  }
  Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● next/dynamic › production mode › should load a App Router page correctly

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 4.5s
  Running TypeScript ...
  Finished TypeScript in 1900ms ...
  Collecting page data using 7 workers ...
  Generating static pages using 7 workers (0/4) ...
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-dynamic-css/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '958044311'
  }
  Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

pnpm test test/integration/next-image-new/app-dir-image-from-node-modules/test/index.test.ts (turbopack) (job)

  • Telemetry CLI > production mode > detects tests correctly for next build (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 › detects tests correctly for next build

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

  164 |
  165 |         const event2 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/
> 166 |           .exec(stderr)
      |                 ^
  167 |           .pop()
  168 |         expect(event2).toMatch(/hasDunderPages.*?true/)
  169 |         expect(event2).toMatch(/hasTestPages.*?true/)

  at Object.stderr (integration/telemetry/test/index.test.ts:166: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)

pnpm test test/integration/next-image-new/app-dir/test/static.test.ts (turbopack) (job)

  • config telemetry > production mode > detects rewrites, headers, and redirects for next build (DD)
  • config telemetry > production mode > emits telemetry for usage of middleware (DD)
Expand output

● config telemetry › production mode › detects rewrites, headers, and redirects for next build

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

  34 |         try {
  35 |           const event1 = /NEXT_BUILD_OPTIMIZED[\s\S]+?{([\s\S]+?)}/
> 36 |             .exec(stderr)
     |                   ^
  37 |             .pop()
  38 |           expect(event1).toMatch(/"headersCount": 1/)
  39 |           expect(event1).toMatch(/"rewritesCount": 2/)

  at Object.stderr (integration/telemetry/test/config.test.ts:36:19)

● config telemetry › production mode › emits telemetry for usage of middleware

expect(received).toContainEqual(expected) // deep equality

Expected value: ObjectContaining {"middlewareCount": 1}
Received array: []

  356 |           'NEXT_BUILD_OPTIMIZED'
  357 |         )
> 358 |         expect(buildOptimizedEvents).toContainEqual(
      |                                      ^
  359 |           expect.objectContaining({
  360 |             middlewareCount: 1,
  361 |           })

  at Object.toContainEqual (integration/telemetry/test/config.test.ts:358:38)

pnpm test test/integration/tsconfig-verifier/test/index.test.ts (turbopack) (job)

  • tsconfig.json verifier > Creates a default tsconfig.json when one is missing (DD)
  • tsconfig.json verifier > Works with an empty tsconfig.json (docs) (DD)
  • tsconfig.json verifier > Updates an existing tsconfig.json without losing comments (DD)
  • tsconfig.json verifier > allows you to set commonjs module mode (DD)
  • tsconfig.json verifier > allows you to set es2020 module mode (DD)
  • tsconfig.json verifier > allows you to set node16 moduleResolution mode (DD)
  • tsconfig.json verifier > allows you to set bundler moduleResolution mode (DD)
  • tsconfig.json verifier > allows you to set target mode (DD)
  • tsconfig.json verifier > allows you to set node16 module mode (DD)
  • tsconfig.json verifier > allows you to set verbatimModuleSyntax true without adding isolatedModules (DD)
  • tsconfig.json verifier > allows you to set verbatimModuleSyntax true via extends without adding isolatedModules (DD)
  • tsconfig.json verifier > allows you to extend another configuration file (DD)
  • tsconfig.json verifier > creates compilerOptions when you extend another config (DD)
Expand output

● tsconfig.json verifier › Creates a default tsconfig.json when one is missing

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1482ms
  Running TypeScript ...

  We detected TypeScript in your project and created a tsconfig.json file for you.
  Finished TypeScript in 1217ms ...
  Collecting page data using 7 workers ...
  Generating static pages using 7 workers (0/5) ...
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/packages_next_dist_16eda45d._.js:4:18626)
  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '958044311'
  }
  Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● tsconfig.json verifier › Works with an empty tsconfig.json (docs)

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

Expected: 0
Received: 1

  126 |       })
  127 |       expect(stderr + stdout).not.toContain('moduleResolution')
> 128 |       expect(code).toBe(0)
      |                    ^
  129 |
  130 |       if (strictRouteTypes) {
  131 |         expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:128:20)

● tsconfig.json verifier › Updates an existing tsconfig.json without losing comments

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1510ms
  Running TypeScript ...

  We detected TypeScript in your project and reconfigured your tsconfig.json file for you. Strict-mode is set to false by default.
  The following suggested values were added to your tsconfig.json. These values can be changed to fit your project's needs:

  	- target was set to ES2017 (For top-level `await`. Note: Next.js only polyfills for the esmodules target.)
  	- lib was set to dom,dom.iterable,esnext
  	- allowJs was set to true
  	- skipLibCheck was set to true
  	- strict was set to false
  	- noEmit was set to true
  	- incremental was set to true
  	- include was set to ['next-env.d.ts', '**/*.mts', '**/*.ts', '**/*.tsx']
  	- plugins was updated to add { name: 'next' }
  	- strictNullChecks was set to true
  	- exclude was set to ['node_modules']

  The following mandatory changes were made to your tsconfig.json:

  	- module was set to esnext (for dynamic import() support)
  	- esModuleInterop was set to true (requirement for SWC / babel)
  	- moduleResolution was set to node (to match webpack resolution)
  	- resolveJsonModule was set to true (to match webpack resolution)
  	- isolatedModules was set to true (requirement for SWC / Babel)
  	- jsx was set to react-jsx (next.js uses the React automatic runtime)

  Finished TypeScript in 1212ms ...
  Collecting page data using 7 workers ...
  Generating static pages using 7 workers (0/5) ...
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/packages_next_dist_16eda45d._.js:4:18626)
  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '958044311'
  }
  Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● tsconfig.json verifier › allows you to set commonjs module mode

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1507ms
  Running TypeScript ...

  We detected TypeScript in your project and reconfigured your tsconfig.json file for you. Strict-mode is set to false by default.
  The following suggested values were added to your tsconfig.json. These values can be changed to fit your project's needs:

  	- target was set to ES2017 (For top-level `await`. Note: Next.js only polyfills for the esmodules target.)
  	- lib was set to dom,dom.iterable,esnext
  	- allowJs was set to true
  	- skipLibCheck was set to true
  	- strict was set to false
  	- noEmit was set to true
  	- incremental was set to true
  	- include was set to ['next-env.d.ts', '**/*.mts', '**/*.ts', '**/*.tsx']
  	- plugins was updated to add { name: 'next' }
  	- strictNullChecks was set to true
  	- exclude was set to ['node_modules']

  The following mandatory changes were made to your tsconfig.json:

  	- esModuleInterop was set to true (requirement for SWC / babel)
  	- moduleResolution was set to node (to match webpack resolution)
  	- resolveJsonModule was set to true (to match webpack resolution)
  	- isolatedModules was set to true (requirement for SWC / Babel)
  	- jsx was set to react-jsx (next.js uses the React automatic runtime)

  Finished TypeScript in 1201ms ...
  Collecting page data using 7 workers ...
  Generating static pages using 7 workers (0/5) ...
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/packages_next_dist_16eda45d._.js:4:18626)
  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '958044311'
  }
  Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● tsconfig.json verifier › allows you to set es2020 module mode

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1614ms
  Running TypeScript ...

  We detected TypeScript in your project and reconfigured your tsconfig.json file for you. Strict-mode is set to false by default.
  The following suggested values were added to your tsconfig.json. These values can be changed to fit your project's needs:

  	- target was set to ES2017 (For top-level `await`. Note: Next.js only polyfills for the esmodules target.)
  	- lib was set to dom,dom.iterable,esnext
  	- allowJs was set to true
  	- skipLibCheck was set to true
  	- strict was set to false
  	- noEmit was set to true
  	- incremental was set to true
  	- include was set to ['next-env.d.ts', '**/*.mts', '**/*.ts', '**/*.tsx']
  	- plugins was updated to add { name: 'next' }
  	- strictNullChecks was set to true
  	- exclude was set to ['node_modules']

  The following mandatory changes were made to your tsconfig.json:

  	- esModuleInterop was set to true (requirement for SWC / babel)
  	- moduleResolution was set to node (to match webpack resolution)
  	- resolveJsonModule was set to true (to match webpack resolution)
  	- isolatedModules was set to true (requirement for SWC / Babel)
  	- jsx was set to react-jsx (next.js uses the React automatic runtime)

  Finished TypeScript in 1214ms ...
  Collecting page data using 7 workers ...
  Generating static pages using 7 workers (0/5) ...
Error occurred prerendering page "/_not-found". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/packages_next_dist_16eda45d._.js:4:18626)
  at instantiateModule (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/tsconfig-verifier/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '958044311'
  }
  Export encountered an error on /_not-found/page: /_not-found, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● tsconfig.json verifier › allows you to set node16 moduleResolution mode

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

Expected: 0
Received: 1

  545 |       })
  546 |       expect(stderr + stdout).not.toContain('moduleResolution')
> 547 |       expect(code).toBe(0)
      |                    ^
  548 |
  549 |       if (strictRouteTypes) {
  550 |         expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:547:20)

● tsconfig.json verifier › allows you to set bundler moduleResolution mode

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

Expected: 0
Received: 1

  645 |       })
  646 |       expect(stderr + stdout).not.toContain('moduleResolution')
> 647 |       expect(code).toBe(0)
      |                    ^
  648 |
  649 |       if (strictRouteTypes) {
  650 |         expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:647:20)

● tsconfig.json verifier › allows you to set target mode

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

Expected: 0
Received: 1

  742 |       })
  743 |       expect(stderr + stdout).not.toContain('target')
> 744 |       expect(code).toBe(0)
      |                    ^
  745 |
  746 |       if (strictRouteTypes) {
  747 |         expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:744:20)

● tsconfig.json verifier › allows you to set node16 module mode

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

Expected: 0
Received: 1

  842 |       })
  843 |       expect(stderr + stdout).not.toContain('moduleResolution')
> 844 |       expect(code).toBe(0)
      |                    ^
  845 |
  846 |       if (strictRouteTypes) {
  847 |         expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:844:20)

● tsconfig.json verifier › allows you to set verbatimModuleSyntax true without adding isolatedModules

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

Expected: 0
Received: 1

  942 |       })
  943 |       expect(stderr + stdout).not.toContain('isolatedModules')
> 944 |       expect(code).toBe(0)
      |                    ^
  945 |
  946 |       if (strictRouteTypes) {
  947 |         expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:944:20)

● tsconfig.json verifier › allows you to set verbatimModuleSyntax true via extends without adding isolatedModules

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

Expected: 0
Received: 1

  1080 |       })
  1081 |       expect(stderr + stdout).not.toContain('isolatedModules')
> 1082 |       expect(code).toBe(0)
       |                    ^
  1083 |
  1084 |       expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(
  1085 |         `"{ "extends": "./tsconfig.base.json" }"`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:1082:20)

● tsconfig.json verifier › allows you to extend another configuration file

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

Expected: 0
Received: 1

  1143 |       })
  1144 |       expect(stderr + stdout).not.toContain('moduleResolution')
> 1145 |       expect(code).toBe(0)
       |                    ^
  1146 |
  1147 |       expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(
  1148 |         `"{ "extends": "./tsconfig.base.json" }"`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:1145:20)

● tsconfig.json verifier › creates compilerOptions when you extend another config

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

Expected: 0
Received: 1

  1205 |       })
  1206 |       expect(stderr + stdout).not.toContain('moduleResolution')
> 1207 |       expect(code).toBe(0)
       |                    ^
  1208 |
  1209 |       expect(await readFile(tsConfig, 'utf8')).toMatchInlineSnapshot(
  1210 |         `"{ "extends": "./tsconfig.base.json" }"`

  at Object.toBe (integration/tsconfig-verifier/test/index.test.ts:1207:20)

pnpm test-dev-turbo test/development/stale-dev-types/stale-dev-types.test.ts (turbopack) (job)

  • stale-dev-types > should not fail build when .next/dev has stale types from deleted routes (DD)
Expand output

● stale-dev-types › should not fail build when .next/dev has stale types from deleted routes

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

Expected: 0
Received: 1

  44 |       "Cannot find module '../../../app/temp-route/page"
  45 |     )
> 46 |     expect(exitCode).toBe(0)
     |                      ^
  47 |   })
  48 | })
  49 |

  at Object.toBe (development/stale-dev-types/stale-dev-types.test.ts:46:22)

pnpm test test/integration/build-trace-extra-entries/test/index.test.ts (turbopack) (job)

  • Image localPatterns config > production mode > should load img when quality is undefined (DD)
  • Image localPatterns config > production mode > should load img when quality 42 (DD)
  • Image localPatterns config > production mode > should load img when quality 69 (DD)
  • Image localPatterns config > production mode > should load img when quality 88 (DD)
  • Image localPatterns config > production mode > should coerce quality 100 to closest matching of 88 (DD)
  • Image localPatterns config > production mode > should build correct images-manifest.json (DD)
Expand output

● Image localPatterns config › production mode › should load img when quality is undefined

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1413ms
  Running TypeScript ...
  Finished TypeScript in 48ms ...
  Collecting page data using 5 workers ...
  Generating static pages using 5 workers (0/4) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● Image localPatterns config › production mode › should load img when quality 42

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1413ms
  Running TypeScript ...
  Finished TypeScript in 48ms ...
  Collecting page data using 5 workers ...
  Generating static pages using 5 workers (0/4) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● Image localPatterns config › production mode › should load img when quality 69

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1413ms
  Running TypeScript ...
  Finished TypeScript in 48ms ...
  Collecting page data using 5 workers ...
  Generating static pages using 5 workers (0/4) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● Image localPatterns config › production mode › should load img when quality 88

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1413ms
  Running TypeScript ...
  Finished TypeScript in 48ms ...
  Collecting page data using 5 workers ...
  Generating static pages using 5 workers (0/4) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● Image localPatterns config › production mode › should coerce quality 100 to closest matching of 88

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1413ms
  Running TypeScript ...
  Finished TypeScript in 48ms ...
  Collecting page data using 5 workers ...
  Generating static pages using 5 workers (0/4) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

● Image localPatterns config › production mode › should build correct images-manifest.json

command failed with code 1 signal null
▲ Next.js 16.2.0-canary.85 (Turbopack)
- Experiments (use with caution):
  ✓ strictRouteTypes (enabled by `__NEXT_EXPERIMENTAL_STRICT_ROUTE_TYPES`)

  Creating an optimized production build ...
✓ Compiled successfully in 1413ms
  Running TypeScript ...
  Finished TypeScript in 48ms ...
  Collecting page data using 5 workers ...
  Generating static pages using 5 workers (0/4) ...
Error occurred prerendering page "/_global-error". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Module 90118 was instantiated because it was required from module 77573, but the module factory is not available.

  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:853:15)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.esmImport [as i] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:281:20)
  at module evaluation (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/packages_next_dist_f8fceef1._.js:4:18626)
  at instantiateModule (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:861:9)
  at getOrInstantiateModuleFromParent (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:885:12)
  at Context.commonJsRequire [as r] (../../../test/integration/next-image-new/app-dir-qualities/.next/server/chunks/ssr/[turbopack]_runtime.js:302:12)
  at Object.require (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23117)
  at globalThis.__next_require__ (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:51:23663)
  at f (../dist/compiled/next-server/app-page-turbo.runtime.prod.js:2:150509) {
    digest: '1359273082'
  }
  Export encountered an error on /_global-error/page: /_global-error, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:376:11)

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

  • escheck-output > default browserslist > should downlevel JS (DD)
  • escheck-output > es2020 > should downlevel JS (DD)
  • escheck-output > nomodule browsers > should downlevel JS (DD)
Expand output

● escheck-output › es2020 › should downlevel JS

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● escheck-output › default browserslist › should downlevel JS

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● escheck-output › nomodule browsers › should downlevel JS

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

pnpm test-start-turbo test/e2e/app-dir/app-css-pageextensions/index.test.ts (turbopack) (job)

  • app dir - with output export - dynamic api route > should work in prod with dynamicPage 'error' > should work (DD)
  • app dir - with output export - dynamic api route > should work in prod with dynamicPage 'force-static' > should work (DD)
  • app dir - with output export - dynamic api route > should work in prod with dynamicPage undefined > should work (DD)
Expand output

● app dir - with output export - dynamic api route › should work in prod with dynamicPage undefined › should work

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 elementByCss (e2e/app-dir-export/test/utils.ts:309:30)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:308:7)
  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 text (e2e/app-dir-export/test/utils.ts:309:49)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:308:7)

● app dir - with output export - dynamic api route › should work in prod with dynamicPage 'error' › should work

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 elementByCss (e2e/app-dir-export/test/utils.ts:309:30)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:308:7)
  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 text (e2e/app-dir-export/test/utils.ts:309:49)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:308:7)

● app dir - with output export - dynamic api route › should work in prod with dynamicPage 'force-static' › should work

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 elementByCss (e2e/app-dir-export/test/utils.ts:309:30)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:308:7)
  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 text (e2e/app-dir-export/test/utils.ts:309:49)
  at fn (lib/next-test-utils.ts:861:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:308:7)

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

  • deterministic build - changing deployment id > build output API - cacheComponents adapter > should produce identical build outputs even when changing deployment id (DD)
  • deterministic build - changing deployment id > build output API - cacheComponents builder > should produce identical build outputs even when changing deployment id (DD)
  • deterministic build - changing deployment id > build output API - standard adapter > should produce identical build outputs even when changing deployment id (DD)
  • deterministic build - changing deployment id > build output API - standard builder > should produce identical build outputs even when changing deployment id (DD)
  • deterministic build - changing deployment id > standard - .next folder > should produce identical build outputs even when changing deployment id (DD)
Expand output

● deterministic build - changing deployment id › standard - .next folder › should produce identical build outputs even when changing deployment id

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

Expected: 0
Received: 1

  123 |   // First build
  124 |   next.env['NEXT_DEPLOYMENT_ID'] = 'foo-dpl-id'
> 125 |   expect((await next.build()).exitCode).toBe(0)
      |                                         ^
  126 |   let run1 = await readFiles(next)
  127 |
  128 |   // Second build

  at toBe (production/deterministic-build/deployment-id.test.ts:125:41)
  at Object.<anonymous> (production/deterministic-build/deployment-id.test.ts:224:9)

● deterministic build - changing deployment id › build output API - standard builder › should produce identical build outputs even when changing deployment id

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

Expected: 0
Received: 1

  123 |   // First build
  124 |   next.env['NEXT_DEPLOYMENT_ID'] = 'foo-dpl-id'
> 125 |   expect((await next.build()).exitCode).toBe(0)
      |                                         ^
  126 |   let run1 = await readFiles(next)
  127 |
  128 |   // Second build

  at toBe (production/deterministic-build/deployment-id.test.ts:125:41)
  at Object.<anonymous> (production/deterministic-build/deployment-id.test.ts:262:30)

● deterministic build - changing deployment id › build output API - standard adapter › should produce identical build outputs even when changing deployment id

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

Expected: 0
Received: 1

  123 |   // First build
  124 |   next.env['NEXT_DEPLOYMENT_ID'] = 'foo-dpl-id'
> 125 |   expect((await next.build()).exitCode).toBe(0)
      |                                         ^
  126 |   let run1 = await readFiles(next)
  127 |
  128 |   // Second build

  at toBe (production/deterministic-build/deployment-id.test.ts:125:41)
  at Object.<anonymous> (production/deterministic-build/deployment-id.test.ts:262:30)

● deterministic build - changing deployment id › build output API - cacheComponents builder › should produce identical build outputs even when changing deployment id

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

Expected: 0
Received: 1

  123 |   // First build
  124 |   next.env['NEXT_DEPLOYMENT_ID'] = 'foo-dpl-id'
> 125 |   expect((await next.build()).exitCode).toBe(0)
      |                                         ^
  126 |   let run1 = await readFiles(next)
  127 |
  128 |   // Second build

  at toBe (production/deterministic-build/deployment-id.test.ts:125:41)
  at Object.<anonymous> (production/deterministic-build/deployment-id.test.ts:262:30)

● deterministic build - changing deployment id › build output API - cacheComponents adapter › should produce identical build outputs even when changing deployment id

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

Expected: 0
Received: 1

  123 |   // First build
  124 |   next.env['NEXT_DEPLOYMENT_ID'] = 'foo-dpl-id'
> 125 |   expect((await next.build()).exitCode).toBe(0)
      |                                         ^
  126 |   let run1 = await readFiles(next)
  127 |
  128 |   // Second build

  at toBe (production/deterministic-build/deployment-id.test.ts:125:41)
  at Object.<anonymous> (production/deterministic-build/deployment-id.test.ts:262:30)

pnpm test-start-turbo test/e2e/app-dir/actions/app-action-export.test.ts (turbopack) (job)

  • postcss-config-ts > .postcssrc.ts > works with .postcssrc.ts files (DD)
  • postcss-config-ts > postcss.config.cts > works with postcss.config.cts files (DD)
  • postcss-config-ts > postcss.config.mts > works with postcss.config.mts files (DD)
  • postcss-config-ts > postcss.config.ts > works with postcss.config.ts files (DD)
Expand output

● postcss-config-ts › postcss.config.ts › works with postcss.config.ts files

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● postcss-config-ts › .postcssrc.ts › works with .postcssrc.ts files

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● postcss-config-ts › postcss.config.mts › works with postcss.config.mts files

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● postcss-config-ts › postcss.config.cts › works with postcss.config.cts files

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

pnpm test-start-turbo test/e2e/app-dir/app-middleware-proxy/app-middleware-proxy-without-pages-dir.test.ts (turbopack) (job)

  • debug-build-paths > default fixture > explicit path formats > should build dynamic route with literal [slug] path (DD)
  • debug-build-paths > default fixture > glob pattern matching > should match app and pages routes with glob patterns (DD)
  • debug-build-paths > default fixture > glob pattern matching > should match nested routes with app/blog/**/page.tsx pattern (DD)
  • debug-build-paths > default fixture > glob pattern matching > should match dynamic routes with glob before brackets like app/**/[slug]/page.tsx (DD)
  • debug-build-paths > default fixture > glob pattern matching > should match hybrid pattern with literal [slug] and glob ** (DD)
  • debug-build-paths > default fixture > glob pattern matching > should match multiple app routes with explicit patterns (DD)
  • debug-build-paths > default fixture > glob pattern matching > should exclude paths matching negation patterns (DD)
  • debug-build-paths > default fixture > glob pattern matching > should exclude dynamic route paths with negation (DD)
  • debug-build-paths > default fixture > glob pattern matching > should support multiple negation patterns (DD)
  • debug-build-paths > default fixture > glob pattern matching > should build everything except excluded paths when only negation patterns are provided (DD)
  • debug-build-paths > default fixture > glob pattern matching > should build routes inside route groups (DD)
  • debug-build-paths > default fixture > glob pattern matching > should build routes with parallel routes (DD)
  • debug-build-paths > with-compile-error fixture > should skip compilation of excluded routes with compile errors (DD)
Expand output

● debug-build-paths › default fixture › explicit path formats › should build dynamic route with literal [slug] path

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

Expected: 0
Received: 1

  50 |           args: ['--debug-build-paths', 'app/blog/[slug]/page.tsx'],
  51 |         })
> 52 |         expect(buildResult.exitCode).toBe(0)
     |                                      ^
  53 |         expect(buildResult.cliOutput).toBeDefined()
  54 |
  55 |         // Should build only the blog/[slug] route

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:52:38)

● debug-build-paths › default fixture › glob pattern matching › should match app and pages routes with glob patterns

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

Expected: 0
Received: 1

  70 |           args: ['--debug-build-paths', 'pages/*.tsx,app/page.tsx'],
  71 |         })
> 72 |         expect(buildResult.exitCode).toBe(0)
     |                                      ^
  73 |         expect(buildResult.cliOutput).toBeDefined()
  74 |
  75 |         // Should build pages matching the glob

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:72:38)

● debug-build-paths › default fixture › glob pattern matching › should match nested routes with app/blog/**/page.tsx pattern

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

Expected: 0
Received: 1

  90 |           args: ['--debug-build-paths', 'app/blog/**/page.tsx'],
  91 |         })
> 92 |         expect(buildResult.exitCode).toBe(0)
     |                                      ^
  93 |         expect(buildResult.cliOutput).toBeDefined()
  94 |
  95 |         // Should build the blog route

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:92:38)

● debug-build-paths › default fixture › glob pattern matching › should match dynamic routes with glob before brackets like app/**/[slug]/page.tsx

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

Expected: 0
Received: 1

  108 |           args: ['--debug-build-paths', 'app/**/[slug]/page.tsx'],
  109 |         })
> 110 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  111 |         expect(buildResult.cliOutput).toBeDefined()
  112 |
  113 |         // Should build the blog/[slug] route

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:110:38)

● debug-build-paths › default fixture › glob pattern matching › should match hybrid pattern with literal [slug] and glob **

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

Expected: 0
Received: 1

  129 |           args: ['--debug-build-paths', 'app/blog/[slug]/**/page.tsx'],
  130 |         })
> 131 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  132 |         expect(buildResult.cliOutput).toBeDefined()
  133 |
  134 |         // Should build both blog/[slug] and blog/[slug]/comments routes

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:131:38)

● debug-build-paths › default fixture › glob pattern matching › should match multiple app routes with explicit patterns

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

Expected: 0
Received: 1

  151 |           ],
  152 |         })
> 153 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  154 |         expect(buildResult.cliOutput).toBeDefined()
  155 |
  156 |         // Should build specified app routes

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:153:38)

● debug-build-paths › default fixture › glob pattern matching › should exclude paths matching negation patterns

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

Expected: 0
Received: 1

  173 |           ],
  174 |         })
> 175 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  176 |
  177 |         expect(buildResult.cliOutput).toContain('Route (app)')
  178 |         expect(buildResult.cliOutput).toContain('○ /')

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:175:38)

● debug-build-paths › default fixture › glob pattern matching › should exclude dynamic route paths with negation

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

Expected: 0
Received: 1

  190 |           ],
  191 |         })
> 192 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  193 |
  194 |         expect(buildResult.cliOutput).toContain('Route (app)')
  195 |         expect(buildResult.cliOutput).toContain('/blog/[slug]')

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:192:38)

● debug-build-paths › default fixture › glob pattern matching › should support multiple negation patterns

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

Expected: 0
Received: 1

  204 |           ],
  205 |         })
> 206 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  207 |
  208 |         expect(buildResult.cliOutput).toContain('Route (app)')
  209 |         expect(buildResult.cliOutput).toContain('○ /')

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:206:38)

● debug-build-paths › default fixture › glob pattern matching › should build everything except excluded paths when only negation patterns are provided

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

Expected: 0
Received: 1

  217 |           args: ['--debug-build-paths', '!app/with-type-error/**'],
  218 |         })
> 219 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  220 |
  221 |         expect(buildResult.cliOutput).toContain('Route (app)')
  222 |         expect(buildResult.cliOutput).toContain('Route (pages)')

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:219:38)

● debug-build-paths › default fixture › glob pattern matching › should build routes inside route groups

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

Expected: 0
Received: 1

  231 |           args: ['--debug-build-paths', 'app/(group)/**/page.tsx'],
  232 |         })
> 233 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  234 |         expect(buildResult.cliOutput).toContain('Route (app)')
  235 |         // Route groups are stripped from the path, so /nested instead of /(group)/nested
  236 |         expect(buildResult.cliOutput).toContain('/nested')

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:233:38)

● debug-build-paths › default fixture › glob pattern matching › should build routes with parallel routes

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

Expected: 0
Received: 1

  244 |           args: ['--debug-build-paths', 'app/parallel-test/**/page.tsx'],
  245 |         })
> 246 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  247 |         expect(buildResult.cliOutput).toContain('Route (app)')
  248 |         // Parallel route segments (@sidebar) are stripped from the path
  249 |         expect(buildResult.cliOutput).toContain('/parallel-test')

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:246:38)

● debug-build-paths › with-compile-error fixture › should skip compilation of excluded routes with compile errors

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

Expected: 0
Received: 1

  296 |       })
  297 |       // Build should succeed because the broken page is not compiled
> 298 |       expect(buildResult.exitCode).toBe(0)
      |                                    ^
  299 |       expect(buildResult.cliOutput).toContain('Route (app)')
  300 |       expect(buildResult.cliOutput).toContain('○ /valid')
  301 |       // Should not include the broken route

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:298:36)

pnpm test-start-turbo test/e2e/app-dir/app-middleware/app-middleware-without-pages-dir.test.ts (turbopack) (job)

  • deployment-id-handling disabled > should not append dpl query to all assets for / (DD)
  • deployment-id-handling disabled > should not append dpl query to all assets for /pages-edge (DD)
  • deployment-id-handling disabled > should not append dpl query to all assets for /from-app (DD)
  • deployment-id-handling disabled > should not append dpl query to all assets for /from-app/edge (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should append dpl query to all assets correctly for / (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should append dpl query to all assets correctly for /pages-edge (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should append dpl query to all assets correctly for /from-app (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should append dpl query to all assets correctly for /from-app/edge (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should have deployment id env available (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should have deployment id env available (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should contain deployment id in prefetch request (DD)
  • deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID > should contain deployment id in RSC payload request headers (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should append dpl query to all assets correctly for / (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should append dpl query to all assets correctly for /pages-edge (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should append dpl query to all assets correctly for /from-app (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should append dpl query to all assets correctly for /from-app/edge (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should have deployment id env available (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should have deployment id env available (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should contain deployment id in prefetch request (DD)
  • deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN > should contain deployment id in RSC payload request headers (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should append dpl query to all assets correctly for / (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should append dpl query to all assets correctly for /pages-edge (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should append dpl query to all assets correctly for /from-app (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should append dpl query to all assets correctly for /from-app/edge (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should have deployment id env available (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should have deployment id env available (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should contain deployment id in prefetch request (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID > should contain deployment id in RSC payload request headers (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should append dpl query to all assets correctly for / (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should append dpl query to all assets correctly for /pages-edge (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should append dpl query to all assets correctly for /from-app (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should append dpl query to all assets correctly for /from-app/edge (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should have deployment id env available (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should have deployment id env available (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should contain deployment id in prefetch request (DD)
  • deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId > should contain deployment id in RSC payload request headers (DD)
Expand output

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should append dpl query to all assets correctly for /

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should append dpl query to all assets correctly for /pages-edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should append dpl query to all assets correctly for /from-app

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should append dpl query to all assets correctly for /from-app/edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should contain deployment id in prefetch request

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID › should contain deployment id in RSC payload request headers

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should append dpl query to all assets correctly for /

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should append dpl query to all assets correctly for /pages-edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should append dpl query to all assets correctly for /from-app

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should append dpl query to all assets correctly for /from-app/edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should contain deployment id in prefetch request

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with CUSTOM_DEPLOYMENT_ID › should contain deployment id in RSC payload request headers

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should append dpl query to all assets correctly for /

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should append dpl query to all assets correctly for /pages-edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should append dpl query to all assets correctly for /from-app

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should append dpl query to all assets correctly for /from-app/edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should contain deployment id in prefetch request

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with NEXT_DEPLOYMENT_ID and runtimeServerDeploymentId › should contain deployment id in RSC payload request headers

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should append dpl query to all assets correctly for /

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should append dpl query to all assets correctly for /pages-edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should append dpl query to all assets correctly for /from-app

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should append dpl query to all assets correctly for /from-app/edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should have deployment id env available

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should contain deployment id in prefetch request

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling enabled with IMMUTABLE_ASSET_TOKEN › should contain deployment id in RSC payload request headers

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling disabled › should not append dpl query to all assets for /

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling disabled › should not append dpl query to all assets for /pages-edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling disabled › should not append dpl query to all assets for /from-app

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

● deployment-id-handling disabled › should not append dpl query to all assets for /from-app/edge

next build failed with code/signal 1

   97 |             if (code || signal)
   98 |               reject(
>  99 |                 new Error(
      |                 ^
  100 |                   `next build failed with code/signal ${code || signal}`
  101 |                 )
  102 |               )

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

@codspeed-hq
Copy link

codspeed-hq bot commented Mar 9, 2026

Merging this PR will not alter performance

✅ 17 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing mischnic/emit-collect (e810348) with mischnic/ReferenceTypeCondition (9dadd5e)

Open in CodSpeed

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.

@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Mar 9, 2026

Stats from current PR

✅ No significant changes detected

📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 456ms 455ms ▁▁▆▁▁
Cold (Ready in log) 437ms 438ms ▁▁▄▁▁
Cold (First Request) 1.279s 1.281s ▁▂▄▂▂
Warm (Listen) 456ms 457ms ▁▁▅▁▁
Warm (Ready in log) 441ms 442ms ▁▁▄▁▁
Warm (First Request) 354ms 347ms ▁▁▃▁▁
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 456ms 456ms ▁▁▁█▁
Cold (Ready in log) 438ms 440ms ▃▄▄█▂
Cold (First Request) 1.951s 1.955s ▂▂▂█▂
Warm (Listen) 456ms 456ms ▁▁▁█▁
Warm (Ready in log) 437ms 439ms ▃▃▃█▂
Warm (First Request) 1.954s 1.939s ▂▂▂█▂

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 3.780s 3.839s ▁▁▄▁▁
Cached Build 3.822s 3.823s ▁▁▄▁▁
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 14.066s 14.077s ▁▁▁█▂
Cached Build 14.304s 14.316s ▁▁▁█▂
node_modules Size 477 MB 477 MB █████
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles: **402 kB** → **402 kB** ✅ -11 B

80 files with content-based hashes (individual files not comparable between builds)

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 764 B 766 B
Total 764 B 766 B ⚠️ +2 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 451 B 453 B
Total 451 B 453 B ⚠️ +2 B

📦 Webpack

Client

Main Bundles
Canary PR Change
5528-HASH.js gzip 5.54 kB N/A -
6280-HASH.js gzip 59.5 kB N/A -
6335.HASH.js gzip 169 B N/A -
912-HASH.js gzip 4.59 kB N/A -
e8aec2e4-HASH.js gzip 62.6 kB N/A -
framework-HASH.js gzip 59.7 kB 59.7 kB
main-app-HASH.js gzip 255 B 254 B
main-HASH.js gzip 39.1 kB 39.1 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
262-HASH.js gzip N/A 4.59 kB -
2889.HASH.js gzip N/A 169 B -
5602-HASH.js gzip N/A 5.55 kB -
6948ada0-HASH.js gzip N/A 62.6 kB -
9544-HASH.js gzip N/A 60.3 kB -
Total 233 kB 234 kB ⚠️ +746 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 183 B 180 B 🟢 3 B (-2%)
css-HASH.js gzip 331 B 330 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 351 B 352 B
hooks-HASH.js gzip 384 B 383 B
image-HASH.js gzip 580 B 581 B
index-HASH.js gzip 260 B 260 B
link-HASH.js gzip 2.51 kB 2.51 kB
routerDirect..HASH.js gzip 320 B 319 B
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.98 kB 7.98 kB ✅ -1 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 125 kB 125 kB
page.js gzip 256 kB 257 kB
Total 381 kB 382 kB ⚠️ +703 B
Middleware
Canary PR Change
middleware-b..fest.js gzip 617 B 616 B
middleware-r..fest.js gzip 156 B 155 B
middleware.js gzip 43.8 kB 43.7 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 45.4 kB 45.3 kB ✅ -95 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 715 B 718 B
Total 715 B 718 B ⚠️ +3 B
Build Cache
Canary PR Change
0.pack gzip 4.07 MB 4.08 MB 🔴 +4.88 kB (+0%)
index.pack gzip 103 kB 105 kB 🔴 +1.13 kB (+1%)
index.pack.old gzip 103 kB 104 kB
Total 4.28 MB 4.29 MB ⚠️ +6.92 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 323 kB 323 kB
app-page-exp..prod.js gzip 171 kB 171 kB
app-page-tur...dev.js gzip 322 kB 322 kB
app-page-tur..prod.js gzip 171 kB 171 kB
app-page-tur...dev.js gzip 319 kB 319 kB
app-page-tur..prod.js gzip 169 kB 169 kB
app-page.run...dev.js gzip 319 kB 319 kB
app-page.run..prod.js gzip 169 kB 169 kB
app-route-ex...dev.js gzip 70.9 kB 70.9 kB
app-route-ex..prod.js gzip 49.3 kB 49.3 kB
app-route-tu...dev.js gzip 70.9 kB 70.9 kB
app-route-tu..prod.js gzip 49.3 kB 49.3 kB
app-route-tu...dev.js gzip 70.5 kB 70.5 kB
app-route-tu..prod.js gzip 49.1 kB 49.1 kB
app-route.ru...dev.js gzip 70.5 kB 70.5 kB
app-route.ru..prod.js gzip 49 kB 49 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 43.3 kB 43.3 kB
pages-api-tu..prod.js gzip 32.9 kB 32.9 kB
pages-api.ru...dev.js gzip 43.2 kB 43.2 kB
pages-api.ru..prod.js gzip 32.9 kB 32.9 kB
pages-turbo....dev.js gzip 52.6 kB 52.6 kB
pages-turbo...prod.js gzip 38.5 kB 38.5 kB
pages.runtim...dev.js gzip 52.6 kB 52.6 kB
pages.runtim..prod.js gzip 38.5 kB 38.5 kB
server.runti..prod.js gzip 62 kB 62 kB
Total 2.84 MB 2.84 MB ✅ -1 B
📎 Tarball URL
https://vercel-packages.vercel.app/next/commits/e810348bc9c3a094e1b122c01da7b72b803915a1/next

@mischnic mischnic changed the base branch from canary to graphite-base/91100 March 9, 2026 14:26
@mischnic mischnic force-pushed the mischnic/emit-collect branch from 358196c to 91a848f Compare March 9, 2026 14:26
@mischnic mischnic changed the base branch from graphite-base/91100 to mischnic/ReferenceTypeCondition March 9, 2026 14:26
@mischnic mischnic force-pushed the mischnic/emit-collect branch from 91a848f to e810348 Compare March 9, 2026 14:41
@mischnic mischnic changed the title Turbopack: unify ModuleGraph constructors Turbopack: emit/collect Mar 9, 2026
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.

2 participants