Skip to content

Conversation

mischnic
Copy link
Contributor

@mischnic mischnic commented Oct 16, 2025

Related to #84178

With overlapping tsconfig paths/exports fields, Turbopack currently fails:

Error: Turbopack build failed with 1 errors:
./bench/app-router-server/app/page.js:1:1
Module not found: Can't resolve '@/' <dynamic> '/' <dynamic>
> 1 | import(`@/${globalThis.type}/${globalThis.processedSlugPath}`)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  2 |
  3 | // globalThis.docs = 'docs'
  4 | // console.trace(require(`@/${globalThis.docs}/foo`))

'@/' <dynamic> '/' <dynamic>.strip_constant_prefix_len("@/docs/".len())

Caused by:
- strip_constant_prefix_len prefix is too long

Debug info:
- Execution of <ModuleAssetContext as AssetContext>::resolve_asset failed
- Execution of resolve failed
- Execution of resolve_internal failed
- '@/' <dynamic> '/' <dynamic>.strip_constant_prefix_len("@/docs/".len())
- strip_constant_prefix_len prefix is too long
Error while looking up import map: '@/' <dynamic> '/' <dynamic>.strip_constant_prefix_len("@/docs/".len())

Caused by:
- strip_constant_prefix_len prefix is too long

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

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

@mischnic mischnic changed the title reproduction Turbopack: fix strip_prefix prefix is too long Oct 16, 2025
len,
self.describe_as_string()
);
bail!("strip_constant_prefix_len prefix is too long",);
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
bail!("strip_constant_prefix_len prefix is too long",);
bail!(
"strip_constant_prefix_len prefix ({}) is too long: {}",
len,
self.describe_as_string()
);

An error message has been simplified, losing valuable diagnostic information that was in the original code.

View Details

Analysis

Error message loses diagnostic information in Pattern::strip_constant_prefix_len()

What fails: The error message at line 282 in turbopack/crates/turbopack-core/src/resolve/pattern.rs when calling strip_constant_prefix_len() on a Dynamic or DynamicNoSlash pattern no longer includes the len value or the pattern description.

How to trigger it:

// In typescript.rs or any caller
let mut pattern = Pattern::Dynamic;
pattern.strip_constant_prefix_len(5)?;  // This will error with generic message

Result: Error message: "strip_constant_prefix_len prefix is too long" (generic, no context about the length or pattern)

Expected: Error message should include diagnostic details like in commit c6a6c73 (#84882):

"strip_constant_prefix_len prefix (5) is too long: <dynamic>"

This provides developers with the actual len value that exceeded the limit and the pattern description, which are valuable for debugging path resolution failures. The enhanced error message was intentionally added in commit c6a6c73 ("Turbopack: better errors for strip_prefix_len") with the message "To help debugging", but was removed in a subsequent WIP commit.

While some callers (in alias_map.rs) wrap the error with additional context, not all callers do (e.g., typescript.rs), so the function should include these diagnostic details in its own error message for complete debugging information across all call sites.

@ijjk
Copy link
Member

ijjk commented Oct 16, 2025

Failing test suites

Commit: e3980f0 | About building and testing Next.js

pnpm test test/integration/app-dir-export/test/dynamicapiroute-dev.test.ts

  • app dir - with output export - dynamic api route dev > development mode > should work in dev with dynamicApiRoute undefined (DD)
  • app dir - with output export - dynamic api route dev > development mode > should work in dev with dynamicApiRoute 'error' (DD)
  • app dir - with output export - dynamic api route dev > development mode > should work in dev with dynamicApiRoute 'force-static' (DD)
  • app dir - with output export - dynamic api route dev > development mode > should work in dev with dynamicApiRoute 'force-dynamic' (DD)
Expand output

● app dir - with output export - dynamic api route dev › development mode › should work in dev with dynamicApiRoute undefined

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

  335 |     await opts?.beforePageLoad?.(page)
  336 |
> 337 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  338 |   }
  339 |
  340 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:337:16)
  at webdriver (lib/next-webdriver.ts:151:3)
  at runTests (integration/app-dir-export/test/utils.ts:241:25)
  at integration/app-dir-export/test/dynamicapiroute-dev.test.ts:23:11

● app dir - with output export - dynamic api route dev › development mode › should work in dev with dynamicApiRoute 'error'

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

  335 |     await opts?.beforePageLoad?.(page)
  336 |
> 337 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  338 |   }
  339 |
  340 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:337:16)
  at webdriver (lib/next-webdriver.ts:151:3)
  at runTests (integration/app-dir-export/test/utils.ts:256:23)
  at integration/app-dir-export/test/dynamicapiroute-dev.test.ts:23:11

● app dir - with output export - dynamic api route dev › development mode › should work in dev with dynamicApiRoute 'force-static'

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

  335 |     await opts?.beforePageLoad?.(page)
  336 |
> 337 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  338 |   }
  339 |
  340 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:337:16)
  at webdriver (lib/next-webdriver.ts:151:3)
  at runTests (integration/app-dir-export/test/utils.ts:256:23)
  at integration/app-dir-export/test/dynamicapiroute-dev.test.ts:23:11

● app dir - with output export - dynamic api route dev › development mode › should work in dev with dynamicApiRoute 'force-dynamic'

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

  335 |     await opts?.beforePageLoad?.(page)
  336 |
> 337 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  338 |   }
  339 |
  340 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:337:16)
  at webdriver (lib/next-webdriver.ts:151:3)
  at runTests (integration/app-dir-export/test/utils.ts:241:25)
  at integration/app-dir-export/test/dynamicapiroute-dev.test.ts:23:11

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

  • Cache Components Dev Errors > should not show a red box error on the SSR render (DD)
  • Cache Components Dev Errors > should show a red box error on the SSR render when data is uncached (DD)
Expand output

● Cache Components Dev Errors › should not show a red box error on the SSR render

next dev exited unexpectedly with code/signal 1

  91 |           if (code || signal) {
  92 |             this.childProcess = undefined
> 93 |             const error = new Error(
     |                           ^
  94 |               `next dev exited unexpectedly with code/signal ${code || signal}`
  95 |             )
  96 |             clearTimeout(serverReadyTimeoutId)

  at ChildProcess.<anonymous> (lib/next-modes/next-dev.ts:93:27)

● Cache Components Dev Errors › should show a red box error on the SSR render when data is uncached

next dev exited unexpectedly with code/signal 1

  91 |           if (code || signal) {
  92 |             this.childProcess = undefined
> 93 |             const error = new Error(
     |                           ^
  94 |               `next dev exited unexpectedly with code/signal ${code || signal}`
  95 |             )
  96 |             clearTimeout(serverReadyTimeoutId)

  at ChildProcess.<anonymous> (lib/next-modes/next-dev.ts:93:27)

pnpm test-dev test/e2e/app-dir/app-basepath/index.test.ts

  • app dir - basepath > should successfully hard navigate from pages -> app (DD)
Expand output

● app dir - basepath › should successfully hard navigate from pages -> app

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

  511 |
  512 |     return this.startChain(async () => {
> 513 |       const el = await page.waitForSelector(selector, {
      |                             ^
  514 |         timeout,
  515 |         state,
  516 |       })

  at waitForSelector (lib/browsers/playwright.ts:513:29)
  at Playwright._chain (lib/browsers/playwright.ts:643:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:624:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:512:17)
  at Object.waitForElementByCss (e2e/app-dir/app-basepath/index.test.ts:16:19)

pnpm test-dev-turbo test/e2e/app-dir/global-not-found/cache-components/cache-components.test.ts (turbopack)

  • global-not-found - cache-components > should render not-found boundary when calling notFound() in a page (DD)
Expand output

● global-not-found - cache-components › should render not-found boundary when calling notFound() in a page

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

  511 |
  512 |     return this.startChain(async () => {
> 513 |       const el = await page.waitForSelector(selector, {
      |                             ^
  514 |         timeout,
  515 |         state,
  516 |       })

  at waitForSelector (lib/browsers/playwright.ts:513:29)
  at Playwright._chain (lib/browsers/playwright.ts:643:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:624:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:512:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:397:17)
  at elementByCss (e2e/app-dir/global-not-found/cache-components/cache-components.test.ts:22:28)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/global-not-found/cache-components/cache-components.test.ts:21:5)
  at Proxy._chain (lib/browsers/playwright.ts:643:23)
  at Proxy._chain (lib/browsers/playwright.ts:619:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at text (e2e/app-dir/global-not-found/cache-components/cache-components.test.ts:22:47)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/global-not-found/cache-components/cache-components.test.ts:21:5)

pnpm test test/integration/next-dynamic-css/test/index.test.js

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

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

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

  61 |     'production mode',
  62 |     () => {
> 63 |       beforeAll(async () => {
     |       ^
  64 |         await nextBuild(appDir)
  65 |         appPort = await findPort()
  66 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-dynamic-css/test/index.test.js:63:7)
  at integration/next-dynamic-css/test/index.test.js:60:56
  at Object.describe (integration/next-dynamic-css/test/index.test.js:47:1)

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

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

  61 |     'production mode',
  62 |     () => {
> 63 |       beforeAll(async () => {
     |       ^
  64 |         await nextBuild(appDir)
  65 |         appPort = await findPort()
  66 |         app = await nextStart(appDir, appPort)

  at beforeAll (integration/next-dynamic-css/test/index.test.js:63:7)
  at integration/next-dynamic-css/test/index.test.js:60:56
  at Object.describe (integration/next-dynamic-css/test/index.test.js:47:1)

pnpm test-start-turbo test/production/typescript-checked-side-effect-imports/index.test.ts (turbopack)

  • Imports of server/client-only with noUncheckedSideEffectImports > Should build without typescript errors (DD)
Expand output

● Imports of server/client-only with noUncheckedSideEffectImports › Should build without typescript errors

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

Expected substring: not "server-only"
Received string:        "   ▲ Next.js 16.0.0-canary.9 (Turbopack)

   Creating an optimized production build ...
AliasKey::Wildcard 'next/dist/client/app-next-turbopack.js' next/*
1
AliasKey::Wildcard 'next/dist/client/app-next-turbopack.js' next/*, true
AliasKey::Wildcard 'next/dist/client/next-turbopack.js' next/*
1
AliasKey::Wildcard 'next/dist/client/next-turbopack.js' next/*, true
AliasKey::Wildcard 'next/dist/build/polyfills/process' next/*
1
AliasKey::Wildcard 'next/dist/build/polyfills/process' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/entry-base' next/*
1
AliasKey::Wildcard 'next/dist/client/components/builtin/global-error' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/entry-base' next/*, true
AliasKey::Wildcard 'next/dist/client/components/builtin/global-error' next/*, true
AliasKey::Wildcard 'next/dist/client/components/builtin/global-error' next/*
AliasKey::Wildcard 'next/dist/esm/server/app-render/entry-base' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/entry-base' next/*, true
1
AliasKey::Wildcard 'next/dist/client/components/builtin/global-error' next/*, true
AliasKey::Wildcard 'next/dist/compiled/process' next/*
1
AliasKey::Wildcard 'next/dist/compiled/process' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/compiled/process' next/*
1
AliasKey::Wildcard 'next/dist/compiled/process' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/esm/client/components/app-router-headers' next/*
1
AliasKey::Wildcard 'next/dist/esm/client/components/app-router-headers' next/*, true
AliasKey::Wildcard 'next/dist/esm/client/components/app-router-headers' next/*
1
AliasKey::Wildcard 'next/dist/esm/client/components/app-router-headers' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/streaming-metadata' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/streaming-metadata' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/server-action-request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/server-action-request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/render-result' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/render-result' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/streaming-metadata' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/streaming-metadata' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/server-action-request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/server-action-request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/render-result' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/render-result' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/stream-utils/encoded-tags' next/*
AliasKey::Wildcard 'next/dist/esm/lib/scheduler' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/stream-utils/encoded-tags' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/scheduler' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-payload' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-payload' next/*, true
AliasKey::Wildcard 'next/dist/esm/client/components/redirect-status-code' next/*
1
AliasKey::Wildcard 'next/dist/esm/client/components/redirect-status-code' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/interception-routes' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/interception-routes' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/invariant-error' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/invariant-error' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/stream-utils/encoded-tags' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/stream-utils/encoded-tags' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-payload' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-payload' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/scheduler' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/scheduler' next/*, true
AliasKey::Wildcard 'next/dist/esm/client/components/redirect-status-code' next/*
1
AliasKey::Wildcard 'next/dist/esm/client/components/redirect-status-code' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/invariant-error' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/invariant-error' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/interception-routes' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/interception-routes' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react-dom/client' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-dom/client' next/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/compiled/react-dom/client' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-dom/client' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-page/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-page/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-page/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-page/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/interop-default' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/interop-default' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/strip-flight-headers' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/strip-flight-headers' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/experimental/ppr' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/experimental/ppr' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request/fallback-params' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request/fallback-params' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/interop-default' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/interop-default' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/strip-flight-headers' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/strip-flight-headers' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/experimental/ppr' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/experimental/ppr' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request/fallback-params' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request/fallback-params' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server' next/*, true
AliasKey::Wildcard 'next/dist/build/polyfills/process' next/*
1
AliasKey::Wildcard 'next/dist/build/polyfills/process' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/is-bot' next/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static' next/*, true
AliasKey::Wildcard 'react-server-dom-webpack/client' react-server-dom-webpack/*
1
AliasKey::Wildcard 'react-server-dom-webpack/client' react-server-dom-webpack/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server' next/*, true
AliasKey::Wildcard 'react-server-dom-turbopack/client' react-server-dom-turbopack/*
1
AliasKey::Wildcard 'react-server-dom-turbopack/client' react-server-dom-turbopack/*, true
AliasKey::Wildcard 'next/dist/compiled/react-server-dom-turbopack/client' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-server-dom-turbopack/client' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react-server-dom-turbopack/client' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-server-dom-turbopack/client' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/fallback' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/fallback' next/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/esm/lib/fallback' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/fallback' next/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/compiled/process' next/*
1
AliasKey::Wildcard 'next/dist/compiled/process' next/*, true
AliasKey::Wildcard 'next/dist/compiled/process' next/*
1
AliasKey::Wildcard 'next/dist/compiled/process' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/is-bot' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/is-bot' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/is-bot' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react' next/*, true
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*
1
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*, true
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*
1
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/compiled/server-only/empty' next/*
1
AliasKey::Wildcard 'next/dist/compiled/server-only/empty' next/*, true
AliasKey::Wildcard 'next/dist/compiled/fresh' next/*
1
AliasKey::Wildcard 'next/dist/compiled/fresh' next/*, true
AliasKey::Wildcard 'next/dist/compiled/fresh' next/*
1
AliasKey::Wildcard 'next/dist/compiled/fresh' next/*, true
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*
1
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*
1
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'react-server-dom-webpack/client' react-server-dom-webpack/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'react-server-dom-webpack/client' react-server-dom-webpack/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react-server-dom-turbopack/client.node' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-server-dom-turbopack/client.node' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/compiled/react-dom' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-dom' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react-dom' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-dom' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.prod.js' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'react-server-dom-webpack/client' react-server-dom-webpack/*
1
AliasKey::Wildcard 'react-server-dom-webpack/client' react-server-dom-webpack/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-dom' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-dom' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod' next/*, true
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*
1
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*, true
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*
1
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server' next/*, true
AliasKey::Wildcard 'next/dist/compiled/string-hash' next/*
1
AliasKey::Wildcard 'next/dist/compiled/string-hash' next/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/compiled/string-hash' next/*
1
AliasKey::Wildcard 'next/dist/compiled/string-hash' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react/jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/compiled/client-only/index' next/*
1
AliasKey::Wildcard 'next/dist/compiled/client-only/index' next/*, true
AliasKey::Wildcard 'next/dist/compiled/client-only/index' next/*
1
AliasKey::Wildcard 'next/dist/compiled/client-only/index' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_default' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-dom' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-dom' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*
1
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*, true
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*
1
AliasKey::Wildcard 'next/dist/compiled/safe-stable-stringify' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-dom' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-dom' next/*, true
AliasKey::Wildcard 'next/dist/compiled/server-only/empty' next/*
1
AliasKey::Wildcard 'next/dist/compiled/server-only/empty' next/*, true
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*
1
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*, true
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*
1
AliasKey::Wildcard 'next/dist/compiled/path-to-regexp' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'next/dist/compiled/react' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react' next/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*
1
AliasKey::Wildcard '@swc/helpers/_/_interop_require_wildcard' @swc/helpers/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'react/jsx-runtime' react/*
1
AliasKey::Wildcard 'react/jsx-runtime' react/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod-validation-error' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod-validation-error' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod-validation-error' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod-validation-error' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod' next/*, true
AliasKey::Wildcard 'next/dist/compiled/zod' next/*
1
AliasKey::Wildcard 'next/dist/compiled/zod' next/*, true
AliasKey::Wildcard 'next/dist/compiled/react-dom' next/*
1
AliasKey::Wildcard 'next/dist/compiled/react-dom' next/*, true
AliasKey::Wildcard 'next/dist/compiled/scheduler' next/*
1
AliasKey::Wildcard 'next/dist/compiled/scheduler' next/*, true
AliasKey::Wildcard 'next/dist/compiled/scheduler' next/*
1
AliasKey::Wildcard 'next/dist/compiled/scheduler' next/*, true
 ✓ Compiled successfully in 2.2s
   Running TypeScript ...

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

   	- include was updated to add '.next/dev/types/**/*.ts'

   Collecting page data ...
   Generating static pages (0/4) ...
   Generating static pages (1/4) 
   Generating static pages (2/4) 
   Generating static pages (3/4) 
 ✓ Generating static pages (4/4) in 851.0ms
   Finalizing page optimization ...

Route (app)
┌ ○ /_not-found
├ ○ /client
└ ○ /server


○  (Static)  prerendered as static content

"

  17 |     // If something's wrong with our declarations of these modules, TSC will error with:
  18 |     //   `Type error: Cannot find module 'server-only' or its corresponding type declarations.`
> 19 |     expect(buildResult.cliOutput).not.toContain('server-only')
     |                                       ^
  20 |     expect(buildResult.cliOutput).not.toContain('client-only')
  21 |     expect(buildResult.exitCode).toBe(0)
  22 |   })

  at Object.toContain (production/typescript-checked-side-effect-imports/index.test.ts:19:39)

pnpm test-start test/e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts

  • PPR - partial hydration > No static shell, no streaming metadata > should hydrate the shell without waiting for slow suspense boundaries (DD)
  • PPR - partial hydration > No static shell, streaming metadata > should hydrate the shell without waiting for slow suspense boundaries (DD)
  • PPR - partial hydration > Static shell, no streaming metadata > should hydrate the shell without waiting for slow suspense boundaries (DD)
  • PPR - partial hydration > Static shell, streaming metadata > should hydrate the shell without waiting for slow suspense boundaries (DD)
Expand output

● PPR - partial hydration › Static shell, no streaming metadata › should hydrate the shell without waiting for slow suspense boundaries

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

  511 |
  512 |     return this.startChain(async () => {
> 513 |       const el = await page.waitForSelector(selector, {
      |                             ^
  514 |         timeout,
  515 |         state,
  516 |       })

  at waitForSelector (lib/browsers/playwright.ts:513:29)
  at Playwright._chain (lib/browsers/playwright.ts:643:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:624:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:512:17)
  at Playwright.waitForElementByCss (lib/browsers/playwright.ts:405:17)
  at elementByCssInstant (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:60:27)
  at retry (lib/next-test-utils.ts:808:14)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:48:7)
  at Proxy._chain (lib/browsers/playwright.ts:643:23)
  at Proxy._chain (lib/browsers/playwright.ts:619:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:425:17)
  at text (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:60:68)
  at retry (lib/next-test-utils.ts:808:14)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:48:7)

● PPR - partial hydration › Static shell, streaming metadata › should hydrate the shell without waiting for slow suspense boundaries

page.waitForSelector: Timeout 10ms exceeded.
Call log:
  - waiting for locator('#shell-hydrated') to be visible
  -   locator resolved to visible <div id="shell-hydrated" data-is-hydrated="true">🟢 Hydrated</div>

  511 |
  512 |     return this.startChain(async () => {
> 513 |       const el = await page.waitForSelector(selector, {
      |                             ^
  514 |         timeout,
  515 |         state,
  516 |       })

  at waitForSelector (lib/browsers/playwright.ts:513:29)
  at Playwright._chain (lib/browsers/playwright.ts:643:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:624:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:512:17)
  at Playwright.waitForElementByCss (lib/browsers/playwright.ts:405:17)
  at elementByCssInstant (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:72:14)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:68:7)
  at Proxy._chain (lib/browsers/playwright.ts:643:23)
  at Proxy._chain (lib/browsers/playwright.ts:619:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:447:17)
  at getAttribute (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:73:14)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:68:7)

● PPR - partial hydration › No static shell, no streaming metadata › should hydrate the shell without waiting for slow suspense boundaries

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

  511 |
  512 |     return this.startChain(async () => {
> 513 |       const el = await page.waitForSelector(selector, {
      |                             ^
  514 |         timeout,
  515 |         state,
  516 |       })

  at waitForSelector (lib/browsers/playwright.ts:513:29)
  at Playwright._chain (lib/browsers/playwright.ts:643:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:624:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:512:17)
  at Playwright.waitForElementByCss (lib/browsers/playwright.ts:405:17)
  at elementByCssInstant (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:72:14)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:68:7)
  at Proxy._chain (lib/browsers/playwright.ts:643:23)
  at Proxy._chain (lib/browsers/playwright.ts:619:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:447:17)
  at getAttribute (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:73:14)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:68:7)

● PPR - partial hydration › No static shell, streaming metadata › should hydrate the shell without waiting for slow suspense boundaries

page.waitForSelector: Timeout 10ms exceeded.
Call log:
  - waiting for locator('#shell-hydrated') to be visible
  -   locator resolved to visible <div id="shell-hydrated" data-is-hydrated="true">🟢 Hydrated</div>

  511 |
  512 |     return this.startChain(async () => {
> 513 |       const el = await page.waitForSelector(selector, {
      |                             ^
  514 |         timeout,
  515 |         state,
  516 |       })

  at waitForSelector (lib/browsers/playwright.ts:513:29)
  at Playwright._chain (lib/browsers/playwright.ts:643:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:624:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:512:17)
  at Playwright.waitForElementByCss (lib/browsers/playwright.ts:405:17)
  at elementByCssInstant (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:54:16)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:48:7)
  at Proxy._chain (lib/browsers/playwright.ts:643:23)
  at Proxy._chain (lib/browsers/playwright.ts:619:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:447:17)
  at getAttribute (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:55:16)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/ppr-partial-hydration/ppr-partial-hydration.test.ts:48:7)

pnpm test-dev test/development/app-dir/cache-components-dev-warmup/cache-components.dev-warmup.test.ts

  • cache-components-dev-warmup > navigation > request APIs resolve in the correct phase (DD)
Expand output

● cache-components-dev-warmup › navigation › request APIs resolve in the correct phase

Found no logs matching 'after cache read - page':

0. %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
1. [HMR] connected
2. connected to ws at ws://localhost:35311/_next/webpack-hmr?id=eVprjmpjDOkEv2iEs-Vlr
3. received ws message {"type":"sync","hash":"4e7c885a677100c4","errors":[],"warnings":[],"versionInfo":{"staleness":"fresh","installed":"16.0.0-canary.9"},"debug":{},"devIndicator":{"disabledUntil":0},"devToolsConfig":{}}
4. Next.js page already hydrated
5. [Fast Refresh] rebuilding
6. received ws message {"type":"building"}
7. received ws message {"type":"built","hash":"0537acff6c6b345d","warnings":[],"errors":[]}
8. [Fast Refresh] done in 1285ms}

  37 |     // If there's zero or more than one logs that match, the test is not set up correctly.
  38 |     if (messages.length === 0) {
> 39 |       throw new Error(
     |             ^
  40 |         `Found no logs matching '${message}':\n\n${logMessages.map((s, i) => `${i}. ${s}`).join('\n')}}`
  41 |       )
  42 |     }

  at assertLog (development/app-dir/cache-components-dev-warmup/cache-components.dev-warmup.test.ts:39:13)
  at assertLog (development/app-dir/cache-components-dev-warmup/cache-components.dev-warmup.test.ts:247:9)
  at retry (lib/next-test-utils.ts:808:14)
  at testNavigation (development/app-dir/cache-components-dev-warmup/cache-components.dev-warmup.test.ts:101:5)
  at Object.<anonymous> (development/app-dir/cache-components-dev-warmup/cache-components.dev-warmup.test.ts:261:9)

pnpm test-start test/e2e/app-dir/segment-cache/metadata/segment-cache-metadata.test.ts

  • segment cache (metadata) > regression: prefetch the head if it's missing even if all other data is cached > pages with runtime-prefetchable content and dynamic metadata, using a runtime prefetch (DD)
Expand output

● segment cache (metadata) › regression: prefetch the head if it's missing even if all other data is cached › pages with runtime-prefetchable content and dynamic metadata, using a runtime prefetch

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."

  75 |     })
  76 |
> 77 |     it('pages with runtime-prefetchable content and dynamic metadata, using a runtime prefetch', async () => {
     |     ^
  78 |       let act: ReturnType<typeof createRouterAct>
  79 |       const browser = await next.browser('/', {
  80 |         beforePageLoad(p) {

  at it (e2e/app-dir/segment-cache/metadata/segment-cache-metadata.test.ts:77:5)
  at describe (e2e/app-dir/segment-cache/metadata/segment-cache-metadata.test.ts:12:3)
  at Object.describe (e2e/app-dir/segment-cache/metadata/segment-cache-metadata.test.ts:4:1)

pnpm test-dev-turbo test/e2e/app-dir/logging/fetch-logging.test.ts (turbopack)

  • app-dir - logging > with default logging > should not contain metadata internal segments for dynamic metadata routes (DD)
  • app-dir - logging > with fetches default logging > should not contain metadata internal segments for dynamic metadata routes (DD)
  • app-dir - logging > with fetches verbose logging > should not contain metadata internal segments for dynamic metadata routes (DD)
  • app-dir - logging > with verbose logging for edge runtime > should not contain metadata internal segments for dynamic metadata routes (DD)
Expand output

● app-dir - logging › with fetches verbose logging › should not contain metadata internal segments for dynamic metadata routes

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

Expected substring: not "/route"
Received string:        " GET / 200 in 1348ms (compile: 1168ms, proxy.ts: 3ms, render: 177ms)
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*
1
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
AliasKey::Wildcard 'next/dist/server/after' next/*
1
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
 ✓ Compiled /dynamic/[slug]/icon in 176ms
 GET /fetch-no-store 200 in 2.0s (compile: 1369ms, proxy.ts: 41ms, render: 637ms)
 │ GET https://next-data-api-endpoint.vercel.app/api/random?request-input 200 in 469ms (cache skip)
 │ │ Cache skipped reason: (cache: no-store)
 GET /dynamic/big/icon 200 in 877ms (compile: 725ms, proxy.ts: 8ms, render: 143ms)
"

  371 |           expect(output).not.toContain('/(group)')
  372 |           expect(output).not.toContain('[__metadata_id__]')
> 373 |           expect(output).not.toContain('/route')
      |                              ^
  374 |         })
  375 |       })
  376 |     }

  at toContain (e2e/app-dir/logging/fetch-logging.test.ts:373:30)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/logging/fetch-logging.test.ts:368:9)

● app-dir - logging › with fetches default logging › should not contain metadata internal segments for dynamic metadata routes

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

Expected substring: not "/route"
Received string:        " GET / 200 in 1636ms (compile: 1363ms, proxy.ts: 46ms, render: 226ms)
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
1
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*
1
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
AliasKey::Wildcard 'next/dist/server/after' next/*
1
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
 ✓ Compiled /dynamic/[slug]/icon in 173ms
 GET /fetch-no-store 200 in 1893ms (compile: 1415ms, proxy.ts: 3ms, render: 475ms)
 │ GET https://next-data-api-en../api/random?request-input 200 in 264ms (cache skip)
 │ │ Cache skipped reason: (cache: no-store)
 GET /dynamic/big/icon 200 in 890ms (compile: 747ms, proxy.ts: 3ms, render: 139ms)
"

  371 |           expect(output).not.toContain('/(group)')
  372 |           expect(output).not.toContain('[__metadata_id__]')
> 373 |           expect(output).not.toContain('/route')
      |                              ^
  374 |         })
  375 |       })
  376 |     }

  at toContain (e2e/app-dir/logging/fetch-logging.test.ts:373:30)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/logging/fetch-logging.test.ts:368:9)

● app-dir - logging › with verbose logging for edge runtime › should not contain metadata internal segments for dynamic metadata routes

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

Expected substring: not "/route"
Received string:        " GET / 200 in 2.2s (proxy.ts: 66ms)
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*
1
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*
1
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
 ✓ Compiled /dynamic/[slug]/icon in 173ms
 GET /fetch-no-store 200 in 2.4s (proxy.ts: 4ms)
 │ GET https://next-data-api-endpoint.vercel.app/api/random?request-input 200 in 269ms (cache skip)
 │ │ Cache skipped reason: (cache: no-store)
 GET /dynamic/big/icon 200 in 964ms (compile: 784ms, proxy.ts: 2ms, render: 177ms)
"

  371 |           expect(output).not.toContain('/(group)')
  372 |           expect(output).not.toContain('[__metadata_id__]')
> 373 |           expect(output).not.toContain('/route')
      |                              ^
  374 |         })
  375 |       })
  376 |     }

  at toContain (e2e/app-dir/logging/fetch-logging.test.ts:373:30)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/logging/fetch-logging.test.ts:368:9)

● app-dir - logging › with default logging › should not contain metadata internal segments for dynamic metadata routes

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

Expected substring: not "/route"
Received string:        " GET / 200 in 745ms (proxy.ts: 3ms)
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/router/utils/app-paths' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/send-response' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/shared/lib/no-fallback-error.external' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-modules/app-route/module.compiled' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/base-http/node' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/encryption-utils' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/response-cache' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/request-meta' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/lib/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/patch-fetch' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/route-kind' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/constants' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/instrumentation/utils' next/*, true
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/spec-extension/adapters/next-request' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/cache-control' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/app-render/action-utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/web/utils' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*
1
AliasKey::Wildcard 'next/dist/esm/server/lib/trace/tracer' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-route-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@opentelemetry/api' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/og' next/*
1
AliasKey::Wildcard 'next/og' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/server' next/*
1
AliasKey::Wildcard 'next/server' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*
1
AliasKey::Wildcard 'next/dist/compiled/cookie' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*
1
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/request' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/image-response' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/url-pattern' next/*, true
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*
1
AliasKey::Wildcard 'next/dist/server/web/spec-extension/user-agent' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/request/connection' next/*
1
AliasKey::Wildcard 'next/dist/server/request/connection' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*
1
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/after' next/*
1
AliasKey::Wildcard 'next/dist/server/after' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/next-server/app-page-turbo.runtime.dev.js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*
1
AliasKey::Wildcard 'next/dist/compiled/ua-parser-js' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*
1
AliasKey::Wildcard 'next/dist/compiled/@edge-runtime/cookies' next/*, true
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*
1
AliasKey::Wildcard 'next/dist/server/route-modules/app-page/vendored/rsc/react' next/*, true
 ✓ Compiled /dynamic/[slug]/icon in 185ms
 GET /dynamic/big/icon 200 in 1058ms (compile: 873ms, proxy.ts: 2ms, render: 184ms)
"

  371 |           expect(output).not.toContain('/(group)')
  372 |           expect(output).not.toContain('[__metadata_id__]')
> 373 |           expect(output).not.toContain('/route')
      |                              ^
  374 |         })
  375 |       })
  376 |     }

  at toContain (e2e/app-dir/logging/fetch-logging.test.ts:373:30)
  at fn (lib/next-test-utils.ts:808:20)
  at Object.<anonymous> (e2e/app-dir/logging/fetch-logging.test.ts:368:9)

pnpm test-start-turbo test/e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts (turbopack)

  • runtime prefetching > cache stale time handling > omits private caches with a short enough staleTime (DD)
Expand output

● runtime prefetching › cache stale time handling › omits private caches with a short enough staleTime

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."

  911 |     })
  912 |
> 913 |     it('omits private caches with a short enough staleTime', async () => {
      |     ^
  914 |       // If a cache has a stale time below 30s (RUNTIME_PREFETCH_DYNAMIC_STALE), we should omit it from runtime prefetches.
  915 |
  916 |       let page: Playwright.Page

  at it (e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts:913:5)
  at describe (e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts:752:3)
  at Object.describe (e2e/app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts:5:1)

@ijjk
Copy link
Member

ijjk commented Oct 16, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
buildDuration 22.1s 18.6s N/A
buildDurationCached 17.4s 13.9s N/A
nodeModulesSize 452 MB 452 MB
nextStartRea..uration (ms) 696ms 695ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
1916.HASH.js gzip 169 B 169 B
4498-HASH.js gzip 56.6 kB 56.4 kB N/A
9225-HASH.js gzip 5.32 kB 5.32 kB N/A
c57d0559-HASH.js gzip 62.1 kB 62.1 kB N/A
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 256 B 256 B
main-HASH.js gzip 39.4 kB 39.4 kB N/A
webpack-HASH.js gzip 1.69 kB 1.69 kB N/A
Overall change 60.2 kB 60.2 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long 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 mischnic/stripprefix-too-long Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 334 B 334 B
dynamic-HASH.js gzip 1.8 kB 1.8 kB N/A
edge-ssr-HASH.js gzip 256 B 255 B N/A
head-HASH.js gzip 350 B 352 B N/A
hooks-HASH.js gzip 384 B 381 B N/A
image-HASH.js gzip 4.79 kB 4.79 kB N/A
index-HASH.js gzip 259 B 260 B N/A
link-HASH.js gzip 2.5 kB 2.51 kB N/A
routerDirect..HASH.js gzip 318 B 317 B N/A
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.52 kB 1.52 kB
Client Build Manifests
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
_buildManifest.js gzip 716 B 719 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
index.html gzip 523 B 522 B N/A
link.html gzip 537 B 537 B
withRouter.html gzip 519 B 519 B
Overall change 1.06 kB 1.06 kB
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 259 kB 260 kB ⚠️ +534 B
Overall change 259 kB 260 kB ⚠️ +534 B
Middleware size
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
middleware-b..fest.js gzip 637 B 643 B N/A
middleware-r..fest.js gzip 156 B 157 B N/A
middleware.js gzip 33.5 kB 33.1 kB N/A
edge-runtime..pack.js gzip 846 B 846 B
Overall change 846 B 846 B
Next Runtimes
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
app-page-exp...dev.js gzip 291 kB 291 kB
app-page-exp..prod.js gzip 162 kB 162 kB
app-page-tur...dev.js gzip 291 kB 291 kB N/A
app-page-tur..prod.js gzip 162 kB 162 kB
app-page-tur...dev.js gzip 287 kB 287 kB
app-page-tur..prod.js gzip 159 kB 159 kB
app-page.run...dev.js gzip 287 kB 287 kB N/A
app-page.run..prod.js gzip 159 kB 159 kB
app-route-ex...dev.js gzip 69.8 kB 69.8 kB
app-route-ex..prod.js gzip 48.7 kB 48.7 kB
app-route-tu...dev.js gzip 69.9 kB 69.9 kB
app-route-tu..prod.js gzip 48.7 kB 48.7 kB
app-route-tu...dev.js gzip 69.5 kB 69.5 kB
app-route-tu..prod.js gzip 48.5 kB 48.5 kB
app-route.ru...dev.js gzip 69.4 kB 69.4 kB
app-route.ru..prod.js gzip 48.5 kB 48.5 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 42 kB 42 kB
pages-api-tu..prod.js gzip 32 kB 32 kB
pages-api.ru...dev.js gzip 41.9 kB 41.9 kB
pages-api.ru..prod.js gzip 32 kB 32 kB
pages-turbo....dev.js gzip 51.8 kB 51.8 kB
pages-turbo...prod.js gzip 39.2 kB 39.2 kB
pages.runtim...dev.js gzip 51.7 kB 51.7 kB
pages.runtim..prod.js gzip 39.2 kB 39.2 kB
server.runti..prod.js gzip 78.2 kB 78.2 kB
Overall change 2.1 MB 2.1 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js mischnic/stripprefix-too-long Change
0.pack gzip 3.14 MB 3.15 MB ⚠️ +7.36 kB
index.pack gzip 92.8 kB 94.7 kB ⚠️ +1.86 kB
Overall change 3.23 MB 3.24 MB ⚠️ +9.22 kB
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 css-HASH.js
@@ -1,7 +1,31 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 3593: /***/ (
+    /***/ 5832: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
+
+    /***/ 6471: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/css",
+        function () {
+          return __webpack_require__(7839);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 7839: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -15,7 +39,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7634);
+        __webpack_require__(5832);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
 
       /***/
     },
-
-    /***/ 4569: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/css",
-        function () {
-          return __webpack_require__(3593);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7634: /***/ (module) => {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4569)
+      __webpack_exec__(6471)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 1033: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/dynamic",
-        function () {
-          return __webpack_require__(2283);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 2283: /***/ (
+    /***/ 133: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4939);
+        __webpack_require__(7514);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
       const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         () =>
           __webpack_require__
-            .e(/* import() */ 1916)
-            .then(__webpack_require__.bind(__webpack_require__, 1916))
+            .e(/* import() */ 3862)
+            .then(__webpack_require__.bind(__webpack_require__, 3862))
             .then((mod) => mod.Hello),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 1916],
+            webpack: () => [/*require.resolve*/ 3862],
           },
         }
       );
@@ -74,17 +57,24 @@
       /***/
     },
 
-    /***/ 4939: /***/ (
-      module,
+    /***/ 431: /***/ (
+      __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(5121);
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/dynamic",
+        function () {
+          return __webpack_require__(133);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 5121: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1709: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
         __webpack_require__(2223)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(7622)
+        __webpack_require__(2522)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
       /***/
     },
 
-    /***/ 5160: /***/ (
+    /***/ 2463: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -244,7 +234,7 @@
       /***/
     },
 
-    /***/ 7622: /***/ (
+    /***/ 2522: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -286,7 +276,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__(5160);
+      const _loadablecontextsharedruntime = __webpack_require__(2463);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
 
       /***/
     },
+
+    /***/ 7514: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(1709);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ 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 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__(9198);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 9198: /***/ (
+    /***/ 2592: /***/ (
       __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__(2592);
+        },
+      ]);
+      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

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3332],
   {
-    /***/ 3454: /***/ (
+    /***/ 8431: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/",
+        function () {
+          return __webpack_require__(8972);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 8972: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -19,30 +36,13 @@
 
       /***/
     },
-
-    /***/ 9241: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/",
-        function () {
-          return __webpack_require__(3454);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(9241)
+      __webpack_exec__(8431)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 1970: /***/ (__unused_webpack_module, exports) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "errorOnce", {
-        enumerable: true,
-        get: function () {
-          return errorOnce;
+    /***/ 2025: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(3072);
         },
-      });
-      let errorOnce = (_) => {};
+      ]);
       if (false) {
-      } //# sourceMappingURL=error-once.js.map
+      }
 
       /***/
     },
 
-    /***/ 3262: /***/ (module, exports, __webpack_require__) => {
+    /***/ 3066: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -47,17 +45,17 @@
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
         __webpack_require__(2223)
       );
-      const _resolvehref = __webpack_require__(7868);
-      const _islocalurl = __webpack_require__(9350);
-      const _formaturl = __webpack_require__(6319);
-      const _utils = __webpack_require__(9889);
-      const _addlocale = __webpack_require__(9466);
-      const _routercontextsharedruntime = __webpack_require__(5691);
-      const _useintersection = __webpack_require__(3981);
-      const _getdomainlocale = __webpack_require__(4206);
-      const _addbasepath = __webpack_require__(9339);
-      const _usemergedref = __webpack_require__(6848);
-      const _erroronce = __webpack_require__(1970);
+      const _resolvehref = __webpack_require__(2776);
+      const _islocalurl = __webpack_require__(5770);
+      const _formaturl = __webpack_require__(8531);
+      const _utils = __webpack_require__(3565);
+      const _addlocale = __webpack_require__(8878);
+      const _routercontextsharedruntime = __webpack_require__(5111);
+      const _useintersection = __webpack_require__(6873);
+      const _getdomainlocale = __webpack_require__(4554);
+      const _addbasepath = __webpack_require__(9567);
+      const _usemergedref = __webpack_require__(4308);
+      const _erroronce = __webpack_require__(8910);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -436,7 +434,167 @@
       /***/
     },
 
-    /***/ 3981: /***/ (module, exports, __webpack_require__) => {
+    /***/ 3072: /***/ (
+      __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;
+
+      /***/
+    },
+
+    /***/ 4308: /***/ (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
+
+      /***/
+    },
+
+    /***/ 4554: /***/ (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__(7740);
+      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
+
+      /***/
+    },
+
+    /***/ 6873: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -449,7 +607,7 @@
         },
       });
       const _react = __webpack_require__(2223);
-      const _requestidlecallback = __webpack_require__(1472);
+      const _requestidlecallback = __webpack_require__(6892);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -561,189 +719,31 @@
       /***/
     },
 
-    /***/ 4206: /***/ (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__(6704);
-      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: /***/ (
+    /***/ 6929: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(3262);
+      module.exports = __webpack_require__(3066);
 
       /***/
     },
 
-    /***/ 6771: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(8178);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 6848: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8910: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
-      Object.defineProperty(exports, "useMergedRef", {
+      Object.defineProperty(exports, "errorOnce", {
         enumerable: true,
         get: function () {
-          return useMergedRef;
+          return errorOnce;
         },
       });
-      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
-
-      /***/
-    },
-
-    /***/ 8178: /***/ (
-      __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;
+      let errorOnce = (_) => {};
+      if (false) {
+      } //# sourceMappingURL=error-once.js.map
 
       /***/
     },
@@ -753,7 +753,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(6771)
+      __webpack_exec__(2025)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,24 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 286: /***/ (
+    /***/ 417: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/routerDirect",
+        function () {
+          return __webpack_require__(504);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 504: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -16,7 +33,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__
@@ -36,29 +53,12 @@
       /***/
     },
 
-    /***/ 4283: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/routerDirect",
-        function () {
-          return __webpack_require__(286);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7798: /***/ (
+    /***/ 1840: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(9587);
+      module.exports = __webpack_require__(1903);
 
       /***/
     },
@@ -68,7 +68,7 @@
     /******/ 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,7 +1,34 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [1209],
   {
-    /***/ 661: /***/ (
+    /***/ 2398: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(2397);
+
+      /***/
+    },
+
+    /***/ 4305: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/script",
+        function () {
+          return __webpack_require__(8543);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 8543: /***/ (
       __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_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__
@@ -48,40 +75,13 @@
 
       /***/
     },
-
-    /***/ 5964: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(297);
-
-      /***/
-    },
-
-    /***/ 8803: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/script",
-        function () {
-          return __webpack_require__(661);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ 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,24 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3263],
   {
-    /***/ 3163: /***/ (
-      __unused_webpack_module,
+    /***/ 1840: /***/ (
+      module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/withRouter",
-        function () {
-          return __webpack_require__(3295);
-        },
-      ]);
-      if (false) {
-      }
+      module.exports = __webpack_require__(1903);
 
       /***/
     },
 
-    /***/ 3295: /***/ (
+    /***/ 2037: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +26,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__
@@ -52,12 +45,19 @@
       /***/
     },
 
-    /***/ 7798: /***/ (
-      module,
+    /***/ 4041: /***/ (
+      __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(9587);
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/withRouter",
+        function () {
+          return __webpack_require__(2037);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
@@ -67,7 +67,7 @@
     /******/ 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 4498-HASH.js
failed to diff
Diff for 9225-HASH.js
@@ -1,32 +1,81 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [9225],
+  [8439],
   {
-    /***/ 2: /***/ (__unused_webpack_module, exports, __webpack_require__) => {
+    /***/ 405: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
-      Object.defineProperty(exports, "ImageConfigContext", {
+      Object.defineProperty(exports, "default", {
         enumerable: true,
         get: function () {
-          return ImageConfigContext;
+          return SideEffect;
         },
       });
-      const _interop_require_default = __webpack_require__(9010);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(8879)
-      );
-      const _imageconfig = __webpack_require__(1686);
-      const ImageConfigContext = _react.default.createContext(
-        _imageconfig.imageConfigDefault
-      );
-      if (false) {
-      } //# sourceMappingURL=image-config-context.shared-runtime.js.map
+      const _react = __webpack_require__(1774);
+      const isServer = "object" === "undefined";
+      const useClientOnlyLayoutEffect = isServer
+        ? () => {}
+        : _react.useLayoutEffect;
+      const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;
+      function SideEffect(props) {
+        const { headManager, reduceComponentsToState } = props;
+        function emitChange() {
+          if (headManager && headManager.mountedInstances) {
+            const headElements = _react.Children.toArray(
+              Array.from(headManager.mountedInstances).filter(Boolean)
+            );
+            headManager.updateHead(reduceComponentsToState(headElements));
+          }
+        }
+        if (isServer) {
+          headManager?.mountedInstances?.add(props.children);
+          emitChange();
+        }
+        useClientOnlyLayoutEffect(() => {
+          headManager?.mountedInstances?.add(props.children);
+          return () => {
+            headManager?.mountedInstances?.delete(props.children);
+          };
+        });
+        // We need to call `updateHead` method whenever the `SideEffect` is trigger in all
+        // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s
+        // being rendered, we only trigger the method from the last one.
+        // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`
+        // singleton in the layout effect pass, and actually trigger it in the effect pass.
+        useClientOnlyLayoutEffect(() => {
+          if (headManager) {
+            headManager._pendingUpdate = emitChange;
+          }
+          return () => {
+            if (headManager) {
+              headManager._pendingUpdate = emitChange;
+            }
+          };
+        });
+        useClientOnlyEffect(() => {
+          if (headManager && headManager._pendingUpdate) {
+            headManager._pendingUpdate();
+            headManager._pendingUpdate = null;
+          }
+          return () => {
+            if (headManager && headManager._pendingUpdate) {
+              headManager._pendingUpdate();
+              headManager._pendingUpdate = null;
+            }
+          };
+        });
+        return null;
+      } //# sourceMappingURL=side-effect.js.map
 
       /***/
     },
 
-    /***/ 1169: /***/ (
+    /***/ 1155: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -40,9 +89,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(4352);
-      const _imageblursvg = __webpack_require__(2314);
-      const _imageconfig = __webpack_require__(1686);
+      const _warnonce = __webpack_require__(5358);
+      const _imageblursvg = __webpack_require__(6924);
+      const _imageconfig = __webpack_require__(9712);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -473,245 +522,60 @@
       /***/
     },
 
-    /***/ 1666: /***/ (module, exports, __webpack_require__) => {
-      /* __next_internal_client_entry_do_not_use__  cjs */
+    /***/ 1417: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
       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 () {
+      Object.defineProperty(exports, "default", {
+        enumerable: true,
+        get: function () {
           return _default;
         },
-        defaultHead: function () {
-          return defaultHead;
-        },
       });
-      const _interop_require_default = __webpack_require__(9010);
-      const _interop_require_wildcard = __webpack_require__(2275);
-      const _jsxruntime = __webpack_require__(1024);
-      const _react = /*#__PURE__*/ _interop_require_wildcard._(
-        __webpack_require__(8879)
-      );
-      const _sideeffect = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2543)
-      );
-      const _headmanagercontextsharedruntime = __webpack_require__(5428);
-      const _warnonce = __webpack_require__(4352);
-      function defaultHead() {
-        const head = [
-          /*#__PURE__*/ (0, _jsxruntime.jsx)(
-            "meta",
-            {
-              charSet: "utf-8",
-            },
-            "charset"
-          ),
-          /*#__PURE__*/ (0, _jsxruntime.jsx)(
-            "meta",
+      const _findclosestquality = __webpack_require__(1639);
+      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",
             {
-              name: "viewport",
-              content: "width=device-width",
-            },
-            "viewport"
-          ),
-        ];
-        return head;
-      }
-      function onlyReactElement(list, child) {
-        // React children can be "string" or "number" in this case we ignore them for backwards compat
-        if (typeof child === "string" || typeof child === "number") {
-          return list;
-        }
-        // Adds support for React.Fragment
-        if (child.type === _react.default.Fragment) {
-          return list.concat(
-            _react.default.Children.toArray(child.props.children).reduce(
-              (fragmentList, fragmentChild) => {
-                if (
-                  typeof fragmentChild === "string" ||
-                  typeof fragmentChild === "number"
-                ) {
-                  return fragmentList;
-                }
-                return fragmentList.concat(fragmentChild);
-              },
-              []
-            )
+              value: "E871",
+              enumerable: false,
+              configurable: true,
+            }
           );
         }
-        return list.concat(child);
-      }
-      const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
-      /*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/ function unique() {
-        const keys = new Set();
-        const tags = new Set();
-        const metaTypes = new Set();
-        const metaCategories = {};
-        return (h) => {
-          let isUnique = true;
-          let hasKey = false;
-          if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {
-            hasKey = true;
-            const key = h.key.slice(h.key.indexOf("$") + 1);
-            if (keys.has(key)) {
-              isUnique = false;
-            } else {
-              keys.add(key);
-            }
-          }
-          // eslint-disable-next-line default-case
-          switch (h.type) {
-            case "title":
-            case "base":
-              if (tags.has(h.type)) {
-                isUnique = false;
-              } else {
-                tags.add(h.type);
-              }
-              break;
-            case "meta":
-              for (let i = 0, len = METATYPES.length; i < len; i++) {
-                const metatype = METATYPES[i];
-                if (!h.props.hasOwnProperty(metatype)) continue;
-                if (metatype === "charSet") {
-                  if (metaTypes.has(metatype)) {
-                    isUnique = false;
-                  } else {
-                    metaTypes.add(metatype);
-                  }
-                } else {
-                  const category = h.props[metatype];
-                  const categories = metaCategories[metatype] || new Set();
-                  if (
-                    (metatype !== "name" || !hasKey) &&
-                    categories.has(category)
-                  ) {
-                    isUnique = false;
-                  } else {
-                    categories.add(category);
-                    metaCategories[metatype] = categories;
-                  }
-                }
-              }
-              break;
-          }
-          return isUnique;
-        };
-      }
-      /**
-       *
-       * @param headChildrenElements List of children of <Head>
-       */ function reduceComponents(headChildrenElements) {
-        return headChildrenElements
-          .reduce(onlyReactElement, [])
-          .reverse()
-          .concat(defaultHead().reverse())
-          .filter(unique())
-          .reverse()
-          .map((c, i) => {
-            const key = c.key || i;
-            if (false) {
-            }
-            return /*#__PURE__*/ _react.default.cloneElement(c, {
-              key,
-            });
-          });
-      }
-      /**
-       * This component injects elements to `<head>` of your page.
-       * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
-       */ function Head({ children }) {
-        const headManager = (0, _react.useContext)(
-          _headmanagercontextsharedruntime.HeadManagerContext
-        );
-        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {
-          reduceComponentsToState: reduceComponents,
-          headManager: headManager,
-          children: children,
-        });
-      }
-      const _default = Head;
-      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=head.js.map
-
-      /***/
-    },
-
-    /***/ 1686: /***/ (__unused_webpack_module, exports) => {
-      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],
-          });
+        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 : ""
+        }`;
       }
-      _export(exports, {
-        VALID_LOADERS: function () {
-          return VALID_LOADERS;
-        },
-        imageConfigDefault: function () {
-          return imageConfigDefault;
-        },
-      });
-      const VALID_LOADERS = [
-        "default",
-        "imgix",
-        "cloudinary",
-        "akamai",
-        "custom",
-      ];
-      const imageConfigDefault = {
-        deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
-        imageSizes: [32, 48, 64, 96, 128, 256, 384],
-        path: "/_next/image",
-        loader: "default",
-        loaderFile: "",
-        /**
-         * @deprecated Use `remotePatterns` instead to protect your application from malicious users.
-         */ domains: [],
-        disableStaticImages: false,
-        minimumCacheTTL: 14400,
-        formats: ["image/webp"],
-        maximumRedirects: 3,
-        dangerouslyAllowLocalIP: false,
-        dangerouslyAllowSVG: false,
-        contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,
-        contentDispositionType: "attachment",
-        localPatterns: undefined,
-        remotePatterns: [],
-        qualities: [75],
-        unoptimized: false,
-      }; //# sourceMappingURL=image-config.js.map
+      // 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
 
       /***/
     },
 
-    /***/ 2285: /***/ (__unused_webpack_module, exports) => {
+    /***/ 1639: /***/ (__unused_webpack_module, exports) => {
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
@@ -735,7 +599,35 @@
       /***/
     },
 
-    /***/ 2314: /***/ (__unused_webpack_module, exports) => {
+    /***/ 2896: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "ImageConfigContext", {
+        enumerable: true,
+        get: function () {
+          return ImageConfigContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(2570);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1774)
+      );
+      const _imageconfig = __webpack_require__(9712);
+      const ImageConfigContext = _react.default.createContext(
+        _imageconfig.imageConfigDefault
+      );
+      if (false) {
+      } //# sourceMappingURL=image-config-context.shared-runtime.js.map
+
+      /***/
+    },
+
+    /***/ 6924: /***/ (__unused_webpack_module, exports) => {
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
        */
@@ -774,133 +666,7 @@
       /***/
     },
 
-    /***/ 2543: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return SideEffect;
-        },
-      });
-      const _react = __webpack_require__(8879);
-      const isServer = "object" === "undefined";
-      const useClientOnlyLayoutEffect = isServer
-        ? () => {}
-        : _react.useLayoutEffect;
-      const useClientOnlyEffect = isServer ? () => {} : _react.useEffect;
-      function SideEffect(props) {
-        const { headManager, reduceComponentsToState } = props;
-        function emitChange() {
-          if (headManager && headManager.mountedInstances) {
-            const headElements = _react.Children.toArray(
-              Array.from(headManager.mountedInstances).filter(Boolean)
-            );
-            headManager.updateHead(reduceComponentsToState(headElements));
-          }
-        }
-        if (isServer) {
-          headManager?.mountedInstances?.add(props.children);
-          emitChange();
-        }
-        useClientOnlyLayoutEffect(() => {
-          headManager?.mountedInstances?.add(props.children);
-          return () => {
-            headManager?.mountedInstances?.delete(props.children);
-          };
-        });
-        // We need to call `updateHead` method whenever the `SideEffect` is trigger in all
-        // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s
-        // being rendered, we only trigger the method from the last one.
-        // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`
-        // singleton in the layout effect pass, and actually trigger it in the effect pass.
-        useClientOnlyLayoutEffect(() => {
-          if (headManager) {
-            headManager._pendingUpdate = emitChange;
-          }
-          return () => {
-            if (headManager) {
-              headManager._pendingUpdate = emitChange;
-            }
-          };
-        });
-        useClientOnlyEffect(() => {
-          if (headManager && headManager._pendingUpdate) {
-            headManager._pendingUpdate();
-            headManager._pendingUpdate = null;
-          }
-          return () => {
-            if (headManager && headManager._pendingUpdate) {
-              headManager._pendingUpdate();
-              headManager._pendingUpdate = null;
-            }
-          };
-        });
-        return null;
-      } //# sourceMappingURL=side-effect.js.map
-
-      /***/
-    },
-
-    /***/ 8035: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "default", {
-        enumerable: true,
-        get: function () {
-          return _default;
-        },
-      });
-      const _findclosestquality = __webpack_require__(2285);
-      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
-
-      /***/
-    },
-
-    /***/ 8848: /***/ (module, exports, __webpack_require__) => {
+    /***/ 7614: /***/ (module, exports, __webpack_require__) => {
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
@@ -910,7 +676,7 @@
           return useMergedRef;
         },
       });
-      const _react = __webpack_require__(8879);
+      const _react = __webpack_require__(1774);
       function useMergedRef(refA, refB) {
         const cleanupA = (0, _react.useRef)(null);
         const cleanupB = (0, _react.useRef)(null);
@@ -976,32 +742,7 @@
       /***/
     },
 
-    /***/ 9059: /***/ (
-      __unused_webpack_module,
-      exports,
-      __webpack_require__
-    ) => {
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      Object.defineProperty(exports, "RouterContext", {
-        enumerable: true,
-        get: function () {
-          return RouterContext;
-        },
-      });
-      const _interop_require_default = __webpack_require__(9010);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(8879)
-      );
-      const RouterContext = _react.default.createContext(null);
-      if (false) {
-      } //# sourceMappingURL=router-context.shared-runtime.js.map
-
-      /***/
-    },
-
-    /***/ 9225: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8439: /***/ (module, exports, __webpack_require__) => {
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
         value: true,
@@ -1012,27 +753,27 @@
           return Image;
         },
       });
-      const _interop_require_default = __webpack_require__(9010);
-      const _interop_require_wildcard = __webpack_require__(2275);
-      const _jsxruntime = __webpack_require__(1024);
+      const _interop_require_default = __webpack_require__(2570);
+      const _interop_require_wildcard = __webpack_require__(5643);
+      const _jsxruntime = __webpack_require__(2014);
       const _react = /*#__PURE__*/ _interop_require_wildcard._(
-        __webpack_require__(8879)
+        __webpack_require__(1774)
       );
       const _reactdom = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(3869)
+        __webpack_require__(7499)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(1666)
+        __webpack_require__(9452)
       );
-      const _getimgprops = __webpack_require__(1169);
-      const _imageconfig = __webpack_require__(1686);
-      const _imageconfigcontextsharedruntime = __webpack_require__(2);
-      const _warnonce = __webpack_require__(4352);
-      const _routercontextsharedruntime = __webpack_require__(9059);
+      const _getimgprops = __webpack_require__(1155);
+      const _imageconfig = __webpack_require__(9712);
+      const _imageconfigcontextsharedruntime = __webpack_require__(2896);
+      const _warnonce = __webpack_require__(5358);
+      const _routercontextsharedruntime = __webpack_require__(9813);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(8035)
+        __webpack_require__(1417)
       );
-      const _usemergedref = __webpack_require__(8848);
+      const _usemergedref = __webpack_require__(7614);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1358,5 +1099,268 @@
 
       /***/
     },
+
+    /***/ 9452: /***/ (module, exports, __webpack_require__) => {
+      /* __next_internal_client_entry_do_not_use__  cjs */
+      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;
+        },
+        defaultHead: function () {
+          return defaultHead;
+        },
+      });
+      const _interop_require_default = __webpack_require__(2570);
+      const _interop_require_wildcard = __webpack_require__(5643);
+      const _jsxruntime = __webpack_require__(2014);
+      const _react = /*#__PURE__*/ _interop_require_wildcard._(
+        __webpack_require__(1774)
+      );
+      const _sideeffect = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(405)
+      );
+      const _headmanagercontextsharedruntime = __webpack_require__(5326);
+      const _warnonce = __webpack_require__(5358);
+      function defaultHead() {
+        const head = [
+          /*#__PURE__*/ (0, _jsxruntime.jsx)(
+            "meta",
+            {
+              charSet: "utf-8",
+            },
+            "charset"
+          ),
+          /*#__PURE__*/ (0, _jsxruntime.jsx)(
+            "meta",
+            {
+              name: "viewport",
+              content: "width=device-width",
+            },
+            "viewport"
+          ),
+        ];
+        return head;
+      }
+      function onlyReactElement(list, child) {
+        // React children can be "string" or "number" in this case we ignore them for backwards compat
+        if (typeof child === "string" || typeof child === "number") {
+          return list;
+        }
+        // Adds support for React.Fragment
+        if (child.type === _react.default.Fragment) {
+          return list.concat(
+            _react.default.Children.toArray(child.props.children).reduce(
+              (fragmentList, fragmentChild) => {
+                if (
+                  typeof fragmentChild === "string" ||
+                  typeof fragmentChild === "number"
+                ) {
+                  return fragmentList;
+                }
+                return fragmentList.concat(fragmentChild);
+              },
+              []
+            )
+          );
+        }
+        return list.concat(child);
+      }
+      const METATYPES = ["name", "httpEquiv", "charSet", "itemProp"];
+      /*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/ function unique() {
+        const keys = new Set();
+        const tags = new Set();
+        const metaTypes = new Set();
+        const metaCategories = {};
+        return (h) => {
+          let isUnique = true;
+          let hasKey = false;
+          if (h.key && typeof h.key !== "number" && h.key.indexOf("$") > 0) {
+            hasKey = true;
+            const key = h.key.slice(h.key.indexOf("$") + 1);
+            if (keys.has(key)) {
+              isUnique = false;
+            } else {
+              keys.add(key);
+            }
+          }
+          // eslint-disable-next-line default-case
+          switch (h.type) {
+            case "title":
+            case "base":
+              if (tags.has(h.type)) {
+                isUnique = false;
+              } else {
+                tags.add(h.type);
+              }
+              break;
+            case "meta":
+              for (let i = 0, len = METATYPES.length; i < len; i++) {
+                const metatype = METATYPES[i];
+                if (!h.props.hasOwnProperty(metatype)) continue;
+                if (metatype === "charSet") {
+                  if (metaTypes.has(metatype)) {
+                    isUnique = false;
+                  } else {
+                    metaTypes.add(metatype);
+                  }
+                } else {
+                  const category = h.props[metatype];
+                  const categories = metaCategories[metatype] || new Set();
+                  if (
+                    (metatype !== "name" || !hasKey) &&
+                    categories.has(category)
+                  ) {
+                    isUnique = false;
+                  } else {
+                    categories.add(category);
+                    metaCategories[metatype] = categories;
+                  }
+                }
+              }
+              break;
+          }
+          return isUnique;
+        };
+      }
+      /**
+       *
+       * @param headChildrenElements List of children of <Head>
+       */ function reduceComponents(headChildrenElements) {
+        return headChildrenElements
+          .reduce(onlyReactElement, [])
+          .reverse()
+          .concat(defaultHead().reverse())
+          .filter(unique())
+          .reverse()
+          .map((c, i) => {
+            const key = c.key || i;
+            if (false) {
+            }
+            return /*#__PURE__*/ _react.default.cloneElement(c, {
+              key,
+            });
+          });
+      }
+      /**
+       * This component injects elements to `<head>` of your page.
+       * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+       */ function Head({ children }) {
+        const headManager = (0, _react.useContext)(
+          _headmanagercontextsharedruntime.HeadManagerContext
+        );
+        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {
+          reduceComponentsToState: reduceComponents,
+          headManager: headManager,
+          children: children,
+        });
+      }
+      const _default = Head;
+      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=head.js.map
+
+      /***/
+    },
+
+    /***/ 9712: /***/ (__unused_webpack_module, exports) => {
+      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, {
+        VALID_LOADERS: function () {
+          return VALID_LOADERS;
+        },
+        imageConfigDefault: function () {
+          return imageConfigDefault;
+        },
+      });
+      const VALID_LOADERS = [
+        "default",
+        "imgix",
+        "cloudinary",
+        "akamai",
+        "custom",
+      ];
+      const imageConfigDefault = {
+        deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+        imageSizes: [32, 48, 64, 96, 128, 256, 384],
+        path: "/_next/image",
+        loader: "default",
+        loaderFile: "",
+        /**
+         * @deprecated Use `remotePatterns` instead to protect your application from malicious users.
+         */ domains: [],
+        disableStaticImages: false,
+        minimumCacheTTL: 14400,
+        formats: ["image/webp"],
+        maximumRedirects: 3,
+        dangerouslyAllowLocalIP: false,
+        dangerouslyAllowSVG: false,
+        contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,
+        contentDispositionType: "attachment",
+        localPatterns: undefined,
+        remotePatterns: [],
+        qualities: [75],
+        unoptimized: false,
+      }; //# sourceMappingURL=image-config.js.map
+
+      /***/
+    },
+
+    /***/ 9813: /***/ (
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) => {
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      Object.defineProperty(exports, "RouterContext", {
+        enumerable: true,
+        get: function () {
+          return RouterContext;
+        },
+      });
+      const _interop_require_default = __webpack_require__(2570);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(1774)
+      );
+      const RouterContext = _react.default.createContext(null);
+      if (false) {
+      } //# sourceMappingURL=router-context.shared-runtime.js.map
+
+      /***/
+    },
   },
 ]);
Diff for main-HASH.js

Diff too large to display

Commit: e3980f0

Copy link

codspeed-hq bot commented Oct 16, 2025

CodSpeed Performance Report

Merging #84969 will not alter performance

Comparing mischnic/stripprefix-too-long (e3980f0) with canary (206fa75)

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants