Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(turbopack): Apply tree shaking before server action transform #69344

Draft
wants to merge 17 commits into
base: canary
Choose a base branch
from

Conversation

kdy1
Copy link
Member

@kdy1 kdy1 commented Aug 27, 2024

What?

Apply server actions transform after the tree shaking so unused actions can be removed.

Why?

The output of server action is not tree-shakable.

How?

Closes PACK-3215

@kdy1 kdy1 self-assigned this Aug 27, 2024
@ijjk ijjk added created-by: Turbopack team PRs by the Turbopack team. Font (next/font) Related to Next.js Font Optimization. Turbopack Related to Turbopack with Next.js. tests labels Aug 27, 2024
@ijjk
Copy link
Member

ijjk commented Aug 27, 2024

Failing test suites

Commit: 5c7c8b3

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-basepath/index.test.ts (turbopack)

  • app dir - basepath > should successfully hard navigate from pages -> app
  • app dir - basepath > should support basePath
  • app dir - basepath > should support Link with basePath prefixed
  • app dir - basepath > should prefix metadata og image with basePath
  • app dir - basepath > should prefix redirect() with basePath
  • app dir - basepath > should render usePathname without the basePath
  • app dir - basepath > should handle redirect in dynamic in suspense boundary routes with basePath
  • app dir - basepath > should only make a single RSC call to the current page (/base/refresh)
  • app dir - basepath > should only make a single RSC call to the current page (/base/refresh?foo=bar)
  • app dir - basepath > should properly stream an internal server action redirect() with a relative URL
  • app dir - basepath > should properly stream an internal server action redirect() with a absolute URL
  • app dir - basepath > should redirect externally when encountering absolute URLs on the same host outside the basePath
Expand output

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

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should support basePath

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should support Link with basePath prefixed

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should prefix metadata og image with basePath

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should prefix redirect() with basePath

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should render usePathname without the basePath

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should handle redirect in dynamic in suspense boundary routes with basePath

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should only make a single RSC call to the current page (/base/refresh)

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should only make a single RSC call to the current page (/base/refresh?foo=bar)

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

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

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

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

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - basepath › should redirect externally when encountering absolute URLs on the same host outside the basePath

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/actions/app-action-progressive-enhancement.test.ts (turbopack)

  • app-dir action progressive enhancement > should support formData and redirect without JS
  • app-dir action progressive enhancement > should support actions from client without JS
Expand output

● app-dir action progressive enhancement › should support formData and redirect without JS

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app-dir action progressive enhancement › should support actions from client without JS

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-external/app-external.test.ts (turbopack)

  • app dir - external dependency > should be able to opt-out 3rd party packages being bundled in server components
  • app dir - external dependency > should handle external async module libraries correctly
  • app dir - external dependency > should transpile specific external packages with the transpilePackages option
  • app dir - external dependency > should resolve the subset react in server components based on the react-server condition
  • app dir - external dependency > should resolve 3rd party package exports based on the react-server condition
  • app dir - external dependency > should correctly collect global css imports and mark them as side effects
  • app dir - external dependency > should handle external css modules
  • app dir - external dependency > should use the same export type for packages in both ssr and client
  • app dir - external dependency > should handle external css modules in pages
  • app dir - external dependency > should handle external next/font
  • app dir - external dependency > should emit cjs helpers for external cjs modules when compiled
  • app dir - external dependency > should export client module references in esm
  • app dir - external dependency > should support exporting multiple star re-exports
  • app dir - external dependency > should have proper tree-shaking for known modules in CJS
  • app dir - external dependency > should use the same async storages if imported directly
  • app dir - external dependency > app route > should resolve next/server api from external esm package
  • app dir - external dependency > mixed syntax external modules > should handle mixed module with next/dynamic
  • app dir - external dependency > mixed syntax external modules > should handle mixed module in server and client components
  • app dir - external dependency > react in external esm packages > should use the same react in client app
  • app dir - external dependency > react in external esm packages > should use the same react in server app
  • app dir - external dependency > react in external esm packages > should use the same react in edge server app
  • app dir - external dependency > react in external esm packages > should use the same react in pages
  • app dir - external dependency > react in external esm packages > should support namespace import with ESM packages
  • app dir - external dependency > react in external esm packages > should apply serverExternalPackages inside of node_modules
  • app dir - external dependency > server actions > should prefer to resolve esm over cjs for bundling optout packages
  • app dir - external dependency > server actions > should compile server actions from node_modules in client components
Expand output

● app dir - external dependency › should be able to opt-out 3rd party packages being bundled in server components

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should handle external async module libraries correctly

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should transpile specific external packages with the transpilePackages option

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should resolve the subset react in server components based on the react-server condition

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should resolve 3rd party package exports based on the react-server condition

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should correctly collect global css imports and mark them as side effects

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should handle external css modules

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should use the same export type for packages in both ssr and client

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should handle external css modules in pages

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should handle external next/font

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should not apply swc optimizer transform for external packages in browser layer in web worker

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › react in external esm packages › should use the same react in client app

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › react in external esm packages › should use the same react in server app

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › react in external esm packages › should use the same react in edge server app

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › react in external esm packages › should use the same react in pages

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › react in external esm packages › should support namespace import with ESM packages

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › react in external esm packages › should apply serverExternalPackages inside of node_modules

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › mixed syntax external modules › should handle mixed module with next/dynamic

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › mixed syntax external modules › should handle mixed module in server and client components

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should emit cjs helpers for external cjs modules when compiled

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should export client module references in esm

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should support exporting multiple star re-exports

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should have proper tree-shaking for known modules in CJS

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › should use the same async storages if imported directly

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › server actions › should prefer to resolve esm over cjs for bundling optout packages

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › server actions › should compile server actions from node_modules in client components

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● app dir - external dependency › app route › should resolve next/server api from external esm package

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/actions-revalidate-remount/actions-revalidate-remount.test.ts (turbopack)

  • actions-revalidate-remount > should not remount the page + loading component when revalidating
Expand output

● actions-revalidate-remount › should not remount the page + loading component when revalidating

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-basepath-custom-server/index.test.ts (turbopack)

  • custom-app-server-action-redirect > redirects with basepath properly when server action handler uses redirect
  • custom-app-server-action-redirect > redirects with proper cookies set from both redirect response and post respose
Expand output

● custom-app-server-action-redirect › redirects with basepath properly when server action handler uses redirect

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

● custom-app-server-action-redirect › redirects with proper cookies set from both redirect response and post respose

next build failed with code/signal 1

   98 |           if (code || signal)
   99 |             reject(
> 100 |               new Error(`next build failed with code/signal ${code || signal}`)
      |               ^
  101 |             )
  102 |           else resolve()
  103 |         })

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

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/development/acceptance-app/ReactRefreshLogBox-builtins.test.ts (turbopack)

  • ReactRefreshLogBox app turbo > Module not found
  • ReactRefreshLogBox app turbo > Module not found empty import trace
  • ReactRefreshLogBox app turbo > Module not found missing global CSS
Expand output

● ReactRefreshLogBox app turbo › Module not found

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `ReactRefreshLogBox app turbo Module not found 1`

- Snapshot  - 7
+ Received  + 2

- ./index.js:1:1
+ ./index.js
- Module not found: Can't resolve 'b'
- > 1 | import Comp from 'b'
-     | ^^^^^^^^^^^^^^^^^^^^
-   2 | export default function Oops() {
-   3 |   return (
-   4 |     <div>
+ Module not found: Can't resolve 'b'

  https://nextjs.org/docs/messages/module-not-found

   97 |     const source = await session.getRedboxSource()
   98 |     if (process.env.TURBOPACK) {
>  99 |       expect(source).toMatchInlineSnapshot(`
      |                      ^
  100 |         "./index.js:1:1
  101 |         Module not found: Can't resolve 'b'
  102 |         > 1 | import Comp from 'b'

  at Object.toMatchInlineSnapshot (development/acceptance-app/ReactRefreshLogBox-builtins.test.ts:99:22)

● ReactRefreshLogBox app turbo › Module not found empty import trace

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `ReactRefreshLogBox app turbo Module not found empty import trace 1`

- Snapshot  - 8
+ Received  + 2

- ./app/page.js:2:1
+ ./app/page.js
- Module not found: Can't resolve 'b'
-   1 | 'use client'
- > 2 | import Comp from 'b'
-     | ^^^^^^^^^^^^^^^^^^^^
-   3 | export default function Oops() {
-   4 |   return (
-   5 |     <div>
+ Module not found: Can't resolve 'b'

  https://nextjs.org/docs/messages/module-not-found

  150 |     const source = await session.getRedboxSource()
  151 |     if (process.env.TURBOPACK) {
> 152 |       expect(source).toMatchInlineSnapshot(`
      |                      ^
  153 |         "./app/page.js:2:1
  154 |         Module not found: Can't resolve 'b'
  155 |           1 | 'use client'

  at Object.toMatchInlineSnapshot (development/acceptance-app/ReactRefreshLogBox-builtins.test.ts:152:22)

● ReactRefreshLogBox app turbo › Module not found missing global CSS

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `ReactRefreshLogBox app turbo Module not found missing global CSS 1`

- Snapshot  - 8
+ Received  + 2

- ./app/page.js:2:1
+ ./app/page.js
- Module not found: Can't resolve './non-existent.css'
-   1 | 'use client'
- > 2 | import './non-existent.css'
-     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   3 | export default function Page(props) {
-   4 |   return <p>index page</p>
-   5 | }
+ Module not found: Can't resolve './non-existent.css'

  https://nextjs.org/docs/messages/module-not-found

  200 |     const source = await session.getRedboxSource()
  201 |     if (process.env.TURBOPACK) {
> 202 |       expect(source).toMatchInlineSnapshot(`
      |                      ^
  203 |         "./app/page.js:2:1
  204 |         Module not found: Can't resolve './non-existent.css'
  205 |           1 | 'use client'

  at Object.toMatchInlineSnapshot (development/acceptance-app/ReactRefreshLogBox-builtins.test.ts:202:22)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/development/acceptance/ReactRefreshLogBox-builtins.test.ts (turbopack)

  • ReactRefreshLogBox turbo > Module not found
  • ReactRefreshLogBox turbo > Module not found (empty import trace)
  • ReactRefreshLogBox turbo > Module not found (missing global CSS)
Expand output

● ReactRefreshLogBox turbo › Module not found

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `ReactRefreshLogBox turbo Module not found 1`

- Snapshot  - 7
+ Received  + 2

- ./index.js:1:1
+ ./index.js
- Module not found: Can't resolve 'b'
- > 1 | import Comp from 'b'
-     | ^^^^^^^^^^^^^^^^^^^^
-   2 |
-   3 | export default function Oops() {
-   4 |   return (
+ Module not found: Can't resolve 'b'

  https://nextjs.org/docs/messages/module-not-found

   97 |     const source = await session.getRedboxSource()
   98 |     if (process.env.TURBOPACK) {
>  99 |       expect(source).toMatchInlineSnapshot(`
      |                      ^
  100 |         "./index.js:1:1
  101 |         Module not found: Can't resolve 'b'
  102 |         > 1 | import Comp from 'b'

  at Object.toMatchInlineSnapshot (development/acceptance/ReactRefreshLogBox-builtins.test.ts:99:22)

● ReactRefreshLogBox turbo › Module not found (empty import trace)

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `ReactRefreshLogBox turbo Module not found (empty import trace) 1`

- Snapshot  - 7
+ Received  + 2

- ./pages/index.js:1:1
+ ./pages/index.js
- Module not found: Can't resolve 'b'
- > 1 | import Comp from 'b'
-     | ^^^^^^^^^^^^^^^^^^^^
-   2 |
-   3 | export default function Oops() {
-   4 |   return (
+ Module not found: Can't resolve 'b'

  https://nextjs.org/docs/messages/module-not-found

  150 |     const source = await session.getRedboxSource()
  151 |     if (process.env.TURBOPACK) {
> 152 |       expect(source).toMatchInlineSnapshot(`
      |                      ^
  153 |         "./pages/index.js:1:1
  154 |         Module not found: Can't resolve 'b'
  155 |         > 1 | import Comp from 'b'

  at Object.toMatchInlineSnapshot (development/acceptance/ReactRefreshLogBox-builtins.test.ts:152:22)

● ReactRefreshLogBox turbo › Module not found (missing global CSS)

Expected no Redbox but found one
header: Build Error
Next.js (15.0.0-canary.131) (turbo)

Failed to compile
description: Failed to compile
source: ./pages/_app.js
Module not found: Can't resolve './non-existent.css'

https://nextjs.org/docs/messages/module-not-found

  239 |       `
  240 |     )
> 241 |     await session.assertNoRedbox()
      |     ^
  242 |     expect(
  243 |       await session.evaluate(() => document.documentElement.innerHTML)
  244 |     ).toContain('index page')

  at Object.<anonymous> (development/acceptance/ReactRefreshLogBox-builtins.test.ts:241:5)

● ReactRefreshLogBox turbo › Module not found (missing global CSS)

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `ReactRefreshLogBox turbo Module not found (missing global CSS) 1`

- Snapshot  - 7
+ Received  + 2

- ./pages/_app.js:1:1
+ ./pages/_app.js
- Module not found: Can't resolve './non-existent.css'
- > 1 | import './non-existent.css'
-     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   2 |
-   3 | export default function App({ Component, pageProps }) {
-   4 |   return <Component {...pageProps} />
+ Module not found: Can't resolve './non-existent.css'

  https://nextjs.org/docs/messages/module-not-found

  206 |     const source = await session.getRedboxSource()
  207 |     if (process.env.TURBOPACK) {
> 208 |       expect(source).toMatchInlineSnapshot(`
      |                      ^
  209 |         "./pages/_app.js:1:1
  210 |         Module not found: Can't resolve './non-existent.css'
  211 |         > 1 | import './non-existent.css'

  at Object.toMatchInlineSnapshot (development/acceptance/ReactRefreshLogBox-builtins.test.ts:208:22)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test test/integration/edge-runtime-module-errors/test/index.test.js (turbopack)

  • Edge runtime code with imports > Edge API statically importing 3rd party module > throws not-found module error in dev at runtime and highlights the faulty line
Expand output

● Edge runtime code with imports › Edge API statically importing 3rd party module › throws not-found module error in dev at runtime and highlights the faulty line

TIMED OUT: success

undefined

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

Expected substring: "import Unknown from \"not-exist\""
Received string:    "  ▲ Next.js 15.0.0-canary.131 (turbo)
  - Local:        http://[::1]:42749
  - Network:      http://[::]:42749·
 ✓ Starting...
Creating turbopack project {
  dir: '/root/actions-runner/_work/next.js/next.js/test/integration/edge-runtime-module-errors',
  testMode: true
}
 ✓ Compiled in 109ms
 ✓ Ready in 617ms
 ✓ Compiled /api/route in 112ms
 ⨯ ./test/integration/edge-runtime-module-errors/pages/api/route.js
Module not found: Can't resolve 'not-exist'··
https://nextjs.org/docs/messages/module-not-found··
 ⚠ ./packages/next/dist/esm/lib/scheduler.js:14:9
Ecmascript file had an error
  12 |     //
  13 |     Promise.resolve().then(()=>{
> 14 |         process.nextTick(cb);
     |         ^^^^^^^^^^^^^^^^
  15 |     });
  16 | };
  17 | /**·
A Node.js API is used (process.nextTick at line: 14) which is not supported in the Edge Runtime.
Learn more: https://nextjs.org/docs/api-reference/edge-runtime··
 ⚠ ./packages/next/dist/esm/lib/scheduler.js:26:9
Ecmascript file had an error
  24 |         setTimeout(cb, 0);
  25 |     } else {
> 26 |         setImmediate(cb);
     |         ^^^^^^^^^^^^
  27 |     }
  28 | };
  29 | /**·
A Node.js API is used (setImmediate at line: 26) which is not supported in the Edge Runtime.
Learn more: https://nextjs.org/docs/api-reference/edge-runtime··
 ○ Compiling /_error ...
 ✓ Compiled /_error in 719ms
 GET /api/route 500 in 825ms
"

  718 |
  719 |   if (hardError) {
> 720 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  721 |   }
  722 |   return false
  723 | }

  at check (lib/next-test-utils.ts:720:11)
  at Object.<anonymous> (integration/edge-runtime-module-errors/test/index.test.js:260:7)

Read more about building and testing Next.js in contributing.md.

pnpm test test/integration/image-optimizer/test/sharp.test.ts

  • with latest sharp > dev support w/o next.config.js > should use cache and stale-while-revalidate when query is the same for internal image
Expand output

● with latest sharp › dev support w/o next.config.js › should use cache and stale-while-revalidate when query is the same for internal image

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

- Expected  - 1
+ Received  + 1

  Object {
    "CLlWMTmZ3yqVAzXydqbfJ1345xX5XKnrZGByeCOpmK0=": Object {
-     "60.1724743451198.fHRneS8B5fTzC5--kTkL4yF2DSjNWfPs4X4mpujvr6s=.webp": "2024-08-27T07:23:11.193Z",
+     "60.1724743451198.fHRneS8B5fTzC5--kTkL4yF2DSjNWfPs4X4mpujvr6s=.webp": "2024-08-27T07:23:11.197Z",
    },
  }

  1141 |     )
  1142 |     const json2 = await fsToJson(ctx.imagesDir)
> 1143 |     expect(json2).toStrictEqual(json1)
       |                   ^
  1144 |
  1145 |     if (ctx.nextConfigImages?.minimumCacheTTL) {
  1146 |       // Wait until expired so we can confirm image is regenerated

  at Object.toStrictEqual (integration/image-optimizer/test/util.ts:1143:19)

Read more about building and testing Next.js in contributing.md.

pnpm test test/integration/edge-runtime-module-errors/test/module-imports.test.js

  • Edge runtime code with imports > Edge API statically importing node.js module > throws unsupported module error in dev at runtime and highlights the faulty line
Expand output

● Edge runtime code with imports › Edge API statically importing node.js module › throws unsupported module error in dev at runtime and highlights the faulty line

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

Expected: 500
Received: 404

  88 |       await retry(async () => {
  89 |         const res = await fetchViaHTTP(context.appPort, url)
> 90 |         expect(res.status).toBe(500)
     |                            ^
  91 |         const text = await res.text()
  92 |         expectUnsupportedModuleDevError(moduleName, importStatement, text)
  93 |       })

  at toBe (integration/edge-runtime-module-errors/test/module-imports.test.js:90:28)
  at retry (lib/next-test-utils.ts:806:14)
  at Object.<anonymous> (integration/edge-runtime-module-errors/test/module-imports.test.js:88:7)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/e2e/app-dir/next-after-app/index.test.ts (turbopack)

  • unstable_after() in edge runtime > runs in server actions
  • unstable_after() in edge runtime > does not allow modifying cookies in a callback
  • unstable_after() in nodejs runtime > runs in server actions
  • unstable_after() in nodejs runtime > does not allow modifying cookies in a callback
Expand output

● unstable_after() in nodejs runtime › runs in server actions

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

Expected value: {"source": "[layout] /[id]"}
Received array: []

   95 |   it('runs in server actions', async () => {
   96 |     const browser = await next.browser('/123/with-action')
>  97 |     expect(getLogs()).toContainEqual({
      |                       ^
   98 |       source: '[layout] /[id]',
   99 |     })
  100 |     await browser.elementByCss('button[type="submit"]').click()

  at Object.toContainEqual (e2e/app-dir/next-after-app/index.test.ts:97:23)

● unstable_after() in nodejs runtime › does not allow modifying cookies in a callback

expect(received).toMatch(expected)

Expected pattern: /An error occurred in a function passed to `unstable_after\(\)`: .+?: Cookies can only be modified in a Server Action or Route Handler\./
Received string:  "  ▲ Next.js 15.0.0-canary.131 (turbo)
  - Local:        http://localhost:41341
  - Experiments (use with caution):
    · after·
 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d',
  testMode: true
}
 ✓ Compiled in 172ms
 ✓ Ready in 896ms
 ○ Compiling /[id]/dynamic ...
 ✓ Compiled /[id]/dynamic in 908ms
 GET /123/dynamic 200 in 1199ms
<test-log>{\"source\":\"[layout] /[id]\"}</test-log>
<test-log>{\"source\":\"[page] /[id]/dynamic\",\"value\":\"123\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
 ✓ Compiled /route in 123ms
 GET /route 200 in 169ms
<test-log>{\"source\":\"[route handler] /route\"}</test-log>
 ✓ Compiled /[id]/with-action in 227ms
 ⨯ app/[id]/with-action/page.js (6:15) @ <unknown>
 ⨯ ReferenceError: cache is not defined

  at <unknown> (../app/[id]/with-action/page.js:6:15)
  at [project]/app/[id]/with-action/page.js [app-rsc] (ecmascript) (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/[root of the server]__493638._.js:216:3)
  at instantiateModule (../[turbopack]/nodejs/runtime.ts:230:19)
  at getOrInstantiateModuleFromParent (../[turbopack]/nodejs/runtime.ts:290:10)
  at esmImport (../[turbopack]/shared/runtime-utils.ts:228:18)
  at <unknown> (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/[root of the server]__493638._.js:219:32)
  at [project]/app/[id]/with-action/page.js [app-rsc] (ecmascript, Next.js server component) (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/[root of the server]__493638._.js:221:3)
  at instantiateModule (../[turbopack]/nodejs/runtime.ts:230:19)
  at getOrInstantiateModuleFromParent (../[turbopack]/nodejs/runtime.ts:290:10)
  at esmImport (../[turbopack]/shared/runtime-utils.ts:228:18)
  at <unknown> (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/node_modules__pnpm_e2ad84._.js:13921:178)
  at [project]/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/esm/build/templates/app-page.js?page=/[id]/with-action/page { COMPONENT_0 => \"[project]/app/layout.js [app-rsc] (ecmascript, Next.js server component)\", COMPONENT_1 => \"[project]/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/client/components/not-found-error.js [app-rsc] (ecmascript, Next.js server component)\", COMPONENT_2 => \"[project]/app/[id]/layout.js [app-rsc] (ecmascript, Next.js server component)\", COMPONENT_3 => \"[project]/app/[id]/with-action/page.js [app-rsc] (ecmascript, Next.js server component)\" } [app-rsc] (ecmascript) <module evaluation> (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/node_modules__pnpm_e2ad84._.js:13929:3)
  at instantiateModule (../[turbopack]/nodejs/runtime.ts:230:19)
  at getOrInstantiateModuleFromParent (../[turbopack]/nodejs/runtime.ts:290:10)
  at esmImport (../[turbopack]/shared/runtime-utils.ts:228:18)
  at <unknown> (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/node_modules__pnpm_e2ad84._.js:14068:1256)
  at [project]/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/esm/build/templates/app-page.js?page=/[id]/with-action/page { COMPONENT_0 => \"[project]/app/layout.js [app-rsc] (ecmascript, Next.js server component)\", COMPONENT_1 => \"[project]/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/client/components/not-found-error.js [app-rsc] (ecmascript, Next.js server component)\", COMPONENT_2 => \"[project]/app/[id]/layout.js [app-rsc] (ecmascript, Next.js server component)\", COMPONENT_3 => \"[project]/app/[id]/with-action/page.js [app-rsc] (ecmascript, Next.js server component)\" } [app-rsc] (ecmascript) <facade> (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/chunks/ssr/node_modules__pnpm_e2ad84._.js:14072:3)
  at instantiateModule (../[turbopack]/nodejs/runtime.ts:230:19)
  at instantiateRuntimeModule (../[turbopack]/nodejs/runtime.ts:303:10)
  at Object.getOrInstantiateRuntimeModule (../[turbopack]/nodejs/runtime.ts:321:10)
  at Object.<anonymous> (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/.next/server/app/[id]/with-action/page.js:6:26)
  at mod.require (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/require-hook.js:65:28)
  at requirePage (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/require.js:105:84)
  at loadComponentsImpl (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/load-components.js:98:57)
  at async DevServer.findPageComponentsImpl (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/next-server.js:721:36)
  at async DevServer.findPageComponents (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/dev/next-dev-server.js:611:20)
  at async DevServer.renderPageComponent (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/base-server.js:2068:24)
  at async DevServer.renderToResponseImpl (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/base-server.js:2120:32)
  at async DevServer.pipeImpl (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/base-server.js:944:25)
  at async NextNodeServer.handleCatchallRenderRequest (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/next-server.js:282:17)
  at async DevServer.handleRequestImpl (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/base-server.js:837:17)
  at async (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/dev/next-dev-server.js:377:20)
  at async Span.traceAsyncFn (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/trace/trace.js:157:20)
  at async DevServer.handleRequest (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/dev/next-dev-server.js:374:24)
  at async invokeRender (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/lib/router-server.js:183:21)
  at async handleRequest (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/lib/router-server.js:360:24)
  at async requestHandlerImpl (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/lib/router-server.js:384:13)
  at async Server.requestListener (../../../../../../tmp/next-install-cd6451219ac966f3b638f26430c218247ebd5750a37d1d66db5834c19ea8886d/node_modules/.pnpm/file+..+next-repo-a59cb941752c564562935c1ac5fa3258c3670b0b1d490469040f3df51c99e1e6+packages+n_a6r4hchniru7jwy2adn6ecoenu/node_modules/next/dist/server/lib/start-server.js:142:13) {
    digest: undefined
  }
    4 | import { headers } from 'next/headers'
    5 |
  > 6 | const thing = cache(() => Symbol('cache me please'))
      |               ^
    7 |
    8 | export default function Index({ params }) {
    9 |   const action = async () => {
   ○ Compiling /_error ...
   ✓ Compiled /_error in 718ms
   GET /123/with-action 500 in 1059ms
   ✓ Compiled /nested-after in 117ms
   GET /nested-after 200 in 142ms
  <test-log>{\"source\":\"[page] /nested-after (after #1)\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
  <test-log>{\"source\":\"[page] /nested-after (after #2)\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
  <test-log>{\"source\":\"[page] /nested-after (after #3)\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
   ✓ Compiled /interrupted/calls-redirect in 147ms
   GET /interrupted/calls-redirect 307 in 189ms
  <test-log>{\"source\":\"[page] /interrupted/calls-redirect\"}</test-log>
   ✓ Compiled /interrupted/redirect-target in 120ms
   GET /interrupted/redirect-target 200 in 154ms
  <test-log>{\"source\":\"[page] /interrupted/redirect-target\"}</test-log>
   ✓ Compiled /interrupted/calls-not-found in 110ms
   GET /interrupted/calls-not-found 404 in 128ms
  <test-log>{\"source\":\"[page] /interrupted/calls-not-found\"}</test-log>
   ✓ Compiled /interrupted/throws-error in 129ms
   ⨯ app/interrupted/throws-error/page.js (10:9) @ Page
   ⨯ Error: User error
  at Page (../app/interrupted/throws-error/page.js:10:9)
      at stringify (<anonymous>)
  digest: \"2893616252\"
     8 |     })
     9 |   })
  > 10 |   throw new Error('User error')
       |         ^
    11 | }
    12 |
   GET /interrupted/throws-error 500 in 180ms
  <test-log>{\"source\":\"[page] /interrupted/throws-error\"}</test-log>
  <test-log>{\"source\":\"[middleware] /middleware/redirect-source\",\"requestId\":\"1724743453902\",\"cookies\":{\"testCookie\":\"testValue\"}}</test-log>
   ✓ Compiled /middleware/redirect in 98ms
   GET /middleware/redirect 200 in 130ms
   ✓ Compiled /delay in 167ms
   GET /delay 200 in 207ms
  <test-log>{\"source\":\"[page] /delay (Page)\"}</test-log>
  <test-log>{\"source\":\"[page] /delay (Inner)\"}</test-log>
   ✓ Compiled /[id]/with-metadata in 169ms
   GET /123/with-metadata 200 in 462ms
  <test-log>{\"source\":\"[layout] /[id]\"}</test-log>
  <test-log>{\"source\":\"[metadata] /[id]/with-metadata\",\"value\":\"123\"}</test-log>
   ✓ Compiled /[id]/setting-cookies in 154ms
   ⨯ app/[id]/setting-cookies/page.js (5:3) @ Index
   ⨯ ReferenceError: after is not defined
  at Index (../app/[id]/setting-cookies/page.js:5:3)
      at stringify (<anonymous>)
  digest: \"3968528370\"
    3 |
    4 | export default function Index() {
  > 5 |   after(() => {
      |   ^
    6 |     cookies().set('testCookie', 'after-render', { path: '/' })
    7 |   })
    8 |
   GET /123/setting-cookies 500 in 447ms
  <test-log>{\"source\":\"[layout] /[id]\"}</test-log>
  "
  at Object.toMatch (e2e/app-dir/next-after-app/index.test.ts:269:28)

● unstable_after() in edge runtime › runs in server actions

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

Expected value: {"source": "[layout] /[id]"}
Received array: []

   95 |   it('runs in server actions', async () => {
   96 |     const browser = await next.browser('/123/with-action')
>  97 |     expect(getLogs()).toContainEqual({
      |                       ^
   98 |       source: '[layout] /[id]',
   99 |     })
  100 |     await browser.elementByCss('button[type="submit"]').click()

  at Object.toContainEqual (e2e/app-dir/next-after-app/index.test.ts:97:23)

● unstable_after() in edge runtime › does not allow modifying cookies in a callback

expect(received).toMatch(expected)

Expected pattern: /An error occurred in a function passed to `unstable_after\(\)`: .+?: Cookies can only be modified in a Server Action or Route Handler\./
Received string:  "  ▲ Next.js 15.0.0-canary.131 (turbo)
  - Local:        http://localhost:33375
  - Experiments (use with caution):
    · after·
 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca',
  testMode: true
}
 ✓ Compiled in 170ms
 ✓ Ready in 707ms
 ○ Compiling /[id]/dynamic ...
 ✓ Compiled /[id]/dynamic in 1484ms
<test-log>{\"source\":\"[layout] /[id]\"}</test-log>
<test-log>{\"source\":\"[page] /[id]/dynamic\",\"value\":\"123\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
 GET /123/dynamic 200 in 1697ms
 ✓ Compiled /route in 281ms
<test-log>{\"source\":\"[route handler] /route\"}</test-log>
 GET /route 200 in 330ms
 ✓ Compiled /[id]/with-action in 323ms
 ⨯ app/[id]/with-action/page.js (6:15) @ <unknown>
 ⨯ ReferenceError: cache is not defined

  at <unknown> (../app/[id]/with-action/page.js:6:15)
  at [project]/app/[id]/with-action/page.js [app-edge-rsc] (ecmascript) (../tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca/.next/server/edge/chunks/ssr/[root of the server]__7bcf9f._.js:191:3)
  at <unknown> (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:355:21)
  at runModuleExecutionHooks (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:420:5)
  at instantiateModule (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:353:5)
  at getOrInstantiateModuleFromParent (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:460:10)
  at esmImport (../[turbopack]/shared/runtime-utils.ts:228:18)
  at <unknown> (../tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca/.next/server/edge/chunks/ssr/[root of the server]__7bcf9f._.js:194:32)
  at [project]/app/[id]/with-action/page.js [app-edge-rsc] (ecmascript, Next.js server component) (../tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca/.next/server/edge/chunks/ssr/[root of the server]__7bcf9f._.js:196:3)
  at <unknown> (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:355:21)
    4 | import { headers } from 'next/headers'
    5 |
  > 6 | const thing = cache(() => Symbol('cache me please'))
      |               ^
    7 |
    8 | export default function Index({ params }) {
    9 |   const action = async () => {
   ⨯ app/[id]/with-action/page.js (6:15) @ <unknown>
   ⨯ ReferenceError: cache is not defined
  at <unknown> (../app/[id]/with-action/page.js:6:15)
  at [project]/app/[id]/with-action/page.js [app-edge-rsc] (ecmascript) (../file:/tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca/.next/server/edge/chunks/ssr/[root of the server]__7bcf9f._.js:191:3)
  at <unknown> (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:355:21)
  at runModuleExecutionHooks (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:420:5)
  at instantiateModule (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:353:5)
  at getOrInstantiateModuleFromParent (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:460:10)
  at esmImport (../[turbopack]/shared/runtime-utils.ts:228:18)
  at <unknown> (../file:/tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca/.next/server/edge/chunks/ssr/[root of the server]__7bcf9f._.js:194:32)
  at [project]/app/[id]/with-action/page.js [app-edge-rsc] (ecmascript, Next.js server component) (../file:/tmp/next-install-b4b6916ec27ca44576b437dd6faa62db37dd58ac6a4715794782fa74bd8122ca/.next/server/edge/chunks/ssr/[root of the server]__7bcf9f._.js:196:3)
  at <unknown> (../[turbopack]/browser/dev/runtime/base/runtime-base.ts:355:21) {
    digest: undefined
  }
    4 | import { headers } from 'next/headers'
    5 |
  > 6 | const thing = cache(() => Symbol('cache me please'))
      |               ^
    7 |
    8 | export default function Index({ params }) {
    9 |   const action = async () => {
   ○ Compiling /_error ...
   ✓ Compiled /_error in 616ms
   GET /123/with-action 500 in 1180ms
   ✓ Compiled /nested-after in 300ms
  <test-log>{\"source\":\"[page] /nested-after (after #1)\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
  <test-log>{\"source\":\"[page] /nested-after (after #2)\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
   GET /nested-after 200 in 462ms
  <test-log>{\"source\":\"[page] /nested-after (after #3)\",\"assertions\":{\"cache() works in after()\":true,\"headers() works in after()\":true}}</test-log>
   ✓ Compiled /interrupted/calls-redirect in 348ms
  <test-log>{\"source\":\"[page] /interrupted/calls-redirect\"}</test-log>
   GET /interrupted/calls-redirect 307 in 550ms
   ✓ Compiled /interrupted/redirect-target in 340ms
  <test-log>{\"source\":\"[page] /interrupted/redirect-target\"}</test-log>
   GET /interrupted/redirect-target 200 in 515ms
   ✓ Compiled /interrupted/calls-not-found in 286ms
  <test-log>{\"source\":\"[page] /interrupted/calls-not-found\"}</test-log>
   GET /interrupted/calls-not-found 404 in 468ms
   ✓ Compiled /interrupted/throws-error in 278ms
   ⨯ app/interrupted/throws-error/page.js (10:9) @ Page
   ⨯ Error: User error
  at Page (../app/interrupted/throws-error/page.js:10:9)
  digest: \"3482019852\"
     8 |     })
     9 |   })
  > 10 |   throw new Error('User error')
       |         ^
    11 | }
    12 |
  <test-log>{\"source\":\"[page] /interrupted/throws-error\"}</test-log>
   GET /interrupted/throws-error 500 in 447ms
  <test-log>{\"source\":\"[middleware] /middleware/redirect-source\",\"requestId\":\"1724743490042\",\"cookies\":{\"testCookie\":\"testValue\"}}</test-log>
   ✓ Compiled /middleware/redirect in 305ms
   GET /middleware/redirect 200 in 465ms
   ✓ Compiled /delay in 294ms
  <test-log>{\"source\":\"[page] /delay (Page)\"}</test-log>
  <test-log>{\"source\":\"[page] /delay (Inner)\"}</test-log>
   GET /delay 200 in 486ms
   ✓ Compiled /[id]/with-metadata in 318ms
  <test-log>{\"source\":\"[layout] /[id]\"}</test-log>
  <test-log>{\"source\":\"[metadata] /[id]/with-metadata\",\"value\":\"123\"}</test-log>
   GET /123/with-metadata 200 in 485ms
   ✓ Compiled /[id]/setting-cookies in 294ms
   ⨯ app/[id]/setting-cookies/page.js (5:3) @ Index
   ⨯ ReferenceError: after is not defined
  at Index (../app/[id]/setting-cookies/page.js:5:3)
  digest: \"2202562021\"
    3 |
    4 | export default function Index() {
  > 5 |   after(() => {
      |   ^
    6 |     cookies().set('testCookie', 'after-render', { path: '/' })
    7 |   })
    8 |
  <test-log>{\"source\":\"[layout] /[id]\"}</test-log>
   GET /123/setting-cookies 500 in 472ms
  "
  at Object.toMatch (e2e/app-dir/next-after-app/index.test.ts:269:28)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/e2e/app-dir/app-static/app-static-custom-handler.test.ts (turbopack)

  • app-dir static/dynamic handling > unstable_cache > should bypass cache in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not cache new result in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not error when retrieving the value undefined
Expand output

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

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

Expected: not ""

  3496 |       const data2 = cheerio.load(html2)('#cached-data').text()
  3497 |
> 3498 |       expect(data).not.toEqual(data2)
       |                        ^
  3499 |     })
  3500 |
  3501 |     it('should not cache new result in draft mode', async () => {

  at Object.toEqual (e2e/app-dir/app-static/app-static.test.ts:3498:24)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

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

Expected: not ""

  3516 |       const data2 = cheerio.load(html2)('#cached-data').text()
  3517 |
> 3518 |       expect(data).not.toEqual(data2)
       |                        ^
  3519 |     })
  3520 |
  3521 |     it('should not error when retrieving the value undefined', async () => {

  at Object.toEqual (e2e/app-dir/app-static/app-static.test.ts:3518:24)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

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

Expected: "typeof cachedData: undefined"
Received: ""

  3528 |
  3529 |       expect(data).toEqual(data2)
> 3530 |       expect(data).toEqual('typeof cachedData: undefined')
       |                    ^
  3531 |     })
  3532 |
  3533 |     it.each(['no-store', 'no-cache'])(

  at Object.toEqual (e2e/app-dir/app-static/app-static.test.ts:3530:20)

Read more about building and testing Next.js in contributing.md.

TURBOPACK=1 pnpm test-dev test/e2e/app-dir/app-static/app-static.test.ts (turbopack)

  • app-dir static/dynamic handling > unstable_cache > should bypass cache in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not cache new result in draft mode
  • app-dir static/dynamic handling > unstable_cache > should not error when retrieving the value undefined
Expand output

● app-dir static/dynamic handling › unstable_cache › should bypass cache in draft mode

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

Expected: not ""

  3496 |       const data2 = cheerio.load(html2)('#cached-data').text()
  3497 |
> 3498 |       expect(data).not.toEqual(data2)
       |                        ^
  3499 |     })
  3500 |
  3501 |     it('should not cache new result in draft mode', async () => {

  at Object.toEqual (e2e/app-dir/app-static/app-static.test.ts:3498:24)

● app-dir static/dynamic handling › unstable_cache › should not cache new result in draft mode

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

Expected: not ""

  3516 |       const data2 = cheerio.load(html2)('#cached-data').text()
  3517 |
> 3518 |       expect(data).not.toEqual(data2)
       |                        ^
  3519 |     })
  3520 |
  3521 |     it('should not error when retrieving the value undefined', async () => {

  at Object.toEqual (e2e/app-dir/app-static/app-static.test.ts:3518:24)

● app-dir static/dynamic handling › unstable_cache › should not error when retrieving the value undefined

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

Expected: "typeof cachedData: undefined"
Received: ""

  3528 |
  3529 |       expect(data).toEqual(data2)
> 3530 |       expect(data).toEqual('typeof cachedData: undefined')
       |                    ^
  3531 |     })
  3532 |
  3533 |     it.each(['no-store', 'no-cache'])(

  at Object.toEqual (e2e/app-dir/app-static/app-static.test.ts:3530:20)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented Aug 27, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
buildDuration 18.4s 15.6s N/A
buildDurationCached 8.4s 7.2s N/A
nodeModulesSize 355 MB 355 MB
nextStartRea..uration (ms) 427ms 428ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
2994-HASH.js gzip 37.8 kB 37.8 kB N/A
3095.HASH.js gzip 169 B 169 B
9630-HASH.js gzip 5.25 kB 5.25 kB N/A
a8273233-HASH.js gzip 51.9 kB 51.9 kB N/A
framework-HASH.js gzip 56.7 kB 56.7 kB N/A
main-app-HASH.js gzip 226 B 223 B N/A
main-HASH.js gzip 32.5 kB 32.5 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 169 B 169 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
_app-HASH.js gzip 194 B 193 B N/A
_error-HASH.js gzip 192 B 192 B
amp-HASH.js gzip 508 B 511 B N/A
css-HASH.js gzip 344 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 265 B 266 B N/A
head-HASH.js gzip 364 B 364 B
hooks-HASH.js gzip 390 B 390 B
image-HASH.js gzip 4.4 kB 4.4 kB N/A
index-HASH.js gzip 267 B 268 B N/A
link-HASH.js gzip 2.81 kB 2.81 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 396 B N/A
withRouter-HASH.js gzip 323 B 324 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.38 kB 1.38 kB
Client Build Manifests
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
_buildManifest.js gzip 750 B 748 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
index.html gzip 522 B 523 B N/A
link.html gzip 538 B 538 B
withRouter.html gzip 519 B 519 B
Overall change 1.06 kB 1.06 kB
Edge SSR bundle Size
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
edge-ssr.js gzip 127 kB 127 kB N/A
page.js gzip 173 kB 173 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
middleware-b..fest.js gzip 669 B 671 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 29.9 kB 29.9 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 1 kB 1 kB
Next Runtimes
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
928-experime...dev.js gzip 322 B 322 B
928.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 312 kB 312 kB
app-page-exp..prod.js gzip 123 kB 123 kB
app-page-tur..prod.js gzip 136 kB 136 kB
app-page-tur..prod.js gzip 131 kB 131 kB
app-page.run...dev.js gzip 301 kB 301 kB
app-page.run..prod.js gzip 118 kB 118 kB
app-route-ex...dev.js gzip 30.8 kB 30.8 kB
app-route-ex..prod.js gzip 20.8 kB 20.8 kB
app-route-tu..prod.js gzip 20.8 kB 20.8 kB
app-route-tu..prod.js gzip 20.6 kB 20.6 kB
app-route.ru...dev.js gzip 32.4 kB 32.4 kB
app-route.ru..prod.js gzip 20.6 kB 20.6 kB
pages-api-tu..prod.js gzip 9.62 kB 9.62 kB
pages-api.ru...dev.js gzip 11.5 kB 11.5 kB
pages-api.ru..prod.js gzip 9.61 kB 9.61 kB
pages-turbo...prod.js gzip 20.8 kB 20.8 kB
pages.runtim...dev.js gzip 26.4 kB 26.4 kB
pages.runtim..prod.js gzip 20.8 kB 20.8 kB
server.runti..prod.js gzip 56.8 kB 56.8 kB
Overall change 1.42 MB 1.42 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js kdy1/pack-3215 Change
0.pack gzip 1.49 MB 1.49 MB N/A
index.pack gzip 126 kB 127 kB ⚠️ +183 B
Overall change 126 kB 127 kB ⚠️ +183 B
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
       /***/
     },
 
-    /***/ 3771: /***/ (
+    /***/ 9209: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -30,7 +30,7 @@
         default: () => /* binding */ nHandler,
       });
 
-      // NAMESPACE OBJECT: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsnH6hmr%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+      // NAMESPACE OBJECT: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsnH6hmr%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
       var page_next_edge_ssr_entry_namespaceObject = {};
       __webpack_require__.r(page_next_edge_ssr_entry_namespaceObject);
       __webpack_require__.d(page_next_edge_ssr_entry_namespaceObject, {
@@ -66,35 +66,35 @@
         tree: () => tree,
       });
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/web/globals.js
-      var globals = __webpack_require__(7690);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
-      var adapter = __webpack_require__(5779);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 86 modules
-      var render = __webpack_require__(8657);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
-      var incremental_cache = __webpack_require__(5473);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/app-render/app-render.js + 71 modules
-      var app_render = __webpack_require__(4148);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
-      var module_compiled = __webpack_require__(8985);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/route-kind.js
-      var route_kind = __webpack_require__(376);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/client/components/error-boundary.js
-      var error_boundary = __webpack_require__(5074);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/app-render/entry-base.js + 8 modules
-      var entry_base = __webpack_require__(6415); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsnH6hmr%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/web/globals.js
+      var globals = __webpack_require__(8721);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+      var adapter = __webpack_require__(1802);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 86 modules
+      var render = __webpack_require__(4979);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+      var incremental_cache = __webpack_require__(1447);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/app-render/app-render.js + 71 modules
+      var app_render = __webpack_require__(2833);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
+      var module_compiled = __webpack_require__(1065);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/route-kind.js
+      var route_kind = __webpack_require__(7112);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/client/components/error-boundary.js
+      var error_boundary = __webpack_require__(1596);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/app-render/entry-base.js + 8 modules
+      var entry_base = __webpack_require__(4460); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapp-edge-ssr%2Fpage&page=%2Fapp-edge-ssr%2Fpage&pagePath=private-next-app-dir%2Fapp-edge-ssr%2Fpage.js&appDir=%2Ftmp%2Fnext-statsnH6hmr%2Fstats-app%2Fapp&appPaths=%2Fapp-edge-ssr%2Fpage&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&basePath=&assetPrefix=&nextConfigOutput=&flyingShuttle=false&preferredRegion=&middlewareConfig=e30%3D!./app/app-edge-ssr/page.js?__next_edge_ssr_entry__
       const component0 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 1255)
+          __webpack_require__.bind(__webpack_require__, 5243)
         );
       const component1 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 4957)
+          __webpack_require__.bind(__webpack_require__, 2466)
         );
       const page2 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 469)
+          __webpack_require__.bind(__webpack_require__, 6517)
         );
 
       // We inject the tree and pages here so that we can use them in the route
@@ -160,12 +160,12 @@
       });
 
       //# sourceMappingURL=app-page.js.map
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/lib/page-types.js
-      var page_types = __webpack_require__(6756);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/app-render/encryption-utils.js
-      var encryption_utils = __webpack_require__(5586);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/esm/server/app-render/action-utils.js
-      var action_utils = __webpack_require__(5786); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzbkg2aG1yL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjAsInN0YXRpYyI6MzAwfSwiYWZ0ZXIiOmZhbHNlLCJzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUiOnRydWUsInN0YXRpY0dlbmVyYXRpb25NYXhDb25jdXJyZW5jeSI6OCwic3RhdGljR2VuZXJhdGlvbk1pblBhZ2VzUGVyV29ya2VyIjoyNSwib3B0aW1pemVQYWNrYWdlSW1wb3J0cyI6WyJsdWNpZGUtcmVhY3QiLCJkYXRlLWZucyIsImxvZGFzaC1lcyIsInJhbWRhIiwiYW50ZCIsInJlYWN0LWJvb3RzdHJhcCIsImFob29rcyIsIkBhbnQtZGVzaWduL2ljb25zIiwiQGhlYWRsZXNzdWkvcmVhY3QiLCJAaGVhZGxlc3N1aS1mbG9hdC9yZWFjdCIsIkBoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lIiwiQHZpc3gvdmlzeCIsIkB0cmVtb3IvcmVhY3QiLCJyeGpzIiwiQG11aS9tYXRlcmlhbCIsIkBtdWkvaWNvbnMtbWF0ZXJpYWwiLCJyZWNoYXJ0cyIsInJlYWN0LXVzZSIsImVmZmVjdCIsIkBlZmZlY3Qvc2NoZW1hIiwiQGVmZmVjdC9wbGF0Zm9ybSIsIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSIsIkBlZmZlY3QvcGxhdGZvcm0tYnJvd3NlciIsIkBlZmZlY3QvcGxhdGZvcm0tYnVuIiwiQGVmZmVjdC9zcWwiLCJAZWZmZWN0L3NxbC1tc3NxbCIsIkBlZmZlY3Qvc3FsLW15c3FsMiIsIkBlZmZlY3Qvc3FsLXBnIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1ub2RlIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1idW4iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXdhc20iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXJlYWN0LW5hdGl2ZSIsIkBlZmZlY3QvcnBjIiwiQGVmZmVjdC9ycGMtaHR0cCIsIkBlZmZlY3QvdHlwZWNsYXNzIiwiQGVmZmVjdC9leHBlcmltZW50YWwiLCJAZWZmZWN0L29wZW50ZWxlbWV0cnkiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJidW5kbGVQYWdlc1JvdXRlckRlcGVuZGVuY2llcyI6ZmFsc2UsImNvbmZpZ0ZpbGUiOiIvdG1wL25leHQtc3RhdHNuSDZobXIvc3RhdHMtYXBwL25leHQuY29uZmlnLmpzIiwiY29uZmlnRmlsZU5hbWUiOiJuZXh0LmNvbmZpZy5qcyJ9","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzbkg2aG1yJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/lib/page-types.js
+      var page_types = __webpack_require__(4425);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+      var encryption_utils = __webpack_require__(4952);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/esm/server/app-render/action-utils.js
+      var action_utils = __webpack_require__(3200); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/dist/build/webpack/loaders/next-edge-ssr-loader/index.js?{"absolute500Path":"","absoluteAppPath":"next/dist/pages/_app","absoluteDocumentPath":"next/dist/pages/_document","absoluteErrorPath":"next/dist/pages/_error","absolutePagePath":"private-next-app-dir/app-edge-ssr/page.js","dev":false,"isServerComponent":true,"page":"/app-edge-ssr/page","stringifiedConfig":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzbkg2aG1yL3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6dHJ1ZSwidXNlRWFybHlJbXBvcnQiOmZhbHNlLCJzdGFsZVRpbWVzIjp7ImR5bmFtaWMiOjAsInN0YXRpYyI6MzAwfSwiYWZ0ZXIiOmZhbHNlLCJzZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGUiOnRydWUsInN0YXRpY0dlbmVyYXRpb25NYXhDb25jdXJyZW5jeSI6OCwic3RhdGljR2VuZXJhdGlvbk1pblBhZ2VzUGVyV29ya2VyIjoyNSwib3B0aW1pemVQYWNrYWdlSW1wb3J0cyI6WyJsdWNpZGUtcmVhY3QiLCJkYXRlLWZucyIsImxvZGFzaC1lcyIsInJhbWRhIiwiYW50ZCIsInJlYWN0LWJvb3RzdHJhcCIsImFob29rcyIsIkBhbnQtZGVzaWduL2ljb25zIiwiQGhlYWRsZXNzdWkvcmVhY3QiLCJAaGVhZGxlc3N1aS1mbG9hdC9yZWFjdCIsIkBoZXJvaWNvbnMvcmVhY3QvMjAvc29saWQiLCJAaGVyb2ljb25zL3JlYWN0LzI0L3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9vdXRsaW5lIiwiQHZpc3gvdmlzeCIsIkB0cmVtb3IvcmVhY3QiLCJyeGpzIiwiQG11aS9tYXRlcmlhbCIsIkBtdWkvaWNvbnMtbWF0ZXJpYWwiLCJyZWNoYXJ0cyIsInJlYWN0LXVzZSIsImVmZmVjdCIsIkBlZmZlY3Qvc2NoZW1hIiwiQGVmZmVjdC9wbGF0Zm9ybSIsIkBlZmZlY3QvcGxhdGZvcm0tbm9kZSIsIkBlZmZlY3QvcGxhdGZvcm0tYnJvd3NlciIsIkBlZmZlY3QvcGxhdGZvcm0tYnVuIiwiQGVmZmVjdC9zcWwiLCJAZWZmZWN0L3NxbC1tc3NxbCIsIkBlZmZlY3Qvc3FsLW15c3FsMiIsIkBlZmZlY3Qvc3FsLXBnIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1ub2RlIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1idW4iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXdhc20iLCJAZWZmZWN0L3NxbC1zcXVsaXRlLXJlYWN0LW5hdGl2ZSIsIkBlZmZlY3QvcnBjIiwiQGVmZmVjdC9ycGMtaHR0cCIsIkBlZmZlY3QvdHlwZWNsYXNzIiwiQGVmZmVjdC9leHBlcmltZW50YWwiLCJAZWZmZWN0L29wZW50ZWxlbWV0cnkiLCJAbWF0ZXJpYWwtdWkvY29yZSIsIkBtYXRlcmlhbC11aS9pY29ucyIsIkB0YWJsZXIvaWNvbnMtcmVhY3QiLCJtdWktY29yZSIsInJlYWN0LWljb25zL2FpIiwicmVhY3QtaWNvbnMvYmkiLCJyZWFjdC1pY29ucy9icyIsInJlYWN0LWljb25zL2NnIiwicmVhY3QtaWNvbnMvY2kiLCJyZWFjdC1pY29ucy9kaSIsInJlYWN0LWljb25zL2ZhIiwicmVhY3QtaWNvbnMvZmE2IiwicmVhY3QtaWNvbnMvZmMiLCJyZWFjdC1pY29ucy9maSIsInJlYWN0LWljb25zL2dpIiwicmVhY3QtaWNvbnMvZ28iLCJyZWFjdC1pY29ucy9nciIsInJlYWN0LWljb25zL2hpIiwicmVhY3QtaWNvbnMvaGkyIiwicmVhY3QtaWNvbnMvaW0iLCJyZWFjdC1pY29ucy9pbyIsInJlYWN0LWljb25zL2lvNSIsInJlYWN0LWljb25zL2xpYSIsInJlYWN0LWljb25zL2xpYiIsInJlYWN0LWljb25zL2x1IiwicmVhY3QtaWNvbnMvbWQiLCJyZWFjdC1pY29ucy9waSIsInJlYWN0LWljb25zL3JpIiwicmVhY3QtaWNvbnMvcngiLCJyZWFjdC1pY29ucy9zaSIsInJlYWN0LWljb25zL3NsIiwicmVhY3QtaWNvbnMvdGIiLCJyZWFjdC1pY29ucy90ZmkiLCJyZWFjdC1pY29ucy90aSIsInJlYWN0LWljb25zL3ZzYyIsInJlYWN0LWljb25zL3dpIl19LCJidW5kbGVQYWdlc1JvdXRlckRlcGVuZGVuY2llcyI6ZmFsc2UsImNvbmZpZ0ZpbGUiOiIvdG1wL25leHQtc3RhdHNuSDZobXIvc3RhdHMtYXBwL25leHQuY29uZmlnLmpzIiwiY29uZmlnRmlsZU5hbWUiOiJuZXh0LmNvbmZpZy5qcyJ9","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzbkg2aG1yJTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
       var _self___RSC_MANIFEST;
 
       const incrementalCacheHandler = null;
@@ -426,50 +426,50 @@
       /***/
     },
 
-    /***/ 7215: /***/ (
+    /***/ 4100: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 6311)
+        __webpack_require__.bind(__webpack_require__, 1149)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5078)
+        __webpack_require__.bind(__webpack_require__, 8196)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 4747)
+        __webpack_require__.bind(__webpack_require__, 7282)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 6339)
+        __webpack_require__.bind(__webpack_require__, 9649)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5797)
+        __webpack_require__.bind(__webpack_require__, 4623)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 4697)
+        __webpack_require__.bind(__webpack_require__, 511)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 771)
+        __webpack_require__.bind(__webpack_require__, 2502)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 3753)
+        __webpack_require__.bind(__webpack_require__, 1152)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 4372)
+        __webpack_require__.bind(__webpack_require__, 6004)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 2156)
+        __webpack_require__.bind(__webpack_require__, 1512)
       );
 
       /***/
     },
 
-    /***/ 1090: /***/ () => {
+    /***/ 4433: /***/ () => {
       /***/
     },
 
-    /***/ 469: /***/ (
+    /***/ 6517: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -489,7 +489,7 @@
       /***/
     },
 
-    /***/ 1255: /***/ (
+    /***/ 5243: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -501,7 +501,7 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(2586);
+        __webpack_require__(6132);
 
       function RootLayout({ children }) {
         return /*#__PURE__*/ (0,
@@ -520,7 +520,7 @@
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ __webpack_require__.O(0, [368, 381], () => __webpack_exec__(3771));
+    /******/ __webpack_require__.O(0, [217, 917], () => __webpack_exec__(9209));
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ (_ENTRIES = typeof _ENTRIES === "undefined" ? {} : _ENTRIES)[
       "middleware_app/app-edge-ssr/page"
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for image-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [8358],
   {
-    /***/ 6682: /***/ (
+    /***/ 8480: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(1471);
+          return __webpack_require__(3908);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 2968: /***/ (module, exports, __webpack_require__) => {
+    /***/ 9178: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -40,17 +40,17 @@
         __webpack_require__(5550)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(9973)
+        __webpack_require__(7261)
       );
-      const _getimgprops = __webpack_require__(3971);
-      const _imageconfig = __webpack_require__(985);
-      const _imageconfigcontextsharedruntime = __webpack_require__(7496);
-      const _warnonce = __webpack_require__(9125);
-      const _routercontextsharedruntime = __webpack_require__(9390);
+      const _getimgprops = __webpack_require__(5184);
+      const _imageconfig = __webpack_require__(5055);
+      const _imageconfigcontextsharedruntime = __webpack_require__(9427);
+      const _warnonce = __webpack_require__(3435);
+      const _routercontextsharedruntime = __webpack_require__(3626);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(855)
+        __webpack_require__(7510)
       );
-      const _usemergedref = __webpack_require__(752);
+      const _usemergedref = __webpack_require__(3782);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -371,7 +371,7 @@
       /***/
     },
 
-    /***/ 752: /***/ (module, exports, __webpack_require__) => {
+    /***/ 3782: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -440,7 +440,7 @@
       /***/
     },
 
-    /***/ 3971: /***/ (
+    /***/ 5184: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -456,9 +456,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(9125);
-      const _imageblursvg = __webpack_require__(5602);
-      const _imageconfig = __webpack_require__(985);
+      const _warnonce = __webpack_require__(3435);
+      const _imageblursvg = __webpack_require__(2564);
+      const _imageconfig = __webpack_require__(5055);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -830,7 +830,7 @@
       /***/
     },
 
-    /***/ 5602: /***/ (__unused_webpack_module, exports) => {
+    /***/ 2564: /***/ (__unused_webpack_module, exports) => {
       "use strict";
       /**
        * A shared function, used on both client and server, to generate a SVG blur placeholder.
@@ -885,7 +885,7 @@
       /***/
     },
 
-    /***/ 1585: /***/ (
+    /***/ 1146: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -912,10 +912,10 @@
         },
       });
       const _interop_require_default = __webpack_require__(4345);
-      const _getimgprops = __webpack_require__(3971);
-      const _imagecomponent = __webpack_require__(2968);
+      const _getimgprops = __webpack_require__(5184);
+      const _imagecomponent = __webpack_require__(9178);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(855)
+        __webpack_require__(7510)
       );
       function getImageProps(imgProps) {
         const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -947,7 +947,7 @@
       /***/
     },
 
-    /***/ 855: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7510: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -982,7 +982,7 @@
       /***/
     },
 
-    /***/ 1471: /***/ (
+    /***/ 3908: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -999,8 +999,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-rc-eb3ad065-20240822/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(3801);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_ixk2rr5gnwbjcqqikyozc23shi/node_modules/next/image.js
-      var next_image = __webpack_require__(7764);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-eb3ad065-20240822_re_73fog5rwwduhvoesnuzrxcpoki/node_modules/next/image.js
+      var next_image = __webpack_require__(101);
       var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
       /* harmony default export */ const nextjs = {
         src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1030,12 +1030,12 @@
       /***/
     },
 
-    /***/ 7764: /***/ (
+    /***/ 101: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(1585);
+      module.exports = __webpack_require__(1146);
 
       /***/
     },
@@ -1045,7 +1045,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
-      __webpack_exec__(6682)
+      __webpack_exec__(8480)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Commit: 5c7c8b3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
created-by: Turbopack team PRs by the Turbopack team. Font (next/font) Related to Next.js Font Optimization. tests Turbopack Related to Turbopack with Next.js.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants