Skip to content

Conversation

@bgw
Copy link
Member

@bgw bgw commented Nov 29, 2025

It looks like we only do this for the edge runtime. This is bad because:

  • It's a lot of extra data to copy around and write out to disk.
  • It increases the chance of cache invalidation within Turbopack.
  • It means that Turbopack must understand how to serialize NextConfig, which means rustc needs to generate some pretty large functions. And Turbopack's NextConfig is pretty incomplete, so relying on that is risky.
  • It potentially means more invalidations for the reusable deployment outputs project.

Let's see what CI thinks of this change...

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

bgw commented Nov 29, 2025

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

@bgw bgw marked this pull request as ready for review November 29, 2025 00:37
@bgw bgw marked this pull request as draft November 29, 2025 00:37
adjust_font_fallbacks_with_size_adjust: Option<bool>,
after: Option<bool>,
app_document_preloading: Option<bool>,
cache_life: Option<FxIndexMap<String, CacheLifeProfile>>,
Copy link
Member Author

Choose a reason for hiding this comment

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

An example of why this was a bad idea: This config was moved out of experimental, but Turbopack's config was never updated, so edge-app-route.ts​ was probably reading the wrong value when using Turbopack...

@ijjk
Copy link
Member

ijjk commented Nov 29, 2025

Failing test suites

Commit: e20fb2a | About building and testing Next.js

pnpm test-start-turbo test/e2e/app-dir/cache-components-errors/cache-components-console-patch.test.ts (turbopack) (job)

  • Cache Components Errors > Sync IO in console methods > Console Patching > does not fail the build for Sync IO if console.log is patched to call new Date() internally (DD)
Expand output

● Cache Components Errors › Sync IO in console methods › Console Patching › does not fail the build for Sync IO if console.log is patched to call new Date() internally

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Sync IO in console methods Console Patching does not fail the build for Sync IO if console.log is patched to call new Date() internally 1`

- Snapshot  - 0
+ Received  + 4

+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  [<timestamp>] This is a console log from a server component page
  [<timestamp>] This is a console log from a server component page
  [<timestamp>]

  62 |
  63 |           if (isTurbopack) {
> 64 |             expect(output).toMatchInlineSnapshot(`
     |                            ^
  65 |              "[<timestamp>] This is a console log from a server component page
  66 |              [<timestamp>] This is a console log from a server component page
  67 |              [<timestamp>]"

  at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-console-patch.test.ts:64:28)

pnpm test test/integration/dist-dir/test/index.test.ts (turbopack) (job)

  • distDir > production mode > should handle undefined distDir (DD)
Expand output

● distDir › production mode › should handle undefined distDir

expect(received).toBeEmpty()

Expected value to be empty received:
  "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
"

  107 |         await fs.writeFile(nextConfig, origNextConfig)
  108 |
> 109 |         expect(stderr).toBeEmpty()
      |                        ^
  110 |       })
  111 |     }
  112 |   )

  at Object.toBeEmpty (integration/dist-dir/test/index.test.ts:109:24)

pnpm test test/integration/production-build-dir/test/index.test.ts (turbopack) (job)

  • Production Custom Build Directory > production mode > With basic usage > should render the page (DD)
Expand output

● Production Custom Build Directory › production mode › With basic usage › should render the page

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

Expected: ""
Received: "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
"

  21 |             stderr: true,
  22 |           })
> 23 |           expect(result.stderr).toBe('')
     |                                 ^
  24 |
  25 |           const appPort = await findPort()
  26 |           const app = await nextStart(join(__dirname, '../build'), appPort)

  at Object.toBe (integration/production-build-dir/test/index.test.ts:23:33)

pnpm test test/integration/cli/test/index.test.ts (turbopack) (job)

  • Image Loader Config with Edge Runtime > development mode > should add "src" to img1 based on the loader config (DD)
  • Image Loader Config with Edge Runtime > development mode > should add "srcset" to img1 based on the loader config (DD)
  • Image Loader Config with Edge Runtime > development mode > should add "src" to img2 based on the loader prop (DD)
  • Image Loader Config with Edge Runtime > development mode > should add "srcset" to img2 based on the loader prop (DD)
Expand output

● Image Loader Config with Edge Runtime › development mode › should add "src" to img1 based on the loader config

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:21:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:21:46)

● Image Loader Config with Edge Runtime › development mode › should add "srcset" to img1 based on the loader config

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:27:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:27:46)

● Image Loader Config with Edge Runtime › development mode › should add "src" to img2 based on the loader prop

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:33:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:33:46)

● Image Loader Config with Edge Runtime › development mode › should add "srcset" to img2 based on the loader prop

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:39:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:39:46)

pnpm test test/integration/next-image-new/loader-config-edge-runtime/test/index.test.ts (turbopack) (job)

  • Image Loader Config with Edge Runtime > production mode > should add "src" to img1 based on the loader config (DD)
  • Image Loader Config with Edge Runtime > production mode > should add "srcset" to img1 based on the loader config (DD)
  • Image Loader Config with Edge Runtime > production mode > should add "src" to img2 based on the loader prop (DD)
  • Image Loader Config with Edge Runtime > production mode > should add "srcset" to img2 based on the loader prop (DD)
Expand output

● Image Loader Config with Edge Runtime › production mode › should add "src" to img1 based on the loader config

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:21:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:21:46)

● Image Loader Config with Edge Runtime › production mode › should add "srcset" to img1 based on the loader config

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:27:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:27:46)

● Image Loader Config with Edge Runtime › production mode › should add "src" to img2 based on the loader prop

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:33:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:33:46)

● Image Loader Config with Edge Runtime › production mode › should add "srcset" to img2 based on the loader prop

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:39:26)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:455:17)
  at Object.getAttribute (integration/next-image-new/loader-config-edge-runtime/test/index.test.ts:39:46)

pnpm test-start test/e2e/app-dir/app-basepath/index.test.ts (job)

  • app dir - basepath > should properly stream an internal server action redirect() with a relative URL (DD)
Expand output

● app dir - basepath › should properly stream an internal server action redirect() with a relative URL

request.allHeaders: Target page, context or browser has been closed

  77 |         beforePageLoad(page) {
  78 |           page.on('request', (request) => {
> 79 |             return request.allHeaders().then((headers) => {
     |                            ^
  80 |               if (
  81 |                 headers['rsc'] === '1' &&
  82 |                 // Prefetches also include `rsc`

  at Page.allHeaders (e2e/app-dir/app-basepath/index.test.ts:79:28)

pnpm test-dev-turbo test/e2e/app-dir/app-edge/app-edge.test.ts (turbopack) (job)

  • app-dir edge SSR > should handle edge only routes (DD)
Expand output

● app-dir edge SSR › should handle edge only routes

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

Expected substring: "<p>pages-edge-ssr</p>"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script defer=\"\" noModule=\"\" src=\"/_next/static/chunks/509fc_next_dist_build_polyfills_polyfill-nomodule.js\"></script><script src=\"/_next/static/chunks/509fc_next_dist_compiled_6c1a3f85._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_dist_shared_lib_be32e924._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_dist_client_1aa3d254._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_dist_d783cac3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_app_6271f16c.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_e4b2cae6._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/76102_react-dom_44795136._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_7136f466._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__app_261cad21._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_dist_shared_lib_e75c6521._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_dist_ad45113b._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/509fc_next_error_4c912491.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_75ed7327._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__error_a990aa82._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"edge-server\",\"message\":\"Cannot read properties of undefined (reading 'optimizeCss')\",\"stack\":\"TypeError: Cannot read properties of undefined (reading 'optimizeCss')\\n    at Object.requestHandler [as handler] (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/.next/dev/server/edge/chunks/ssr/_6c9d2d13._.js:17650:50)\\n    at async adapter (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/.next/dev/server/edge/chunks/ssr/_6c9d2d13._.js:5753:16)\\n    at at async /tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next (file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/web/sandbox/sandbox.js:112:26)\\n    at async runWithTaggedErrors (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next@file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/web/sandbox/sandbox.js:109:9)\\n    at async DevServer.runEdgeFunction (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next@file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/next-server.js:1355:24)\\n    at async NextNodeServer.handleCatchallRenderRequest (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next@file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/next-server.js:362:41)\\n    at async DevServer.handleRequestImpl (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next@file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/base-server.js:898:17)\\n    at at async /tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next (file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/dev/next-dev-server.js:386:20)\\n    at async Span.traceAsyncFn (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next@file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (file:///tmp/next-install-be11b062edff3dc32cb4e907502d255c98801f4312a62d18c1a90afd8694f183/node_modules/.pnpm/next@file+..+next-repo-720c785a58078928e4dab39184417cf91abf241735e036b25725dd37a128b1d6_d3d1291d0049d222d749b052f055315c/node_modules/next/dist/server/dev/next-dev-server.js:382:24)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  17 |
  18 |     const pageHtml = await next.render('/pages-edge')
> 19 |     expect(pageHtml).toContain('<p>pages-edge-ssr</p>')
     |                      ^
  20 |   })
  21 |
  22 |   it('should retrieve cookies in a server component in the edge runtime', async () => {

  at Object.toContain (e2e/app-dir/app-edge/app-edge.test.ts:19:22)

pnpm test test/integration/config-output-export/test/index.test.ts (turbopack) (job)

  • config-output-export > should work with static homepage (DD)
  • config-output-export > should work with getStaticPaths and fallback false (DD)
Expand output

● config-output-export › should work with static homepage

expect(received).toBeEmpty()

Expected value to be empty received:
  "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
"

  50 |       '<div id="__next">Hello World</div>'
  51 |     )
> 52 |     expect(result.stderr).toBeEmpty()
     |                           ^
  53 |   })
  54 |
  55 |   it('should error with "i18n" config', async () => {

  at Object.toBeEmpty (integration/config-output-export/test/index.test.ts:52:27)

● config-output-export › should work with getStaticPaths and fallback false

expect(received).toBeEmpty()

Expected value to be empty received:
  "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
"

  445 |       expect(await h1.text()).toContain('Hello from one')
  446 |       await waitForNoRedbox(browser)
> 447 |       expect(result.stderr).toBeEmpty()
      |                             ^
  448 |     } finally {
  449 |       await killApp(app).catch(() => {})
  450 |       fs.rmSync(posts, { recursive: true, force: true })

  at Object.toBeEmpty (integration/config-output-export/test/index.test.ts:447:29)

pnpm test test/integration/webpack-require-hook/test/index.test.ts (job)

  • Handles Webpack Require Hook > build > Does not error during build (DD)
Expand output

● Handles Webpack Require Hook › build › Does not error during build

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

- Expected  - 1
+ Received  + 7

- Array []
+ Array [
+   "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`",
+   "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`",
+   "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`",
+   "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`",
+   "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`",
+ ]

  26 |           .split('\n')
  27 |           .filter((line) => line && !line.trim().startsWith('⚠'))
> 28 |         expect(errors).toEqual([])
     |                        ^
  29 |         expect(stdout).toMatch(/Initialized config/)
  30 |       })
  31 |     })

  at Object.toEqual (integration/webpack-require-hook/test/index.test.ts:28:24)

pnpm test-start-turbo test/e2e/edge-pages-support/index.test.ts (turbopack) (job)

  • edge-render-getserversideprops > should have correct query/params on index (DD)
  • edge-render-getserversideprops > should have correct query/params on /[id] (DD)
  • edge-render-getserversideprops > should have correct query/params on rewrite (DD)
  • edge-render-getserversideprops > should have correct query/params on dynamic rewrite (DD)
  • edge-render-getserversideprops > should respond to _next/data for index correctly (DD)
  • edge-render-getserversideprops > should respond to _next/data for [id] correctly (DD)
Expand output

● edge-render-getserversideprops › should have correct query/params on index

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

Expected: 200
Received: 500

  67 |   it('should have correct query/params on index', async () => {
  68 |     const res = await fetchViaHTTP(next.url, '/')
> 69 |     expect(res.status).toBe(200)
     |                        ^
  70 |     const html = await res.text()
  71 |     const $ = cheerio.load(html)
  72 |     expect($('#page').text()).toBe('/index')

  at Object.toBe (e2e/edge-pages-support/index.test.ts:69:24)

● edge-render-getserversideprops › should have correct query/params on /[id]

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

Expected: 200
Received: 500

  79 |   it('should have correct query/params on /[id]', async () => {
  80 |     const res = await fetchViaHTTP(next.url, '/123', { hello: 'world' })
> 81 |     expect(res.status).toBe(200)
     |                        ^
  82 |     const html = await res.text()
  83 |     const $ = cheerio.load(html)
  84 |     expect($('#page').text()).toBe('/[id]')

  at Object.toBe (e2e/edge-pages-support/index.test.ts:81:24)

● edge-render-getserversideprops › should have correct query/params on rewrite

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

Expected: 200
Received: 500

  93 |       hello: 'world',
  94 |     })
> 95 |     expect(res.status).toBe(200)
     |                        ^
  96 |     const html = await res.text()
  97 |     const $ = cheerio.load(html)
  98 |     expect($('#page').text()).toBe('/index')

  at Object.toBe (e2e/edge-pages-support/index.test.ts:95:24)

● edge-render-getserversideprops › should have correct query/params on dynamic rewrite

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

Expected: 200
Received: 500

  107 |       hello: 'world',
  108 |     })
> 109 |     expect(res.status).toBe(200)
      |                        ^
  110 |     const html = await res.text()
  111 |     const $ = cheerio.load(html)
  112 |     expect($('#page').text()).toBe('/[id]')

  at Object.toBe (e2e/edge-pages-support/index.test.ts:109:24)

● edge-render-getserversideprops › should respond to _next/data for index correctly

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

Expected: 200
Received: 500

  128 |       }
  129 |     )
> 130 |     expect(res.status).toBe(200)
      |                        ^
  131 |     const { pageProps: props } = await res.json()
  132 |     expect(props.query).toEqual({})
  133 |     expect(props.params).toBe(null)

  at Object.toBe (e2e/edge-pages-support/index.test.ts:130:24)

● edge-render-getserversideprops › should respond to _next/data for [id] correctly

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

Expected: 200
Received: 500

  145 |       }
  146 |     )
> 147 |     expect(res.status).toBe(200)
      |                        ^
  148 |     const { pageProps: props } = await res.json()
  149 |     expect(props.query).toEqual({ id: '321', hello: 'world' })
  150 |     expect(props.params).toEqual({ id: '321' })

  at Object.toBe (e2e/edge-pages-support/index.test.ts:147:24)

pnpm test-start-turbo test/e2e/streaming-ssr-edge/streaming-ssr-edge.test.ts (turbopack) (job)

  • build-output-prerender > with a next config file > with --debug-prerender > prints a warning and the customized experimental flags (DD)
  • build-output-prerender > with a next config file > with --debug-prerender > shows all prerender errors with readable stacks and code frames (DD)
  • build-output-prerender > with a next config file > without --debug-prerender > prints only the user-selected experimental flags (and the ones enabled via env variable) (DD)
  • build-output-prerender > with a next config file > without --debug-prerender > shows only a single prerender error with a mangled stack (DD)
  • build-output-prerender > without a next config file > with --debug-prerender > prints a warning and the customized experimental flags (DD)
  • build-output-prerender > without a next config file > without --debug-prerender > prints no experimental flags (unless enabled via env variable) (DD)
Expand output

● build-output-prerender › with a next config file › without --debug-prerender › prints only the user-selected experimental flags (and the ones enabled via env variable)

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file without --debug-prerender prints only the user-selected experimental flags (and the ones enabled via env variable) 1`

- Snapshot  - 0
+ Received  + 1

+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ▲ Next.js x.y.z (Turbopack, Cache Components)

  48 |         } else {
  49 |           if (isTurbopack) {
> 50 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(
     |                                                       ^
  51 |               `"▲ Next.js x.y.z (Turbopack, Cache Components)"`
  52 |             )
  53 |           } else if (isRspack) {

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:50:55)

● build-output-prerender › with a next config file › without --debug-prerender › shows only a single prerender error with a mangled stack

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file without --debug-prerender shows only a single prerender error with a mangled stack 1`

- Snapshot  - 1
+ Received  + 6

@@ -1,6 +1,11 @@
- "Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client
+ "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client

  at c (../app/client/page.tsx:4:28)
      2 |
      3 | export default function Page() {
    > 4 |   return <p>Current time: {new Date().toISOString()}</p>
        |                            ^
  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:68:54)

● build-output-prerender › with a next config file › with --debug-prerender › prints a warning and the customized experimental flags

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file with --debug-prerender prints a warning and the customized experimental flags 1`

- Snapshot  - 0
+ Received  + 1

@@ -1,5 +1,6 @@
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  ▲ Next.js x.y.z (Turbopack, Cache Components)
  - Experiments (use with caution):
    ⨯ prerenderEarlyExit (disabled by `--debug-prerender`)
    ✓ serverSourceMaps (enabled by `--debug-prerender`)

  151 |         } else {
  152 |           if (isTurbopack) {
> 153 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(`
      |                                                       ^
  154 |              "⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  155 |              ▲ Next.js x.y.z (Turbopack, Cache Components)
  156 |              - Experiments (use with caution):

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:153:55)

● build-output-prerender › with a next config file › with --debug-prerender › shows all prerender errors with readable stacks and code frames

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file with --debug-prerender shows all prerender errors with readable stacks and code frames 1`

- Snapshot  - 1
+ Received  + 6

@@ -1,6 +1,11 @@
- "Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client
+ "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client

  at Page (../app/client/page.tsx:4:28)
      2 |
      3 | export default function Page() {
    > 4 |   return <p>Current time: {new Date().toISOString()}</p>
        |                            ^
  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:185:54)

● build-output-prerender › without a next config file › without --debug-prerender › prints no experimental flags (unless enabled via env variable)

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender without a next config file without --debug-prerender prints no experimental flags (unless enabled via env variable) 1`

- Snapshot  - 0
+ Received  + 1

+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ▲ Next.js x.y.z (Turbopack)

  282 |         } else {
  283 |           if (isTurbopack) {
> 284 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(
      |                                                       ^
  285 |               `"▲ Next.js x.y.z (Turbopack)"`
  286 |             )
  287 |           } else if (isRspack) {

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:284:55)

● build-output-prerender › without a next config file › with --debug-prerender › prints a warning and the customized experimental flags

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender without a next config file with --debug-prerender prints a warning and the customized experimental flags 1`

- Snapshot  - 0
+ Received  + 1

@@ -1,5 +1,6 @@
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  ▲ Next.js x.y.z (Turbopack)
  - Experiments (use with caution):
    ⨯ prerenderEarlyExit (disabled by `--debug-prerender`)
    ✓ serverSourceMaps (enabled by `--debug-prerender`)

  354 |         } else {
  355 |           if (isTurbopack) {
> 356 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(`
      |                                                       ^
  357 |              "⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  358 |              ▲ Next.js x.y.z (Turbopack)
  359 |              - Experiments (use with caution):

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:356:55)

pnpm test-dev-turbo test/e2e/react-version/react-version.test.ts (turbopack) (job)

  • Instrumentation Hook > with-async-edge-page > with-async-edge-page should run the instrumentation hook (DD)
Expand output

● Instrumentation Hook › with-async-edge-page › with-async-edge-page should run the instrumentation hook

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

Expected substring: "Edge - finished: true"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/b4819_next_dist_compiled_10f9aba2._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_dist_shared_lib_281c0a6e._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_dist_client_bffd92dd._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_dist_b04ceead._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_app_d398fb94.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_4a1a0388._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/76102_react-dom_44795136._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_7136f466._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__app_a7d458e8._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_dist_shared_lib_f243dad7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_dist_bfc43cab._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/b4819_next_error_3b54392d.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_f35fd176._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__error_10fe9c82._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"edge-server\",\"message\":\"Cannot read properties of undefined (reading 'optimizeCss')\",\"stack\":\"TypeError: Cannot read properties of undefined (reading 'optimizeCss')\\n    at Object.requestHandler [as handler] (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/.next/dev/server/edge/chunks/ssr/_41d522ef._.js:17650:50)\\n    at async adapter (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/.next/dev/server/edge/chunks/ssr/_41d522ef._.js:5753:16)\\n    at async (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/web/sandbox/sandbox.js:112:26)\\n    at async runWithTaggedErrors (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/web/sandbox/sandbox.js:109:9)\\n    at async DevServer.runEdgeFunction (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/next-server.js:1355:24)\\n    at async NextNodeServer.handleCatchallRenderRequest (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/next-server.js:362:41)\\n    at async DevServer.handleRequestImpl (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/base-server.js:898:17)\\n    at async (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/dev/next-dev-server.js:386:20)\\n    at async Span.traceAsyncFn (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (file:///tmp/next-install-22014613049d0582855463f158429a5cbdc68a1b113538cab8ef25f5597f712a/node_modules/.pnpm/file+..+next-repo-401bb4215d7998cc741e289ca8d993cbe9ed22ebf86c8230d785c04a3d8307a4+packages+n_rv2ipwfhfotbfl2usagt75zw7y/node_modules/next/dist/server/dev/next-dev-server.js:382:24)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  71 |     it('with-async-edge-page should run the instrumentation hook', async () => {
  72 |       const page = await next.render('/')
> 73 |       expect(page).toContain('Edge - finished: true')
     |                    ^
  74 |     })
  75 |   })
  76 |

  at Object.toContain (e2e/instrumentation-hook/instrumentation-hook.test.ts:73:20)

pnpm test-dev-turbo test/e2e/edge-runtime-uses-edge-light-import-specifier-for-packages/edge-runtime-uses-edge-light-import-specifier-for-packages.test.ts (turbopack) (job)

  • edge-runtime uses edge-light import specifier for packages > pages import the correct module (DD)
Expand output

● edge-runtime uses edge-light import specifier for packages › pages import the correct module

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)

  34 |   it('pages import the correct module', async () => {
  35 |     const $ = await next.render$('/')
> 36 |     const text = JSON.parse($('pre#result').text())
     |                       ^
  37 |     expect(text).toEqual({
  38 |       // edge-light is only supported in `exports` and `imports` but webpack also adds the top level `edge-light` key incorrectly.
  39 |       edgeLightPackage: process.env.IS_TURBOPACK_TEST ? 'import' : 'edge-light',

  at Object.parse (e2e/edge-runtime-uses-edge-light-import-specifier-for-packages/edge-runtime-uses-edge-light-import-specifier-for-packages.test.ts:36:23)

pnpm test-dev-turbo test/e2e/on-request-error/basic/basic.test.ts (turbopack) (job)

  • Switchable runtime > Switchable runtime (dev) > should sort edge SSR routes correctly (DD)
  • Switchable runtime > Switchable runtime (dev) > should be able to navigate between edge SSR routes without any errors (DD)
  • Switchable runtime > Switchable runtime (dev) > should be possible to switch between runtimes in pages (DD)
Expand output

● Switchable runtime › Switchable runtime (dev) › should sort edge SSR routes correctly

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

Expected substring: "to /edge/[id]"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/2f304_next_dist_compiled_4f7a4804._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_shared_lib_4192ecef._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_client_59a29403._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_4680849a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_app_218a23c5.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_be93d1c4._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/76102_react-dom_44795136._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_7136f466._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__app_e8e1e4b8._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_shared_lib_1bd431c2._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_f237f607._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_error_d58b8b64.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_61e8536b._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__error_ff22ec78._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"edge-server\",\"message\":\"Cannot read properties of undefined (reading 'optimizeCss')\",\"stack\":\"TypeError: Cannot read properties of undefined (reading 'optimizeCss')\\n    at Object.requestHandler [as handler] (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/.next/dev/server/edge/chunks/ssr/2f304_next_dist_esm_06a86628._.js:15246:50)\\n    at async adapter (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/.next/dev/server/edge/chunks/ssr/2f304_next_dist_esm_06a86628._.js:4500:16)\\n    at at async /tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next (file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/web/sandbox/sandbox.js:112:26)\\n    at async runWithTaggedErrors (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/web/sandbox/sandbox.js:109:9)\\n    at async DevServer.runEdgeFunction (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/next-server.js:1355:24)\\n    at async NextNodeServer.handleCatchallRenderRequest (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/next-server.js:362:41)\\n    at async DevServer.handleRequestImpl (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/base-server.js:898:17)\\n    at at async /tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next (file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/dev/next-dev-server.js:386:20)\\n    at async Span.traceAsyncFn (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/dev/next-dev-server.js:382:24)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  70 |
  71 |         // /edge/foo should be caught before /edge/[id]
> 72 |         expect(html).toContain(`to /edge/[id]`)
     |                      ^
  73 |       })
  74 |
  75 |       it('should be able to navigate between edge SSR routes without any errors', async () => {

  at Object.toContain (e2e/switchable-runtime/index.test.ts:72:22)

● Switchable runtime › Switchable runtime (dev) › should be able to navigate between edge SSR routes without any errors

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

Expected substring: "to /edge/[id]"
Received string:    "<!DOCTYPE html><html><head><meta charSet=\"utf-8\" data-next-head=\"\"/><meta name=\"viewport\" content=\"width=device-width\" data-next-head=\"\"/><style data-next-hide-fouc=\"true\">body{display:none}</style><noscript data-next-hide-fouc=\"true\"><style>body{display:block}</style></noscript><noscript data-n-css=\"\"></noscript><script src=\"/_next/static/chunks/2f304_next_dist_compiled_4f7a4804._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_shared_lib_4192ecef._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_client_59a29403._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_4680849a._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_app_218a23c5.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_be93d1c4._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/76102_react-dom_44795136._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/node_modules__pnpm_7136f466._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__app_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__app_e8e1e4b8._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_shared_lib_1bd431c2._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_dist_f237f607._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/2f304_next_error_d58b8b64.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_61e8536b._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/pages__error_2da965e7._.js\" defer=\"\"></script><script src=\"/_next/static/chunks/turbopack-pages__error_ff22ec78._.js\" defer=\"\"></script><script src=\"/_next/static/development/_ssgManifest.js\" defer=\"\"></script><script src=\"/_next/static/development/_buildManifest.js\" defer=\"\"></script><noscript id=\"__next_css__DO_NOT_USE__\"></noscript></head><body><div id=\"__next\"></div><script id=\"__NEXT_DATA__\" type=\"application/json\">{\"props\":{\"pageProps\":{\"statusCode\":500,\"hostname\":\"localhost\"}},\"page\":\"/_error\",\"query\":{},\"buildId\":\"development\",\"isFallback\":false,\"err\":{\"name\":\"TypeError\",\"source\":\"edge-server\",\"message\":\"Cannot read properties of undefined (reading 'optimizeCss')\",\"stack\":\"TypeError: Cannot read properties of undefined (reading 'optimizeCss')\\n    at Object.requestHandler [as handler] (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/.next/dev/server/edge/chunks/ssr/2f304_next_dist_esm_06a86628._.js:15246:50)\\n    at async adapter (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/.next/dev/server/edge/chunks/ssr/2f304_next_dist_esm_06a86628._.js:4500:16)\\n    at at async /tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next (file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/web/sandbox/sandbox.js:112:26)\\n    at async runWithTaggedErrors (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/web/sandbox/sandbox.js:109:9)\\n    at async DevServer.runEdgeFunction (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/next-server.js:1355:24)\\n    at async NextNodeServer.handleCatchallRenderRequest (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/next-server.js:362:41)\\n    at async DevServer.handleRequestImpl (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/base-server.js:898:17)\\n    at at async /tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next (file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/dev/next-dev-server.js:386:20)\\n    at async Span.traceAsyncFn (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/trace/trace.js:157:20)\\n    at async DevServer.handleRequest (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/dev/next-dev-server.js:382:24)\"},\"gip\":true,\"scriptLoader\":[]}</script></body></html>"

  78 |
  79 |         // /edge/foo should be caught before /edge/[id]
> 80 |         expect(html).toContain(`to /edge/[id]`)
     |                      ^
  81 |
  82 |         const browser = await webdriver(context.appPort, '/edge/foo')
  83 |

  at Object.toContain (e2e/switchable-runtime/index.test.ts:80:22)

● Switchable runtime › Switchable runtime (dev) › should be possible to switch between runtimes in pages

TIMED OUT: /Hello from edge page/

<!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><style data-next-hide-fouc="true">body{display:none}</style><noscript data-next-hide-fouc="true"><style>body{display:block}</style></noscript><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/2f304_next_dist_build_polyfills_polyfill-nomodule.js"></script><script src="/_next/static/chunks/2f304_next_dist_compiled_4f7a4804._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_dist_shared_lib_4192ecef._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_dist_client_59a29403._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_dist_4680849a._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_app_218a23c5.js" defer=""></script><script src="/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_be93d1c4._.js" defer=""></script><script src="/_next/static/chunks/76102_react-dom_44795136._.js" defer=""></script><script src="/_next/static/chunks/node_modules__pnpm_7136f466._.js" defer=""></script><script src="/_next/static/chunks/%5Broot-of-the-server%5D__45f039c3._.js" defer=""></script><script src="/_next/static/chunks/pages__app_2da965e7._.js" defer=""></script><script src="/_next/static/chunks/turbopack-pages__app_e8e1e4b8._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_dist_shared_lib_1bd431c2._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_dist_f237f607._.js" defer=""></script><script src="/_next/static/chunks/2f304_next_error_d58b8b64.js" defer=""></script><script src="/_next/static/chunks/%5Bnext%5D_entry_page-loader_ts_61e8536b._.js" defer=""></script><script src="/_next/static/chunks/%5Broot-of-the-server%5D__092393de._.js" defer=""></script><script src="/_next/static/chunks/pages__error_2da965e7._.js" defer=""></script><script src="/_next/static/chunks/turbopack-pages__error_ff22ec78._.js" defer=""></script><script src="/_next/static/development/_ssgManifest.js" defer=""></script><script src="/_next/static/development/_buildManifest.js" defer=""></script><noscript id="__next_css__DO_NOT_USE__"></noscript></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500,"hostname":"localhost"}},"page":"/_error","query":{},"buildId":"development","isFallback":false,"err":{"name":"TypeError","source":"edge-server","message":"Cannot read properties of undefined (reading 'optimizeCss')","stack":"TypeError: Cannot read properties of undefined (reading 'optimizeCss')\n    at Object.requestHandler [as handler] (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/.next/dev/server/edge/chunks/ssr/_a58dc740._.js:17663:50)\n    at async adapter (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/.next/dev/server/edge/chunks/ssr/_a58dc740._.js:5753:16)\n    at at async /tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next (file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/web/sandbox/sandbox.js:112:26)\n    at async runWithTaggedErrors (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/web/sandbox/sandbox.js:109:9)\n    at async DevServer.runEdgeFunction (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/next-server.js:1355:24)\n    at async NextNodeServer.handleCatchallRenderRequest (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/next-server.js:362:41)\n    at async DevServer.handleRequestImpl (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/base-server.js:898:17)\n    at at async /tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next (file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/dev/next-dev-server.js:386:20)\n    at async Span.traceAsyncFn (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/trace/trace.js:157:20)\n    at async DevServer.handleRequest (file:///tmp/next-install-b47ca83e8da3748a80b5e0bc3fc1d6f00bc0744b371822644ebdf91ab518051b/node_modules/.pnpm/next@file+..+next-repo-d7de7950c14a3333bfb4027297289b96b514ab38e8a47adc52cf60c2b2fd2366+packa_xbtnvbkavfkry3e4wbks44otgy/node_modules/next/dist/server/dev/next-dev-server.js:382:24)"},"gip":true,"scriptLoader":[]}</script></body></html>

undefined

  724 |   }
  725 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 726 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  727 | }
  728 |
  729 | export class File {

  at check (lib/next-test-utils.ts:726:9)
  at Object.<anonymous> (e2e/switchable-runtime/index.test.ts:231:9)

pnpm test-dev test/e2e/app-dir/searchparams-reuse-loading/searchparams-reuse-loading.test.ts (job)

  • searchparams-reuse-loading > when aliasing is skipped > should work for not found pages (DD)
Expand output

● searchparams-reuse-loading › when aliasing is skipped › should work for not found pages

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

Expected substring: "/non-existent-page?id=1"
Received string:    "http://localhost:46833/mpa-navs"

  94 |       // the first link would have been the "aliased" entry since it was prefetched first. Validate that it's the correct URL
  95 |       await retry(async () => {
> 96 |         expect(await browser.url()).toContain('/non-existent-page?id=1')
     |                                     ^
  97 |       })
  98 |
  99 |       expect(await browser.elementByCss('h2').text()).toBe(

  at toContain (e2e/app-dir/searchparams-reuse-loading/searchparams-reuse-loading.test.ts:96:37)
  at retry (lib/next-test-utils.ts:797:14)
  at Object.<anonymous> (e2e/app-dir/searchparams-reuse-loading/searchparams-reuse-loading.test.ts:95:7)

pnpm test-start test/production/app-dir/build-output-prerender/build-output-prerender.test.ts (job)

  • build-output-prerender > with a next config file > with --debug-prerender > prints a warning and the customized experimental flags (DD)
  • build-output-prerender > with a next config file > with --debug-prerender > shows all prerender errors with readable stacks and code frames (DD)
  • build-output-prerender > with a next config file > without --debug-prerender > prints only the user-selected experimental flags (and the ones enabled via env variable) (DD)
  • build-output-prerender > with a next config file > without --debug-prerender > shows only a single prerender error with a mangled stack (DD)
  • build-output-prerender > without a next config file > with --debug-prerender > prints a warning and the customized experimental flags (DD)
  • build-output-prerender > without a next config file > without --debug-prerender > prints no experimental flags (unless enabled via env variable) (DD)
Expand output

● build-output-prerender › with a next config file › without --debug-prerender › prints only the user-selected experimental flags (and the ones enabled via env variable)

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file without --debug-prerender prints only the user-selected experimental flags (and the ones enabled via env variable) 1`

- Snapshot  - 0
+ Received  + 1

+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ▲ Next.js x.y.z (webpack, Cache Components)
  - Experiments (use with caution):
    ✓ reactDebugChannel (enabled by `__NEXT_EXPERIMENTAL_DEBUG_CHANNEL`)

  26 |             `)
  27 |           } else {
> 28 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(`
     |                                                       ^
  29 |              "▲ Next.js x.y.z (webpack, Cache Components)
  30 |              - Experiments (use with caution):
  31 |                ✓ reactDebugChannel (enabled by \`__NEXT_EXPERIMENTAL_DEBUG_CHANNEL\`)"

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:28:55)

● build-output-prerender › with a next config file › without --debug-prerender › shows only a single prerender error with a mangled stack

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file without --debug-prerender shows only a single prerender error with a mangled stack 1`

- Snapshot  - 1
+ Received  + 6

@@ -1,6 +1,11 @@
- "Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client
+ "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client
      at x (<next-dist-dir>)
  To get a more detailed stack trace and pinpoint the issue, try one of the following:
    - Start the app in development mode by running `next dev`, then open "/client" in your browser to investigate the error.
    - Rerun the production build with `next build --debug-prerender` to generate better stack traces.
  Error occurred prerendering page "/client". Read more: https://nextjs.org/docs/messages/prerender-error

  82 |           `)
  83 |         } else {
> 84 |           expect(getPrerenderOutput(next.cliOutput)).toMatchInlineSnapshot(`
     |                                                      ^
  85 |            "Error: Route "/client" used \`new Date()\` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client
  86 |                at x (<next-dist-dir>)
  87 |            To get a more detailed stack trace and pinpoint the issue, try one of the following:

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:84:54)

● build-output-prerender › with a next config file › with --debug-prerender › prints a warning and the customized experimental flags

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file with --debug-prerender prints a warning and the customized experimental flags 1`

- Snapshot  - 0
+ Received  + 1

@@ -1,5 +1,6 @@
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  ▲ Next.js x.y.z (webpack, Cache Components)
  - Experiments (use with caution):
    ⨯ prerenderEarlyExit (disabled by `--debug-prerender`)
    ✓ reactDebugChannel (enabled by `__NEXT_EXPERIMENTAL_DEBUG_CHANNEL`)

  117 |             `)
  118 |           } else {
> 119 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(`
      |                                                       ^
  120 |              "⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  121 |              ▲ Next.js x.y.z (webpack, Cache Components)
  122 |              - Experiments (use with caution):

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:119:55)

● build-output-prerender › with a next config file › with --debug-prerender › shows all prerender errors with readable stacks and code frames

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender with a next config file with --debug-prerender shows all prerender errors with readable stacks and code frames 1`

- Snapshot  - 1
+ Received  + 6

@@ -1,6 +1,11 @@
- "Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client
+ "[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
+ Error: Route "/client" used `new Date()` inside a Client Component without a Suspense boundary above it. See more info here: https://nextjs.org/docs/messages/next-prerender-current-time-client

  at Page (../webpack:/app/client/page.tsx:4:28)
      2 |
      3 | export default function Page() {
    > 4 |   return <p>Current time: {new Date().toISOString()}</p>
        |                            ^
  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:213:54)

● build-output-prerender › without a next config file › without --debug-prerender › prints no experimental flags (unless enabled via env variable)

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender without a next config file without --debug-prerender prints no experimental flags (unless enabled via env variable) 1`

- Snapshot  - 0
+ Received  + 1

+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ▲ Next.js x.y.z (webpack, Cache Components)
  - Experiments (use with caution):
    ✓ reactDebugChannel (enabled by `__NEXT_EXPERIMENTAL_DEBUG_CHANNEL`)

  260 |             `)
  261 |           } else {
> 262 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(`
      |                                                       ^
  263 |              "▲ Next.js x.y.z (webpack, Cache Components)
  264 |              - Experiments (use with caution):
  265 |                ✓ reactDebugChannel (enabled by \`__NEXT_EXPERIMENTAL_DEBUG_CHANNEL\`)"

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:262:55)

● build-output-prerender › without a next config file › with --debug-prerender › prints a warning and the customized experimental flags

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `build-output-prerender without a next config file with --debug-prerender prints a warning and the customized experimental flags 1`

- Snapshot  - 0
+ Received  + 1

@@ -1,5 +1,6 @@
+ [baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
  ⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  ▲ Next.js x.y.z (webpack, Cache Components)
  - Experiments (use with caution):
    ⨯ prerenderEarlyExit (disabled by `--debug-prerender`)
    ✓ reactDebugChannel (enabled by `__NEXT_EXPERIMENTAL_DEBUG_CHANNEL`)

  320 |             `)
  321 |           } else {
> 322 |             expect(getPreambleOutput(next.cliOutput)).toMatchInlineSnapshot(`
      |                                                       ^
  323 |              "⚠ Prerendering is running in debug mode. Note: This may affect performance and should not be used for production.
  324 |              ▲ Next.js x.y.z (webpack, Cache Components)
  325 |              - Experiments (use with caution):

  at Object.toMatchInlineSnapshot (production/app-dir/build-output-prerender/build-output-prerender.test.ts:322:55)

pnpm test-start test/e2e/app-dir/segment-cache/search-params/segment-cache-search-params.test.ts (job)

  • segment cache (search params) > when fetching without PPR (e.g. prefetch="unstable_forceStale"), includes the search params in the cache key (DD)
Expand output

● segment cache (search params) › when fetching without PPR (e.g. prefetch="unstable_forceStale"), includes the search params in the cache key

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

  68 |   })
  69 |
> 70 |   it('when fetching without PPR (e.g. prefetch="unstable_forceStale"), includes the search params in the cache key', async () => {
     |   ^
  71 |     let act: ReturnType<typeof createRouterAct>
  72 |     const browser = await next.browser('/search-params', {
  73 |       beforePageLoad(page) {

  at it (e2e/app-dir/segment-cache/search-params/segment-cache-search-params.test.ts:70:3)
  at Object.describe (e2e/app-dir/segment-cache/search-params/segment-cache-search-params.test.ts:5:1)

pnpm test-start test/e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts (job)

  • app dir client cache with parallel routes > prefetch={true} > should prefetch the full page (DD)
  • app dir client cache with parallel routes > prefetch={true} > should re-use the cache for the full page, only for 5 mins (DD)
Expand output

● app dir client cache with parallel routes › prefetch={true} › should prefetch the full page

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

  29 |
  30 |   describe('prefetch={true}', () => {
> 31 |     it('should prefetch the full page', async () => {
     |     ^
  32 |       let page: PlaywrightPage
  33 |       const browser = await next.browser('/', {
  34 |         async beforePageLoad(p) {

  at it (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:31:5)
  at describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:30:3)
  at Object.describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:7:1)

● app dir client cache with parallel routes › prefetch={true} › should re-use the cache for the full page, only for 5 mins

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

  54 |     })
  55 |
> 56 |     it('should re-use the cache for the full page, only for 5 mins', async () => {
     |     ^
  57 |       let page: PlaywrightPage
  58 |       const browser = await next.browser('/', {
  59 |         async beforePageLoad(p) {

  at it (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:56:5)
  at describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:30:3)
  at Object.describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:7:1)

pnpm test-start-turbo test/e2e/edge-pages-support/edge-document.test.ts (turbopack) (job)

  • opentelemetry > incoming context propagation > pages > should handle getServerSideProps on edge (DD)
  • opentelemetry > root context > pages > should handle getServerSideProps on edge (DD)
Expand output

● opentelemetry › root context › pages › should handle getServerSideProps on edge

TIMED OUT: success

undefined

Error: expect(received).toMatchObject(expected)

- Expected  - 47
+ Received  +  1

- Array [
-   Object {
-     "attributes": Object {
-       "http.method": "GET",
-       "http.route": "/pages/[param]/edge/getServerSideProps",
-       "http.status_code": 200,
-       "http.target": "/pages/param/edge/getServerSideProps?param=param",
-       "next.route": "/pages/[param]/edge/getServerSideProps",
-       "next.span_name": "GET /pages/[param]/edge/getServerSideProps",
-       "next.span_type": "BaseServer.handleRequest",
-     },
-     "kind": 1,
-     "name": "GET /pages/[param]/edge/getServerSideProps",
-     "parentId": undefined,
-     "runtime": "edge",
-     "spans": Array [
-       Object {
-         "attributes": Object {
-           "next.route": "/pages/[param]/edge/getServerSideProps",
-           "next.span_name": "getServerSideProps /pages/[param]/edge/getServerSideProps",
-           "next.span_type": "Render.getServerSideProps",
-         },
-         "kind": 0,
-         "name": "getServerSideProps /pages/[param]/edge/getServerSideProps",
-         "status": Object {
-           "code": 0,
-         },
-       },
-       Object {
-         "attributes": Object {
-           "next.route": "/pages/[param]/edge/getServerSideProps",
-           "next.span_name": "render route (pages) /pages/[param]/edge/getServerSideProps",
-           "next.span_type": "Render.renderDocument",
-         },
-         "kind": 0,
-         "name": "render route (pages) /pages/[param]/edge/getServerSideProps",
-         "status": Object {
-           "code": 0,
-         },
-       },
-     ],
-     "status": Object {
-       "code": 0,
-     },
-     "traceId": "[trace-id]",
-   },
- ]
+ Array []

  724 |   }
  725 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 726 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  727 | }
  728 |
  729 | export class File {

  at check (lib/next-test-utils.ts:726:9)
  at expectTrace (e2e/opentelemetry/instrumentation/opentelemetry.test.ts:1306:3)
  at Object.<anonymous> (e2e/opentelemetry/instrumentation/opentelemetry.test.ts:738:13)

● opentelemetry › incoming context propagation › pages › should handle getServerSideProps on edge

TIMED OUT: success

undefined

Error: expect(received).toMatchObject(expected)

- Expected  - 47
+ Received  +  1

- Array [
-   Object {
-     "attributes": Object {
-       "http.method": "GET",
-       "http.route": "/pages/[param]/edge/getServerSideProps",
-       "http.status_code": 200,
-       "http.target": "/pages/param/edge/getServerSideProps?param=param",
-       "next.route": "/pages/[param]/edge/getServerSideProps",
-       "next.span_name": "GET /pages/[param]/edge/getServerSideProps",
-       "next.span_type": "BaseServer.handleRequest",
-     },
-     "kind": 1,
-     "name": "GET /pages/[param]/edge/getServerSideProps",
-     "parentId": "0f6a325411bdc432",
-     "runtime": "edge",
-     "spans": Array [
-       Object {
-         "attributes": Object {
-           "next.route": "/pages/[param]/edge/getServerSideProps",
-           "next.span_name": "getServerSideProps /pages/[param]/edge/getServerSideProps",
-           "next.span_type": "Render.getServerSideProps",
-         },
-         "kind": 0,
-         "name": "getServerSideProps /pages/[param]/edge/getServerSideProps",
-         "status": Object {
-           "code": 0,
-         },
-       },
-       Object {
-         "attributes": Object {
-           "next.route": "/pages/[param]/edge/getServerSideProps",
-           "next.span_name": "render route (pages) /pages/[param]/edge/getServerSideProps",
-           "next.span_type": "Render.renderDocument",
-         },
-         "kind": 0,
-         "name": "render route (pages) /pages/[param]/edge/getServerSideProps",
-         "status": Object {
-           "code": 0,
-         },
-       },
-     ],
-     "status": Object {
-       "code": 0,
-     },
-     "traceId": "ee75cd9e534ff5e9ed78b4a0c706f0f2",
-   },
- ]
+ Array []

  724 |   }
  725 |   console.error('TIMED OUT CHECK: ', { regex, content, lastErr })
> 726 |   throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |         ^
  727 | }
  728 |
  729 | export class File {

  at check (lib/next-test-utils.ts:726:9)
  at expectTrace (e2e/opentelemetry/instrumentation/opentelemetry.test.ts:1306:3)
  at Object.<anonymous> (e2e/opentelemetry/instrumentation/opentelemetry.test.ts:738:13)

pnpm test-dev-turbo test/e2e/import-conditions/import-conditions.test.ts (turbopack) (job)

  • app-dir static/dynamic handling > unstable-cache should work in pages/unstable-cache-edge (DD)
Expand output

● app-dir static/dynamic handling › unstable-cache should work in pages/unstable-cache-edge

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

Expected: 200
Received: 500

  388 |   ])('unstable-cache should work in pages$pathname', async ({ pathname }) => {
  389 |     let res = await next.fetch(pathname)
> 390 |     expect(res.status).toBe(200)
      |                        ^
  391 |     const isApi = pathname.startsWith('/api')
  392 |     let prevData
  393 |

  at toBe (e2e/app-dir/app-static/app-static.test.ts:390:24)

pnpm test-dev test/e2e/app-dir/actions/app-action-node-middleware.test.ts (job)

  • app-dir action handling > fetch actions > should handle redirects to routes that provide an invalid RSC response (DD)
Expand output

● app-dir action handling › fetch actions › should handle redirects to routes that provide an invalid RSC response

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

Expected substring: "Hello from a pages route"
Received string:    "0.5742502267669136
Client
Server
Client and Server
0
+1+1 (Slow)-1*2
redirect to a pages route
submit
test"

  1310 |
  1311 |       await retry(async () => {
> 1312 |         expect(await browser.elementByCss('body').text()).toContain(
       |                                                           ^
  1313 |           'Hello from a pages route'
  1314 |         )
  1315 |         expect(await browser.url()).toBe(`${next.url}/pages-dir`)

  at toContain (e2e/app-dir/actions/app-action.test.ts:1312:59)
  at retry (lib/next-test-utils.ts:797:14)
  at Object.<anonymous> (e2e/app-dir/actions/app-action.test.ts:1311:7)

pnpm test-dev test/e2e/yarn-pnp/test/with-sass.test.ts (job)

  • app dir - navigation > middleware redirect > should change browser location when router.refresh() gets a redirect response (DD)
  • app dir - navigation > navigating to dynamic params & changing the casing > should load the page correctly (DD)
Expand output

● app dir - navigation › navigating to dynamic params & changing the casing › should load the page correctly

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

Expected substring: "[paramB] page"
Received string:    "/paramA/paramB
/paramA/noParam"

  949 |
  950 |       await retry(async () => {
> 951 |         expect(await browser.elementByCss('body').text()).toContain(
      |                                                           ^
  952 |           '[paramB] page'
  953 |         )
  954 |       })

  at toContain (e2e/app-dir/navigation/navigation.test.ts:951:59)
  at retry (lib/next-test-utils.ts:797:14)
  at Object.<anonymous> (e2e/app-dir/navigation/navigation.test.ts:950:7)

● app dir - navigation › middleware redirect › should change browser location when router.refresh() gets a redirect response

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

Expected: "http://localhost:34503/redirect-on-refresh/dashboard"
Received: "http://localhost:34503/redirect-on-refresh/auth"

  983 |       const browser = await next.browser('/redirect-on-refresh/auth')
  984 |       await retry(async () =>
> 985 |         expect(await browser.url()).toBe(
      |                                     ^
  986 |           next.url + '/redirect-on-refresh/dashboard'
  987 |         )
  988 |       )

  at toBe (e2e/app-dir/navigation/navigation.test.ts:985:37)
  at retry (lib/next-test-utils.ts:797:14)
  at Object.<anonymous> (e2e/app-dir/navigation/navigation.test.ts:984:7)

pnpm test-start test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts (job)

  • segment cache (revalidation) > delay re-prefetch after revalidation to allow CDN propagation (DD)
Expand output

● segment cache (revalidation) › delay re-prefetch after revalidation to allow CDN propagation

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at elementById (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:363:38)
  at act (lib/router-act.ts:297:27)
  at Object.<anonymous> (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:358:5)

@bgw bgw force-pushed the bgw/rm-inject-next-config-template branch from 0cf5afd to e20fb2a Compare November 29, 2025 00:46
@codspeed-hq
Copy link

codspeed-hq bot commented Nov 29, 2025

CodSpeed Performance Report

Merging #86630 will not alter performance

Comparing bgw/rm-inject-next-config-template (e20fb2a) with canary (faf1371)

Summary

✅ 17 untouched
⏩ 3 skipped1

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.

Comment on lines -915 to -922
pub struct CacheLifeProfile {
#[serde(skip_serializing_if = "Option::is_none")]
pub stale: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub revalidate: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expire: Option<u32>,
}
Copy link
Member Author

Choose a reason for hiding this comment

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

We don't actually care what the contents of CacheLifeProfile are, only that we can round-trip it. So serde_json::Value seems like a much simpler/better choice.

@ijjk
Copy link
Member

ijjk commented Nov 29, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
buildDuration 21.8s 18.8s N/A
buildDurationCached 17.2s 14.4s N/A
nodeModulesSize 457 MB 457 MB N/A
nextStartRea..uration (ms) 654ms 657ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
436-HASH.js gzip 5.32 kB 5.32 kB N/A
4779.HASH.js gzip 169 B 169 B
9760-HASH.js gzip 52.4 kB 52.7 kB ⚠️ +224 B
c57d0559-HASH.js gzip 62.3 kB 62.3 kB N/A
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 253 B 256 B N/A
main-HASH.js gzip 38.3 kB 38.3 kB N/A
webpack-HASH.js gzip 1.69 kB 1.69 kB
Overall change 114 kB 114 kB ⚠️ +224 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template 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 bgw/rm-inject-next-config-template Change
_app-HASH.js gzip 193 B 194 B N/A
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 334 B 334 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB N/A
edge-ssr-HASH.js gzip 255 B 254 B N/A
head-HASH.js gzip 350 B 351 B N/A
hooks-HASH.js gzip 384 B 384 B
image-HASH.js gzip 4.78 kB 4.77 kB N/A
index-HASH.js gzip 260 B 259 B N/A
link-HASH.js gzip 2.5 kB 2.5 kB N/A
routerDirect..HASH.js gzip 316 B 320 B N/A
script-HASH.js gzip 388 B 388 B
withRouter-HASH.js gzip 316 B 314 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.39 kB 1.39 kB
Client Build Manifests
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
_buildManifest.js gzip 718 B 720 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
index.html gzip 522 B 523 B N/A
link.html gzip 537 B 538 B N/A
withRouter.html gzip 520 B 519 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
edge-ssr.js gzip 126 kB 124 kB N/A
page.js gzip 233 kB 232 kB N/A
Overall change 0 B 0 B
Middleware size Overall increase ⚠️
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
middleware-b..fest.js gzip 637 B 638 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 32.7 kB 32.8 kB ⚠️ +110 B
edge-runtime..pack.js gzip 846 B 846 B
Overall change 33.7 kB 33.8 kB ⚠️ +110 B
Next Runtimes
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
app-page-exp...dev.js gzip 299 kB 299 kB N/A
app-page-exp..prod.js gzip 154 kB 154 kB
app-page-tur...dev.js gzip 299 kB 299 kB N/A
app-page-tur..prod.js gzip 154 kB 154 kB
app-page-tur...dev.js gzip 296 kB 296 kB N/A
app-page-tur..prod.js gzip 152 kB 152 kB
app-page.run...dev.js gzip 296 kB 296 kB
app-page.run..prod.js gzip 152 kB 152 kB
app-route-ex...dev.js gzip 68.5 kB 68.5 kB
app-route-ex..prod.js gzip 47.3 kB 47.3 kB
app-route-tu...dev.js gzip 68.5 kB 68.5 kB
app-route-tu..prod.js gzip 47.3 kB 47.3 kB
app-route-tu...dev.js gzip 68.1 kB 68.1 kB
app-route-tu..prod.js gzip 47.1 kB 47.1 kB
app-route.ru...dev.js gzip 68.1 kB 68.1 kB
app-route.ru..prod.js gzip 47.1 kB 47.1 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 328 B 328 B
dist_client_...dev.js gzip 320 B 320 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu...dev.js gzip 40.9 kB 40.9 kB
pages-api-tu..prod.js gzip 31 kB 31 kB
pages-api.ru...dev.js gzip 40.8 kB 40.8 kB
pages-api.ru..prod.js gzip 30.9 kB 30.9 kB
pages-turbo....dev.js gzip 50.3 kB 50.3 kB
pages-turbo...prod.js gzip 37.8 kB 37.8 kB
pages.runtim...dev.js gzip 50.3 kB 50.3 kB
pages.runtim..prod.js gzip 37.8 kB 37.8 kB
server.runti..prod.js gzip 60.5 kB 60.5 kB
Overall change 1.75 MB 1.75 MB
build cache
vercel/next.js canary vercel/next.js bgw/rm-inject-next-config-template Change
0.pack gzip 3.1 MB 3.1 MB N/A
index.pack gzip 93.6 kB 93.3 kB N/A
Overall change 0 B 0 B
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 1033: /***/ (
+    /***/ 431: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function () {
-          return __webpack_require__(6490);
+          return __webpack_require__(8084);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5323: /***/ (
+    /***/ 2699: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -60,7 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(2223)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(9289);
+      const _loadablecontextsharedruntime = __webpack_require__(3785);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -293,73 +293,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 6490: /***/ (
+    /***/ 3785: /***/ (
       __unused_webpack_module,
-      __webpack_exports__,
+      exports,
       __webpack_require__
     ) => {
       "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
       });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(1503);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7320);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        () =>
-          __webpack_require__
-            .e(/* import() */ 4779)
-            .then(__webpack_require__.bind(__webpack_require__, 4779))
-            .then((mod) => mod.Hello),
-        {
-          loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 4779],
-          },
-        }
+      Object.defineProperty(exports, "LoadableContext", {
+        enumerable: true,
+        get: function () {
+          return LoadableContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(2223)
       );
-      const Page = () =>
-        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
-                children: "testing next/dynamic size",
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                DynamicHello,
-                {}
-              ),
-            ],
-          }
-        );
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
-      /***/
-    },
-
-    /***/ 7320: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7340);
+      const LoadableContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
 
       /***/
     },
 
-    /***/ 7340: /***/ (module, exports, __webpack_require__) => {
+    /***/ 6828: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -392,7 +353,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
         __webpack_require__(2223)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(5323)
+        __webpack_require__(2699)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -492,29 +453,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       /***/
     },
 
-    /***/ 9289: /***/ (
+    /***/ 7514: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(6828);
+
+      /***/
+    },
+
+    /***/ 8084: /***/ (
       __unused_webpack_module,
-      exports,
+      __webpack_exports__,
       __webpack_require__
     ) => {
       "use strict";
-      /* __next_internal_client_entry_do_not_use__  cjs */
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "LoadableContext", {
-        enumerable: true,
-        get: function () {
-          return LoadableContext;
-        },
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
       });
-      const _interop_require_default = __webpack_require__(1532);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2223)
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(1503);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(7514);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 9573)
+            .then(__webpack_require__.bind(__webpack_require__, 9573))
+            .then((mod) => mod.Hello),
+        {
+          loadableGenerated: {
+            webpack: () => [/*require.resolve*/ 9573],
+          },
+        }
       );
-      const LoadableContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+          {
+            children: [
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+                children: "testing next/dynamic size",
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+                DynamicHello,
+                {}
+              ),
+            ],
+          }
+        );
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
 
       /***/
     },
@@ -524,7 +524,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1033)
+      __webpack_exec__(431)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [676],
   {
-    /***/ 1819: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/edge-ssr",
-        function () {
-          return __webpack_require__(7521);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7521: /***/ (
+    /***/ 983: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -37,13 +20,30 @@
 
       /***/
     },
+
+    /***/ 985: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/edge-ssr",
+        function () {
+          return __webpack_require__(983);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1819)
+      __webpack_exec__(985)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,34 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5350],
   {
-    /***/ 619: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/head",
-        function () {
-          return __webpack_require__(9891);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7997: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(6705);
-
-      /***/
-    },
-
-    /***/ 9891: /***/ (
+    /***/ 1417: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7997);
+        __webpack_require__(5171);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +49,40 @@
 
       /***/
     },
+
+    /***/ 1937: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/head",
+        function () {
+          return __webpack_require__(1417);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 5171: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(7505);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(619)
+      __webpack_exec__(1937)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1679: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(4655);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 4655: /***/ (
+    /***/ 1598: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -76,13 +59,30 @@
 
       /***/
     },
+
+    /***/ 3925: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(1598);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1679)
+      __webpack_exec__(3925)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2983],
   {
-    /***/ 797: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/image",
-        function () {
-          return __webpack_require__(5999);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 1713: /***/ (__unused_webpack_module, exports) => {
+    /***/ 881: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -58,7 +41,7 @@
       /***/
     },
 
-    /***/ 2263: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -136,7 +119,137 @@
       /***/
     },
 
-    /***/ 2728: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1744: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "default", {
+        enumerable: true,
+        get: function () {
+          return _default;
+        },
+      });
+      const _findclosestquality = __webpack_require__(7054);
+      function defaultLoader({ config, src, width, quality }) {
+        if (
+          src.startsWith("/") &&
+          src.includes("?") &&
+          config.localPatterns?.length === 1 &&
+          config.localPatterns[0].pathname === "**" &&
+          config.localPatterns[0].search === ""
+        ) {
+          throw Object.defineProperty(
+            new Error(
+              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
+                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
+            ),
+            "__NEXT_ERROR_CODE",
+            {
+              value: "E871",
+              enumerable: false,
+              configurable: true,
+            }
+          );
+        }
+        if (false) {
+        }
+        const q = (0, _findclosestquality.findClosestQuality)(quality, config);
+        return `${config.path}?url=${encodeURIComponent(
+          src
+        )}&w=${width}&q=${q}${
+          src.startsWith("/_next/static/media/") && false ? 0 : ""
+        }`;
+      }
+      // We use this to determine if the import is the default loader
+      // or a custom loader defined by the user in next.config.js
+      defaultLoader.__next_img_default = true;
+      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+      /***/
+    },
+
+    /***/ 2388: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      // ESM COMPAT FLAG
+      __webpack_require__.r(__webpack_exports__);
+
+      // EXPORTS
+      __webpack_require__.d(__webpack_exports__, {
+        __N_SSP: () => /* binding */ __N_SSP,
+        default: () => /* binding */ pages_image,
+      });
+
+      // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js
+      var jsx_runtime = __webpack_require__(1503);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/image.js
+      var next_image = __webpack_require__(3866);
+      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+      /* harmony default export */ const nextjs = {
+        src: "/_next/static/media/nextjs.cae0b805.png",
+        height: 1347,
+        width: 1626,
+        blurDataURL:
+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+        blurWidth: 8,
+        blurHeight: 7,
+      }; // ./pages/image.js
+      function ImagePage(props) {
+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+          children: [
+            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+              children: "next/image example",
+            }),
+            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+              src: nextjs,
+              placeholder: "blur",
+            }),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const pages_image = ImagePage;
+
+      /***/
+    },
+
+    /***/ 3866: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(6888);
+
+      /***/
+    },
+
+    /***/ 4483: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/image",
+        function () {
+          return __webpack_require__(2388);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 6600: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -158,17 +271,17 @@
         __webpack_require__(9507)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6705)
+        __webpack_require__(7505)
       );
-      const _getimgprops = __webpack_require__(3556);
-      const _imageconfig = __webpack_require__(3157);
-      const _imageconfigcontextsharedruntime = __webpack_require__(9323);
-      const _warnonce = __webpack_require__(6173);
-      const _routercontextsharedruntime = __webpack_require__(6046);
+      const _getimgprops = __webpack_require__(9588);
+      const _imageconfig = __webpack_require__(2645);
+      const _imageconfigcontextsharedruntime = __webpack_require__(5451);
+      const _warnonce = __webpack_require__(7549);
+      const _routercontextsharedruntime = __webpack_require__(5470);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3744)
+        __webpack_require__(1744)
       );
-      const _usemergedref = __webpack_require__(2263);
+      const _usemergedref = __webpack_require__(1511);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -495,7 +608,96 @@
       /***/
     },
 
-    /***/ 3556: /***/ (
+    /***/ 6888: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      0 && 0;
+      function _export(target, all) {
+        for (var name in all)
+          Object.defineProperty(target, name, {
+            enumerable: true,
+            get: all[name],
+          });
+      }
+      _export(exports, {
+        default: function () {
+          return _default;
+        },
+        getImageProps: function () {
+          return getImageProps;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _getimgprops = __webpack_require__(9588);
+      const _imagecomponent = __webpack_require__(6600);
+      const _imageloader = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1744)
+      );
+      function getImageProps(imgProps) {
+        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+          defaultLoader: _imageloader.default,
+          // This is replaced by webpack define plugin
+          imgConf: {
+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+            imageSizes: [32, 48, 64, 96, 128, 256, 384],
+            qualities: [75],
+            path: "/_next/image",
+            loader: "default",
+            dangerouslyAllowSVG: false,
+            unoptimized: false,
+          },
+        });
+        // Normally we don't care about undefined props because we pass to JSX,
+        // but this exported function could be used by the end user for anything
+        // so we delete undefined props to clean it up a little.
+        for (const [key, value] of Object.entries(props)) {
+          if (value === undefined) {
+            delete props[key];
+          }
+        }
+        return {
+          props,
+        };
+      }
+      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
+
+      /***/
+    },
+
+    /***/ 7054: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "findClosestQuality", {
+        enumerable: true,
+        get: function () {
+          return findClosestQuality;
+        },
+      });
+      function findClosestQuality(quality, config) {
+        const q = quality || 75;
+        if (!config?.qualities?.length) {
+          return q;
+        }
+        return config.qualities.reduce(
+          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
+          0
+        );
+      } //# sourceMappingURL=find-closest-quality.js.map
+
+      /***/
+    },
+
+    /***/ 9588: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -511,9 +713,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(6173);
-      const _imageblursvg = __webpack_require__(1713);
-      const _imageconfig = __webpack_require__(3157);
+      const _warnonce = __webpack_require__(7549);
+      const _imageblursvg = __webpack_require__(881);
+      const _imageconfig = __webpack_require__(2645);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -943,215 +1145,13 @@
 
       /***/
     },
-
-    /***/ 3744: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return _default;
-        },
-      });
-      const _findclosestquality = __webpack_require__(8494);
-      function defaultLoader({ config, src, width, quality }) {
-        if (
-          src.startsWith("/") &&
-          src.includes("?") &&
-          config.localPatterns?.length === 1 &&
-          config.localPatterns[0].pathname === "**" &&
-          config.localPatterns[0].search === ""
-        ) {
-          throw Object.defineProperty(
-            new Error(
-              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +
-                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`
-            ),
-            "__NEXT_ERROR_CODE",
-            {
-              value: "E871",
-              enumerable: false,
-              configurable: true,
-            }
-          );
-        }
-        if (false) {
-        }
-        const q = (0, _findclosestquality.findClosestQuality)(quality, config);
-        return `${config.path}?url=${encodeURIComponent(
-          src
-        )}&w=${width}&q=${q}${
-          src.startsWith("/_next/static/media/") && false ? 0 : ""
-        }`;
-      }
-      // We use this to determine if the import is the default loader
-      // or a custom loader defined by the user in next.config.js
-      defaultLoader.__next_img_default = true;
-      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
-
-      /***/
-    },
-
-    /***/ 4292: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7896);
-
-      /***/
-    },
-
-    /***/ 5999: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      // ESM COMPAT FLAG
-      __webpack_require__.r(__webpack_exports__);
-
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        __N_SSP: () => /* binding */ __N_SSP,
-        default: () => /* binding */ pages_image,
-      });
-
-      // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(1503);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/image.js
-      var next_image = __webpack_require__(4292);
-      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
-      /* harmony default export */ const nextjs = {
-        src: "/_next/static/media/nextjs.cae0b805.png",
-        height: 1347,
-        width: 1626,
-        blurDataURL:
-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
-        blurWidth: 8,
-        blurHeight: 7,
-      }; // ./pages/image.js
-      function ImagePage(props) {
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
-              children: "next/image example",
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
-              src: nextjs,
-              placeholder: "blur",
-            }),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const pages_image = ImagePage;
-
-      /***/
-    },
-
-    /***/ 7896: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      0 && 0;
-      function _export(target, all) {
-        for (var name in all)
-          Object.defineProperty(target, name, {
-            enumerable: true,
-            get: all[name],
-          });
-      }
-      _export(exports, {
-        default: function () {
-          return _default;
-        },
-        getImageProps: function () {
-          return getImageProps;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _getimgprops = __webpack_require__(3556);
-      const _imagecomponent = __webpack_require__(2728);
-      const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3744)
-      );
-      function getImageProps(imgProps) {
-        const { props } = (0, _getimgprops.getImgProps)(imgProps, {
-          defaultLoader: _imageloader.default,
-          // This is replaced by webpack define plugin
-          imgConf: {
-            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-            imageSizes: [32, 48, 64, 96, 128, 256, 384],
-            qualities: [75],
-            path: "/_next/image",
-            loader: "default",
-            dangerouslyAllowSVG: false,
-            unoptimized: false,
-          },
-        });
-        // Normally we don't care about undefined props because we pass to JSX,
-        // but this exported function could be used by the end user for anything
-        // so we delete undefined props to clean it up a little.
-        for (const [key, value] of Object.entries(props)) {
-          if (value === undefined) {
-            delete props[key];
-          }
-        }
-        return {
-          props,
-        };
-      }
-      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
-      /***/
-    },
-
-    /***/ 8494: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "findClosestQuality", {
-        enumerable: true,
-        get: function () {
-          return findClosestQuality;
-        },
-      });
-      function findClosestQuality(quality, config) {
-        const q = quality || 75;
-        if (!config?.qualities?.length) {
-          return q;
-        }
-        return config.qualities.reduce(
-          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),
-          0
-        );
-      } //# sourceMappingURL=find-closest-quality.js.map
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(797)
+      __webpack_exec__(4483)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,338 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 69: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useMergedRef", {
+        enumerable: true,
+        get: function () {
+          return useMergedRef;
+        },
+      });
+      const _react = __webpack_require__(2223);
+      function useMergedRef(refA, refB) {
+        const cleanupA = (0, _react.useRef)(null);
+        const cleanupB = (0, _react.useRef)(null);
+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+        // (because it hasn't been updated for React 19)
+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+        return (0, _react.useCallback)(
+          (current) => {
+            if (current === null) {
+              const cleanupFnA = cleanupA.current;
+              if (cleanupFnA) {
+                cleanupA.current = null;
+                cleanupFnA();
+              }
+              const cleanupFnB = cleanupB.current;
+              if (cleanupFnB) {
+                cleanupB.current = null;
+                cleanupFnB();
+              }
+            } else {
+              if (refA) {
+                cleanupA.current = applyRef(refA, current);
+              }
+              if (refB) {
+                cleanupB.current = applyRef(refB, current);
+              }
+            }
+          },
+          [refA, refB]
+        );
+      }
+      function applyRef(refA, current) {
+        if (typeof refA === "function") {
+          const cleanup = refA(current);
+          if (typeof cleanup === "function") {
+            return cleanup;
+          } else {
+            return () => refA(null);
+          }
+        } else {
+          refA.current = current;
+          return () => {
+            refA.current = null;
+          };
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-merged-ref.js.map
+
+      /***/
+    },
+
+    /***/ 2025: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(4591);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 3267: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "getDomainLocale", {
+        enumerable: true,
+        get: function () {
+          return getDomainLocale;
+        },
+      });
+      const _normalizetrailingslash = __webpack_require__(2371);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
+        } else {
+          return false;
+        }
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=get-domain-locale.js.map
+
+      /***/
+    },
+
+    /***/ 4591: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+        /* harmony export */
+      });
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(1503);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(6929);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_link__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      function aLink(props) {
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+          children: [
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+              children: "A Link page!",
+            }),
+            /*#__PURE__*/ (0,
+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+              {
+                href: "/",
+                children: "Go to /",
+              }
+            ),
+          ],
+        });
+      }
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+      /***/
+    },
+
+    /***/ 6929: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8885);
+
+      /***/
+    },
+
+    /***/ 7686: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "useIntersection", {
+        enumerable: true,
+        get: function () {
+          return useIntersection;
+        },
+      });
+      const _react = __webpack_require__(2223);
+      const _requestidlecallback = __webpack_require__(901);
+      const hasIntersectionObserver =
+        typeof IntersectionObserver === "function";
+      const observers = new Map();
+      const idList = [];
+      function createObserver(options) {
+        const id = {
+          root: options.root || null,
+          margin: options.rootMargin || "",
+        };
+        const existing = idList.find(
+          (obj) => obj.root === id.root && obj.margin === id.margin
+        );
+        let instance;
+        if (existing) {
+          instance = observers.get(existing);
+          if (instance) {
+            return instance;
+          }
+        }
+        const elements = new Map();
+        const observer = new IntersectionObserver((entries) => {
+          entries.forEach((entry) => {
+            const callback = elements.get(entry.target);
+            const isVisible =
+              entry.isIntersecting || entry.intersectionRatio > 0;
+            if (callback && isVisible) {
+              callback(isVisible);
+            }
+          });
+        }, options);
+        instance = {
+          id,
+          observer,
+          elements,
+        };
+        idList.push(id);
+        observers.set(id, instance);
+        return instance;
+      }
+      function observe(element, callback, options) {
+        const { id, observer, elements } = createObserver(options);
+        elements.set(element, callback);
+        observer.observe(element);
+        return function unobserve() {
+          elements.delete(element);
+          observer.unobserve(element);
+          // Destroy observer when there's nothing left to watch:
+          if (elements.size === 0) {
+            observer.disconnect();
+            observers.delete(id);
+            const index = idList.findIndex(
+              (obj) => obj.root === id.root && obj.margin === id.margin
+            );
+            if (index > -1) {
+              idList.splice(index, 1);
+            }
+          }
+        };
+      }
+      function useIntersection({ rootRef, rootMargin, disabled }) {
+        const isDisabled = disabled || !hasIntersectionObserver;
+        const [visible, setVisible] = (0, _react.useState)(false);
+        const elementRef = (0, _react.useRef)(null);
+        const setElement = (0, _react.useCallback)((element) => {
+          elementRef.current = element;
+        }, []);
+        (0, _react.useEffect)(() => {
+          if (hasIntersectionObserver) {
+            if (isDisabled || visible) return;
+            const element = elementRef.current;
+            if (element && element.tagName) {
+              const unobserve = observe(
+                element,
+                (isVisible) => isVisible && setVisible(isVisible),
+                {
+                  root: rootRef?.current,
+                  rootMargin,
+                }
+              );
+              return unobserve;
+            }
+          } else {
+            if (!visible) {
+              const idleCallback = (0,
+              _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+              return () =>
+                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+            }
+          }
+          // eslint-disable-next-line react-hooks/exhaustive-deps
+        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+        const resetVisible = (0, _react.useCallback)(() => {
+          setVisible(false);
+        }, []);
+        return [setElement, visible, resetVisible];
+      }
+      if (
+        (typeof exports.default === "function" ||
+          (typeof exports.default === "object" && exports.default !== null)) &&
+        typeof exports.default.__esModule === "undefined"
+      ) {
+        Object.defineProperty(exports.default, "__esModule", {
+          value: true,
+        });
+        Object.assign(exports.default, exports);
+        module.exports = exports.default;
+      } //# sourceMappingURL=use-intersection.js.map
+
+      /***/
+    },
+
+    /***/ 8101: /***/ (__unused_webpack_module, exports) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "errorOnce", {
+        enumerable: true,
+        get: function () {
+          return errorOnce;
+        },
+      });
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
+
+      /***/
+    },
+
+    /***/ 8885: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -28,17 +359,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(2223)
       );
-      const _resolvehref = __webpack_require__(2275);
-      const _islocalurl = __webpack_require__(3179);
-      const _formaturl = __webpack_require__(5486);
-      const _utils = __webpack_require__(3708);
-      const _addlocale = __webpack_require__(8225);
-      const _routercontextsharedruntime = __webpack_require__(6046);
-      const _useintersection = __webpack_require__(2678);
-      const _getdomainlocale = __webpack_require__(4499);
-      const _addbasepath = __webpack_require__(7434);
-      const _usemergedref = __webpack_require__(2263);
-      const _erroronce = __webpack_require__(2197);
+      const _resolvehref = __webpack_require__(7379);
+      const _islocalurl = __webpack_require__(4843);
+      const _formaturl = __webpack_require__(9374);
+      const _utils = __webpack_require__(3116);
+      const _addlocale = __webpack_require__(8065);
+      const _routercontextsharedruntime = __webpack_require__(5470);
+      const _useintersection = __webpack_require__(7686);
+      const _getdomainlocale = __webpack_require__(3267);
+      const _addbasepath = __webpack_require__(1450);
+      const _usemergedref = __webpack_require__(1511);
+      const _erroronce = __webpack_require__(8101);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -416,344 +747,13 @@
 
       /***/
     },
-
-    /***/ 2197: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
-        },
-      });
-      let errorOnce = (_) => {};
-      if (false) {
-      } //# sourceMappingURL=error-once.js.map
-
-      /***/
-    },
-
-    /***/ 2263: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useMergedRef", {
-        enumerable: true,
-        get: function () {
-          return useMergedRef;
-        },
-      });
-      const _react = __webpack_require__(2223);
-      function useMergedRef(refA, refB) {
-        const cleanupA = (0, _react.useRef)(null);
-        const cleanupB = (0, _react.useRef)(null);
-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
-        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),
-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
-        // (because it hasn't been updated for React 19)
-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
-        return (0, _react.useCallback)(
-          (current) => {
-            if (current === null) {
-              const cleanupFnA = cleanupA.current;
-              if (cleanupFnA) {
-                cleanupA.current = null;
-                cleanupFnA();
-              }
-              const cleanupFnB = cleanupB.current;
-              if (cleanupFnB) {
-                cleanupB.current = null;
-                cleanupFnB();
-              }
-            } else {
-              if (refA) {
-                cleanupA.current = applyRef(refA, current);
-              }
-              if (refB) {
-                cleanupB.current = applyRef(refB, current);
-              }
-            }
-          },
-          [refA, refB]
-        );
-      }
-      function applyRef(refA, current) {
-        if (typeof refA === "function") {
-          const cleanup = refA(current);
-          if (typeof cleanup === "function") {
-            return cleanup;
-          } else {
-            return () => refA(null);
-          }
-        } else {
-          refA.current = current;
-          return () => {
-            refA.current = null;
-          };
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=use-merged-ref.js.map
-
-      /***/
-    },
-
-    /***/ 2369: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
-        /* harmony export */
-      });
-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(1503);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(6691);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_link__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      function aLink(props) {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
-          children: [
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
-              children: "A Link page!",
-            }),
-            /*#__PURE__*/ (0,
-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),
-              {
-                href: "/",
-                children: "Go to /",
-              }
-            ),
-          ],
-        });
-      }
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
-      /***/
-    },
-
-    /***/ 2678: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "useIntersection", {
-        enumerable: true,
-        get: function () {
-          return useIntersection;
-        },
-      });
-      const _react = __webpack_require__(2223);
-      const _requestidlecallback = __webpack_require__(4213);
-      const hasIntersectionObserver =
-        typeof IntersectionObserver === "function";
-      const observers = new Map();
-      const idList = [];
-      function createObserver(options) {
-        const id = {
-          root: options.root || null,
-          margin: options.rootMargin || "",
-        };
-        const existing = idList.find(
-          (obj) => obj.root === id.root && obj.margin === id.margin
-        );
-        let instance;
-        if (existing) {
-          instance = observers.get(existing);
-          if (instance) {
-            return instance;
-          }
-        }
-        const elements = new Map();
-        const observer = new IntersectionObserver((entries) => {
-          entries.forEach((entry) => {
-            const callback = elements.get(entry.target);
-            const isVisible =
-              entry.isIntersecting || entry.intersectionRatio > 0;
-            if (callback && isVisible) {
-              callback(isVisible);
-            }
-          });
-        }, options);
-        instance = {
-          id,
-          observer,
-          elements,
-        };
-        idList.push(id);
-        observers.set(id, instance);
-        return instance;
-      }
-      function observe(element, callback, options) {
-        const { id, observer, elements } = createObserver(options);
-        elements.set(element, callback);
-        observer.observe(element);
-        return function unobserve() {
-          elements.delete(element);
-          observer.unobserve(element);
-          // Destroy observer when there's nothing left to watch:
-          if (elements.size === 0) {
-            observer.disconnect();
-            observers.delete(id);
-            const index = idList.findIndex(
-              (obj) => obj.root === id.root && obj.margin === id.margin
-            );
-            if (index > -1) {
-              idList.splice(index, 1);
-            }
-          }
-        };
-      }
-      function useIntersection({ rootRef, rootMargin, disabled }) {
-        const isDisabled = disabled || !hasIntersectionObserver;
-        const [visible, setVisible] = (0, _react.useState)(false);
-        const elementRef = (0, _react.useRef)(null);
-        const setElement = (0, _react.useCallback)((element) => {
-          elementRef.current = element;
-        }, []);
-        (0, _react.useEffect)(() => {
-          if (hasIntersectionObserver) {
-            if (isDisabled || visible) return;
-            const element = elementRef.current;
-            if (element && element.tagName) {
-              const unobserve = observe(
-                element,
-                (isVisible) => isVisible && setVisible(isVisible),
-                {
-                  root: rootRef?.current,
-                  rootMargin,
-                }
-              );
-              return unobserve;
-            }
-          } else {
-            if (!visible) {
-              const idleCallback = (0,
-              _requestidlecallback.requestIdleCallback)(() => setVisible(true));
-              return () =>
-                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
-            }
-          }
-          // eslint-disable-next-line react-hooks/exhaustive-deps
-        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
-        const resetVisible = (0, _react.useCallback)(() => {
-          setVisible(false);
-        }, []);
-        return [setElement, visible, resetVisible];
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=use-intersection.js.map
-
-      /***/
-    },
-
-    /***/ 4499: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "getDomainLocale", {
-        enumerable: true,
-        get: function () {
-          return getDomainLocale;
-        },
-      });
-      const _normalizetrailingslash = __webpack_require__(1379);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
-        } else {
-          return false;
-        }
-      }
-      if (
-        (typeof exports.default === "function" ||
-          (typeof exports.default === "object" && exports.default !== null)) &&
-        typeof exports.default.__esModule === "undefined"
-      ) {
-        Object.defineProperty(exports.default, "__esModule", {
-          value: true,
-        });
-        Object.assign(exports.default, exports);
-        module.exports = exports.default;
-      } //# sourceMappingURL=get-domain-locale.js.map
-
-      /***/
-    },
-
-    /***/ 6691: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(69);
-
-      /***/
-    },
-
-    /***/ 6771: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(2369);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(6771)
+      __webpack_exec__(2025)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,34 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 97: /***/ (
+    /***/ 417: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/routerDirect",
+        function () {
+          return __webpack_require__(5491);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 1840: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3252);
+
+      /***/
+    },
+
+    /***/ 5491: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +43,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7798);
+        __webpack_require__(1840);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,40 +62,13 @@
 
       /***/
     },
-
-    /***/ 4283: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/routerDirect",
-        function () {
-          return __webpack_require__(97);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7798: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(9300);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4283)
+      __webpack_exec__(417)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 5964: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(2010);
-
-      /***/
-    },
-
-    /***/ 7758: /***/ (
+    /***/ 1312: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(5964);
+        __webpack_require__(2398);
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -59,7 +49,17 @@
       /***/
     },
 
-    /***/ 8803: /***/ (
+    /***/ 2398: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8954);
+
+      /***/
+    },
+
+    /***/ 4305: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -67,7 +67,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function () {
-          return __webpack_require__(7758);
+          return __webpack_require__(1312);
         },
       ]);
       if (false) {
@@ -81,7 +81,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(8803)
+      __webpack_exec__(4305)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 184: /***/ (
+    /***/ 358: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7798);
+        __webpack_require__(1840);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -35,7 +35,17 @@
       /***/
     },
 
-    /***/ 3163: /***/ (
+    /***/ 1840: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(3252);
+
+      /***/
+    },
+
+    /***/ 4041: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -43,7 +53,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function () {
-          return __webpack_require__(184);
+          return __webpack_require__(358);
         },
       ]);
       if (false) {
@@ -51,23 +61,13 @@
 
       /***/
     },
-
-    /***/ 7798: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(9300);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(3163)
+      __webpack_exec__(4041)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 436-HASH.js

Diff too large to display

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

Diff too large to display

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

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. type: next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants