Skip to content

Conversation

@lukesandberg
Copy link
Contributor

@lukesandberg lukesandberg commented Dec 1, 2025

Use our new side effects analysis to statically analyze modules and integrate this into our 'import trimming' logic.

If a module and its transitive dependencies have no side effects based on either declarations or static analysis then we can drop all 'ModuleEvaluation' imports. This can enhance tree shaking and bundle optimization.

How

  • refactor the Module::is_module_side_effect_free function to be side_effects and return an enum to model 'SideEffectful' 'SideEffectFree' and `ModuleEvaluationIsSideEffectFree'. The later can be determined via static analysis.

  • During import trimming, traverse the module graph to see what modules are full side effect free after considering imports. Then use this to trim edges during import trimming.

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

lukesandberg commented Dec 1, 2025

@ijjk
Copy link
Member

ijjk commented Dec 1, 2025

Failing test suites

Commit: 92cb141 | About building and testing Next.js

pnpm test test/integration/basepath-root-catch-all/test/index.test.ts (turbopack) (job)

  • CSS Modules: Import Global CSS > production mode > should've emitted a single CSS file (DD)
Expand output

● CSS Modules: Import Global CSS › production mode › should've emitted a single CSS file

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1087.0ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/_0bb58fa7._.js:1:290)
  at instantiateModule (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-features/fixtures/module-import-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

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

  • CSS Modules: Import Global CSS > production mode > should've emitted a single CSS file (DD)
Expand output

● CSS Modules: Import Global CSS › production mode › should've emitted a single CSS file

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 952.0ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/_0bb58fa7._.js:1:290)
  at instantiateModule (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-features/fixtures/module-import-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-features/fixtures/module-import-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

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

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

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

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 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-import-from-node-modules-cjs > should import from node_modules (CJS) (DD)
Expand output

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

next build failed with code/signal 1

  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 test/e2e/app-dir/next-config-ts-native-ts/export-default/next-config-ts-export-default-cjs.test.ts (job)

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

● next-config-ts-async-function-cjs › should support config as async function (CJS)

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-external/app-external.test.ts (turbopack) (job)

  • app dir - with output export - dynamic missing gsp > should error when dynamic route is missing generateStaticParams > should work (DD)
Expand output

● app dir - with output export - dynamic missing gsp › should error when dynamic route is missing generateStaticParams › should work

expect(received).toMatch(expected)

Expected substring: "Page \"/another/[slug]\" is missing \"generateStaticParams()\" so it cannot be used with \"output: export\" config."
Received string:    "▲ Next.js 16.1.0-canary.15 (Turbopack)·
  Creating an optimized production build ...
✓ Compiled successfully in 1493.2ms
  Running TypeScript ...
  Collecting page data using 19 workers ...
Error: Module 54508 was instantiated because it was required from module 54493, but the module factory is not available.

  at instantiateModule (../.next/server/chunks/ssr/[turbopack]_runtime.js:726:15)
  at getOrInstantiateModuleFromParent (../.next/server/chunks/ssr/[turbopack]_runtime.js:757:12)
  at Context.commonJsRequire [as r] (../.next/server/chunks/ssr/[turbopack]_runtime.js:249:12)
  at module evaluation (../.next/server/chunks/ssr/[root-of-the-server]__600f0ee1._.js:1:47879)
  at instantiateModule (../.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at getOrInstantiateModuleFromParent (../.next/server/chunks/ssr/[turbopack]_runtime.js:757:12)
  at Context.commonJsRequire [as r] (../.next/server/chunks/ssr/[turbopack]_runtime.js:249:12)
  at module evaluation (../.next/server/chunks/ssr/[root-of-the-server]__600f0ee1._.js:1:49176)
  at instantiateModule (../.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at getOrInstantiateModuleFromParent (../.next/server/chunks/ssr/[turbopack]_runtime.js:757:12)·
  > Build error occurred
  Error: Failed to collect page data for /_not-found
      at ignore-listed frames {
    type: 'Error'
  }
  "
  at Object.toMatch (e2e/app-dir-export/test/utils.ts:295:30)

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

  • Babel > should allow setting babelrc env (DD)
  • Babel > should allow setting targets.browsers (DD)
  • Babel > should allow setting targets to a string (DD)
  • Babel > should allow babelrc JSON5 syntax (DD)
Expand output

● Babel › should allow setting babelrc env

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

  Running TypeScript ...
  Creating an optimized production build ...
  Using external babel configuration from /root/actions-runner/_work/next.js/next.js/test/integration/babel-custom/fixtures/babel-env/.babelrc
✓ Compiled successfully in 1678.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/babel-custom/fixtures/babel-env/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_a2737fe3.js:1:235)
  at instantiateModule (../../../test/integration/babel-custom/fixtures/babel-env/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/babel-env/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/babel-env/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/babel-custom/fixtures/babel-env/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/babel-custom/fixtures/babel-env/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Babel › should allow setting targets.browsers

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

  Running TypeScript ...
  Creating an optimized production build ...
  Using external babel configuration from /root/actions-runner/_work/next.js/next.js/test/integration/babel-custom/fixtures/targets-browsers/.babelrc
✓ Compiled successfully in 1651.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/babel-custom/fixtures/targets-browsers/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_be63bff1.js:1:235)
  at instantiateModule (../../../test/integration/babel-custom/fixtures/targets-browsers/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/targets-browsers/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/targets-browsers/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/babel-custom/fixtures/targets-browsers/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/babel-custom/fixtures/targets-browsers/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Babel › should allow setting targets to a string

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

  Running TypeScript ...
  Creating an optimized production build ...
  Using external babel configuration from /root/actions-runner/_work/next.js/next.js/test/integration/babel-custom/fixtures/targets-string/.babelrc
✓ Compiled successfully in 1673.8ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/babel-custom/fixtures/targets-string/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_65be4211.js:1:235)
  at instantiateModule (../../../test/integration/babel-custom/fixtures/targets-string/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/targets-string/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/targets-string/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/babel-custom/fixtures/targets-string/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/babel-custom/fixtures/targets-string/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Babel › should allow babelrc JSON5 syntax

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

  Running TypeScript ...
  Creating an optimized production build ...
  Using external babel configuration from /root/actions-runner/_work/next.js/next.js/test/integration/babel-custom/fixtures/babel-json5/.babelrc
✓ Compiled successfully in 1639.4ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/babel-custom/fixtures/babel-json5/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_ea8ee660.js:1:234)
  at instantiateModule (../../../test/integration/babel-custom/fixtures/babel-json5/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/babel-json5/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/babel-custom/fixtures/babel-json5/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/babel-custom/fixtures/babel-json5/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/babel-custom/fixtures/babel-json5/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test-start-turbo test/e2e/app-dir/app-client-cache/client-cache.original.test.ts (turbopack) (job)

  • app-dir - custom-cache-handler - cjs > cjs module exports > should have logs from cache-handler (DD)
  • app-dir - custom-cache-handler - cjs-default-export > cjs default export > should have logs from cache-handler (DD)
  • app-dir - custom-cache-handler - esm > esm default export > should have logs from cache-handler (DD)
Expand output

● app-dir - custom-cache-handler - cjs › cjs module exports › should have logs from cache-handler

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)

● app-dir - custom-cache-handler - cjs-default-export › cjs default export › should have logs from cache-handler

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)

● app-dir - custom-cache-handler - esm › esm default export › should have logs from cache-handler

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/actions/app-action-progressive-enhancement.test.ts (turbopack) (job)

  • app-dir - custom-cache-handler - cjs > cjs module exports > should have logs from cache-handler (DD)
  • app-dir - custom-cache-handler - cjs-default-export > cjs default export > should have logs from cache-handler (DD)
  • app-dir - custom-cache-handler - esm > esm default export > should have logs from cache-handler (DD)
Expand output

● app-dir - custom-cache-handler - cjs › cjs module exports › should have logs from cache-handler

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)

● app-dir - custom-cache-handler - cjs-default-export › cjs default export › should have logs from cache-handler

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)

● app-dir - custom-cache-handler - esm › esm default export › should have logs from cache-handler

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/asset-prefix-with-basepath/asset-prefix-with-basepath.test.ts (turbopack) (job)

  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /docs/error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /docs/error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /docs/error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /docs/error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
Expand output

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /docs/error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /docs/error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /docs/error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /docs/error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › should not throw any errors when re-fetching the route info

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/useReportWebVitals.test.ts (turbopack) (job)

  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of true and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /docs/error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /docs/error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of false and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /docs/error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /docs/error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of true and i18n of true and middleware false > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
Expand output

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › for /error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of true and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /docs/error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › for /docs/error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of false and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /docs/error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › for /docs/error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of true and i18n of true and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › for /error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware false › should not throw any errors when re-fetching the route info

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /not/a/real/page › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /error?with=query › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /error › should have the correct router parameters after it is ready

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)

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › should not throw any errors when re-fetching the route info

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/css-modules/test/index.test.ts (turbopack) (job)

  • 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

● 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:44759/
Call log:
  - navigating to "http://localhost:44759/", 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:44759/ failed, reason: connect ECONNREFUSED 127.0.0.1:44759

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

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

  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for multipart fetch actions > should not error for requests that stay below the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for multipart fetch actions > should not error for requests that are at the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for multipart fetch actions > should error for requests that exceed the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions > should not error for requests that stay below the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions > should error for requests that exceed the size limit (DD)
Expand output

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions › should not error for requests that stay below the size limit

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)

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions › should error for requests that exceed the size limit

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)

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for multipart fetch actions › should not error for requests that stay below the size limit

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)

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for multipart fetch actions › should not error for requests that are at the size limit

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)

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for multipart fetch actions › should error for requests that exceed the size limit

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/auto-export-error-bail/test/index.test.ts (turbopack) (job)

  • Data URLs > production mode > should compile successfully (DD)
  • Ordering with Global CSS and Modules (prod) > production mode > useLightnincsss(false) > should have compiled successfully (DD)
  • Ordering with Global CSS and Modules (prod) > production mode > useLightnincsss(false) > should have the correct color (css ordering) (DD)
  • Ordering with Global CSS and Modules (prod) > production mode > useLightnincsss(true) > should have compiled successfully (DD)
  • Ordering with Global CSS and Modules (prod) > production mode > useLightnincsss(true) > should have the correct color (css ordering) (DD)
  • should handle unresolved files gracefully > production mode > should build correctly (DD)
Expand output

● should handle unresolved files gracefully › production mode › should build correctly

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1713.6ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/unresolved-css-url/.next/server/chunks/ssr/_eca22a91._.js:1:415)
  at instantiateModule (../../../test/integration/css-fixtures/unresolved-css-url/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/unresolved-css-url/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/unresolved-css-url/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/unresolved-css-url/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/unresolved-css-url/.next/server/pages/another.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /another
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Data URLs › production mode › should compile successfully

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1153.4ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/data-url/.next/server/chunks/ssr/_6afc0a79._.js:1:372)
  at instantiateModule (../../../test/integration/css-fixtures/data-url/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/data-url/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/data-url/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/data-url/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/data-url/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Ordering with Global CSS and Modules (prod) › production mode › useLightnincsss(true) › should have compiled successfully

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

Expected: 0
Received: 1

  348 |
  349 |         it('should have compiled successfully', () => {
> 350 |           expect(code).toBe(0)
      |                        ^
  351 |           expect(stdout).toMatch(/Compiled successfully/)
  352 |         })
  353 |

  at Object.toBe (integration/css/test/css-modules.test.ts:350:24)

● Ordering with Global CSS and Modules (prod) › production mode › useLightnincsss(true) › should have the correct color (css ordering)

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:33787/
Call log:
  - navigating to "http://localhost:33787/", 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/test/css-modules.test.ts:355:27)

● Ordering with Global CSS and Modules (prod) › production mode › useLightnincsss(false) › should have compiled successfully

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

Expected: 0
Received: 1

  348 |
  349 |         it('should have compiled successfully', () => {
> 350 |           expect(code).toBe(0)
      |                        ^
  351 |           expect(stdout).toMatch(/Compiled successfully/)
  352 |         })
  353 |

  at Object.toBe (integration/css/test/css-modules.test.ts:350:24)

● Ordering with Global CSS and Modules (prod) › production mode › useLightnincsss(false) › should have the correct color (css ordering)

page.goto: net::ERR_CONNECTION_REFUSED at http://localhost:38843/
Call log:
  - navigating to "http://localhost:38843/", 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/test/css-modules.test.ts:355:27)

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

  • Custom routes > production mode > should honor caseSensitiveRoutes config for /to-ANOTHER (DD)
  • Custom routes > production mode > should honor caseSensitiveRoutes config for /HELLO-world (DD)
  • Custom routes > production mode > should honor caseSensitiveRoutes config for /docs/GITHUB (DD)
  • Custom routes > production mode > should honor caseSensitiveRoutes config for /add-HEADER (DD)
  • Custom routes > production mode > should successfully rewrite a WebSocket request (DD)
  • Custom routes > production mode > should successfully rewrite a WebSocket request to a page (DD)
  • Custom routes > production mode > should not rewrite for _next/data route when a match is found (DD)
  • Custom routes > production mode > should handle has query encoding correctly (DD)
  • Custom routes > production mode > should handle external beforeFiles rewrite correctly (DD)
  • Custom routes > production mode > should handle beforeFiles rewrite to dynamic route correctly (DD)
  • Custom routes > production mode > should handle beforeFiles rewrite to partly dynamic route correctly (DD)
  • Custom routes > production mode > should support long URLs for rewrites (DD)
  • Custom routes > production mode > should resolveHref correctly navigating through history (DD)
  • Custom routes > production mode > should continue in beforeFiles rewrites (DD)
  • Custom routes > production mode > should not hang when proxy rewrite fails (DD)
  • Custom routes > production mode > should parse params correctly for rewrite to auto-export dynamic page (DD)
  • Custom routes > production mode > should provide params correctly for rewrite to auto-export non-dynamic page (DD)
  • Custom routes > production mode > should handle one-to-one rewrite successfully (DD)
  • Custom routes > production mode > should handle chained rewrites successfully (DD)
  • Custom routes > production mode > should handle param like headers properly (DD)
  • Custom routes > production mode > should not match dynamic route immediately after applying header (DD)
  • Custom routes > production mode > should handle chained redirects successfully (DD)
  • Custom routes > production mode > should not match redirect for /_next (DD)
  • Custom routes > production mode > should redirect successfully with permanent: false (DD)
  • Custom routes > production mode > should redirect with params successfully (DD)
  • Custom routes > production mode > should redirect with hash successfully (DD)
  • Custom routes > production mode > should redirect successfully with provided statusCode (DD)
  • Custom routes > production mode > should redirect successfully with catchall (DD)
  • Custom routes > production mode > should server static files through a rewrite (DD)
  • Custom routes > production mode > should rewrite with params successfully (DD)
  • Custom routes > production mode > should not append params when one is used in destination path (DD)
  • Custom routes > production mode > should double redirect successfully (DD)
  • Custom routes > production mode > should allow params in query for rewrite (DD)
  • Custom routes > production mode > should have correct params for catchall rewrite (DD)
  • Custom routes > production mode > should have correct encoding for params with catchall rewrite (DD)
  • Custom routes > production mode > should have correct query for catchall rewrite (DD)
  • Custom routes > production mode > should have correct header for catchall rewrite (DD)
  • Custom routes > production mode > should allow params in query for redirect (DD)
  • Custom routes > production mode > should have correctly encoded params in query for redirect (DD)
  • Custom routes > production mode > should overwrite param values correctly (DD)
  • Custom routes > production mode > should handle query for rewrite correctly (DD)
  • Custom routes > production mode > should not allow rewrite to override page file (DD)
  • Custom routes > production mode > show allow redirect to override the page (DD)
  • Custom routes > production mode > should work successfully on the client (DD)
  • Custom routes > production mode > should work with rewrite when manually specifying href/as (DD)
  • Custom routes > production mode > should work with rewrite when only specifying href (DD)
  • Custom routes > production mode > should work with rewrite when only specifying href and ends in dynamic route (DD)
  • Custom routes > production mode > should match a page after a rewrite (DD)
  • Custom routes > production mode > should match dynamic route after rewrite (DD)
  • Custom routes > production mode > should match public file after rewrite (DD)
  • Custom routes > production mode > should match /_next file after rewrite (DD)
  • Custom routes > production mode > should allow redirecting to external resource (DD)
  • Custom routes > production mode > should apply headers for exact match (DD)
  • Custom routes > production mode > should apply headers for multi match (DD)
  • Custom routes > production mode > should apply params for header key/values (DD)
  • Custom routes > production mode > should support URL for header key/values (DD)
  • Custom routes > production mode > should apply params header key/values with URL (DD)
  • Custom routes > production mode > should apply params header key/values with URL that has port (DD)
  • Custom routes > production mode > should support named pattern for header key/values (DD)
  • Custom routes > production mode > should support proxying to external resource (DD)
  • Custom routes > production mode > should support unnamed parameters correctly (DD)
  • Custom routes > production mode > should support named like unnamed parameters correctly (DD)
  • Custom routes > production mode > should add refresh header for 308 redirect (DD)
  • Custom routes > production mode > should have correctly encoded query in location and refresh headers (DD)
  • Custom routes > production mode > should handle basic api rewrite successfully (DD)
  • Custom routes > production mode > should handle api rewrite with un-named param successfully (DD)
  • Custom routes > production mode > should handle api rewrite with param successfully (DD)
  • Custom routes > production mode > should handle encoded value in the pathname correctly (DD)
  • Custom routes > production mode > should handle unnamed parameters with multi-match successfully (DD)
  • Custom routes > production mode > should handle named regex parameters with multi-match successfully (DD)
  • Custom routes > production mode > should redirect with URL in query correctly (DD)
  • Custom routes > production mode > should redirect with URL in query correctly non-encoded (DD)
  • Custom routes > production mode > should match missing header headers correctly (DD)
  • Custom routes > production mode > should match missing query headers correctly (DD)
  • Custom routes > production mode > should match missing cookie headers correctly (DD)
  • Custom routes > production mode > should match missing header redirect correctly (DD)
  • Custom routes > production mode > should match missing query redirect correctly (DD)
  • Custom routes > production mode > should match missing cookie redirect correctly (DD)
  • Custom routes > production mode > should match missing header rewrite correctly (DD)
  • Custom routes > production mode > should match missing query rewrite correctly (DD)
  • Custom routes > production mode > should match missing cookie rewrite correctly (DD)
  • Custom routes > production mode > should match has header rewrite correctly (DD)
  • Custom routes > production mode > should match has query rewrite correctly (DD)
  • Custom routes > production mode > should match has cookie rewrite correctly (DD)
  • Custom routes > production mode > should match has host rewrite correctly (DD)
  • Custom routes > production mode > should pass has segment for rewrite correctly (DD)
  • Custom routes > production mode > should not pass non captured has value for rewrite correctly (DD)
  • Custom routes > production mode > should pass captured has value for rewrite correctly (DD)
  • Custom routes > production mode > should match has rewrite correctly before files (DD)
  • Custom routes > production mode > should match has header redirect correctly (DD)
  • Custom routes > production mode > should match has query redirect correctly (DD)
  • Custom routes > production mode > should match has cookie redirect correctly (DD)
  • Custom routes > production mode > should match has host redirect correctly (DD)
  • Custom routes > production mode > should match has host redirect and insert in destination correctly (DD)
  • Custom routes > production mode > should match has query redirect with duplicate query key (DD)
  • Custom routes > production mode > should match has header for header correctly (DD)
  • Custom routes > production mode > should match has query for header correctly (DD)
  • Custom routes > production mode > should match has cookie for header correctly (DD)
  • Custom routes > production mode > should match has host for header correctly (DD)
  • Custom routes > production mode > should output routes-manifest successfully (DD)
  • Custom routes > production mode > should have redirects/rewrites in build output with debug flag (DD)
  • Custom routes > production mode > should not show warning for custom routes when not next export (DD)
  • Custom routes > should load custom routes when only one type is used > production mode > should work with just headers (DD)
  • Custom routes > should load custom routes when only one type is used > production mode > should work with just rewrites (DD)
  • Custom routes > should load custom routes when only one type is used > production mode > should work with just redirects (DD)
Expand output

● Custom routes › production mode › should honor caseSensitiveRoutes config for /to-ANOTHER

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should honor caseSensitiveRoutes config for /HELLO-world

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should honor caseSensitiveRoutes config for /docs/GITHUB

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should honor caseSensitiveRoutes config for /add-HEADER

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should successfully rewrite a WebSocket request

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should successfully rewrite a WebSocket request to a page

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not rewrite for _next/data route when a match is found

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle has query encoding correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle external beforeFiles rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle beforeFiles rewrite to dynamic route correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle beforeFiles rewrite to partly dynamic route correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should support long URLs for rewrites

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should resolveHref correctly navigating through history

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should continue in beforeFiles rewrites

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not hang when proxy rewrite fails

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should parse params correctly for rewrite to auto-export dynamic page

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should provide params correctly for rewrite to auto-export non-dynamic page

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle one-to-one rewrite successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle chained rewrites successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle param like headers properly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not match dynamic route immediately after applying header

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle chained redirects successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not match redirect for /_next

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect successfully with permanent: false

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect with params successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect with hash successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect successfully with provided statusCode

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect successfully with catchall

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should server static files through a rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should rewrite with params successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not append params when one is used in destination path

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should double redirect successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should allow params in query for rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have correct params for catchall rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have correct encoding for params with catchall rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have correct query for catchall rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have correct header for catchall rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should allow params in query for redirect

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have correctly encoded params in query for redirect

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should overwrite param values correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle query for rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not allow rewrite to override page file

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › show allow redirect to override the page

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should work successfully on the client

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should work with rewrite when manually specifying href/as

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should work with rewrite when only specifying href

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should work with rewrite when only specifying href and ends in dynamic route

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match a page after a rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match dynamic route after rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match public file after rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match /_next file after rewrite

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should allow redirecting to external resource

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should apply headers for exact match

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should apply headers for multi match

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should apply params for header key/values

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should support URL for header key/values

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should apply params header key/values with URL

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should apply params header key/values with URL that has port

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should support named pattern for header key/values

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should support proxying to external resource

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should support unnamed parameters correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should support named like unnamed parameters correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should add refresh header for 308 redirect

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have correctly encoded query in location and refresh headers

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle basic api rewrite successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle api rewrite with un-named param successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle api rewrite with param successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle encoded value in the pathname correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle unnamed parameters with multi-match successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should handle named regex parameters with multi-match successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect with URL in query correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should redirect with URL in query correctly non-encoded

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing header headers correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing query headers correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing cookie headers correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing header redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing query redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing cookie redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing header rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing query rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match missing cookie rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has header rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has query rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has cookie rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has host rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should pass has segment for rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not pass non captured has value for rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should pass captured has value for rewrite correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has rewrite correctly before files

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has header redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has query redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has cookie redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has host redirect correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has host redirect and insert in destination correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has query redirect with duplicate query key

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has header for header correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has query for header correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has cookie for header correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should match has host for header correctly

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should output routes-manifest successfully

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should have redirects/rewrites in build output with debug flag

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › production mode › should not show warning for custom routes when not next export

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/integration/custom-routes/.next/BUILD_ID'

● Custom routes › should load custom routes when only one type is used › production mode › should work with just headers

command failed with code 1 signal null
⚠ Invalid next.config.js options detected: 
⚠     Unrecognized key(s) in object: 'rewritess', 'redirectss'
⚠ See more info here: https://nextjs.org/docs/messages/invalid-next-config
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ caseSensitiveRoutes

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1040.0ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/custom-routes/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_6289df9e.js:1:138)
  at instantiateModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/custom-routes/.next/server/pages/redirect-override.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /redirect-override
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Custom routes › should load custom routes when only one type is used › production mode › should work with just rewrites

command failed with code 1 signal null
⚠ Invalid next.config.js options detected: 
⚠     Unrecognized key(s) in object: 'rewritess', 'redirectsss', 'headerss'
⚠ See more info here: https://nextjs.org/docs/messages/invalid-next-config
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ caseSensitiveRoutes

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1059.5ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/custom-routes/.next/server/chunks/ssr/[root-of-the-server]__5090fe89._.js:1:905)
  at instantiateModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/custom-routes/.next/server/pages/_sport/[slug].js:9:3)
  > Build error occurred
  Error: Failed to collect page data for /_sport/[slug]
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Custom routes › should load custom routes when only one type is used › production mode › should work with just redirects

command failed with code 1 signal null
⚠ Invalid next.config.js options detected: 
⚠     Unrecognized key(s) in object: 'rewritesss', 'redirectsss', 'headersss'
⚠ See more info here: https://nextjs.org/docs/messages/invalid-next-config
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ caseSensitiveRoutes

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1061.6ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/custom-routes/.next/server/chunks/ssr/[root-of-the-server]__b0c7ad8e._.js:1:7649)
  at instantiateModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/custom-routes/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/custom-routes/.next/server/pages/nav.js:8:3)
  > Build error occurred
  Error: Failed to collect page data for /nav
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test test/integration/dedupes-scripts/test/index.test.ts (turbopack) (job)

  • CLI Usage > production mode > start > should exit when SIGINT is signalled (DD)
  • CLI Usage > production mode > start > should exit when SIGTERM is signalled (DD)
  • CLI Usage > production mode > start > should format IPv6 addresses correctly (DD)
Expand output

● CLI Usage › production mode › start › should exit when SIGINT is signalled

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 992.2ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/cli/basic/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_29ad3448.js:1:138)
  at instantiateModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/cli/basic/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CLI Usage › production mode › start › should exit when SIGTERM is signalled

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 939.2ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/cli/basic/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_29ad3448.js:1:138)
  at instantiateModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/cli/basic/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CLI Usage › production mode › start › should format IPv6 addresses correctly

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 972.1ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/cli/basic/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_29ad3448.js:1:138)
  at instantiateModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/cli/basic/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

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

  • CLI Usage > production mode > start > should exit when SIGINT is signalled (DD)
  • CLI Usage > production mode > start > should exit when SIGTERM is signalled (DD)
  • CLI Usage > production mode > start > should format IPv6 addresses correctly (DD)
Expand output

● CLI Usage › production mode › start › should exit when SIGINT is signalled

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 978.2ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/cli/basic/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_29ad3448.js:1:138)
  at instantiateModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/cli/basic/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CLI Usage › production mode › start › should exit when SIGTERM is signalled

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 951.0ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/cli/basic/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_29ad3448.js:1:138)
  at instantiateModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/cli/basic/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CLI Usage › production mode › start › should format IPv6 addresses correctly

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 997.6ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/cli/basic/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_29ad3448.js:1:138)
  at instantiateModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/cli/basic/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/cli/basic/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

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

  • Edge runtime code with imports > Edge API dynamically importing node.js module in a lib > production mode > throws unsupported module error in production at runtime and prints error on logs (DD)
  • Edge runtime code with imports > Edge API importing vanilla 3rd party module > production mode > does not throw in production at runtime (DD)
  • Edge runtime code with imports > Edge API using Buffer polyfill > production mode > does not throw in production at runtime (DD)
  • Edge runtime code with imports > Middleware dynamically importing node.js module in a lib > production mode > throws unsupported module error in production at runtime and prints error on logs (DD)
  • Edge runtime code with imports > Middleware importing vanilla 3rd party module > production mode > does not throw in production at runtime (DD)
  • Edge runtime code with imports > Middleware using Buffer polyfill > production mode > does not throw in production at runtime (DD)
Expand output

● Edge runtime code with imports › Edge API dynamically importing node.js module in a lib › production mode › throws unsupported module error in production at runtime and prints error on logs

FetchError: request to http://localhost:32861/api/route failed, reason: connect ECONNREFUSED 127.0.0.1:32861

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

● Edge runtime code with imports › Middleware dynamically importing node.js module in a lib › production mode › throws unsupported module error in production at runtime and prints error on logs

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

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

● Edge runtime code with imports › Edge API importing vanilla 3rd party module › production mode › does not throw in production at runtime

FetchError: request to http://localhost:39655/api/route failed, reason: connect ECONNREFUSED 127.0.0.1:39655

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

● Edge runtime code with imports › Middleware importing vanilla 3rd party module › production mode › does not throw in production at runtime

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

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

● Edge runtime code with imports › Edge API using Buffer polyfill › production mode › does not throw in production at runtime

FetchError: request to http://localhost:45751/api/route failed, reason: connect ECONNREFUSED 127.0.0.1:45751

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

● Edge runtime code with imports › Middleware using Buffer polyfill › production mode › does not throw in production at runtime

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

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

pnpm test test/integration/auto-export-query-error/test/index.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)
  • 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 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:43577/ failed, reason: connect ECONNREFUSED 127.0.0.1:43577

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:43577/ failed, reason: connect ECONNREFUSED 127.0.0.1:43577

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:41735/ failed, reason: connect ECONNREFUSED 127.0.0.1:41735

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:41735/ failed, reason: connect ECONNREFUSED 127.0.0.1:41735

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

● 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:37131/
Call log:
  - navigating to "http://localhost:37131/", 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)

● 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:44491/ failed, reason: connect ECONNREFUSED 127.0.0.1:44491

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:44491/ failed, reason: connect ECONNREFUSED 127.0.0.1:44491

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:41267/ failed, reason: connect ECONNREFUSED 127.0.0.1:41267

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:44133/post-1
Call log:
  - navigating to "http://localhost:44133/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:44133/post-1 failed, reason: connect ECONNREFUSED 127.0.0.1:44133

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:38805/post-1
Call log:
  - navigating to "http://localhost:38805/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:38805/post-1 failed, reason: connect ECONNREFUSED 127.0.0.1:38805

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/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:41557/
Call log:
  - navigating to "http://localhost:41557/", 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:41557/ failed, reason: connect ECONNREFUSED 127.0.0.1:41557

  at ClientRequest.<anonymous> (../node_modules/.pnpm/[email protected][email protected]/node_modules/node-fetch/lib/index.js:1491:11)

pnpm test test/integration/handles-export-errors/test/index.test.ts (turbopack) (job)

  • Basic Global Support > production mode > useLightnincsss(false) > should've emitted a single CSS file (DD)
  • Basic Global Support > production mode > useLightnincsss(true) > should've emitted a single CSS file (DD)
  • Basic Global Support with special characters in path > production mode > useLightnincsss(false) > should've emitted a single CSS file (DD)
  • Basic Global Support with special characters in path > production mode > useLightnincsss(true) > should've emitted a single CSS file (DD)
  • Basic Global Support with src/ dir > production mode > useLightnincsss(false) > should've emitted a single CSS file (DD)
  • Basic Global Support with src/ dir > production mode > useLightnincsss(true) > should've emitted a single CSS file (DD)
  • CSS URL via file-loader > production mode > useLightnincsss(false) > should've emitted expected files (DD)
  • CSS URL via file-loader > production mode > useLightnincsss(true) > should've emitted expected files (DD)
  • CSS URL via file-loader and asset prefix (1) > production mode > should've emitted expected files (DD)
  • CSS URL via file-loader and asset prefix (2) > production mode > should've emitted expected files (DD)
  • Multi Global Support (reversed) > production mode > useLightnincsss(false) > should've emitted a single CSS file (DD)
  • Multi Global Support (reversed) > production mode > useLightnincsss(true) > should've emitted a single CSS file (DD)
  • Multi Global Support > production mode > useLightnincsss(false) > should've emitted a single CSS file (DD)
  • Multi Global Support > production mode > useLightnincsss(true) > should've emitted a single CSS file (DD)
  • Nested @import() Global Support > production mode > useLightnincsss(false) > should've emitted a single CSS file (DD)
  • Nested @import() Global Support > production mode > useLightnincsss(true) > should've emitted a single CSS file (DD)
Expand output

● Basic Global Support › production mode › useLightnincsss(true) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1060.6ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_7519252e.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/single-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Basic Global Support › production mode › useLightnincsss(false) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1066.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_7519252e.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/single-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/single-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Basic Global Support with special characters in path › production mode › useLightnincsss(true) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1021.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_1637c72e.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Basic Global Support with special characters in path › production mode › useLightnincsss(false) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1022.9ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_1637c72e.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/single-global-special-characters/a+b/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Basic Global Support with src/ dir › production mode › useLightnincsss(true) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1022.4ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_587f9666.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/single-global-src/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Basic Global Support with src/ dir › production mode › useLightnincsss(false) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1055.1ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_587f9666.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/single-global-src/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/single-global-src/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Multi Global Support › production mode › useLightnincsss(true) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1002.5ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_7832e8b4.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/multi-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Multi Global Support › production mode › useLightnincsss(false) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1036.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_7832e8b4.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/multi-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/multi-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Nested @import() Global Support › production mode › useLightnincsss(true) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 987.8ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_db4a72d0.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/nested-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Nested @import() Global Support › production mode › useLightnincsss(false) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1049.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_db4a72d0.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/nested-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/nested-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Multi Global Support (reversed) › production mode › useLightnincsss(true) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1051.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_f340e2ce.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● Multi Global Support (reversed) › production mode › useLightnincsss(false) › should've emitted a single CSS file

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 991.0ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_f340e2ce.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/multi-global-reversed/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS URL via file-loader › production mode › useLightnincsss(true) › should've emitted expected files

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ✓ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1053.4ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_98411410.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/url-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS URL via file-loader › production mode › useLightnincsss(false) › should've emitted expected files

command failed with code 1 signal null
▲ Next.js 16.1.0-canary.15 (Turbopack)
- Experiments (use with caution):
  ⨯ useLightningcss

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1080.7ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_98411410.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/url-global/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/url-global/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS URL via file-loader and asset prefix (1) › production mode › should've emitted expected files

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1040.3ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/url-global-asset-prefix-1/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_bc8af13f.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/url-global-asset-prefix-1/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/url-global-asset-prefix-1/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/url-global-asset-prefix-1/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/url-global-asset-prefix-1/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/url-global-asset-prefix-1/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

● CSS URL via file-loader and asset prefix (2) › production mode › should've emitted expected files

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

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1071.5ms
  Collecting page data using 19 workers ...
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/css-fixtures/url-global-asset-prefix-2/.next/server/chunks/ssr/packages_next_dist_esm_build_templates_pages_01a555c8.js:1:289)
  at instantiateModule (../../../test/integration/css-fixtures/url-global-asset-prefix-2/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/css-fixtures/url-global-asset-prefix-2/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/css-fixtures/url-global-asset-prefix-2/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/css-fixtures/url-global-asset-prefix-2/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/css-fixtures/url-global-asset-prefix-2/.next/server/pages/index.js:7:3)
  > Build error occurred
  Error: Failed to collect page data for /
  at <unknown> (../dist/build/utils.js:821:37) {
    type: 'Error'
  }
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

pnpm test test/integration/sharp-api/test/sharp-api.test.ts (turbopack) (job)

  • sharp api > should handle custom sharp usage (DD)
Expand output

● sharp api › should handle custom sharp usage

command failed with code 1 signal null
⚠ Warning: Next.js inferred your workspace root, but it may not be correct.
 We detected multiple lockfiles and selected the directory of /root/actions-runner/_work/next.js/next.js/pnpm-lock.yaml as the root directory.
 To silence this warning, set `turbopack.root` in your Next.js config, or consider removing one of the lockfiles if it's not needed.
   See https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack#root-directory for more information.
 Detected additional lockfiles: 
   * /root/actions-runner/_work/next.js/next.js/test/integration/sharp-api/app/package-lock.json

▲ Next.js 16.1.0-canary.15 (Turbopack)

  Running TypeScript ...
  Creating an optimized production build ...
✓ Compiled successfully in 1218.7ms
  Collecting page data using 19 workers ...
  Generating static pages using 19 workers (0/2) ...
Error occurred prerendering page "/404". Read more: https://nextjs.org/docs/messages/prerender-error
ReferenceError: __TURBOPACK__imported__module__1239__ is not defined

  at module evaluation (../../../test/integration/sharp-api/app/.next/server/chunks/ssr/[root-of-the-server]__131f9a28._.js:1:29717)
  at instantiateModule (../../../test/integration/sharp-api/app/.next/server/chunks/ssr/[turbopack]_runtime.js:734:9)
  at instantiateRuntimeModule (../../../test/integration/sharp-api/app/.next/server/chunks/ssr/[turbopack]_runtime.js:762:12)
  at getOrInstantiateRuntimeModule (../../../test/integration/sharp-api/app/.next/server/chunks/ssr/[turbopack]_runtime.js:775:12)
  at Object.m (../../../test/integration/sharp-api/app/.next/server/chunks/ssr/[turbopack]_runtime.js:784:18)
  at Object.<anonymous> (../../../test/integration/sharp-api/app/.next/server/pages/_error.js:6:3)
  Export encountered an error on /_error: /404, exiting the build.
  ⨯ Next.js build worker exited with code: 1 and signal: null
  at ChildProcess.<anonymous> (lib/next-test-utils.ts:325:11)

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

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

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

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

Expected: 0
Received: 1

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

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

pnpm test-start-turbo test/e2e/app-dir/actions/app-action-form-state-node-middleware.test.ts (turbopack) (job)

  • app dir - with output export - trailing slash > should work in prod with trailingSlash 'false' > should work (DD)
  • app dir - with output export - trailing slash > should work in prod with trailingSlash 'true' > should work (DD)
Expand output

● app dir - with output export - trailing slash › should work in prod with trailingSlash 'false' › should work

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at elementByCss (e2e/app-dir-export/test/utils.ts:300:30)
  at fn (lib/next-test-utils.ts:797:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:299:7)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at text (e2e/app-dir-export/test/utils.ts:300:49)
  at fn (lib/next-test-utils.ts:797:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:299:7)

● app dir - with output export - trailing slash › should work in prod with trailingSlash 'true' › should work

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at elementByCss (e2e/app-dir-export/test/utils.ts:300:30)
  at fn (lib/next-test-utils.ts:797:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:299:7)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at text (e2e/app-dir-export/test/utils.ts:300:49)
  at fn (lib/next-test-utils.ts:797:20)
  at Object.<anonymous> (e2e/app-dir-export/test/utils.ts:299:7)

@ijjk
Copy link
Member

ijjk commented Dec 1, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
buildDuration 16.9s 15s N/A
buildDurationCached 13.8s 10.9s N/A
nodeModulesSize 456 MB 456 MB N/A
nextStartRea..uration (ms) 714ms 724ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
4951-HASH.js gzip 5.37 kB 5.38 kB N/A
68680909-HASH.js gzip 62.3 kB 62.3 kB N/A
8034-HASH.js gzip 52.8 kB 53 kB ⚠️ +205 B
9564.HASH.js gzip 170 B 168 B N/A
9565-HASH.js gzip 4.46 kB 4.48 kB N/A
framework-HASH.js gzip 59.7 kB 59.7 kB N/A
main-app-HASH.js gzip 255 B 252 B N/A
main-HASH.js gzip 38.6 kB 38.5 kB N/A
webpack-HASH.js gzip 1.69 kB 1.69 kB N/A
Overall change 52.8 kB 53 kB ⚠️ +205 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
_app-HASH.js gzip 192 B 194 B N/A
_error-HASH.js gzip 183 B 182 B N/A
css-HASH.js gzip 334 B 333 B N/A
dynamic-HASH.js gzip 1.79 kB 1.81 kB N/A
edge-ssr-HASH.js gzip 254 B 255 B N/A
head-HASH.js gzip 352 B 349 B N/A
hooks-HASH.js gzip 383 B 378 B N/A
image-HASH.js gzip 580 B 581 B N/A
index-HASH.js gzip 259 B 258 B N/A
link-HASH.js gzip 2.51 kB 2.5 kB N/A
routerDirect..HASH.js gzip 317 B 319 B N/A
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 314 B 312 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 492 B 492 B
Client Build Manifests
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
_buildManifest.js gzip 735 B 738 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
index.html gzip 524 B 522 B N/A
link.html gzip 540 B 538 B N/A
withRouter.html gzip 521 B 518 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
edge-ssr.js gzip 124 kB 124 kB N/A
page.js gzip 236 kB 235 kB N/A
Overall change 0 B 0 B
Middleware size Overall increase ⚠️
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
middleware-b..fest.js gzip 651 B 654 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 32.8 kB 33 kB ⚠️ +118 B
edge-runtime..pack.js gzip 846 B 846 B
Overall change 33.8 kB 34 kB ⚠️ +118 B
Next Runtimes
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
app-page-exp...dev.js gzip 301 kB 301 kB N/A
app-page-exp..prod.js gzip 155 kB 155 kB N/A
app-page-tur...dev.js gzip 301 kB 300 kB N/A
app-page-tur..prod.js gzip 155 kB 155 kB N/A
app-page-tur...dev.js gzip 297 kB 297 kB N/A
app-page-tur..prod.js gzip 153 kB 153 kB N/A
app-page.run...dev.js gzip 297 kB 297 kB N/A
app-page.run..prod.js gzip 153 kB 153 kB N/A
app-route-ex...dev.js gzip 68.6 kB 68.5 kB N/A
app-route-ex..prod.js gzip 47.5 kB 47.4 kB N/A
app-route-tu...dev.js gzip 68.7 kB 68.6 kB N/A
app-route-tu..prod.js gzip 47.5 kB 47.4 kB N/A
app-route-tu...dev.js gzip 68.3 kB 68.2 kB N/A
app-route-tu..prod.js gzip 47.2 kB 47.2 kB N/A
app-route.ru...dev.js gzip 68.2 kB 68.1 kB N/A
app-route.ru..prod.js gzip 47.2 kB 47.1 kB N/A
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 328 B 328 B
dist_client_...dev.js gzip 320 B 320 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu...dev.js gzip 41 kB 40.9 kB N/A
pages-api-tu..prod.js gzip 31.1 kB 31 kB N/A
pages-api.ru...dev.js gzip 41 kB 40.9 kB N/A
pages-api.ru..prod.js gzip 31.1 kB 31 kB N/A
pages-turbo....dev.js gzip 50.5 kB 50.4 kB N/A
pages-turbo...prod.js gzip 38 kB 37.9 kB N/A
pages.runtim...dev.js gzip 50.5 kB 50.4 kB N/A
pages.runtim..prod.js gzip 38 kB 37.9 kB N/A
server.runti..prod.js gzip 59.8 kB 59.8 kB N/A
Overall change 1.29 kB 1.29 kB
build cache
vercel/next.js canary vercel/next.js use_side_effect_analysis Change
0.pack gzip 3.11 MB 3.1 MB N/A
index.pack gzip 94.5 kB 93.8 kB N/A
Overall change 0 B 0 B
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -611,35 +611,35 @@ self.__BUILD_MANIFEST = (function (a, b, c) {
       numHashes: NaN,
       bitArray: [],
     },
-    "/": ["static\u002Fchunks\u002Fpages\u002Findex-b087a17851e05d6f.js"],
+    "/": ["static\u002Fchunks\u002Fpages\u002Findex-3361ed053e34d664.js"],
     "/_error": [
-      "static\u002Fchunks\u002Fpages\u002F_error-0d6cadd1684bf608.js",
+      "static\u002Fchunks\u002Fpages\u002F_error-c7ffde23a6d1e061.js",
     ],
     "/css": [
       "static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
-      "static\u002Fchunks\u002Fpages\u002Fcss-d018beb4ee617700.js",
+      "static\u002Fchunks\u002Fpages\u002Fcss-0b6177a056485c89.js",
     ],
     "/dynamic": [
-      "static\u002Fchunks\u002Fpages\u002Fdynamic-22fa1f98925287e3.js",
+      "static\u002Fchunks\u002Fpages\u002Fdynamic-8e7954693aad6744.js",
     ],
     "/edge-ssr": [
-      "static\u002Fchunks\u002Fpages\u002Fedge-ssr-79392016bf448b0e.js",
+      "static\u002Fchunks\u002Fpages\u002Fedge-ssr-7515805a0793fb50.js",
     ],
-    "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-7c5bbe7e16e0461c.js"],
-    "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-9fbae4ac20575871.js"],
+    "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-18530459356f6f47.js"],
+    "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-221843a8082c5fe0.js"],
     "/image": [
-      "static\u002Fchunks\u002F9565-2e0c4004742fb14a.js",
-      "static\u002Fchunks\u002Fpages\u002Fimage-811425894781cf7d.js",
+      "static\u002Fchunks\u002F5467-5440e689c12d4e40.js",
+      "static\u002Fchunks\u002Fpages\u002Fimage-fe20cdcfe67a7d4d.js",
     ],
-    "/link": ["static\u002Fchunks\u002Fpages\u002Flink-14068c948da9dc39.js"],
+    "/link": ["static\u002Fchunks\u002Fpages\u002Flink-814c1a2b0c6775c5.js"],
     "/routerDirect": [
-      "static\u002Fchunks\u002Fpages\u002FrouterDirect-6d3e9dcd1348423d.js",
+      "static\u002Fchunks\u002Fpages\u002FrouterDirect-a0028e2a28aa8c85.js",
     ],
     "/script": [
-      "static\u002Fchunks\u002Fpages\u002Fscript-eda35f71f7a910ba.js",
+      "static\u002Fchunks\u002Fpages\u002Fscript-5b734e02315dd67a.js",
     ],
     "/withRouter": [
-      "static\u002Fchunks\u002Fpages\u002FwithRouter-4a6d5ec263e28451.js",
+      "static\u002Fchunks\u002Fpages\u002FwithRouter-db2aefa859481ae2.js",
     ],
     sortedPages: [
       "\u002F",
Diff for css-HASH.js
@@ -1,14 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 1361: /***/ (module) => {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
-      /***/
-    },
-
-    /***/ 1651: /***/ (
+    /***/ 942: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -16,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function () {
-          return __webpack_require__(3321);
+          return __webpack_require__(3023);
         },
       ]);
       if (false) {
@@ -25,7 +18,7 @@
       /***/
     },
 
-    /***/ 3321: /***/ (
+    /***/ 3023: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -39,7 +32,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(7002);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(1361);
+        __webpack_require__(3264);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +51,20 @@
 
       /***/
     },
+
+    /***/ 3264: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1651)
+      __webpack_exec__(942)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,177 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 617: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-      /* __next_internal_client_entry_do_not_use__  cjs */
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "LoadableContext", {
-        enumerable: true,
-        get: function () {
-          return LoadableContext;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6466)
-      );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
-
-      /***/
-    },
-
-    /***/ 620: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      0 && 0;
-      function _export(target, all) {
-        for (var name in all)
-          Object.defineProperty(target, name, {
-            enumerable: true,
-            get: all[name],
-          });
-      }
-      _export(exports, {
-        /**
-         * This function lets you dynamically import a component.
-         * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.
-         *
-         * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)
-         */ default: function () {
-          return dynamic;
-        },
-        noSSR: function () {
-          return noSSR;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _jsxruntime = __webpack_require__(7002);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6466)
-      );
-      const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3147)
-      );
-      const isServerSide = "object" === "undefined";
-      // Normalize loader to return the module as form { default: Component } for `React.lazy`.
-      // Also for backward compatible since next/dynamic allows to resolve a component directly with loader
-      // Client component reference proxy need to be converted to a module.
-      function convertModule(mod) {
-        return {
-          default: mod?.default || mod,
-        };
-      }
-      function noSSR(LoadableInitializer, loadableOptions) {
-        // Removing webpack and modules means react-loadable won't try preloading
-        delete loadableOptions.webpack;
-        delete loadableOptions.modules;
-        // This check is necessary to prevent react-loadable from initializing on the server
-        if (!isServerSide) {
-          return LoadableInitializer(loadableOptions);
-        }
-        const Loading = loadableOptions.loading;
-        // This will only be rendered on the server side
-        return () =>
-          /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
-            error: null,
-            isLoading: true,
-            pastDelay: false,
-            timedOut: false,
-          });
-      }
-      function dynamic(dynamicOptions, options) {
-        let loadableFn = _loadablesharedruntime.default;
-        let loadableOptions = {
-          // A loading component is not required, so we default it
-          loading: ({ error, isLoading, pastDelay }) => {
-            if (!pastDelay) return null;
-            if (false) {
-            }
-            return null;
-          },
-        };
-        // Support for direct import(), eg: dynamic(import('../hello-world'))
-        // Note that this is only kept for the edge case where someone is passing in a promise as first argument
-        // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))
-        // To make sure we don't execute the import without rendering first
-        if (dynamicOptions instanceof Promise) {
-          loadableOptions.loader = () => dynamicOptions;
-          // Support for having import as a function, eg: dynamic(() => import('../hello-world'))
-        } else if (typeof dynamicOptions === "function") {
-          loadableOptions.loader = dynamicOptions;
-          // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})
-        } else if (typeof dynamicOptions === "object") {
-          loadableOptions = {
-            ...loadableOptions,
-            ...dynamicOptions,
-          };
-        }
-        // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})
-        loadableOptions = {
-          ...loadableOptions,
-          ...options,
-        };
-        const loaderFn = loadableOptions.loader;
-        const loader = () =>
-          loaderFn != null
-            ? loaderFn().then(convertModule)
-            : Promise.resolve(convertModule(() => null));
-        // coming from build/babel/plugins/react-loadable-plugin.js
-        if (loadableOptions.loadableGenerated) {
-          loadableOptions = {
-            ...loadableOptions,
-            ...loadableOptions.loadableGenerated,
-          };
-          delete loadableOptions.loadableGenerated;
-        }
-        // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).
-        if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {
-          delete loadableOptions.webpack;
-          delete loadableOptions.modules;
-          return noSSR(loadableFn, loadableOptions);
-        }
-        return loadableFn({
-          ...loadableOptions,
-          loader: loader,
-        });
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=dynamic.js.map
-
-      /***/
-    },
-
-    /***/ 1173: /***/ (
+    /***/ 1151: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(620);
+      module.exports = __webpack_require__(7368);
 
       /***/
     },
 
-    /***/ 2907: /***/ (
+    /***/ 4773: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -186,7 +26,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(7002);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(1173);
+        __webpack_require__(1151);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -195,12 +35,12 @@
       const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         () =>
           __webpack_require__
-            .e(/* import() */ 9564)
-            .then(__webpack_require__.bind(__webpack_require__, 9564))
+            .e(/* import() */ 6022)
+            .then(__webpack_require__.bind(__webpack_require__, 6022))
             .then((mod) => mod.Hello),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 9564],
+            webpack: () => [/*require.resolve*/ 6022],
           },
         }
       );
@@ -227,7 +67,7 @@
       /***/
     },
 
-    /***/ 3147: /***/ (
+    /***/ 5631: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -269,7 +109,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(6466)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(617);
+      const _loadablecontextsharedruntime = __webpack_require__(6861);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -502,7 +342,167 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 4236: /***/ (
+    /***/ 6861: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "LoadableContext", {
+        enumerable: true,
+        get: function () {
+          return LoadableContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(6466)
+      );
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+
+      /***/
+    },
+
+    /***/ 7368: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      0 && 0;
+      function _export(target, all) {
+        for (var name in all)
+          Object.defineProperty(target, name, {
+            enumerable: true,
+            get: all[name],
+          });
+      }
+      _export(exports, {
+        /**
+         * This function lets you dynamically import a component.
+         * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.
+         *
+         * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)
+         */ default: function () {
+          return dynamic;
+        },
+        noSSR: function () {
+          return noSSR;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _jsxruntime = __webpack_require__(7002);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(6466)
+      );
+      const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(5631)
+      );
+      const isServerSide = "object" === "undefined";
+      // Normalize loader to return the module as form { default: Component } for `React.lazy`.
+      // Also for backward compatible since next/dynamic allows to resolve a component directly with loader
+      // Client component reference proxy need to be converted to a module.
+      function convertModule(mod) {
+        return {
+          default: mod?.default || mod,
+        };
+      }
+      function noSSR(LoadableInitializer, loadableOptions) {
+        // Removing webpack and modules means react-loadable won't try preloading
+        delete loadableOptions.webpack;
+        delete loadableOptions.modules;
+        // This check is necessary to prevent react-loadable from initializing on the server
+        if (!isServerSide) {
+          return LoadableInitializer(loadableOptions);
+        }
+        const Loading = loadableOptions.loading;
+        // This will only be rendered on the server side
+        return () =>
+          /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
+            error: null,
+            isLoading: true,
+            pastDelay: false,
+            timedOut: false,
+          });
+      }
+      function dynamic(dynamicOptions, options) {
+        let loadableFn = _loadablesharedruntime.default;
+        let loadableOptions = {
+          // A loading component is not required, so we default it
+          loading: ({ error, isLoading, pastDelay }) => {
+            if (!pastDelay) return null;
+            if (false) {
+            }
+            return null;
+          },
+        };
+        // Support for direct import(), eg: dynamic(import('../hello-world'))
+        // Note that this is only kept for the edge case where someone is passing in a promise as first argument
+        // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))
+        // To make sure we don't execute the import without rendering first
+        if (dynamicOptions instanceof Promise) {
+          loadableOptions.loader = () => dynamicOptions;
+          // Support for having import as a function, eg: dynamic(() => import('../hello-world'))
+        } else if (typeof dynamicOptions === "function") {
+          loadableOptions.loader = dynamicOptions;
+          // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})
+        } else if (typeof dynamicOptions === "object") {
+          loadableOptions = {
+            ...loadableOptions,
+            ...dynamicOptions,
+          };
+        }
+        // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})
+        loadableOptions = {
+          ...loadableOptions,
+          ...options,
+        };
+        const loaderFn = loadableOptions.loader;
+        const loader = () =>
+          loaderFn != null
+            ? loaderFn().then(convertModule)
+            : Promise.resolve(convertModule(() => null));
+        // coming from build/babel/plugins/react-loadable-plugin.js
+        if (loadableOptions.loadableGenerated) {
+          loadableOptions = {
+            ...loadableOptions,
+            ...loadableOptions.loadableGenerated,
+          };
+          delete loadableOptions.loadableGenerated;
+        }
+        // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).
+        if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {
+          delete loadableOptions.webpack;
+          delete loadableOptions.modules;
+          return noSSR(loadableFn, loadableOptions);
+        }
+        return loadableFn({
+          ...loadableOptions,
+          loader: loader,
+        });
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=dynamic.js.map
+
+      /***/
+    },
+
+    /***/ 8258: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -510,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function () {
-          return __webpack_require__(2907);
+          return __webpack_require__(4773);
         },
       ]);
       if (false) {
@@ -524,7 +524,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4236)
+      __webpack_exec__(8258)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,13 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5350],
   {
-    /***/ 2366: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/head",
-        function () {
-          return __webpack_require__(8140);
-        },
-      ]);
-      if (false) {
-      }
+    /***/ 48: /***/ (module, __unused_webpack_exports, __webpack_require__) => {
+      module.exports = __webpack_require__(8141);
 
       /***/
     },
 
-    /***/ 8140: /***/ (
+    /***/ 2682: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +22,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(7002);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(9386);
+        __webpack_require__(48);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +56,19 @@
       /***/
     },
 
-    /***/ 9386: /***/ (
-      module,
+    /***/ 2956: /***/ (
+      __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(1649);
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/head",
+        function () {
+          return __webpack_require__(2682);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -82,7 +78,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(2366)
+      __webpack_exec__(2956)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 497: /***/ (
+    /***/ 8114: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/image",
+        function () {
+          return __webpack_require__(9180);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9180: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -18,8 +35,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(7002);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
-      var next_image = __webpack_require__(9565);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+      var next_image = __webpack_require__(5467);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
       /* harmony default export */ const nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
 
       /***/
     },
-
-    /***/ 5748: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/image",
-        function () {
-          return __webpack_require__(497);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ __webpack_require__.O(0, [9565, 636, 6593, 8792], () =>
-      __webpack_exec__(5748)
+    /******/ __webpack_require__.O(0, [5467, 636, 6593, 8792], () =>
+      __webpack_exec__(8114)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 1182: /***/ (
+    /***/ 2156: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function () {
-          return __webpack_require__(4610);
+          return __webpack_require__(8272);
         },
       ]);
       if (false) {
@@ -18,7 +18,220 @@
       /***/
     },
 
-    /***/ 1557: /***/ (module, exports, __webpack_require__) => {
+    /***/ 4581: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useIntersection", {
+        enumerable: true,
+        get: function () {
+          return useIntersection;
+        },
+      });
+      const _react = __webpack_require__(6466);
+      const _requestidlecallback = __webpack_require__(7441);
+      const hasIntersectionObserver =
+        typeof IntersectionObserver === "function";
+      const observers = new Map();
+      const idList = [];
+      function createObserver(options) {
+        const id = {
+          root: options.root || null,
+          margin: options.rootMargin || "",
+        };
+        const existing = idList.find(
+          (obj) => obj.root === id.root && obj.margin === id.margin
+        );
+        let instance;
+        if (existing) {
+          instance = observers.get(existing);
+          if (instance) {
+            return instance;
+          }
+        }
+        const elements = new Map();
+        const observer = new IntersectionObserver((entries) => {
+          entries.forEach((entry) => {
+            const callback = elements.get(entry.target);
+            const isVisible =
+              entry.isIntersecting || entry.intersectionRatio > 0;
+            if (callback && isVisible) {
+              callback(isVisible);
+            }
+          });
+        }, options);
+        instance = {
+          id,
+          observer,
+          elements,
+        };
+        idList.push(id);
+        observers.set(id, instance);
+        return instance;
+      }
+      function observe(element, callback, options) {
+        const { id, observer, elements } = createObserver(options);
+        elements.set(element, callback);
+        observer.observe(element);
+        return function unobserve() {
+          elements.delete(element);
+          observer.unobserve(element);
+          // Destroy observer when there's nothing left to watch:
+          if (elements.size === 0) {
+            observer.disconnect();
+            observers.delete(id);
+            const index = idList.findIndex(
+              (obj) => obj.root === id.root && obj.margin === id.margin
+            );
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
+          }
+        };
+      }
+      function useIntersection({ rootRef, rootMargin, disabled }) {
+        const isDisabled = disabled || !hasIntersectionObserver;
+        const [visible, setVisible] = (0, _react.useState)(false);
+        const elementRef = (0, _react.useRef)(null);
+        const setElement = (0, _react.useCallback)((element) => {
+          elementRef.current = element;
+        }, []);
+        (0, _react.useEffect)(() => {
+          if (hasIntersectionObserver) {
+            if (isDisabled || visible) return;
+            const element = elementRef.current;
+            if (element && element.tagName) {
+              const unobserve = observe(
+                element,
+                (isVisible) => isVisible && setVisible(isVisible),
+                {
+                  root: rootRef?.current,
+                  rootMargin,
+                }
+              );
+              return unobserve;
+            }
+          } else {
+            if (!visible) {
+              const idleCallback = (0,
+              _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+              return () =>
+                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+            }
+          }
+          // eslint-disable-next-line react-hooks/exhaustive-deps
+        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+        const resetVisible = (0, _react.useCallback)(() => {
+          setVisible(false);
+        }, []);
+        return [setElement, visible, resetVisible];
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-intersection.js.map
+
+      /***/
+    },
+
+    /***/ 6155: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useMergedRef", {
+        enumerable: true,
+        get: function () {
+          return useMergedRef;
+        },
+      });
+      const _react = __webpack_require__(6466);
+      function useMergedRef(refA, refB) {
+        const cleanupA = (0, _react.useRef)(null);
+        const cleanupB = (0, _react.useRef)(null);
+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+        // (because it hasn't been updated for React 19)
+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+        return (0, _react.useCallback)(
+          (current) => {
+            if (current === null) {
+              const cleanupFnA = cleanupA.current;
+              if (cleanupFnA) {
+                cleanupA.current = null;
+                cleanupFnA();
+              }
+              const cleanupFnB = cleanupB.current;
+              if (cleanupFnB) {
+                cleanupB.current = null;
+                cleanupFnB();
+              }
+            } else {
+              if (refA) {
+                cleanupA.current = applyRef(refA, current);
+              }
+              if (refB) {
+                cleanupB.current = applyRef(refB, current);
+              }
+            }
+          },
+          [refA, refB]
+        );
+      }
+      function applyRef(refA, current) {
+        if (typeof refA === "function") {
+          const cleanup = refA(current);
+          if (typeof cleanup === "function") {
+            return cleanup;
+          } else {
+            return () => refA(null);
+          }
+        } else {
+          refA.current = current;
+          return () => {
+            refA.current = null;
+          };
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-merged-ref.js.map
+
+      /***/
+    },
+
+    /***/ 7046: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8113);
+
+      /***/
+    },
+
+    /***/ 8113: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -45,17 +258,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(6466)
       );
-      const _resolvehref = __webpack_require__(5475);
-      const _islocalurl = __webpack_require__(6475);
-      const _formaturl = __webpack_require__(9998);
-      const _utils = __webpack_require__(3084);
-      const _addlocale = __webpack_require__(3921);
-      const _routercontextsharedruntime = __webpack_require__(7726);
-      const _useintersection = __webpack_require__(4806);
-      const _getdomainlocale = __webpack_require__(3219);
-      const _addbasepath = __webpack_require__(5498);
-      const _usemergedref = __webpack_require__(3255);
-      const _erroronce = __webpack_require__(1685);
+      const _resolvehref = __webpack_require__(2399);
+      const _islocalurl = __webpack_require__(6687);
+      const _formaturl = __webpack_require__(4802);
+      const _utils = __webpack_require__(9208);
+      const _addlocale = __webpack_require__(9845);
+      const _routercontextsharedruntime = __webpack_require__(3466);
+      const _useintersection = __webpack_require__(4581);
+      const _getdomainlocale = __webpack_require__(8319);
+      const _addbasepath = __webpack_require__(4126);
+      const _usemergedref = __webpack_require__(6155);
+      const _erroronce = __webpack_require__(8305);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -434,140 +647,7 @@
       /***/
     },
 
-    /***/ 1685: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
-        },
-      });
-      let errorOnce = (_) => {};
-      if (false) {
-      } //# sourceMappingURL=error-once.js.map
-
-      /***/
-    },
-
-    /***/ 3219: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "getDomainLocale", {
-        enumerable: true,
-        get: function () {
-          return getDomainLocale;
-        },
-      });
-      const _normalizetrailingslash = __webpack_require__(1059);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
-        } else {
-          return false;
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=get-domain-locale.js.map
-
-      /***/
-    },
-
-    /***/ 3255: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useMergedRef", {
-        enumerable: true,
-        get: function () {
-          return useMergedRef;
-        },
-      });
-      const _react = __webpack_require__(6466);
-      function useMergedRef(refA, refB) {
-        const cleanupA = (0, _react.useRef)(null);
-        const cleanupB = (0, _react.useRef)(null);
-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
-        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
-        // (because it hasn't been updated for React 19)
-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
-        return (0, _react.useCallback)(
-          (current) => {
-            if (current === null) {
-              const cleanupFnA = cleanupA.current;
-              if (cleanupFnA) {
-                cleanupA.current = null;
-                cleanupFnA();
-              }
-              const cleanupFnB = cleanupB.current;
-              if (cleanupFnB) {
-                cleanupB.current = null;
-                cleanupFnB();
-              }
-            } else {
-              if (refA) {
-                cleanupA.current = applyRef(refA, current);
-              }
-              if (refB) {
-                cleanupB.current = applyRef(refB, current);
-              }
-            }
-          },
-          [refA, refB]
-        );
-      }
-      function applyRef(refA, current) {
-        if (typeof refA === "function") {
-          const cleanup = refA(current);
-          if (typeof cleanup === "function") {
-            return cleanup;
-          } else {
-            return () => refA(null);
-          }
-        } else {
-          refA.current = current;
-          return () => {
-            refA.current = null;
-          };
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=use-merged-ref.js.map
-
-      /***/
-    },
-
-    /***/ 4610: /***/ (
+    /***/ 8272: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -582,7 +662,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(7002);
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(9056);
+        __webpack_require__(7046);
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -613,115 +693,45 @@
       /***/
     },
 
-    /***/ 4806: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8305: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
-      Object.defineProperty(exports, "useIntersection", {
+      Object.defineProperty(exports, "errorOnce", {
         enumerable: true,
         get: function () {
-          return useIntersection;
+          return errorOnce;
         },
       });
-      const _react = __webpack_require__(6466);
-      const _requestidlecallback = __webpack_require__(805);
-      const hasIntersectionObserver =
-        typeof IntersectionObserver === "function";
-      const observers = new Map();
-      const idList = [];
-      function createObserver(options) {
-        const id = {
-          root: options.root || null,
-          margin: options.rootMargin || "",
-        };
-        const existing = idList.find(
-          (obj) => obj.root === id.root && obj.margin === id.margin
-        );
-        let instance;
-        if (existing) {
-          instance = observers.get(existing);
-          if (instance) {
-            return instance;
-          }
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
+
+      /***/
+    },
+
+    /***/ 8319: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "getDomainLocale", {
+        enumerable: true,
+        get: function () {
+          return getDomainLocale;
+        },
+      });
+      const _normalizetrailingslash = __webpack_require__(6063);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+        } else {
+          return false;
         }
-        const elements = new Map();
-        const observer = new IntersectionObserver((entries) => {
-          entries.forEach((entry) => {
-            const callback = elements.get(entry.target);
-            const isVisible =
-              entry.isIntersecting || entry.intersectionRatio > 0;
-            if (callback && isVisible) {
-              callback(isVisible);
-            }
-          });
-        }, options);
-        instance = {
-          id,
-          observer,
-          elements,
-        };
-        idList.push(id);
-        observers.set(id, instance);
-        return instance;
-      }
-      function observe(element, callback, options) {
-        const { id, observer, elements } = createObserver(options);
-        elements.set(element, callback);
-        observer.observe(element);
-        return function unobserve() {
-          elements.delete(element);
-          observer.unobserve(element);
-          // Destroy observer when there's nothing left to watch:
-          if (elements.size === 0) {
-            observer.disconnect();
-            observers.delete(id);
-            const index = idList.findIndex(
-              (obj) => obj.root === id.root && obj.margin === id.margin
-            );
-            if (index > -1) {
-              idList.splice(index, 1);
-            }
-          }
-        };
-      }
-      function useIntersection({ rootRef, rootMargin, disabled }) {
-        const isDisabled = disabled || !hasIntersectionObserver;
-        const [visible, setVisible] = (0, _react.useState)(false);
-        const elementRef = (0, _react.useRef)(null);
-        const setElement = (0, _react.useCallback)((element) => {
-          elementRef.current = element;
-        }, []);
-        (0, _react.useEffect)(() => {
-          if (hasIntersectionObserver) {
-            if (isDisabled || visible) return;
-            const element = elementRef.current;
-            if (element && element.tagName) {
-              const unobserve = observe(
-                element,
-                (isVisible) => isVisible && setVisible(isVisible),
-                {
-                  root: rootRef?.current,
-                  rootMargin,
-                }
-              );
-              return unobserve;
-            }
-          } else {
-            if (!visible) {
-              const idleCallback = (0,
-              _requestidlecallback.requestIdleCallback)(() => setVisible(true));
-              return () =>
-                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
-            }
-          }
-          // eslint-disable-next-line react-hooks/exhaustive-deps
-        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
-        const resetVisible = (0, _react.useCallback)(() => {
-          setVisible(false);
-        }, []);
-        return [setElement, visible, resetVisible];
       }
       if (
         (typeof exports.default === "function" ||
@@ -733,17 +743,7 @@
         });
         Object.assign(exports.default, exports);
         module.exports = exports.default;
-      } //# sourceMappingURL=use-intersection.js.map
-
-      /***/
-    },
-
-    /***/ 9056: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(1557);
+      } //# sourceMappingURL=get-domain-locale.js.map
 
       /***/
     },
@@ -753,7 +753,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1182)
+      __webpack_exec__(2156)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,13 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 15: /***/ (module, __unused_webpack_exports, __webpack_require__) => {
-      module.exports = __webpack_require__(5258);
-
-      /***/
-    },
-
-    /***/ 6853: /***/ (
+    /***/ 2895: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -22,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(7002);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(15);
+        __webpack_require__(3489);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -55,7 +49,17 @@
       /***/
     },
 
-    /***/ 9264: /***/ (
+    /***/ 3489: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3102);
+
+      /***/
+    },
+
+    /***/ 9884: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -63,7 +67,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function () {
-          return __webpack_require__(6853);
+          return __webpack_require__(2895);
         },
       ]);
       if (false) {
@@ -77,7 +81,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9264)
+      __webpack_exec__(9884)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 1593: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(372);
-
-      /***/
-    },
-
-    /***/ 4550: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/withRouter",
-        function () {
-          return __webpack_require__(8527);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 8527: /***/ (
+    /***/ 69: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(7002);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(1593);
+        __webpack_require__(2027);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +34,40 @@
 
       /***/
     },
+
+    /***/ 2027: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(1536);
+
+      /***/
+    },
+
+    /***/ 2268: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/withRouter",
+        function () {
+          return __webpack_require__(69);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4550)
+      __webpack_exec__(2268)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 4951-HASH.js

Diff too large to display

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

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4977],
   {
-    /***/ 326: /***/ (
+    /***/ 905: /***/ () => {
+      /* (ignored) */
+      /***/
+    },
+
+    /***/ 6354: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5065, 23)
+        __webpack_require__.t.bind(__webpack_require__, 2467, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8974, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8296, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6506, 23)
+        __webpack_require__.t.bind(__webpack_require__, 488, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1, 23)
+        __webpack_require__.t.bind(__webpack_require__, 6887, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 8239, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1753, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 1187, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3265, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 7790, 23)
+        __webpack_require__.t.bind(__webpack_require__, 1848, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 6543, 23)
+        __webpack_require__.t.bind(__webpack_require__, 565, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5802, 23)
+        __webpack_require__.t.bind(__webpack_require__, 6732, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 2809, 23)
+        __webpack_require__.t.bind(__webpack_require__, 6439, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 5738, 23)
+        __webpack_require__.t.bind(__webpack_require__, 228, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5455)
+        __webpack_require__.bind(__webpack_require__, 3013)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 4731, 23)
+        __webpack_require__.t.bind(__webpack_require__, 8253, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 3753, 23)
+        __webpack_require__.t.bind(__webpack_require__, 3772, 23)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.t.bind(__webpack_require__, 2816, 23)
+        __webpack_require__.t.bind(__webpack_require__, 5846, 23)
       );
 
       /***/
     },
-
-    /***/ 3643: /***/ () => {
-      /* (ignored) */
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
@@ -66,8 +66,8 @@
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(
       0,
-      [119, 8034],
-      () => (__webpack_exec__(5111), __webpack_exec__(326))
+      [4246, 2914],
+      () => (__webpack_exec__(1429), __webpack_exec__(6354))
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for app-page-exp..ntime.dev.js

Diff too large to display

Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js

Diff too large to display

Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..ntime.dev.js

Diff too large to display

Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js

Diff too large to display

Diff for app-page.runtime.prod.js

Diff too large to display

Diff for app-route-ex..ntime.dev.js

Diff too large to display

Diff for app-route-ex..time.prod.js

Diff too large to display

Diff for app-route-tu..ntime.dev.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route-tu..ntime.dev.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route.runtime.dev.js

Diff too large to display

Diff for app-route.ru..time.prod.js

Diff too large to display

Diff for pages-api-tu..ntime.dev.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.runtime.dev.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...ntime.dev.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.dev.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 92cb141

@codspeed-hq
Copy link

codspeed-hq bot commented Dec 1, 2025

CodSpeed Performance Report

Merging #86675 will degrade performances by 87.38%

Comparing use_side_effect_analysis (92cb141) with simple_side_effect_free_analysis (33e6b0c)

Summary

⚡ 1 improvement
❌ 5 regressions
✅ 11 untouched
⏩ 3 skipped1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Mode Benchmark BASE HEAD Change
Simulation build[lucide-react-single] 947 ms 7,502.6 ms -87.38%
Simulation build[framer-motion-single] 2.2 s 2.9 s -23.03%
Simulation build[framer-motion-all] 3 s 2.9 s +3.3%
Simulation build[date-fns-single] 1.4 s 2.1 s -34.03%
Simulation build[joy] 2.1 s 6.2 s -66.56%
Simulation build[mui] 3.1 s 3.5 s -11.65%

Footnotes

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

@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 1fc4fb8 to f544707 Compare December 1, 2025 21:42
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from f544707 to 102d370 Compare December 3, 2025 01:08
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from f281a83 to f6e85cd Compare December 3, 2025 01:08
@lukesandberg lukesandberg changed the title Rename side_effects and implement it everywhere [turbopack] Compute transitive side effects and use them to trim imports Dec 3, 2025
// dependencies are side effect free.

let mut locally_side_effect_free_modules_that_have_side_effects = FxHashSet::default();
graph.traverse_edges_from_entries_dfs_reversed(
Copy link
Member

Choose a reason for hiding this comment

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

I feel like this method should be named traverse_edges_from_leafs_dfs

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hmm yeah the name isn't really ideal.

imho 'edges' shouldn't really be in the name, the fact that we have 'edge' information is obvious from the callback signatures, and if you don't care about 'edges' (as in this case) you just ignore them, there isn't a different function to call.

'entries' is also confusing imho since we don't have to start at 'entry points'. If we mean 'we can supply starting nodes' then that is fine but 'leaves' would have the same issue

so maybe this should be traverse_dfs and traverse_reverse_dfs?

.compile_time_info()
.to_resolved()
.await?,
side_effect_free_packages,
Copy link
Member

Choose a reason for hiding this comment

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

Other module types could also be flagged as side effect free:

  • NodeAddon
  • CssModule
  • WebAssembly

Copy link
Contributor Author

Choose a reason for hiding this comment

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

wasm modules cannot be. wasm module instantiation can have arbitrary side effects

css modules should always be considered to be side effectful since even in a module you can install :root rules. We could definitely create some static analysis for this though. (i left a comment about this)

I would assume that NodeAddon modules as wasm have similar problems since the native code can trigger arbitrary side effects.

@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from 1be5c4f to e92c3d7 Compare December 5, 2025 22:54
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 40ade7f to 432b0b8 Compare December 5, 2025 22:54
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from 432b0b8 to fee30ab Compare December 6, 2025 18:30
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch from e92c3d7 to e7407a9 Compare December 6, 2025 18:30
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from fee30ab to 89d4529 Compare December 7, 2025 00:24
@lukesandberg lukesandberg force-pushed the simple_side_effect_free_analysis branch 2 times, most recently from 6ff1476 to 34403ac Compare December 7, 2025 17:12
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch 2 times, most recently from eb7de06 to b7d074b Compare December 7, 2025 17:46
@lukesandberg lukesandberg force-pushed the use_side_effect_analysis branch from b7d074b to 92cb141 Compare December 7, 2025 23:10
fn is_marked_as_side_effect_free(self: Vc<Self>, _: Vc<Glob>) -> Vc<bool> {
Vc::cell(true)
fn side_effects(self: Vc<Self>) -> Vc<ModuleSideEffects> {
ModuleSideEffects::SideEffectful.cell()
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
ModuleSideEffects::SideEffectful.cell()
ModuleSideEffects::ModuleEvaluationIsSideEffectFree.cell()

The SideEffectsModule.side_effects() method returns SideEffectful but should return ModuleEvaluationIsSideEffectFree, since the module's evaluation code is empty (just a comment) and has no side effects. The module only has side effects through its dependencies, which are tracked separately.

View Details

Analysis

SideEffectsModule.side_effects() returns incorrect variant causing tree-shaking to fail

What fails: SideEffectsModule::side_effects() in turbopack/crates/turbopack-ecmascript/src/tree_shake/side_effect_module.rs returns ModuleSideEffects::SideEffectful instead of ModuleSideEffects::ModuleEvaluationIsSideEffectFree, incorrectly marking the wrapper module itself as having side effects when its evaluation code has none.

How to reproduce: The module's content is literally just a comment ("// This is a proxy module for reexportings a module with additional side effects."), containing zero side effects in its own evaluation. Side effects only exist through its dependencies tracked in the side_effects field via the references() method.

Result vs Expected: The ModuleSideEffects enum semantics define:

  • ModuleEvaluationIsSideEffectFree: "module evaluation code has no side effects, but imports might have side effects"
  • SideEffectful: "the module has side effects in its evaluation"

Since the SideEffectsModule's evaluation has no side effects and all side effects come through imports/references, returning SideEffectful is semantically incorrect. The module graph side effect analysis relies on ModuleEvaluationIsSideEffectFree to properly traverse dependencies and propagate side effects. The incorrect return value breaks tree-shaking optimization by treating the wrapper as inherently side-effectful.

Fix: Changed ModuleSideEffects::SideEffectful to ModuleSideEffects::ModuleEvaluationIsSideEffectFree in the side_effects() method.

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