Skip to content

Conversation

@eps1lon
Copy link
Member

@eps1lon eps1lon commented Oct 28, 2025

No description provided.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Oct 28, 2025
Comment on lines +539 to +541
`Found a change in ${
filename
)}. Restarting the server to apply the changes...`
}. Restarting the server to apply the changes...`
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
`Found a change in ${
filename
)}. Restarting the server to apply the changes...`
}. Restarting the server to apply the changes...`
`Found a change in ${path.basename(
filename
)}. Restarting the server to apply the changes...`

The log message now displays the full file path instead of just the filename, making the output unnecessarily verbose and harder to scan.

View Details

Analysis

Log message in watchConfigFiles displays full file path instead of just filename

What fails: The watchConfigFiles callback in packages/next/src/server/lib/start-server.ts (lines 539-541) displays the complete file path in the warning message instead of just the config filename, reducing dev server log readability.

How to reproduce:

  1. Run next dev in a Next.js project
  2. Modify a config file (e.g., next.config.js, middleware.ts, etc.)
  3. Observe the warning message in the console

Result: Log displays:

Found a change in /Users/dev/project/next.config.js. Restarting the server to apply the changes...

Expected: Should display only the filename per the original code pattern:

Found a change in next.config.js. Restarting the server to apply the changes...

Root cause: The path.basename() call was removed from the log message, but Watchpack's 'change' event callback receives the full file path (constructed via path.join(dirToWatch, file) on line 526). This was verified by testing Watchpack's behavior - it returns the complete path string, not just the filename.

Fix: Restore the path.basename() call to extract just the filename from the full path provided by Watchpack's change event.

@ijjk
Copy link
Member

ijjk commented Oct 28, 2025

Failing test suites

Commit: 4ce25fc | About building and testing Next.js

pnpm test-dev-turbo test/e2e/app-dir/server-source-maps/server-source-maps-edge.test.ts (turbopack)

  • app-dir - server source maps edge runtime > logged errors have a sourcemapped stack with a codeframe (DD)
Expand output

● app-dir - server source maps edge runtime › logged errors have a sourcemapped stack with a codeframe

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

Expected substring: "
Error: rsc-error-log

  at logError (../app/rsc-error-log/page.js:2:17)
  at Page (../app/rsc-error-log/page.js:6:3)
    1 | function logError() {
  > 2 |   console.error(new Error('rsc-error-log'))
      |                 ^
    3 | }
    4 |
    5 | export default function Page() { {···
  }"
  Received string:    "Error: rsc-error-log
  at logError (../app/rsc-error-log/page.js:2:17)
  at Page (../app/rsc-error-log/page.js:6:3)
    1 | function logError() {
  > 2 |   console.error(new Error('rsc-error-log'))
      |                 ^
    3 | }
    4 |
    5 | export default function Page() { {···
  }
  "
  at Object.toContain (e2e/app-dir/server-source-maps/server-source-maps-edge.test.ts:30:69)

pnpm test-dev-turbo test/development/next-config-ts/hmr/index.test.ts (turbopack)

  • next-config-ts - dev-hmr > should output config file change (DD)
Expand output

● next-config-ts - dev-hmr › should output config file change

Failed to start server after 10000ms, waiting for this log pattern: / ✓ Ready in /

  454 |     return setTimeout(() => {
  455 |       reject(
> 456 |         new Error(
      |         ^
  457 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  458 |         )
  459 |       )

  at Timeout._onTimeout (lib/next-modes/base.ts:456:9)

pnpm test-dev-turbo test/development/dev-indicator/dev-indicator.test.ts (turbopack)

  • dev indicator - route type > getStaticPaths > should be marked static on first load (DD)
Expand output

● dev indicator - route type › getStaticPaths › should be marked static on first load

Expected DevTools Indicator but found no visible one.

  949 |   browser: Playwright
  950 | ): Promise<void> {
> 951 |   const devToolsIndicator = await assertHasDevToolsIndicator(browser)
      |                             ^
  952 |
  953 |   try {
  954 |     await devToolsIndicator.click()

  at openDevToolsIndicatorPopover (lib/next-test-utils.ts:951:29)
  at assertStaticIndicator (lib/next-test-utils.ts:1040:3)
  at development/dev-indicator/dev-indicator.test.ts:94:9
  at retry (lib/next-test-utils.ts:808:14)
  at Object.<anonymous> (development/dev-indicator/dev-indicator.test.ts:93:7)

pnpm test-dev-turbo test/development/app-dir/watch-config-file/index.test.ts (turbopack)

  • app-dir watch-config-file > should output config file change and restart server for app router (DD)
Expand output

● app-dir watch-config-file › should output config file change and restart server for app router

TIMED OUT: /Found a change in next\.config\.js\. Restarting the server to apply the changes\.\.\./

   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 372ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647804694
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 836ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647807705
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 638ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647810719
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 633ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647813733
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 501ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647816244
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 495ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647818762
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 630ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647821796
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 365ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647824311
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 590ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647827329
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 529ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647829838
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 580ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647832351
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 516ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647834883
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 449ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647837396
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 533ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647839918
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 917ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647842949
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 607ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647845965
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 678ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647848979
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 691ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647851997
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 673ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647855010
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 698ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647858024
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 641ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647861026
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 625ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647864038
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 596ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647867054
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 694ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647870062
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 519ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647873072
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 557ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647875575
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 567ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647878089
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 600ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647881101
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 600ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647884119
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 586ms
 ⚠ Found a change in /tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d/next.config.js. Restarting the server to apply the changes...
1761647887122
   ▲ Next.js 16.0.1-canary.5 (Turbopack)
   - Local:        http://localhost:36303
   - Network:      http://135.181.51.11:36303

 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-8fca2d916089c138200d906c767fb22fd279a83c5f29c4623d0a88122c7c6b7d',
  testMode: true
}
 ✓ Ready in 625ms


undefined

  733 |
  734 |   if (hardError) {
> 735 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  736 |   }
  737 |   return false
  738 | }

  at check (lib/next-test-utils.ts:735:11)
  at Object.<anonymous> (development/app-dir/watch-config-file/index.test.ts:13:5)

pnpm test-dev test/development/watch-config-file/index.test.ts

  • watch-config-file > should output config file change (DD)
Expand output

● watch-config-file › should output config file change

TIMED OUT: /Found a change in next\.config\.js\. Restarting the server to apply the changes\.\.\./

   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1130ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647880630
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1584ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647884136
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1372ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647887142
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1428ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647890155
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1237ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647893158
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1287ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647896164
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1319ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647899167
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1387ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647902186
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1360ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647905206
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1425ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647908210
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1416ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647911212
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1324ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647914228
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1355ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647917238
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1625ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647920754
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1316ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647923787
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1194ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647926798
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1264ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647929801
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1364ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647932803
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1183ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647935806
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1179ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647938818
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1279ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647941826
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1326ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647944828
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1159ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647947830
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1107ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647950839
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1104ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647953842
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 957ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647956360
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 904ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647958862
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1007ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647961365
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 1042ms
 ⚠ Found a change in /tmp/next-install-e4ab88a4a7e79f5c86789ed63ef7db4db051896470317771cbb05c665f189ec0/next.config.js. Restarting the server to apply the changes...
1761647963868
   ▲ Next.js 16.0.1-canary.5 (webpack)
   - Local:        http://localhost:38925
   - Network:      http://144.76.168.12:38925

 ✓ Starting...
 ✓ Ready in 935ms


Error: Server has not finished restarting.

  733 |
  734 |   if (hardError) {
> 735 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  736 |   }
  737 |   return false
  738 | }

  at check (lib/next-test-utils.ts:735:11)
  at Object.<anonymous> (development/watch-config-file/index.test.ts:12:5)

pnpm test-dev test/e2e/app-dir/fallback-shells/fallback-shells.test.ts

  • fallback-shells > with cached IO > with generateStaticParams > and the page not wrapped in Suspense > and params.then/catch/finally passed to a cached function > does not resume a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page not wrapped in Suspense > and the params accessed in a cached non-page function > does not resume a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page not wrapped in Suspense > and the params accessed in the cached page > does not resume a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page not wrapped in Suspense > and the params accessed in the cached page > does not render a fallback shell when using a params placeholder (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page not wrapped in Suspense > and the params transformed with an async function and then passed to a cached function > does not resume a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page wrapped in Suspense > and params.then/catch/finally passed to a cached function > resumes a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page wrapped in Suspense > and the params accessed in cached non-page function > resumes a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page wrapped in Suspense > and the params accessed in the cached page > resumes a postponed fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page wrapped in Suspense > and the params accessed in the cached page > does not produce hydration errors when resuming a fallback shell containing a layout with unused params (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page wrapped in Suspense > and the params accessed in the cached page > shares a cached parent layout between a prerendered route shell and the fallback shell (DD)
  • fallback-shells > with cached IO > with generateStaticParams > and the page wrapped in Suspense > and the params transformed with an async function and then passed to a cached function > resumes a postponed fallback shell (DD)
  • fallback-shells > with cached IO > without generateStaticParams > and params.then/catch/finally passed to a cached function > resumes a postponed fallback shell (DD)
  • fallback-shells > with cached IO > without generateStaticParams > and the params accessed in cached non-page function > resumes a postponed fallback shell (DD)
  • fallback-shells > with cached IO > without generateStaticParams > and the params accessed in the cached page > resumes a postponed fallback shell (DD)
  • fallback-shells > without IO > should start and not postpone the response (DD)
Expand output

● fallback-shells › without IO › should start and not postpone the response

thrown: "Timed out waiting for the response of /without-io/world"

   8 |
   9 |   describe('without IO', () => {
> 10 |     it('should start and not postpone the response', async () => {
     |     ^
  11 |       const { browser, response } =
  12 |         await next.browserWithResponse('/without-io/world')
  13 |

  at it (e2e/app-dir/fallback-shells/fallback-shells.test.ts:10:5)
  at describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:9:3)
  at Object.describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:4:1)

● fallback-shells › with cached IO › with generateStaticParams › and the page wrapped in Suspense › and the params accessed in the cached page › resumes a postponed fallback shell

thrown: "Timed out waiting for the response of /with-cached-io/with-static-params/with-suspense/params-in-page/bar"

  29 |       describe('and the page wrapped in Suspense', () => {
  30 |         describe('and the params accessed in the cached page', () => {
> 31 |           it('resumes a postponed fallback shell', async () => {
     |           ^
  32 |             const { browser, response } = await next.browserWithResponse(
  33 |               '/with-cached-io/with-static-params/with-suspense/params-in-page/bar'
  34 |             )

  at it (e2e/app-dir/fallback-shells/fallback-shells.test.ts:31:11)
  at describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:30:9)
  at describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:29:7)
  at describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:28:5)
  at describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:27:3)
  at Object.describe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:4:1)

● fallback-shells › with cached IO › with generateStaticParams › and the page wrapped in Suspense › and the params accessed in the cached page › does not produce hydration errors when resuming a fallback shell containing a layout with unused params

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

- Expected  - 1
+ Received  + 6

- Array []
+ Array [
+   Object {
+     "message": "Failed to load resource: the server responded with a status of 500 (Internal Server Error)",
+     "source": "error",
+   },
+ ]

  1809 |   })
  1810 |
> 1811 |   expect(warningsAndErrors).toEqual([])
       |                             ^
  1812 | }
  1813 |
  1814 | export async function getHighlightedDiffLines(

  at toEqual (lib/next-test-utils.ts:1811:29)
  at Object.<anonymous> (e2e/app-dir/fallback-shells/fallback-shells.test.ts:64:13)

● fallback-shells › with cached IO › with generateStaticParams › and the page wrapped in Suspense › and the params accessed in the cached page › shares a cached parent layout between a prerendered route shell and the fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:91:18)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:92:18)

● fallback-shells › with cached IO › with generateStaticParams › and the page wrapped in Suspense › and the params accessed in cached non-page function › resumes a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:160:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:161:16)

● fallback-shells › with cached IO › with generateStaticParams › and the page wrapped in Suspense › and params.then/catch/finally passed to a cached function › resumes a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:187:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:188:16)

● fallback-shells › with cached IO › with generateStaticParams › and the page wrapped in Suspense › and the params transformed with an async function and then passed to a cached function › resumes a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:214:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:215:16)

● fallback-shells › with cached IO › with generateStaticParams › and the page not wrapped in Suspense › and the params accessed in the cached page › does not resume a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:243:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:244:16)

● fallback-shells › with cached IO › with generateStaticParams › and the page not wrapped in Suspense › and the params accessed in the cached page › does not render a fallback shell when using a params placeholder

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

Expected: 200
Received: 500

  269 |               )
  270 |
> 271 |               expect(response.status()).toBe(200)
      |                                         ^
  272 |
  273 |               // This should render the encoded param in the route shell, and not
  274 |               // interpret the param as a fallback param, and subsequently try to

  at Object.toBe (e2e/app-dir/fallback-shells/fallback-shells.test.ts:271:41)

● fallback-shells › with cached IO › with generateStaticParams › and the page not wrapped in Suspense › and the params accessed in a cached non-page function › does not resume a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:293:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:294:16)

● fallback-shells › with cached IO › with generateStaticParams › and the page not wrapped in Suspense › and params.then/catch/finally passed to a cached function › does not resume a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:320:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:321:16)

● fallback-shells › with cached IO › with generateStaticParams › and the page not wrapped in Suspense › and the params transformed with an async function and then passed to a cached function › does not resume a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:347:16)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:348:16)

● fallback-shells › with cached IO › without generateStaticParams › and the params accessed in the cached page › resumes a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:376:46)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:376:75)

● fallback-shells › with cached IO › without generateStaticParams › and the params accessed in cached non-page function › resumes a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:427:46)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:427:75)

● fallback-shells › with cached IO › without generateStaticParams › and params.then/catch/finally passed to a cached function › resumes a postponed fallback shell

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)
  at Playwright.elementByCss [as elementById] (lib/browsers/playwright.ts:425:17)
  at Object.elementById (e2e/app-dir/fallback-shells/fallback-shells.test.ts:452:46)
  at Proxy._chain (lib/browsers/playwright.ts:651:23)
  at Proxy._chain (lib/browsers/playwright.ts:627:17)
  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)
  at Object.text (e2e/app-dir/fallback-shells/fallback-shells.test.ts:452:75)

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

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

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

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

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

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

pnpm test test/integration/telemetry/test/index.test.js

  • Telemetry CLI > production mode > cli session: babel tooling config (DD)
  • Telemetry CLI > production mode > cli session: custom babel config (plugin) (DD)
Expand output

● Telemetry CLI › production mode › cli session: babel tooling config

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

  188 |       })
  189 |
> 190 |       it('cli session: babel tooling config', async () => {
      |       ^
  191 |         await fs.rename(
  192 |           path.join(appDir, '.babelrc.default'),
  193 |           path.join(appDir, '.babelrc')

  at it (integration/telemetry/test/index.test.js:190:7)
  at integration/telemetry/test/index.test.js:98:56
  at Object.describe (integration/telemetry/test/index.test.js:13:1)

● Telemetry CLI › production mode › cli session: custom babel config (plugin)

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

  231 |
  232 |         const event = /NEXT_CLI_SESSION_STARTED[\s\S]+?{([\s\S]+?)}/
> 233 |           .exec(stderr)
      |                 ^
  234 |           .pop()
  235 |
  236 |         expect(event).toMatch(/"hasNextConfig": false/)

  at Object.stderr (integration/telemetry/test/index.test.js:233:17)

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

  • segment cache (revalidation) > refetch visible Form components after cache is revalidated (DD)
  • segment cache (revalidation) > re-fetch visible links after a navigation, if needed (DD)
  • segment cache (revalidation) > delay re-prefetch after revalidation to allow CDN propagation (DD)
Expand output

● segment cache (revalidation) › refetch visible Form components after cache is revalidated

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

   97 |   })
   98 |
>  99 |   it('refetch visible Form components after cache is revalidated', async () => {
      |   ^
  100 |     // This is the same as the previous test, but for forms. Since the
  101 |     // prefetching implementation is shared between Link and Form, we don't
  102 |     // bother to test every feature using both Link and Form; this test should

  at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:99:3)
  at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

● segment cache (revalidation) › re-fetch visible links after a navigation, if needed

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

  248 |   })
  249 |
> 250 |   it('re-fetch visible links after a navigation, if needed', async () => {
      |   ^
  251 |     let act: ReturnType<typeof createRouterAct>
  252 |     const browser = await next.browser('/refetch-on-new-base-tree/a', {
  253 |       beforePageLoad(page) {

  at it (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:250:3)
  at Object.describe (e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts:7:1)

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

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

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

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

@ijjk
Copy link
Member

ijjk commented Oct 28, 2025

Stats from current PR

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

Diff too large to display

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

Diff too large to display

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

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants