Skip to content

Conversation

@sokra
Copy link
Member

@sokra sokra commented Jan 19, 2026

What?

Use selective reads to read defined env vars in module analysis.

This allows to add/remove env vars without invalidating all modules.

Copy link
Member Author

sokra commented Jan 19, 2026

@sokra sokra changed the base branch from sokra/operation-vc-for-global-info to graphite-base/88759 January 19, 2026 18:00
@sokra sokra force-pushed the sokra/selective-env-vars branch from e6f15e9 to 4096331 Compare January 19, 2026 18:00
@sokra sokra force-pushed the graphite-base/88759 branch from 8c6302c to 2494303 Compare January 19, 2026 18:00
@sokra sokra changed the title Turbopack: improve selective read support to allow Equivalent keys Turbopack: selective reads of defined env vars in module analysis Jan 19, 2026
@sokra sokra changed the base branch from graphite-base/88759 to sokra/equivalent-selective-read January 19, 2026 18:01
@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Jan 19, 2026

Failing test suites

Commit: 377d927 | About building and testing Next.js

pnpm test-dev test/e2e/app-dir/next-config-ts-native-ts/export-as-default/next-config-ts-export-as-default-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)

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

Expected: "foo"
Received: ""

  17 |   it('should be able to use Node.js API (ESM)', async () => {
  18 |     const $ = await next.render$('/')
> 19 |     expect($('p').text()).toBe('foo')
     |                           ^
  20 |   })
  21 | })
  22 |

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

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

  • next-config-ts-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

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

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

pnpm test test/integration/dynamic-routing/test/middleware.test.ts (turbopack) (job)

  • 3rd Party CSS Module Support > production mode > should have compiled successfully (DD)
  • 3rd Party CSS Module Support > production mode > should've emitted a single CSS file (DD)
  • 3rd Party CSS Module Support > production mode > should've injected the CSS on server render (DD)
  • Basic CSS Module Support > production mode > should have compiled successfully (DD)
  • Basic CSS Module Support > production mode > should've emitted a single CSS file (DD)
  • Basic CSS Module Support > production mode > should've injected the CSS on server render (DD)
  • CSS Module Composes Usage (Basic) > production mode > should have compiled successfully (DD)
  • CSS Module Composes Usage (Basic) > production mode > should've emitted a single CSS file (DD)
  • Can hot reload CSS Module without losing state > should update CSS color without remounting (DD)
  • Catch-all Route CSS Module Usage > production mode > should have compiled successfully (DD)
  • Catch-all Route CSS Module Usage > production mode > should apply styles correctly (DD)
  • Catch-all Route CSS Module Usage > production mode > should've emitted a single CSS file (DD)
  • Dynamic Route CSS Module Usage > production mode > should have compiled successfully (DD)
  • Dynamic Route CSS Module Usage > production mode > should apply styles correctly (DD)
  • Dynamic Route CSS Module Usage > production mode > should've emitted a single CSS file (DD)
  • Has CSS Module in computed styles in Development > should have CSS for page (DD)
  • Has CSS Module in computed styles in Production > production mode > should have compiled successfully (DD)
  • Has CSS Module in computed styles in Production > production mode > should have CSS for page (DD)
  • Valid CSS Module Usage from within node_modules > production mode > should have compiled successfully (DD)
  • Valid CSS Module Usage from within node_modules > production mode > should've prerendered with relevant data (DD)
  • Valid CSS Module Usage from within node_modules > production mode > should've emitted a single CSS file (DD)
  • cssmodules-pure-no-check usage > should have compiled successfully (DD)
  • cssmodules-pure-no-check usage > should apply styles correctly (DD)
  • cssmodules-pure-no-check usage > should've emitted a CSS file (DD)
Expand output

● Basic CSS Module Support › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  42 |
  43 |       it('should have compiled successfully', () => {
> 44 |         expect(code).toBe(0)
     |                      ^
  45 |         expect(stdout).toMatch(/Compiled successfully/)
  46 |       })
  47 |

  at Object.toBe (integration/css-modules/test/index.test.ts:44:22)

● Basic CSS Module Support › production mode › should've emitted a single CSS file

FetchError: request to http://localhost:37679/ failed, reason: read ECONNRESET

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Basic CSS Module Support › production mode › should've injected the CSS on server render

FetchError: request to http://localhost:37679/ failed, reason: connect ECONNREFUSED 127.0.0.1:37679

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● 3rd Party CSS Module Support › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  118 |
  119 |       it('should have compiled successfully', () => {
> 120 |         expect(code).toBe(0)
      |                      ^
  121 |         expect(stdout).toMatch(/Compiled successfully/)
  122 |       })
  123 |

  at Object.toBe (integration/css-modules/test/index.test.ts:120:22)

● 3rd Party CSS Module Support › production mode › should've emitted a single CSS file

FetchError: request to http://localhost:43591/ failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● 3rd Party CSS Module Support › production mode › should've injected the CSS on server render

FetchError: request to http://localhost:43591/ failed, reason: connect ECONNREFUSED 127.0.0.1:43591

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Has CSS Module in computed styles in Development › should have CSS for page

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Has CSS Module in computed styles in Development should have CSS for page 1`

Snapshot: "rgb(255, 0, 0)"
Received: null

  194 |       `window.getComputedStyle(document.querySelector('#verify-red')).color`
  195 |     )
> 196 |     expect(currentColor).toMatchInlineSnapshot(`"rgb(255, 0, 0)"`)
      |                          ^
  197 |   })
  198 | })
  199 |

  at Object.toMatchInlineSnapshot (integration/css-modules/test/index.test.ts:196:26)

● Has CSS Module in computed styles in Production › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  221 |
  222 |       it('should have compiled successfully', () => {
> 223 |         expect(code).toBe(0)
      |                      ^
  224 |         expect(stdout).toMatch(/Compiled successfully/)
  225 |       })
  226 |

  at Object.toBe (integration/css-modules/test/index.test.ts:223:22)

● Has CSS Module in computed styles in Production › production mode › should have CSS for page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:37591/
Call log:
  - navigating to "http://localhost:37591/", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/css-modules/test/index.test.ts:228:25)

● Can hot reload CSS Module without losing state › should update CSS color without remounting

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#text-input') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/css-modules/test/index.test.ts:257:19)
  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:437:17)
  at Object.type (integration/css-modules/test/index.test.ts:257:45)

● Valid CSS Module Usage from within node_modules › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  372 |
  373 |       it('should have compiled successfully', () => {
> 374 |         expect(code).toBe(0)
      |                      ^
  375 |         expect(stdout).toMatch(/Compiled successfully/)
  376 |       })
  377 |

  at Object.toBe (integration/css-modules/test/index.test.ts:374:22)

● Valid CSS Module Usage from within node_modules › production mode › should've prerendered with relevant data

FetchError: request to http://localhost:37973/ failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Valid CSS Module Usage from within node_modules › production mode › should've emitted a single CSS file

FetchError: request to http://localhost:37973/ failed, reason: connect ECONNREFUSED 127.0.0.1:37973

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● CSS Module Composes Usage (Basic) › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  512 |
  513 |       it('should have compiled successfully', () => {
> 514 |         expect(code).toBe(0)
      |                      ^
  515 |         expect(stdout).toMatch(/Compiled successfully/)
  516 |       })
  517 |

  at Object.toBe (integration/css-modules/test/index.test.ts:514:22)

● CSS Module Composes Usage (Basic) › production mode › should've emitted a single CSS file

FetchError: request to http://localhost:43823/ failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Dynamic Route CSS Module Usage › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  627 |
  628 |       it('should have compiled successfully', () => {
> 629 |         expect(code).toBe(0)
      |                      ^
  630 |         expect(stdout).toMatch(/Compiled successfully/)
  631 |       })
  632 |

  at Object.toBe (integration/css-modules/test/index.test.ts:629:22)

● Dynamic Route CSS Module Usage › production mode › should apply styles correctly

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:40009/post-1
Call log:
  - navigating to "http://localhost:40009/post-1", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/css-modules/test/index.test.ts:634:25)

● Dynamic Route CSS Module Usage › production mode › should've emitted a single CSS file

FetchError: request to http://localhost:40009/post-1 failed, reason: connect ECONNREFUSED 127.0.0.1:40009

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Catch-all Route CSS Module Usage › production mode › should have compiled successfully

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

Expected: 0
Received: 1

  690 |
  691 |       it('should have compiled successfully', () => {
> 692 |         expect(code).toBe(0)
      |                      ^
  693 |         expect(stdout).toMatch(/Compiled successfully/)
  694 |       })
  695 |

  at Object.toBe (integration/css-modules/test/index.test.ts:692:22)

● Catch-all Route CSS Module Usage › production mode › should apply styles correctly

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:41779/post-1
Call log:
  - navigating to "http://localhost:41779/post-1", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/css-modules/test/index.test.ts:697:25)

● Catch-all Route CSS Module Usage › production mode › should've emitted a single CSS file

FetchError: request to http://localhost:41779/post-1 failed, reason: connect ECONNREFUSED 127.0.0.1:41779

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● cssmodules-pure-no-check usage › should have compiled successfully

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

Expected: 0
Received: 1

  757 |   it('should have compiled successfully', () => {
  758 |     console.log(stdout)
> 759 |     expect(code).toBe(0)
      |                  ^
  760 |     expect(stdout).toMatch(/Compiled successfully/)
  761 |   })
  762 |

  at Object.toBe (integration/css-modules/test/index.test.ts:759:18)

● cssmodules-pure-no-check usage › should apply styles correctly

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:46403/
Call log:
  - navigating to "http://localhost:46403/", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/css-modules/test/index.test.ts:764:21)

● cssmodules-pure-no-check usage › should've emitted a CSS file

FetchError: request to http://localhost:46403/ failed, reason: connect ECONNREFUSED 127.0.0.1:46403

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

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

  • Image Optimizer > External rewrite support with for serving static content in images > production mode > should return response when image is served from an external rewrite (DD)
  • Image Optimizer > Server support for headers in next.config.js > production mode > should set max-age header (DD)
  • Image Optimizer > Server support for headers in next.config.js > production mode > should not set max-age header when not matching next.config.js (DD)
  • Image Optimizer > dev support next.config.js cloudinary loader > should 404 when loader is not default (DD)
  • Image Optimizer > images.unoptimized in next.config.js > should 404 when unoptimized (DD)
Expand output

● Image Optimizer › Server support for headers in next.config.js › production mode › should set max-age header

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
Turbopack build encountered 1 warnings:
./test/integration/image-optimizer/app/public/test.avif
AVIF image not supported
This version of Turbopack does not support AVIF images, will emit without optimization or encoding

Import trace:
  SSR:
    ./test/integration/image-optimizer/app/public/test.avif
    ./test/integration/image-optimizer/app/pages/index.js


✓ Compiled successfully in 408ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

● Image Optimizer › Server support for headers in next.config.js › production mode › should not set max-age header when not matching next.config.js

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
Turbopack build encountered 1 warnings:
./test/integration/image-optimizer/app/public/test.avif
AVIF image not supported
This version of Turbopack does not support AVIF images, will emit without optimization or encoding

Import trace:
  SSR:
    ./test/integration/image-optimizer/app/public/test.avif
    ./test/integration/image-optimizer/app/pages/index.js


✓ Compiled successfully in 408ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

● Image Optimizer › dev support next.config.js cloudinary loader › should 404 when loader is not default

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

Expected: 404
Received: 500

  801 |       const opts = { headers: { accept: 'image/webp' } }
  802 |       const res = await fetchViaHTTP(appPort, '/_next/image', query, opts)
> 803 |       expect(res.status).toBe(404)
      |                          ^
  804 |     })
  805 |   })
  806 |

  at Object.toBe (integration/image-optimizer/test/index.test.ts:803:26)

● Image Optimizer › images.unoptimized in next.config.js › should 404 when unoptimized

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

Expected: 404
Received: 500

  831 |       const opts = { headers: { accept: 'image/webp' } }
  832 |       const res = await fetchViaHTTP(appPort, '/_next/image', query, opts)
> 833 |       expect(res.status).toBe(404)
      |                          ^
  834 |     })
  835 |   })
  836 |

  at Object.toBe (integration/image-optimizer/test/index.test.ts:833:26)

● Image Optimizer › External rewrite support with for serving static content in images › production mode › should return response when image is served from an external rewrite

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
Turbopack build encountered 1 warnings:
./test/integration/image-optimizer/app/public/test.avif
AVIF image not supported
This version of Turbopack does not support AVIF images, will emit without optimization or encoding

Import trace:
  SSR:
    ./test/integration/image-optimizer/app/public/test.avif
    ./test/integration/image-optimizer/app/pages/index.js


✓ Compiled successfully in 453ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/image-optimizer/app/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/image-optimizer/app/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

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

  • Image Loader Config new > development mode - component > should work with loaderFile config (DD)
  • Image Loader Config new > development mode - component > should work with loader prop (DD)
  • Image Loader Config new > development mode - getImageProps > should work with loaderFile config (DD)
  • Image Loader Config new > development mode - getImageProps > should work with loader prop (DD)
  • Image Loader Config new > production mode - component > should work with loaderFile config (DD)
  • Image Loader Config new > production mode - component > should work with loader prop (DD)
  • Image Loader Config new > production mode - getImageProps > should work with loaderFile config (DD)
  • Image Loader Config new > production mode - getImageProps > should work with loader prop (DD)
Expand output

● Image Loader Config new › development mode - component › should work with loaderFile config

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#img1') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config/test/index.test.ts:21:26)
  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:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config/test/index.test.ts:21:46)

● Image Loader Config new › development mode - component › should work with loader prop

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#img2') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config/test/index.test.ts:31:26)
  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:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config/test/index.test.ts:31:46)

● Image Loader Config new › production mode - component › should work with loaderFile config

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
✓ Compiled successfully in 251ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

● Image Loader Config new › production mode - component › should work with loader prop

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
✓ Compiled successfully in 251ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

● Image Loader Config new › development mode - getImageProps › should work with loaderFile config

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#img1') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config/test/index.test.ts:21:26)
  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:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config/test/index.test.ts:21:46)

● Image Loader Config new › development mode - getImageProps › should work with loader prop

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#img2') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config/test/index.test.ts:31:26)
  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:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config/test/index.test.ts:31:46)

● Image Loader Config new › production mode - getImageProps › should work with loaderFile config

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
✓ Compiled successfully in 213ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

● Image Loader Config new › production mode - getImageProps › should work with loader prop

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

  Running TypeScript ...
  Finished TypeScript in 34ms ...
  Creating an optimized production build ...
✓ Compiled successfully in 213ms
  Collecting page data using 19 workers ...
unhandledRejection Error: Cannot find module './dist/pages/_document'
Require stack:
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js
- /root/actions-runner/_work/next.js/next.js/test/integration/next-image-new/loader-config/.next/server/pages/_document.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/worker.js
- /root/actions-runner/_work/next.js/next.js/packages/next/dist/compiled/jest-worker/processChild.js

  at <unknown> (../dist/server/require-hook.js:57:36)
  at mod.require (../dist/server/require-hook.js:68:28)
  at module evaluation (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/packages_next_document_7b563c16.js:1:42)
  at instantiateModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:740:9)
  at instantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:768:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/next-image-new/loader-config/.next/server/chunks/ssr/[turbopack]_runtime.js:781:12) {
    type: 'Error',
    code: 'MODULE_NOT_FOUND',
    requireStack: [Array]
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:359:11)

pnpm test test/integration/document-file-dependencies/test/index.test.ts (turbopack) (job)

  • Basics > default setting dev > should only render once in SSR (DD)
  • Basics > default setting dev > hydrates correctly for normal page (DD)
  • Basics > default setting dev > useId() values should match on hydration (DD)
  • Basics > default setting dev > should contain dynamicIds in next data for dynamic imports (DD)
  • Basics > production mode > default setting prod > should only render once in SSR (DD)
  • Basics > production mode > default setting prod > no warnings for image related link props (DD)
  • Basics > production mode > default setting prod > hydrates correctly for normal page (DD)
  • Basics > production mode > default setting prod > useId() values should match on hydration (DD)
  • Basics > production mode > default setting prod > should contain dynamicIds in next data for dynamic imports (DD)
  • Concurrent mode in the experimental-edge runtime dev > flushes styled-jsx styles as the page renders (DD)
  • Concurrent mode in the experimental-edge runtime dev > > should not have the initial route announced (DD)
  • Concurrent mode in the nodejs runtime dev > flushes styled-jsx styles as the page renders (DD)
  • Concurrent mode in the nodejs runtime dev > > should not have the initial route announced (DD)
  • production mode > Concurrent mode in the experimental-edge runtime prod > flushes styled-jsx styles as the page renders (DD)
  • production mode > Concurrent mode in the experimental-edge runtime prod > should not have invalid config warning (DD)
  • production mode > Concurrent mode in the experimental-edge runtime prod > > should not have the initial route announced (DD)
  • production mode > Concurrent mode in the nodejs runtime prod > flushes styled-jsx styles as the page renders (DD)
  • production mode > Concurrent mode in the nodejs runtime prod > should not have invalid config warning (DD)
  • production mode > Concurrent mode in the nodejs runtime prod > > should not have the initial route announced (DD)
Expand output

● Basics › default setting dev › should only render once in SSR

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

Expected: 1
Received: 0

  20 |     it('should only render once in SSR', async () => {
  21 |       await renderViaHTTP(context.appPort, '/')
> 22 |       expect([...context.stdout.matchAll(/__render__/g)].length).toBe(1)
     |                                                                  ^
  23 |     })
  24 |
  25 |     it('no warnings for image related link props', async () => {

  at Object.toBe (integration/react-current-version/test/index.test.ts:22:66)

● Basics › default setting dev › hydrates correctly for normal page

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

Expected: true
Received: undefined

  31 |     it('hydrates correctly for normal page', async () => {
  32 |       const browser = await webdriver(context.appPort, '/')
> 33 |       expect(await browser.eval('window.didHydrate')).toBe(true)
     |                                                       ^
  34 |       expect(await browser.elementById('react-dom-version').text()).toMatch(
  35 |         /19/
  36 |       )

  at Object.toBe (integration/react-current-version/test/index.test.ts:33:55)

● Basics › default setting dev › useId() values should match on hydration

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

Expected: null
Received: ""

  47 |       )
  48 |
> 49 |       expect(ssrId).toEqual(csrId)
     |                     ^
  50 |     })
  51 |
  52 |     it('should contain dynamicIds in next data for dynamic imports', async () => {

  at Object.toEqual (integration/react-current-version/test/index.test.ts:49:21)

● Basics › default setting dev › should contain dynamicIds in next data for dynamic imports

TypeError: Cannot read properties of undefined (reading 'find')

  58 |         if (env === 'dev') {
  59 |           expect(
> 60 |             dynamicIds.find((id) =>
     |                        ^
  61 |               process.env.IS_TURBOPACK_TEST
  62 |                 ? id.endsWith(
  63 |                     'app/components/foo.js [client] (ecmascript, next/dynamic entry)'

  at find (integration/react-current-version/test/index.test.ts:60:24)
  at Object.<anonymous> (integration/react-current-version/test/index.test.ts:72:7)

● Basics › production mode › default setting prod › should only render once in SSR

FetchError: request to http://localhost:44057/ failed, reason: read ECONNRESET

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Basics › production mode › default setting prod › no warnings for image related link props

FetchError: request to http://localhost:44057/ failed, reason: connect ECONNREFUSED 127.0.0.1:44057

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Basics › production mode › default setting prod › hydrates correctly for normal page

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:44057/
Call log:
  - navigating to "http://localhost:44057/", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/react-current-version/test/index.test.ts:32:23)

● Basics › production mode › default setting prod › useId() values should match on hydration

FetchError: request to http://localhost:44057/use-id failed, reason: connect ECONNREFUSED 127.0.0.1:44057

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Basics › production mode › default setting prod › should contain dynamicIds in next data for dynamic imports

FetchError: request to http://localhost:44057/dynamic failed, reason: connect ECONNREFUSED 127.0.0.1:44057

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Concurrent mode in the experimental-edge runtime dev › flushes styled-jsx styles as the page renders

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

Expected: 1
Received: 0

  100 |         )
  101 |         const stylesOccurrence = html.match(/color:(\s)*(?:blue|#00f)/g) || []
> 102 |         expect(stylesOccurrence.length).toBe(1)
      |                                         ^
  103 |
  104 |         await withBrowser('/use-flush-effect/styled-jsx', async (browser) => {
  105 |           await check(

  at Object.toBe (integration/react-current-version/test/index.test.ts:102:41)

● Concurrent mode in the experimental-edge runtime dev › › should not have the initial route announced

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#__next-route-announcer__')

  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 Object.waitForElementByCss (integration/react-current-version/test/index.test.ts:130:14)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/react-current-version/test/index.test.ts:133:14)

● production mode › Concurrent mode in the experimental-edge runtime prod › flushes styled-jsx styles as the page renders

FetchError: request to http://localhost:42945/use-flush-effect/styled-jsx failed, reason: read ECONNRESET

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● production mode › Concurrent mode in the experimental-edge runtime prod › › should not have the initial route announced

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:42945/
Call log:
  - navigating to "http://localhost:42945/", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/react-current-version/test/index.test.ts:128:27)

● production mode › Concurrent mode in the experimental-edge runtime prod › should not have invalid config warning

FetchError: request to http://localhost:42945/ failed, reason: connect ECONNREFUSED 127.0.0.1:42945

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● Concurrent mode in the nodejs runtime dev › flushes styled-jsx styles as the page renders

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

Expected: 1
Received: 0

  100 |         )
  101 |         const stylesOccurrence = html.match(/color:(\s)*(?:blue|#00f)/g) || []
> 102 |         expect(stylesOccurrence.length).toBe(1)
      |                                         ^
  103 |
  104 |         await withBrowser('/use-flush-effect/styled-jsx', async (browser) => {
  105 |           await check(

  at Object.toBe (integration/react-current-version/test/index.test.ts:102:41)

● Concurrent mode in the nodejs runtime dev › › should not have the initial route announced

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#__next-route-announcer__')

  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 Object.waitForElementByCss (integration/react-current-version/test/index.test.ts:130:14)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/react-current-version/test/index.test.ts:133:14)

● production mode › Concurrent mode in the nodejs runtime prod › flushes styled-jsx styles as the page renders

FetchError: request to http://localhost:33205/use-flush-effect/styled-jsx failed, reason: read ECONNRESET

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

● production mode › Concurrent mode in the nodejs runtime prod › › should not have the initial route announced

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:33205/
Call log:
  - navigating to "http://localhost:33205/", waiting until "load"

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

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (integration/react-current-version/test/index.test.ts:128:27)

● production mode › Concurrent mode in the nodejs runtime prod › should not have invalid config warning

FetchError: request to http://localhost:33205/ failed, reason: connect ECONNREFUSED 127.0.0.1:33205

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7_encoding@0.1.13/node_modules/node-fetch/lib/index.js:1491:11)

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

  • next-config-ts-import-json-esm > should support import json (ESM) (DD)
Expand output

● next-config-ts-import-json-esm › should support import json (ESM)

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

Expected: "foo"
Received: ""

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

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

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

  • Body is not hidden when broken in Development > should have body visible (DD)
  • Body is not hidden when unused in Development > should have body visible (DD)
  • Can hot reload CSS without losing state > should update CSS color without remounting (DD)
  • Has CSS in computed styles in Development > should have CSS for page (DD)
  • React Lifecyce Order (dev) > should have the correct color on mount after navigation (DD)
Expand output

● Can hot reload CSS without losing state › should update CSS color without remounting

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#text-input') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/css/test/dev-css-handling.test.ts:39:21)
  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:437:17)
  at Object.type (integration/css/test/dev-css-handling.test.ts:39:47)

● Has CSS in computed styles in Development › should have CSS for page

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Has CSS in computed styles in Development should have CSS for page 1`

Snapshot: "rgb(0, 0, 255)"
Received: null

   99 |         `window.getComputedStyle(document.querySelector('.blue-text')).color`
  100 |       )
> 101 |       expect(currentColor).toMatchInlineSnapshot(`"rgb(0, 0, 255)"`)
      |                            ^
  102 |     } finally {
  103 |       if (browser) {
  104 |         await browser.close()

  at Object.toMatchInlineSnapshot (integration/css/test/dev-css-handling.test.ts:101:28)

● Body is not hidden when unused in Development › should have body visible

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

Expected: "block"
Received: "none"

  132 |         `window.getComputedStyle(document.querySelector('body')).display`
  133 |       )
> 134 |       expect(currentDisplay).toBe('block')
      |                              ^
  135 |     } finally {
  136 |       if (browser) {
  137 |         await browser.close()

  at Object.toBe (integration/css/test/dev-css-handling.test.ts:134:30)

● Body is not hidden when broken in Development › should have body visible

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

Expected: "block"
Received: "none"

  166 |         `window.getComputedStyle(document.querySelector('body')).display`
  167 |       )
> 168 |       expect(currentDisplay).toBe('block')
      |                              ^
  169 |     } finally {
  170 |       pageFile.restore()
  171 |       if (browser) {

  at Object.toBe (integration/css/test/dev-css-handling.test.ts:168:30)

● React Lifecyce Order (dev) › should have the correct color on mount after navigation

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#link-other') 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 Object.waitForElementByCss (integration/css/test/dev-css-handling.test.ts:200:21)
  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:471:17)
  at Object.click (integration/css/test/dev-css-handling.test.ts:200:56)

pnpm test test/integration/custom-routes-catchall/test/index.test.ts (turbopack) (job)

  • Middleware development errors > when matcher is added > sends response correctly (DD)
  • Middleware development errors > when middleware is added > sends response correctly (DD)
  • Middleware development errors > when middleware is removed > sends response correctly (DD)
  • Middleware development errors > when middleware is removed and re-added > sends response correctly (DD)
Expand output

● Middleware development errors › when middleware is removed › sends response correctly

TIMED OUT: success

undefined

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

Expected: 200
Received: 500

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at assertMiddlewareFetch (integration/middleware-dev-update/test/index.test.ts:45:5)
  at Object.<anonymous> (integration/middleware-dev-update/test/index.test.ts:63:7)

● Middleware development errors › when middleware is removed and re-added › sends response correctly

TIMED OUT: success

undefined

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

Expected: 200
Received: 500

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at assertMiddlewareFetch (integration/middleware-dev-update/test/index.test.ts:45:5)
  at Object.<anonymous> (integration/middleware-dev-update/test/index.test.ts:78:7)

● Middleware development errors › when middleware is added › sends response correctly

TIMED OUT: success

undefined

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

Expected: 200
Received: 500

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at assertMiddlewareFetch (integration/middleware-dev-update/test/index.test.ts:45:5)
  at Object.<anonymous> (integration/middleware-dev-update/test/index.test.ts:93:7)

● Middleware development errors › when matcher is added › sends response correctly

TIMED OUT: success

undefined

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

Expected: 200
Received: 500

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at assertMiddlewareFetch (integration/middleware-dev-update/test/index.test.ts:45:5)
  at Object.<anonymous> (integration/middleware-dev-update/test/index.test.ts:114:7)

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

  • Side-effect imports with noUncheckedSideEffectImports > Should build without typescript errors (DD)
Expand output

● Side-effect imports with noUncheckedSideEffectImports › Should build without typescript errors

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

Expected: 0
Received: 1

  23 |     expect(buildResult.cliOutput).not.toContain('globals.sass')
  24 |     expect(buildResult.cliOutput).not.toContain('globals.scss')
> 25 |     expect(buildResult.exitCode).toBe(0)
     |                                  ^
  26 |   })
  27 | })
  28 |

  at Object.toBe (production/typescript-checked-side-effect-imports/index.test.ts:25:34)

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

  • Read-only source HMR > should detect changes to a page (DD)
  • Read-only source HMR > should handle page deletion and subsequent recreation (DD)
  • Read-only source HMR > should detect a new page (DD)
Expand output

● Read-only source HMR › should detect changes to a page

TIMED OUT: /Hello World/

{"props":{"pageProps":{"statusCode":500,"hostname":"[::]"}},"page":"/_error","query":{},"buildId":"development","isFallback":false,"err":{"name":"Error","source":"server","message":"Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js","stack":"Error: Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js\n    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:57:36\n    at Module._load (node:internal/modules/cjs/loader:901:27)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js:4:18)\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:740:9)\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:768:12)\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:781:12)\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:790:18)\n    at Object.\u003canonymous\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js:3:3)\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\n    at Module._load (node:internal/modules/cjs/loader:938:12)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:88:38)\n    at DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:895:77)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:877:21\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:185:36\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NoopTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js:65:31)\n    at ProxyTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js:36:24)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:103\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NextTracerImpl.trace (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:28)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:872:41)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:691:28)\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1479:24)\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1543:32)\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1037:25)\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:412:17)\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:928:17)\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:387:20\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:383:24)\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:252:21)\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:451:24)\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:500:13)\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:224:13)"},"gip":true,"scriptLoader":[]}

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/read-only-source-hmr/test/index.test.ts:63:7)

● Read-only source HMR › should handle page deletion and subsequent recreation

TIMED OUT: /Hello World/

{"props":{"pageProps":{"statusCode":500,"hostname":"[::]"}},"page":"/_error","query":{},"buildId":"development","isFallback":false,"err":{"name":"Error","source":"server","message":"Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js","stack":"Error: Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js\n    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:57:36\n    at Module._load (node:internal/modules/cjs/loader:901:27)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js:4:18)\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:740:9)\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:768:12)\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:781:12)\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:790:18)\n    at Object.\u003canonymous\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js:3:3)\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\n    at Module._load (node:internal/modules/cjs/loader:938:12)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:88:38)\n    at DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:895:77)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:877:21\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:185:36\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NoopTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js:65:31)\n    at ProxyTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js:36:24)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:103\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NextTracerImpl.trace (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:28)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:872:41)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:691:28)\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1479:24)\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1543:32)\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1037:25)\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:412:17)\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:928:17)\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:387:20\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:383:24)\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:252:21)\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:451:24)\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:500:13)\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:224:13)"},"gip":true,"scriptLoader":[]}

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/read-only-source-hmr/test/index.test.ts:90:7)

● Read-only source HMR › should detect a new page

TIMED OUT: /New page/

{"props":{"pageProps":{"statusCode":500,"hostname":"[::]"}},"page":"/_error","query":{},"buildId":"development","isFallback":false,"err":{"name":"Error","source":"server","message":"Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js","stack":"Error: Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js\n    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:57:36\n    at Module._load (node:internal/modules/cjs/loader:901:27)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js:4:18)\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:740:9)\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:768:12)\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:781:12)\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:790:18)\n    at Object.\u003canonymous\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/read-only-source-hmr/.next/dev/server/pages/_document.js:3:3)\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\n    at Module._load (node:internal/modules/cjs/loader:938:12)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:88:38)\n    at DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:895:77)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:877:21\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:185:36\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NoopTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js:65:31)\n    at ProxyTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js:36:24)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:103\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NextTracerImpl.trace (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:28)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:872:41)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:691:28)\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1479:24)\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1543:32)\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1037:25)\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:412:17)\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:928:17)\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:387:20\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:383:24)\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:252:21)\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:451:24)\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:500:13)\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:224:13)"},"gip":true,"scriptLoader":[]}

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/read-only-source-hmr/test/index.test.ts:124:7)

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

  • dynamic-css-client-navigation react lazy edge > should not remove style when navigating from static imported component to react lazy at runtime edge (DD)
  • dynamic-css-client-navigation react lazy nodejs > should not remove style when navigating from static imported component to react lazy at runtime nodejs (DD)
Expand output

● dynamic-css-client-navigation react lazy edge › should not remove style when navigating from static imported component to react lazy at runtime edge

next build failed with code/signal 1

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

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

● dynamic-css-client-navigation react lazy nodejs › should not remove style when navigating from static imported component to react lazy at runtime nodejs

next build failed with code/signal 1

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

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

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

  • next-server-nft > default mode > should not include .next directory in traces despite dynamic fs operations (DD)
  • next-server-nft > default mode > should not trace too many files in next-minimal-server.js.nft.json (DD)
  • next-server-nft > with output:standalone > should not trace too many files in next-server.js.nft.json (DD)
Expand output

● next-server-nft › with output:standalone › should not trace too many files in next-server.js.nft.json

next build failed with code/signal 1

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

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

● next-server-nft › default mode › should not include .next directory in traces despite dynamic fs operations

next build failed with code/signal 1

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

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

● next-server-nft › default mode › should not trace too many files in next-minimal-server.js.nft.json

next build failed with code/signal 1

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

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

pnpm test-start-turbo test/e2e/app-dir/app-compilation/index.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 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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:79: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

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

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

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

next build failed with code/signal 1

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

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

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

  • debug-build-paths > default fixture > explicit path formats > should build single page with pages/ prefix (DD)
  • debug-build-paths > default fixture > explicit path formats > should build multiple pages routes (DD)
  • 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 > typechecking with debug-build-paths > should skip typechecking for excluded app 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 single page with pages/ prefix

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

Expected: 0
Received: 1

  17 |           args: ['--debug-build-paths', 'pages/foo.tsx'],
  18 |         })
> 19 |         expect(buildResult.exitCode).toBe(0)
     |                                      ^
  20 |         expect(buildResult.cliOutput).toBeDefined()
  21 |
  22 |         // Should only build the specified page

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

● debug-build-paths › default fixture › explicit path formats › should build multiple pages routes

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

Expected: 0
Received: 1

  33 |           args: ['--debug-build-paths', 'pages/foo.tsx,pages/bar.tsx'],
  34 |         })
> 35 |         expect(buildResult.exitCode).toBe(0)
     |                                      ^
  36 |         expect(buildResult.cliOutput).toBeDefined()
  37 |
  38 |         // Should build both specified pages

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

● 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 › typechecking with debug-build-paths › should skip typechecking for excluded app routes

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

Expected: 0
Received: 1

  235 |         })
  236 |         // Build should succeed because the file with type error is not checked
> 237 |         expect(buildResult.exitCode).toBe(0)
      |                                      ^
  238 |         expect(buildResult.cliOutput).toContain('Route (pages)')
  239 |         expect(buildResult.cliOutput).toContain('○ /foo')
  240 |         // Should not include app routes

  at Object.toBe (production/debug-build-path/debug-build-paths.test.ts:237: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

  270 |       })
  271 |       // Build should succeed because the broken page is not compiled
> 272 |       expect(buildResult.exitCode).toBe(0)
      |                                    ^
  273 |       expect(buildResult.cliOutput).toContain('Route (app)')
  274 |       expect(buildResult.cliOutput).toContain('○ /valid')
  275 |       // Should not include the broken route

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

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

  • segment cache (deployment skew) > does not crash when prefetching a dynamic, non-PPR page on a different deployment (DD)
  • segment cache (deployment skew) > does not crash when prefetching a static page on a different deployment (DD)
Expand output

● segment cache (deployment skew) › does not crash when prefetching a dynamic, non-PPR page on a different deployment

connect ECONNREFUSED 127.0.0.1:41363

● segment cache (deployment skew) › does not crash when prefetching a dynamic, non-PPR page on a different deployment

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

  37 |   })
  38 |
> 39 |   it(
     |   ^
  40 |     'does not crash when prefetching a dynamic, non-PPR page ' +
  41 |       'on a different deployment',
  42 |     async () => {

  at it (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:39:3)
  at Object.describe (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:8:1)

● segment cache (deployment skew) › does not crash when prefetching a static page on a different deployment

connect ECONNREFUSED 127.0.0.1:41363

● segment cache (deployment skew) › does not crash when prefetching a static page on a different deployment

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

  72 |   )
  73 |
> 74 |   it(
     |   ^
  75 |     'does not crash when prefetching a static page on a different deployment',
  76 |     async () => {
  77 |       // Same as the previous test, but for a static page

  at it (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:74:3)
  at Object.describe (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:8:1)

● Test suite failed to run

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

  33 |   })
  34 |
> 35 |   afterAll(async () => {
     |   ^
  36 |     await cleanup()
  37 |   })
  38 |

  at afterAll (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:35:3)
  at Object.describe (e2e/app-dir/segment-cache/deployment-skew/deployment-skew.test.ts:8:1)

pnpm test test/integration/auto-export-query-error/test/index.test.ts (turbopack) (job)

  • Link Component with Encoding > colon > should have correct query on SSR (DD)
  • Link Component with Encoding > colon > should have correct query on Router#push (DD)
  • Link Component with Encoding > colon > should have correct query on simple client-side (DD)
  • Link Component with Encoding > colon > should have correct parsing of url query params (DD)
  • Link Component with Encoding > double quote > should have correct query on SSR (DD)
  • Link Component with Encoding > double quote > should have correct query on Router#push (DD)
  • Link Component with Encoding > double quote > should have correct query on simple client-side (DD)
  • Link Component with Encoding > forward slash > should have correct query on SSR (DD)
  • Link Component with Encoding > forward slash > should have correct query on Router#push (DD)
  • Link Component with Encoding > forward slash > should have correct query on simple client-side (DD)
  • Link Component with Encoding > percent > should have correct query on SSR (DD)
  • Link Component with Encoding > percent > should have correct query on Router#push (DD)
  • Link Component with Encoding > percent > should have correct query on simple client-side (DD)
  • Link Component with Encoding > spaces > should have correct query on SSR (DD)
  • Link Component with Encoding > spaces > should have correct query on Router#push (DD)
  • Link Component with Encoding > spaces > should have correct query on simple client-side (DD)
Expand output

● Link Component with Encoding › spaces › should have correct query on SSR

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:26:36)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/link-with-encoding/test/index.test.ts:26:67)

● Link Component with Encoding › spaces › should have correct query on Router#push

TIMED OUT: true

false

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/link-with-encoding/test/index.test.ts:43:9)

● Link Component with Encoding › spaces › should have correct query on simple client-side

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:58:23)
  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:471:17)
  at Object.click (integration/link-with-encoding/test/index.test.ts:58:54)

● Link Component with Encoding › percent › should have correct query on SSR

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:75:36)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/link-with-encoding/test/index.test.ts:75:67)

● Link Component with Encoding › percent › should have correct query on Router#push

TIMED OUT: true

false

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/link-with-encoding/test/index.test.ts:92:9)

● Link Component with Encoding › percent › should have correct query on simple client-side

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:107:23)
  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:471:17)
  at Object.click (integration/link-with-encoding/test/index.test.ts:107:55)

● Link Component with Encoding › forward slash › should have correct query on SSR

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:127:36)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/link-with-encoding/test/index.test.ts:127:67)

● Link Component with Encoding › forward slash › should have correct query on Router#push

TIMED OUT: true

false

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/link-with-encoding/test/index.test.ts:144:9)

● Link Component with Encoding › forward slash › should have correct query on simple client-side

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:159:23)
  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:471:17)
  at Object.click (integration/link-with-encoding/test/index.test.ts:159:53)

● Link Component with Encoding › double quote › should have correct query on SSR

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:179:36)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/link-with-encoding/test/index.test.ts:179:67)

● Link Component with Encoding › double quote › should have correct query on Router#push

TIMED OUT: true

false

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/link-with-encoding/test/index.test.ts:200:9)

● Link Component with Encoding › double quote › should have correct query on simple client-side

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:219:23)
  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:471:17)
  at Object.click (integration/link-with-encoding/test/index.test.ts:219:60)

● Link Component with Encoding › colon › should have correct query on SSR

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:243:36)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (integration/link-with-encoding/test/index.test.ts:243:67)

● Link Component with Encoding › colon › should have correct query on Router#push

TIMED OUT: true

false

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/link-with-encoding/test/index.test.ts:260:9)

● Link Component with Encoding › colon › should have correct query on simple client-side

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (integration/link-with-encoding/test/index.test.ts:275:23)
  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:471:17)
  at Object.click (integration/link-with-encoding/test/index.test.ts:275:53)

● Link Component with Encoding › colon › should have correct parsing of url query params

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#url-param') 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 Object.waitForElementByCss (integration/link-with-encoding/test/index.test.ts:290:23)
  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:471:17)
  at Object.click (integration/link-with-encoding/test/index.test.ts:290:57)

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

  • GS(S)P Redirect Support > development mode > should apply temporary redirect when visited directly for GSSP page (DD)
  • GS(S)P Redirect Support > development mode > should apply permanent redirect when visited directly for GSSP page (DD)
  • GS(S)P Redirect Support > development mode > should apply statusCode 301 redirect when visited directly for GSSP page (DD)
  • GS(S)P Redirect Support > development mode > should apply statusCode 303 redirect when visited directly for GSSP page (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback GSP page is visited directly (internal dynamic) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) second visit (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) with revalidate (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) with revalidate second visit (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback GSP page is visited directly (internal normal) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback GSP page is visited directly (external) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback GSP page is visited directly (external domain) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when fallback GSSP page is visited directly (external domain) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when GSSP page is navigated to client-side (internal dynamic) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when GSSP page is navigated to client-side (internal normal) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when GSSP page is navigated to client-side (external) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when GSP page is navigated to client-side (internal) (DD)
  • GS(S)P Redirect Support > development mode > should apply redirect when GSP page is navigated to client-side (external) (DD)
  • GS(S)P Redirect Support > development mode > should not replace history of the origin page when GSSP page is navigated to client-side (internal normal) (DD)
  • GS(S)P Redirect Support > development mode > should not replace history of the origin page when GSSP page is navigated to client-side (external) (DD)
  • GS(S)P Redirect Support > development mode > should not replace history of the origin page when GSP page is navigated to client-side (internal) (DD)
  • GS(S)P Redirect Support > development mode > should not replace history of the origin page when GSP page is navigated to client-side (external) (DD)
Expand output

● GS(S)P Redirect Support › development mode › should apply temporary redirect when visited directly for GSSP page

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

Expected: 307
Received: 500

  28 |       }
  29 |     )
> 30 |     expect(res.status).toBe(307)
     |                        ^
  31 |
  32 |     const { pathname } = new URL(res.headers.get('location'))
  33 |

  at Object.toBe (integration/gssp-redirect/test/index.test.ts:30:24)

● GS(S)P Redirect Support › development mode › should apply permanent redirect when visited directly for GSSP page

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

Expected: 308
Received: 500

  44 |       }
  45 |     )
> 46 |     expect(res.status).toBe(308)
     |                        ^
  47 |
  48 |     const { pathname } = new URL(res.headers.get('location'))
  49 |

  at Object.toBe (integration/gssp-redirect/test/index.test.ts:46:24)

● GS(S)P Redirect Support › development mode › should apply statusCode 301 redirect when visited directly for GSSP page

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

Expected: 301
Received: 500

  61 |       }
  62 |     )
> 63 |     expect(res.status).toBe(301)
     |                        ^
  64 |
  65 |     const { pathname } = new URL(res.headers.get('location'))
  66 |

  at Object.toBe (integration/gssp-redirect/test/index.test.ts:63:24)

● GS(S)P Redirect Support › development mode › should apply statusCode 303 redirect when visited directly for GSSP page

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

Expected: 303
Received: 500

  78 |       }
  79 |     )
> 80 |     expect(res.status).toBe(303)
     |                        ^
  81 |
  82 |     const { pathname } = new URL(res.headers.get('location'))
  83 |

  at Object.toBe (integration/gssp-redirect/test/index.test.ts:80:24)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback GSP page is visited directly (internal dynamic)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gsp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:97:19)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback blocking GSP page is visited directly (internal dynamic)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gsp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:119:19)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) second visit

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gsp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:141:19)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) with revalidate

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gsp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:163:19)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback blocking GSP page is visited directly (internal dynamic) with revalidate second visit

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gsp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:185:19)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback GSP page is visited directly (internal normal)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#index') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:229:19)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback GSP page is visited directly (external)

TIMED OUT: /oops not found/

<head><meta charset="utf-8" data-next-head=""><meta name="viewport" content="width=device-width" data-next-head=""><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><noscript data-n-css=""></noscript><script src="/_next/static/chunks/%5Broot-of-the-server%5D__fcb8d704._.js" defer=""></script><script src="/_next/static/chunks/test_integration_gssp-redirect_pages__app_2da965e7._.js" defer=""></script><script src="/_next/static/chunks/turbopack-test_integration_gssp-redirect_pages__app_77578ec6._.js" defer=""></script><script src="/_next/static/chunks/%5Broot-of-the-server%5D__7440c015._.js" defer=""></script><script src="/_next/static/chunks/test_integration_gssp-redirect_pages__error_2da965e7._.js" defer=""></script><script src="/_next/static/chunks/turbopack-test_integration_gssp-redirect_pages__error_453e0d2e._.js" defer=""></script><script src="/_next/static/development/_buildManifest.js" defer=""></script><script src="/_next/static/development/_ssgManifest.js" defer=""></script><script src="/_next/static/development/_clientMiddlewareManifest.js" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500,"hostname":"[::]"}},"page":"/_error","query":{},"buildId":"development","isFallback":false,"err":{"name":"Error","source":"server","message":"Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js","stack":"Error: Cannot find module './dist/pages/_document'\nRequire stack:\n- /root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/[turbopack]_runtime.js\n- /root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/pages/_document.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/utils.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/options.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/build/swc/index.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-utils/setup-dev-bundler.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js\n- /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js\n    at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:57:36\n    at Module._load (node:internal/modules/cjs/loader:901:27)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at module evaluation (/root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/packages_next_document_7b563c16.js:4:18)\n    at instantiateModule (/root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:740:9)\n    at instantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:768:12)\n    at getOrInstantiateRuntimeModule (/root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:781:12)\n    at Object.m (/root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/chunks/ssr/[turbopack]_runtime.js:790:18)\n    at Object.\u003canonymous\u003e (/root/actions-runner/_work/next.js/next.js/test/integration/gssp-redirect/.next/dev/server/pages/_document.js:3:3)\n    at Module._compile (node:internal/modules/cjs/loader:1241:14)\n    at Module._extensions..js (node:internal/modules/cjs/loader:1295:10)\n    at Module.load (node:internal/modules/cjs/loader:1091:32)\n    at Module._load (node:internal/modules/cjs/loader:938:12)\n    at Module.require (node:internal/modules/cjs/loader:1115:19)\n    at mod.require (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require-hook.js:68:28)\n    at require (node:internal/modules/helpers:130:18)\n    at requirePage (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/require.js:105:80)\n    at loadComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/load-components.js:88:38)\n    at DevServer.findPageComponentsImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:895:77)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:877:21\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:185:36\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NoopTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js:65:31)\n    at ProxyTracer.startActiveSpan (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js:36:24)\n    at /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:103\n    at NoopContextManager.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)\n    at ContextAPI.with (/root/actions-runner/_work/next.js/next.js/node_modules/.pnpm/@opentelemetry+api@1.6.0/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)\n    at NextTracerImpl.trace (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/trace/tracer.js:154:28)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:872:41)\n    at DevServer.findPageComponents (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:691:28)\n    at async DevServer.renderPageComponent (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1479:24)\n    at async DevServer.renderToResponseImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1543:32)\n    at async DevServer.pipeImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:1037:25)\n    at async NextNodeServer.handleCatchallRenderRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/next-server.js:412:17)\n    at async DevServer.handleRequestImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/base-server.js:928:17)\n    at async /root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:387:20\n    at async Span.traceAsyncFn (/root/actions-runner/_work/next.js/next.js/packages/next/dist/trace/trace.js:157:20)\n    at async DevServer.handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/dev/next-dev-server.js:383:24)\n    at async invokeRender (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:252:21)\n    at async handleRequest (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:451:24)\n    at async requestHandlerImpl (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/router-server.js:500:13)\n    at async Server.requestListener (/root/actions-runner/_work/next.js/next.js/packages/next/dist/server/lib/start-server.js:224:13)"},"gip":true,"scriptLoader":[]}</script></body>

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/gssp-redirect/test/index.test.ts:259:5)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback GSP page is visited directly (external domain)

TIMED OUT: example.vercel.sh

localhost

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/gssp-redirect/test/index.test.ts:281:5)

● GS(S)P Redirect Support › development mode › should apply redirect when fallback GSSP page is visited directly (external domain)

TIMED OUT: example.vercel.sh

localhost

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/gssp-redirect/test/index.test.ts:299:5)

● GS(S)P Redirect Support › development mode › should apply redirect when GSSP page is navigated to client-side (internal dynamic)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gssp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:331:19)

● GS(S)P Redirect Support › development mode › should apply redirect when GSSP page is navigated to client-side (internal normal)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#another') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:349:19)

● GS(S)P Redirect Support › development mode › should apply redirect when GSSP page is navigated to client-side (external)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gssp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:364:19)

● GS(S)P Redirect Support › development mode › should apply redirect when GSP page is navigated to client-side (internal)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#another') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:383:19)

● GS(S)P Redirect Support › development mode › should apply redirect when GSP page is navigated to client-side (external)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#gsp') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:398:19)

● GS(S)P Redirect Support › development mode › should not replace history of the origin page when GSSP page is navigated to client-side (internal normal)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#index') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:417:19)

● GS(S)P Redirect Support › development mode › should not replace history of the origin page when GSSP page is navigated to client-side (external)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#index') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:441:19)

● GS(S)P Redirect Support › development mode › should not replace history of the origin page when GSP page is navigated to client-side (internal)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#index') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:465:19)

● GS(S)P Redirect Support › development mode › should not replace history of the origin page when GSP page is navigated to client-side (external)

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('#index') 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 Object.waitForElementByCss (integration/gssp-redirect/test/index.test.ts:489:19)

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

  • router.isReady with appGip > development mode > isReady should be true immediately for pages without getStaticProps (DD)
  • router.isReady with appGip > development mode > isReady should be true immediately for pages without getStaticProps, with query (DD)
  • router.isReady with appGip > development mode > isReady should be true immediately for getStaticProps page without query (DD)
  • router.isReady with appGip > development mode > isReady should be true after query update for getStaticProps page with query (DD)
Expand output

● router.isReady with appGip › development mode › isReady should be true immediately for pages without getStaticProps

TIMED OUT: success

undefined

TypeError: Cannot read properties of undefined (reading 'sort')

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/router-is-ready-app-gip/test/index.test.ts:32:5)

● router.isReady with appGip › development mode › isReady should be true immediately for pages without getStaticProps, with query

TIMED OUT: success

undefined

TypeError: Cannot read properties of undefined (reading 'sort')

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/router-is-ready-app-gip/test/index.test.ts:37:5)

● router.isReady with appGip › development mode › isReady should be true immediately for getStaticProps page without query

TIMED OUT: success

undefined

TypeError: Cannot read properties of undefined (reading 'sort')

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/router-is-ready-app-gip/test/index.test.ts:42:5)

● router.isReady with appGip › development mode › isReady should be true after query update for getStaticProps page with query

TIMED OUT: success

undefined

TypeError: Cannot read properties of undefined (reading 'sort')

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/router-is-ready-app-gip/test/index.test.ts:47:5)

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

  • Image Component basePath Tests > development mode > should load the images (DD)
  • Image Component basePath Tests > development mode > should update the image on src change (DD)
  • Image Component basePath Tests > development mode > should work with layout-fixed so resizing window does not resize image (DD)
  • Image Component basePath Tests > development mode > should work with layout-intrinsic so resizing window maintains image aspect ratio (DD)
  • Image Component basePath Tests > development mode > should work with layout-responsive so resizing window maintains image aspect ratio (DD)
  • Image Component basePath Tests > development mode > should work with layout-fill to fill the parent but NOT stretch with viewport (DD)
  • Image Component basePath Tests > development mode > should work with layout-fill to fill the parent and stretch with viewport (DD)
  • Image Component basePath Tests > development mode > should work with sizes and automatically use layout-responsive (DD)
  • Image Component basePath Tests > development mode > should show missing src error (DD)
  • Image Component basePath Tests > development mode > should show invalid src error (DD)
  • Image Component basePath Tests > development mode > should show invalid src error when protocol-relative (DD)
  • Image Component basePath Tests > development mode > should correctly ignore prose styles (DD)
Expand output

● Image Component basePath Tests › development mode › should load the images

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

Expected: true
Received: false

  82 |           `http://localhost:${appPort}/docs/_next/image?url=%2Fdocs%2Ftest.jpg&w=828&q=75`
  83 |         )
> 84 |       ).toBe(true)
     |         ^
  85 |     } finally {
  86 |       await browser.close()
  87 |     }

  at Object.toBe (integration/next-image-legacy/base-path/test/index.test.ts:84:9)

● Image Component basePath Tests › development mode › should update the image on src change

TIMED OUT: /test\.jpg/

null

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/next-image-legacy/base-path/test/index.test.ts:93:7)

● Image Component basePath Tests › development mode › should work with layout-fixed so resizing window does not resize image

page.waitForSelector: Timeout 5000ms exceeded.
Call log:
  - waiting for locator('#fixed1') 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 Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at elementById (integration/next-image-legacy/base-path/test/index.test.ts:52:29)
  at Object.getSrc (integration/next-image-legacy/base-path/test/index.test.ts:134:20)
  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:455:17)
  at getAttribute (integration/next-image-legacy/base-path/test/index.test.ts:52:45)
  at Object.getSrc (integration/next-image-legacy/base-path/test/index.test.ts:134:20)

● Image Component basePath Tests › development mode › should work with layout-intrinsic so resizing window maintains image aspect ratio

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

  156 |   })
  157 |
> 158 |   it('should work with layout-intrinsic so resizing window maintains image aspect ratio', async () => {
      |   ^
  159 |     let browser = await webdriver(appPort, '/docs/layout-intrinsic')
  160 |     try {
  161 |       const width = 1200

  at it (integration/next-image-legacy/base-path/test/index.test.ts:158:3)
  at runTests (integration/next-image-legacy/base-path/test/index.test.ts:478:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:469:58
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › development mode › should work with layout-responsive so resizing window maintains image aspect ratio

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

  197 |   })
  198 |
> 199 |   it('should work with layout-responsive so resizing window maintains image aspect ratio', async () => {
      |   ^
  200 |     let browser = await webdriver(appPort, '/docs/layout-responsive')
  201 |     try {
  202 |       const width = 1200

  at it (integration/next-image-legacy/base-path/test/index.test.ts:199:3)
  at runTests (integration/next-image-legacy/base-path/test/index.test.ts:478:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:469:58
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › development mode › should work with layout-fill to fill the parent but NOT stretch with viewport

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

  238 |   })
  239 |
> 240 |   it('should work with layout-fill to fill the parent but NOT stretch with viewport', async () => {
      |   ^
  241 |     let browser = await webdriver(appPort, '/docs/layout-fill')
  242 |     try {
  243 |       const width = 600

  at it (integration/next-image-legacy/base-path/test/index.test.ts:240:3)
  at runTests (integration/next-image-legacy/base-path/test/index.test.ts:478:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:469:58
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › development mode › should work with layout-fill to fill the parent and stretch with viewport

TIMED OUT: success

undefined

Error: page.waitForSelector: Target page, context or browser has been closed

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/next-image-legacy/base-path/test/index.test.ts:289:7)

● Image Component basePath Tests › development mode › should work with sizes and automatically use layout-responsive

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

  330 |   })
  331 |
> 332 |   it('should work with sizes and automatically use layout-responsive', async () => {
      |   ^
  333 |     let browser = await webdriver(appPort, '/docs/sizes')
  334 |     try {
  335 |       const width = 1200

  at it (integration/next-image-legacy/base-path/test/index.test.ts:332:3)
  at runTests (integration/next-image-legacy/base-path/test/index.test.ts:478:7)
  at integration/next-image-legacy/base-path/test/index.test.ts:469:58
  at Object.describe (integration/next-image-legacy/base-path/test/index.test.ts:468:1)

● Image Component basePath Tests › development mode › should show missing src error

TIMED OUT: /Image is missing required "src" property/gm

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

undefined

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/next-image-legacy/base-path/test/index.test.ts:381:7)

● Image Component basePath Tests › development mode › should show invalid src error

Expected Redbox but found no visible one.

  387 |       const browser = await webdriver(appPort, '/docs/invalid-src')
  388 |
> 389 |       await waitForRedbox(browser)
      |       ^
  390 |       expect(await getRedboxHeader(browser)).toContain(
  391 |         'Invalid src prop (https://google.com/test.png) on `next/image`, hostname "google.com" is not configured under images in your `next.config.js`'
  392 |       )

  at Object.<anonymous> (integration/next-image-legacy/base-path/test/index.test.ts:389:7)

● Image Component basePath Tests › development mode › should show invalid src error when protocol-relative

Expected Redbox but found no visible one.

  399 |       )
  400 |
> 401 |       await waitForRedbox(browser)
      |       ^
  402 |       expect(await getRedboxHeader(browser)).toContain(
  403 |         'Failed to parse src "//assets.example.com/img.jpg" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)'
  404 |       )

  at Object.<anonymous> (integration/next-image-legacy/base-path/test/index.test.ts:401:7)

● Image Component basePath Tests › development mode › should correctly ignore prose styles

TIMED OUT: /result-correct/

undefined

Error: Image not ready

  758 |   }
  759 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 760 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  761 | }
  762 |
  763 | export class File {

  at check (lib/next-test-utils.ts:760:9)
  at Object.<anonymous> (integration/next-image-legacy/base-path/test/index.test.ts:414:7)

pnpm test-dev-turbo test/development/app-dir/cache-components-reused-promise/cache-components-reused-promise.test.ts (turbopack) (job)

  • preferred-region > should return success from Node.js API route (DD)
  • preferred-region > should return success from Edge API route (DD)
Expand output

● preferred-region › should return success from Node.js API route

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

Expected: 200
Received: 500

   8 |   it('should return success from Node.js API route', async () => {
   9 |     const res = await next.fetch('/api/test')
> 10 |     expect(res.status).toBe(200)
     |                        ^
  11 |
  12 |     const data = await res.json()
  13 |     expect(data).toEqual({ status: 'success' })

  at Object.toBe (e2e/app-dir/preferred-region/preferred-region.test.ts:10:24)

● preferred-region › should return success from Edge API route

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

Expected: 200
Received: 500

  16 |   it('should return success from Edge API route', async () => {
  17 |     const res = await next.fetch('/api/test-edge')
> 18 |     expect(res.status).toBe(200)
     |                        ^
  19 |
  20 |     const data = await res.json()
  21 |     expect(data).toEqual({ status: 'success', runtime: 'edge' })

  at Object.toBe (e2e/app-dir/preferred-region/preferred-region.test.ts:18:24)

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

  • app dir - not found with nested layouts > should render the custom not-found page when notFound() is thrown from a page (DD)
Expand output

● app dir - not found with nested layouts › should render the custom not-found page when notFound() is thrown from a page

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Object.elementByCss (e2e/app-dir/not-found-with-nested-layouts/index.test.ts:17:35)

@sokra sokra marked this pull request as ready for review January 19, 2026 18:01
@codspeed-hq
Copy link

codspeed-hq bot commented Jan 19, 2026

Merging this PR will improve performance by ×6.7

⚡ 12 improved benchmarks
✅ 5 untouched benchmarks
⏩ 3 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation build[lucide-react-single] 961.5 ms 143.6 ms ×6.7
Simulation build[shiki] 5.2 s 4.3 s +20.49%
Simulation build[framer-motion-all] 2.8 s 1.9 s +47.22%
Simulation build[lucide-react-all] 7.4 s 6.5 s +14.4%
Simulation build[mui] 2.9 s 2 s +47.13%
Simulation build[framer-motion-single] 2.1 s 1.2 s +71.53%
Simulation build[date-fns-all] 2.1 s 1.2 s +71.14%
Simulation build[date-fns-single] 1,336.2 ms 503.7 ms ×2.7
Simulation build[joy] 2 s 1.1 s +79.75%
Simulation jsonwebtoken.js[full] 356.4 ms 326.8 ms +9.04%
Simulation jsonwebtoken.js[tracing] 314.3 ms 287 ms +9.54%
Simulation packages-bundle.js[tracing] 924.1 ms 893.8 ms +3.39%

Comparing sokra/selective-env-vars (377d927) with canary (1fbb35f)

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.

}
}

#[turbo_tasks::value(transparent, cell = "keyed")]
Copy link
Contributor

@vercel vercel bot Jan 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The members() function extracts the wrong property name from paths ending with Call or TypeOf segments, returning the previous Name instead of the actual property name at the end of the path.

Fix on Vercel

return Ok(());
}
}
if let Some(name) = var.get_definable_name() {
Copy link
Contributor

@vercel vercel bot Jan 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing var_graph check for reassigned free variables when resolving references

Fix on Vercel

analysis: &mut AnalyzeEcmascriptModuleResultBuilder,
) -> Result<()> {
if let Some(prop) = prop.as_str() {
let prop_seg = DefinableNameSegment::Name(prop.into());
Copy link
Contributor

@vercel vercel bot Jan 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing var_graph check allows using incorrect compile-time references for reassigned free variables in handle_member

Fix on Vercel

@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Jan 19, 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 (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 455ms 457ms ▅▅▅▁▁
Cold (Ready in log) 441ms 441ms ▂▆█▂▇
Cold (First Request) 1.827s 1.835s ▁▅█▂▆
Warm (Listen) 456ms 456ms ▁▁▁▁▁
Warm (Ready in log) 440ms 440ms ▁▅▇▁▅
Warm (First Request) 1.843s 1.829s ▁▆▇▂▅
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 14.026s 14.032s ▁▁█▂▂
Cached Build 14.120s 14.116s ▂▁▇▃▂
node_modules Size 460 MB 460 MB █████
📦 Bundle Sizes

Bundle Sizes

📦 Webpack

Client

Main Bundles
Canary PR Change
2086.HASH.js gzip 169 B N/A -
2161-HASH.js gzip 5.47 kB N/A -
2747-HASH.js gzip 4.53 kB N/A -
4322-HASH.js gzip 52.7 kB N/A -
ec793fe8-HASH.js gzip 62.3 kB N/A -
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 251 B 253 B
main-HASH.js gzip 38.7 kB 39.1 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
1596.HASH.js gzip N/A 169 B -
2658-HASH.js gzip N/A 52.4 kB -
6349-HASH.js gzip N/A 4.52 kB -
7019-HASH.js gzip N/A 5.49 kB -
b17a3386-HASH.js gzip N/A 62.3 kB -
Total 226 kB 226 kB ⚠️ +55 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 193 B
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 336 B 335 B
dynamic-HASH.js gzip 1.8 kB 1.8 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 352 B 349 B
hooks-HASH.js gzip 385 B 384 B
image-HASH.js gzip 580 B 580 B
index-HASH.js gzip 259 B 258 B
link-HASH.js gzip 2.5 kB 2.51 kB
routerDirect..HASH.js gzip 319 B 317 B
script-HASH.js gzip 385 B 387 B
withRouter-HASH.js gzip 316 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.97 kB 7.96 kB ✅ -8 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 126 kB 126 kB
page.js gzip 244 kB 240 kB 🟢 4.72 kB (-2%)
Total 370 kB 366 kB ✅ -4.59 kB
Middleware
Canary PR Change
middleware-b..fest.js gzip 617 B 615 B
middleware-r..fest.js gzip 155 B 156 B
middleware.js gzip 33 kB 33.2 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 34.6 kB 34.9 kB ⚠️ +236 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 736 B 738 B
Total 736 B 738 B ⚠️ +2 B
Build Cache
Canary PR Change
0.pack gzip 3.71 MB 3.72 MB 🔴 +5.65 kB (+0%)
index.pack gzip 102 kB 101 kB
index.pack.old gzip 102 kB 102 kB
Total 3.92 MB 3.92 MB ⚠️ +5.03 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 306 kB 306 kB
app-page-exp..prod.js gzip 163 kB 163 kB
app-page-tur...dev.js gzip 306 kB 306 kB
app-page-tur..prod.js gzip 163 kB 163 kB
app-page-tur...dev.js gzip 302 kB 302 kB
app-page-tur..prod.js gzip 161 kB 161 kB
app-page.run...dev.js gzip 303 kB 303 kB
app-page.run..prod.js gzip 161 kB 161 kB
app-route-ex...dev.js gzip 69.4 kB 69.4 kB
app-route-ex..prod.js gzip 48.2 kB 48.2 kB
app-route-tu...dev.js gzip 69.4 kB 69.4 kB
app-route-tu..prod.js gzip 48.2 kB 48.2 kB
app-route-tu...dev.js gzip 69 kB 69 kB
app-route-tu..prod.js gzip 47.9 kB 47.9 kB
app-route.ru...dev.js gzip 68.9 kB 68.9 kB
app-route.ru..prod.js gzip 47.9 kB 47.9 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 42.4 kB 42.4 kB
pages-api-tu..prod.js gzip 32.2 kB 32.2 kB
pages-api.ru...dev.js gzip 42.4 kB 42.4 kB
pages-api.ru..prod.js gzip 32.2 kB 32.2 kB
pages-turbo....dev.js gzip 51.7 kB 51.7 kB
pages-turbo...prod.js gzip 38.8 kB 38.8 kB
pages.runtim...dev.js gzip 51.7 kB 51.7 kB
pages.runtim..prod.js gzip 38.8 kB 38.8 kB
server.runti..prod.js gzip 62.4 kB 62.4 kB
Total 2.73 MB 2.73 MB ✅ -1 B

@sokra sokra force-pushed the sokra/selective-env-vars branch from 4096331 to 448c79a Compare January 22, 2026 20:50
@sokra sokra force-pushed the sokra/equivalent-selective-read branch from 2494303 to 6282cc0 Compare January 22, 2026 20:50
@sokra sokra force-pushed the sokra/selective-env-vars branch from 448c79a to 97c8270 Compare January 23, 2026 06:58
@sokra sokra force-pushed the sokra/equivalent-selective-read branch 2 times, most recently from c634085 to aa12d3e Compare January 23, 2026 08:03
@sokra sokra force-pushed the sokra/selective-env-vars branch from 97c8270 to 5b92c6a Compare January 23, 2026 08:04
@sokra sokra force-pushed the sokra/equivalent-selective-read branch from aa12d3e to 461c2bb Compare January 23, 2026 08:36
@sokra sokra force-pushed the sokra/selective-env-vars branch from 5b92c6a to aef5e3c Compare January 23, 2026 08:37
@sokra sokra requested a review from mischnic January 23, 2026 09:33
@sokra sokra force-pushed the sokra/selective-env-vars branch from aef5e3c to c62192a Compare January 23, 2026 09:34
@sokra sokra force-pushed the sokra/equivalent-selective-read branch from 461c2bb to 84bcebc Compare January 23, 2026 09:34
@sokra sokra changed the base branch from sokra/equivalent-selective-read to graphite-base/88759 January 23, 2026 09:56
@sokra sokra force-pushed the sokra/selective-env-vars branch from 391f2e7 to 5d08678 Compare January 23, 2026 09:57
@sokra sokra force-pushed the graphite-base/88759 branch from 84bcebc to 088bbd8 Compare January 23, 2026 09:57
@graphite-app graphite-app bot changed the base branch from graphite-base/88759 to canary January 23, 2026 09:57
@sokra sokra force-pushed the sokra/selective-env-vars branch from 5d08678 to 57e790c Compare January 23, 2026 09:57
Comment on lines +1978 to +1980
for segment in name.iter().rev() {
segments.push(DefinableNameSegmentRef::Name(segment));
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for segment in name.iter().rev() {
segments.push(DefinableNameSegmentRef::Name(segment));
}
segments.extend(name.iter().rev().map(DefinableNameSegmentRef::Name));

Comment on lines +1988 to +1990
for segment in name.iter().rev() {
segments.push(DefinableNameSegmentRef::Name(segment));
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
for segment in name.iter().rev() {
segments.push(DefinableNameSegmentRef::Name(segment));
}
segments.extend(name.iter().rev().map(DefinableNameSegmentRef::Name));

let prop_seg = DefinableNameSegment::Name(prop.into());

let references = state.free_var_references.get(&prop_seg);
let has_member = state.free_var_references_members.contains_key(prop).await?;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you measured the initial build time impact? This adds an await into the hotpath.

for (key, _) in self.0.iter() {
if let Some(DefinableNameSegment::Name(name)) = key
.iter()
.rfind(|segment| matches!(segment, DefinableNameSegment::Name(_)))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why filter on Name here?

And why is members() needed in the first place? Why can't we just check FreeVarReferences.contains_key()?

@sokra sokra force-pushed the sokra/selective-env-vars branch from 57e790c to 377d927 Compare January 23, 2026 21:33
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. Turbopack Related to Turbopack with Next.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants