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

[Turbopack] improve aggregation implementation #69651

Draft
wants to merge 91 commits into
base: sokra/serialization-fixes2
Choose a base branch
from

Conversation

sokra
Copy link
Member

@sokra sokra commented Sep 4, 2024

improve aggregation implementation

fixup

strong reads

improve task aggregation

remove scheduling on invalidation

add recompute test case

more test cases

aggregation improvements

fix trace file reloading

WIP

Copy link
Member Author

sokra commented Sep 4, 2024

@sokra sokra changed the title improve aggregation implementation [Turbopack] improve aggregation implementation Sep 4, 2024
@ijjk
Copy link
Member

ijjk commented Sep 4, 2024

Failing test suites

Commit: 67ba486

TURBOPACK=1 pnpm test-dev test/development/app-dir/basic/basic.test.ts (turbopack)

  • basic app-dir tests > should reload app pages without error
Expand output

● basic app-dir tests › should reload app pages without error

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

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

TURBOPACK=1 pnpm test-dev test/development/acceptance-app/undefined-default-export.test.ts (turbopack)

  • GS(S)P Server-Side Change Reloading > should not reload page when client-side is changed too GSP
  • GS(S)P Server-Side Change Reloading > should update page when getStaticProps is changed only
  • GS(S)P Server-Side Change Reloading > should show indicator when re-fetching data
  • GS(S)P Server-Side Change Reloading > should update page when getStaticPaths is changed only
  • GS(S)P Server-Side Change Reloading > should update page when getStaticProps is changed only for /index
  • GS(S)P Server-Side Change Reloading > should update page when getStaticProps is changed only for /another/index
  • GS(S)P Server-Side Change Reloading > should keep scroll position when updating from change in getStaticProps
  • GS(S)P Server-Side Change Reloading > should not reload page when client-side is changed too GSSP
  • GS(S)P Server-Side Change Reloading > should update page when getServerSideProps is changed only
  • GS(S)P Server-Side Change Reloading > should update on props error in getStaticProps
  • GS(S)P Server-Side Change Reloading > should update on thrown error in getStaticProps
  • GS(S)P Server-Side Change Reloading > should refresh data when server import is updated
Expand output

● GS(S)P Server-Side Change Reloading › should not reload page when client-side is changed too GSP

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update page when getStaticProps is changed only

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should show indicator when re-fetching data

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update page when getStaticPaths is changed only

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update page when getStaticProps is changed only for /index

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update page when getStaticProps is changed only for /another/index

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should keep scroll position when updating from change in getStaticProps

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should not reload page when client-side is changed too GSSP

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update page when getServerSideProps is changed only

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update on props error in getStaticProps

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should update on thrown error in getStaticProps

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● GS(S)P Server-Side Change Reloading › should refresh data when server import is updated

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● Test suite failed to run

TypeError: Cannot read properties of undefined (reading 'destroy')

  36 |     })
  37 |   })
> 38 |   afterAll(() => next.destroy())
     |                       ^
  39 |
  40 |   it('should not reload page when client-side is changed too GSP', async () => {
  41 |     const browser = await webdriver(next.url, '/gsp-blog/first')

  at Object.destroy (development/basic/gssp-ssr-change-reloading/test/index.test.ts:38:23)

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

TURBOPACK=1 pnpm test-dev test/development/acceptance/hydration-error.test.ts (turbopack)

  • Error overlay for hydration errors > should show correct hydration error when client and server render different text
Expand output

● Error overlay for hydration errors › should show correct hydration error when client and server render different text

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

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

TURBOPACK=1 pnpm test-dev test/development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts (turbopack)

  • server-components-hmr-cache > edge runtime > should use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > edge runtime > should not use cached fetch calls for intentional refresh requests
  • server-components-hmr-cache > edge runtime > in after() > should use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > edge runtime > in after() > should not use cached fetch calls for intentional refresh requests
  • server-components-hmr-cache > edge runtime > with experimental.serverComponentsHmrCache disabled > should not use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > edge runtime > with experimental.serverComponentsHmrCache disabled > in after() > should not use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > node runtime > should use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > node runtime > should not use cached fetch calls for intentional refresh requests
  • server-components-hmr-cache > node runtime > in after() > should use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > node runtime > in after() > should not use cached fetch calls for intentional refresh requests
  • server-components-hmr-cache > node runtime > with experimental.serverComponentsHmrCache disabled > should not use cached fetch calls for fast refresh requests
  • server-components-hmr-cache > node runtime > with experimental.serverComponentsHmrCache disabled > in after() > should not use cached fetch calls for fast refresh requests
Expand output

● server-components-hmr-cache › edge runtime › should use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › edge runtime › should use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › edge runtime › should not use cached fetch calls for intentional refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › edge runtime › should not use cached fetch calls for intentional refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › edge runtime › in after() › should use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › edge runtime › in after() › should use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › edge runtime › in after() › should not use cached fetch calls for intentional refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › edge runtime › in after() › should not use cached fetch calls for intentional refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › edge runtime › with experimental.serverComponentsHmrCache disabled › should not use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › edge runtime › with experimental.serverComponentsHmrCache disabled › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:86:20)

● server-components-hmr-cache › edge runtime › with experimental.serverComponentsHmrCache disabled › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › edge runtime › with experimental.serverComponentsHmrCache disabled › in after() › should not use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › edge runtime › with experimental.serverComponentsHmrCache disabled › in after() › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:86:20)

● server-components-hmr-cache › edge runtime › with experimental.serverComponentsHmrCache disabled › in after() › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › node runtime › should use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › node runtime › should use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › node runtime › should not use cached fetch calls for intentional refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › node runtime › should not use cached fetch calls for intentional refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › node runtime › in after() › should use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › node runtime › in after() › should use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › node runtime › in after() › should not use cached fetch calls for intentional refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › node runtime › in after() › should not use cached fetch calls for intentional refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › node runtime › with experimental.serverComponentsHmrCache disabled › should not use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › node runtime › with experimental.serverComponentsHmrCache disabled › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:86:20)

● server-components-hmr-cache › node runtime › with experimental.serverComponentsHmrCache disabled › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● server-components-hmr-cache › node runtime › with experimental.serverComponentsHmrCache disabled › in after() › should not use cached fetch calls for fast refresh requests

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

  347 |     return setTimeout(() => {
  348 |       reject(
> 349 |         new Error(
      |         ^
  350 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  351 |         )
  352 |       )

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

● server-components-hmr-cache › node runtime › with experimental.serverComponentsHmrCache disabled › in after() › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:86:20)

● server-components-hmr-cache › node runtime › with experimental.serverComponentsHmrCache disabled › in after() › should not use cached fetch calls for fast refresh requests

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:14:18)

● Test suite failed to run

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:95:20)

● Test suite failed to run

next instance is not initialized yet, make sure you call methods on next instance in test body.

  266 |     get: function (_target, property) {
  267 |       if (!next) {
> 268 |         throw new Error(
      |               ^
  269 |           'next instance is not initialized yet, make sure you call methods on next instance in test body.'
  270 |         )
  271 |       }

  at Object.get (lib/e2e-utils/index.ts:268:15)
  at Object.patchFile (development/app-dir/server-components-hmr-cache/server-components-hmr-cache.test.ts:95:20)

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

pnpm test test/integration/build-trace-extra-entries-turbo/test/index.test.js

  • build trace with extra entries > production mode > should build and trace correctly
Expand output

● build trace with extra entries › production mode › should build and trace correctly

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

Expected: 0
Received: null

  18 |         })
  19 |         console.log(result)
> 20 |         expect(result.code).toBe(0)
     |                             ^
  21 |
  22 |         const appTrace = await fs.readJSON(
  23 |           join(appDir, '.next/server/pages/_app.js.nft.json')

  at Object.toBe (integration/build-trace-extra-entries-turbo/test/index.test.js:20:29)

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

TURBOPACK=1 pnpm test test/integration/app-config-asset-prefix/test/index.test.js (turbopack)

  • App assetPrefix config > should render correctly with assetPrefix: "/"
Expand output

● App assetPrefix config › should render correctly with assetPrefix: "/"

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

  16 |   let app
  17 |
> 18 |   beforeAll(async () => {
     |   ^
  19 |     appPort = await findPort()
  20 |     app = await launchApp(appDir, appPort)
  21 |   })

  at beforeAll (integration/app-config-asset-prefix/test/index.test.js:18:3)
  at Object.describe (integration/app-config-asset-prefix/test/index.test.js:14:1)

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

TURBOPACK=1 pnpm test test/integration/404-page-ssg/test/index.test.js (turbopack)

  • 404 Page Support SSG > development mode > should respond to 404 correctly
  • 404 Page Support SSG > development mode > should render error correctly
  • 404 Page Support SSG > development mode > should not show an error in the logs for 404 SSG
  • 404 Page Support SSG > development mode > should render index page normal
Expand output

● 404 Page Support SSG › development mode › should respond to 404 correctly

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

  117 |     'development mode',
  118 |     () => {
> 119 |       beforeAll(async () => {
      |       ^
  120 |         appPort = await findPort()
  121 |         stderr = ''
  122 |         stdout = ''

  at beforeAll (integration/404-page-ssg/test/index.test.js:119:7)
  at integration/404-page-ssg/test/index.test.js:116:58
  at Object.describe (integration/404-page-ssg/test/index.test.js:78:1)

● 404 Page Support SSG › development mode › should render error correctly

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

  117 |     'development mode',
  118 |     () => {
> 119 |       beforeAll(async () => {
      |       ^
  120 |         appPort = await findPort()
  121 |         stderr = ''
  122 |         stdout = ''

  at beforeAll (integration/404-page-ssg/test/index.test.js:119:7)
  at integration/404-page-ssg/test/index.test.js:116:58
  at Object.describe (integration/404-page-ssg/test/index.test.js:78:1)

● 404 Page Support SSG › development mode › should not show an error in the logs for 404 SSG

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

  117 |     'development mode',
  118 |     () => {
> 119 |       beforeAll(async () => {
      |       ^
  120 |         appPort = await findPort()
  121 |         stderr = ''
  122 |         stdout = ''

  at beforeAll (integration/404-page-ssg/test/index.test.js:119:7)
  at integration/404-page-ssg/test/index.test.js:116:58
  at Object.describe (integration/404-page-ssg/test/index.test.js:78:1)

● 404 Page Support SSG › development mode › should render index page normal

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

  117 |     'development mode',
  118 |     () => {
> 119 |       beforeAll(async () => {
      |       ^
  120 |         appPort = await findPort()
  121 |         stderr = ''
  122 |         stdout = ''

  at beforeAll (integration/404-page-ssg/test/index.test.js:119:7)
  at integration/404-page-ssg/test/index.test.js:116:58
  at Object.describe (integration/404-page-ssg/test/index.test.js:78:1)

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

TURBOPACK=1 pnpm test test/integration/app-tree/test/index.test.js (turbopack)

  • AppTree > development mode > should provide router context in AppTree on SSR
  • AppTree > development mode > should provide router context in AppTree on CSR
  • AppTree > development mode > should pass AppTree to NextPageContext
Expand output

● AppTree › development mode › should provide router context in AppTree on SSR

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

  56 |     'development mode',
  57 |     () => {
> 58 |       beforeAll(async () => {
     |       ^
  59 |         appPort = await findPort()
  60 |         app = await launchApp(appDir, appPort)
  61 |       })

  at beforeAll (integration/app-tree/test/index.test.js:58:7)
  at integration/app-tree/test/index.test.js:55:58
  at Object.describe (integration/app-tree/test/index.test.js:54:1)

● AppTree › development mode › should provide router context in AppTree on CSR

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

  56 |     'development mode',
  57 |     () => {
> 58 |       beforeAll(async () => {
     |       ^
  59 |         appPort = await findPort()
  60 |         app = await launchApp(appDir, appPort)
  61 |       })

  at beforeAll (integration/app-tree/test/index.test.js:58:7)
  at integration/app-tree/test/index.test.js:55:58
  at Object.describe (integration/app-tree/test/index.test.js:54:1)

● AppTree › development mode › should pass AppTree to NextPageContext

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

  56 |     'development mode',
  57 |     () => {
> 58 |       beforeAll(async () => {
     |       ^
  59 |         appPort = await findPort()
  60 |         app = await launchApp(appDir, appPort)
  61 |       })

  at beforeAll (integration/app-tree/test/index.test.js:58:7)
  at integration/app-tree/test/index.test.js:55:58
  at Object.describe (integration/app-tree/test/index.test.js:54:1)

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

TURBOPACK=1 pnpm test test/integration/app-document-remove-hmr/test/index.test.js (turbopack)

  • _app removal HMR > should HMR when _app is removed
  • _app removal HMR > should HMR when _document is removed
Expand output

● _app removal HMR › should HMR when _app is removed

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

  15 |
  16 | describe('_app removal HMR', () => {
> 17 |   beforeAll(async () => {
     |   ^
  18 |     appPort = await findPort()
  19 |     app = await launchApp(appDir, appPort)
  20 |   })

  at beforeAll (integration/app-document-remove-hmr/test/index.test.js:17:3)
  at Object.describe (integration/app-document-remove-hmr/test/index.test.js:16:1)

● _app removal HMR › should HMR when _document is removed

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

  15 |
  16 | describe('_app removal HMR', () => {
> 17 |   beforeAll(async () => {
     |   ^
  18 |     appPort = await findPort()
  19 |     app = await launchApp(appDir, appPort)
  20 |   })

  at beforeAll (integration/app-document-remove-hmr/test/index.test.js:17:3)
  at Object.describe (integration/app-document-remove-hmr/test/index.test.js:16:1)

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

TURBOPACK=1 pnpm test test/integration/404-page-custom-error/test/index.test.js (turbopack)

  • Default 404 Page with custom _error > development mode > should respond to 404 correctly
  • Default 404 Page with custom _error > development mode > should render error correctly
  • Default 404 Page with custom _error > development mode > should render index page normal
Expand output

● Default 404 Page with custom _error › development mode › should respond to 404 correctly

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

  76 |     'development mode',
  77 |     () => {
> 78 |       beforeAll(async () => {
     |       ^
  79 |         appPort = await findPort()
  80 |         app = await launchApp(appDir, appPort)
  81 |       })

  at beforeAll (integration/404-page-custom-error/test/index.test.js:78:7)
  at integration/404-page-custom-error/test/index.test.js:75:58
  at Object.describe (integration/404-page-custom-error/test/index.test.js:53:1)

● Default 404 Page with custom _error › development mode › should render error correctly

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

  76 |     'development mode',
  77 |     () => {
> 78 |       beforeAll(async () => {
     |       ^
  79 |         appPort = await findPort()
  80 |         app = await launchApp(appDir, appPort)
  81 |       })

  at beforeAll (integration/404-page-custom-error/test/index.test.js:78:7)
  at integration/404-page-custom-error/test/index.test.js:75:58
  at Object.describe (integration/404-page-custom-error/test/index.test.js:53:1)

● Default 404 Page with custom _error › development mode › should render index page normal

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

  76 |     'development mode',
  77 |     () => {
> 78 |       beforeAll(async () => {
     |       ^
  79 |         appPort = await findPort()
  80 |         app = await launchApp(appDir, appPort)
  81 |       })

  at beforeAll (integration/404-page-custom-error/test/index.test.js:78:7)
  at integration/404-page-custom-error/test/index.test.js:75:58
  at Object.describe (integration/404-page-custom-error/test/index.test.js:53:1)

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

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

  • app-routes-trailing-slash > should handle trailing slash for edge runtime
  • app-routes-trailing-slash > should handle trailing slash for node runtime
Expand output

● app-routes-trailing-slash › should handle trailing slash for edge runtime

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-routes-trailing-slash/app-routes-trailing-slash.test.ts:4:33
  at Object.describe (e2e/app-dir/app-routes-trailing-slash/app-routes-trailing-slash.test.ts:3:1)

● app-routes-trailing-slash › should handle trailing slash for node runtime

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-routes-trailing-slash/app-routes-trailing-slash.test.ts:4:33
  at Object.describe (e2e/app-dir/app-routes-trailing-slash/app-routes-trailing-slash.test.ts:3:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

TURBOPACK=1 pnpm test-start test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts (turbopack)

  • app dir - prefetching (custom staleTime) > should not fetch again when a static page was prefetched when navigating to it twice
  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group
Expand output

● app dir - prefetching (custom staleTime) › should not fetch again when a static page was prefetched when navigating to it twice

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:31:44
  at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:30:1)

● app dir - prefetching (custom staleTime) › should not re-fetch cached data when navigating back to a route group

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:31:44
  at Object.describe (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:30:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

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

  • app-dir action handling > should handle action correctly with middleware rewrite
  • app-dir action handling > should handle basic actions correctly
  • app-dir action handling > should report errors with bad inputs correctly
  • app-dir action handling > should propagate errors from a text/plain response to an error boundary
  • app-dir action handling > should trigger an error boundary for action responses with an invalid content-type
  • app-dir action handling > should support headers and cookies
  • app-dir action handling > should push new route when redirecting
  • app-dir action handling > should support headers in client imported actions
  • app-dir action handling > should not log errors for non-action form POSTs
  • app-dir action handling > should support setting cookies in route handlers with the correct overrides
  • app-dir action handling > should support formData and redirect
  • app-dir action handling > should support .bind
  • app-dir action handling > should support chained .bind
  • app-dir action handling > should support notFound (javascript disabled)
  • app-dir action handling > should support notFound
  • app-dir action handling > should support uploading files
  • app-dir action handling > should support hoc auth wrappers
  • app-dir action handling > should support importing actions in client components
  • app-dir action handling > should support importing the same action module instance in both server and action layers
  • app-dir action handling > should not block navigation events while a server action is in flight
  • app-dir action handling > should not block router.back() while a server action is in flight
  • app-dir action handling > should trigger a refresh for a server action that gets discarded due to a navigation
  • app-dir action handling > should trigger a refresh for a server action that also dispatches a navigation event
  • app-dir action handling > should support next/dynamic with ssr: false
  • app-dir action handling > should support next/dynamic with ssr: false (edge)
  • app-dir action handling > should only submit action once when resubmitting an action after navigation
  • app-dir action handling > should handle actions executed in quick succession
  • app-dir action handling > should 404 when POSTing an invalid server action
  • app-dir action handling > should log a warning when a server action is not found but an id is provided
  • app-dir action handling > should be possible to catch network errors
  • app-dir action handling > should be possible to catch regular errors
  • app-dir action handling > should forward action request to a worker that contains the action handler (node)
  • app-dir action handling > should forward action request to a worker that contains the action handler (edge)
  • app-dir action handling > should not error when a forwarded action triggers a redirect (node)
  • app-dir action handling > should not error when a forwarded action triggers a redirect (edge)
  • app-dir action handling > should work with interception routes
  • app-dir action handling > Edge SSR > should handle basic actions correctly
  • app-dir action handling > Edge SSR > should return error response for hoc auth wrappers in edge runtime
  • app-dir action handling > Edge SSR > should handle calls to redirect() with a relative URL in a single pass
  • app-dir action handling > Edge SSR > should handle calls to redirect() with a absolute URL in a single pass
  • app-dir action handling > Edge SSR > should handle calls to redirect() with external URLs
  • app-dir action handling > Edge SSR > should allow cookie and header async storages
  • app-dir action handling > Edge SSR > should handle unicode search params
  • app-dir action handling > caching disabled by default > should use no-store as default for server action
  • app-dir action handling > caching disabled by default > should not override force-cache in server action
  • app-dir action handling > caching disabled by default > should not override revalidate in server action
  • app-dir action handling > encryption > should send encrypted values from the closed over closure
  • app-dir action handling > fetch actions > should handle a fetch action initiated from a static page
  • app-dir action handling > fetch actions > should handle calls to redirect() with a relative URL in a single pass
  • app-dir action handling > fetch actions > should handle calls to redirect() with a absolute URL in a single pass
  • app-dir action handling > fetch actions > should handle calls to redirect() with external URLs
  • app-dir action handling > fetch actions > should handle redirects to routes that provide an invalid RSC response
  • app-dir action handling > fetch actions > should handle revalidatePath
  • app-dir action handling > fetch actions > should handle revalidateTag
  • app-dir action handling > fetch actions > should store revalidation data in the prefetch cache
  • app-dir action handling > fetch actions > should revalidate when cookies.set is called
  • app-dir action handling > fetch actions > should invalidate client cache on other routes when cookies.set is called
  • app-dir action handling > fetch actions > should revalidate when cookies.set is called in a client action
  • app-dir action handling > fetch actions > should invalidate client cache when tag is revalidated
  • app-dir action handling > fetch actions > should invalidate client cache when path is revalidated
  • app-dir action handling > redirects > redirects properly when server action handler uses redirect
  • app-dir action handling > redirects > redirects properly when server action handler uses permanentRedirect
  • app-dir action handling > redirects > displays searchParams correctly when redirecting with SearchParams
  • app-dir action handling > redirects > merges cookies correctly when redirecting
  • app-dir action handling > redirects > should not forward next-action header to a redirected RSC request
  • app-dir action handling > redirects > redirects properly when server action handler redirects with a 307 status code
  • app-dir action handling > redirects > redirects properly when server action handler redirects with a 308 status code
  • app-dir action handling > server actions render client components > server component imported action > should support importing client components from actions
Expand output

● app-dir action handling › should handle action correctly with middleware rewrite

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should handle basic actions correctly

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should report errors with bad inputs correctly

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should propagate errors from a text/plain response to an error boundary

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should trigger an error boundary for action responses with an invalid content-type

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support headers and cookies

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should push new route when redirecting

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support headers in client imported actions

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should not log errors for non-action form POSTs

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support setting cookies in route handlers with the correct overrides

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support formData and redirect

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support .bind

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support chained .bind

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support notFound (javascript disabled)

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support notFound

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support uploading files

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support hoc auth wrappers

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support importing actions in client components

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support importing the same action module instance in both server and action layers

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should not block navigation events while a server action is in flight

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should not block router.back() while a server action is in flight

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should trigger a refresh for a server action that gets discarded due to a navigation

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should trigger a refresh for a server action that also dispatches a navigation event

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support next/dynamic with ssr: false

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should support next/dynamic with ssr: false (edge)

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should only submit action once when resubmitting an action after navigation

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should handle actions executed in quick succession

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should 404 when POSTing an invalid server action

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should log a warning when a server action is not found but an id is provided

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should be possible to catch network errors

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should be possible to catch regular errors

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should forward action request to a worker that contains the action handler (node)

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should forward action request to a worker that contains the action handler (edge)

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should not error when a forwarded action triggers a redirect (node)

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should not error when a forwarded action triggers a redirect (edge)

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should not expose action content in sourcemaps

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should handle basic actions correctly

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should return error response for hoc auth wrappers in edge runtime

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should handle calls to redirect() with a relative URL in a single pass

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should handle calls to redirect() with a absolute URL in a single pass

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should handle calls to redirect() with external URLs

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should allow cookie and header async storages

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › Edge SSR › should handle unicode search params

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle a fetch action initiated from a static page

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle calls to redirect() with a relative URL in a single pass

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle calls to redirect() with a absolute URL in a single pass

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle calls to redirect() with external URLs

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

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

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle revalidatePath

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle revalidateTag

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should handle revalidateTag + redirect

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should store revalidation data in the prefetch cache

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should revalidate when cookies.set is called

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should invalidate client cache on other routes when cookies.set is called

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should revalidate when cookies.set is called in a client action

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should invalidate client cache when tag is revalidated

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › fetch actions › should invalidate client cache when path is revalidated

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › should work with interception routes

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › encryption › should send encrypted values from the closed over closure

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › redirects properly when server action handler uses redirect

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › redirects properly when server action handler uses permanentRedirect

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › displays searchParams correctly when redirecting with SearchParams

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › merges cookies correctly when redirecting

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › should not forward next-action header to a redirected RSC request

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › redirects properly when server action handler redirects with a 307 status code

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › redirects › redirects properly when server action handler redirects with a 308 status code

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › server actions render client components › server component imported action › should support importing client components from actions

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › server actions render client components › client component imported action › should support importing client components from actions

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › caching disabled by default › should use no-store as default for server action

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › caching disabled by default › should not override force-cache in server action

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● app-dir action handling › caching disabled by default › should not override revalidate in server action

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action.test.ts:19:18
  at Object.describe (e2e/app-dir/actions/app-action.test.ts:17:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

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

  • app dir > Loading > should render loading.js in initial html for slow page
Expand output

● app dir › Loading › should render loading.js in initial html for slow page

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/app-compilation/index.test.ts:5:66
  at Object.describe (e2e/app-dir/app-compilation/index.test.ts:4:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

TURBOPACK=1 pnpm test test/integration/absolute-assetprefix/test/index.test.js (turbopack)

  • absolute assetPrefix with path prefix > production mode > should not fetch static data from a CDN
  • absolute assetPrefix with path prefix > production mode > should fetch from cache correctly
  • absolute assetPrefix with path prefix > production mode > should work with getStaticPaths prerendered
  • absolute assetPrefix with path prefix > production mode > should work with getStaticPaths fallback
  • absolute assetPrefix with path prefix > production mode > should work with getServerSideProps
Expand output

● absolute assetPrefix with path prefix › production mode › should not fetch static data from a CDN

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

  23 |     'production mode',
  24 |     () => {
> 25 |       beforeAll(async () => {
     |       ^
  26 |         cdnPort = await findPort()
  27 |         // lightweight http proxy
  28 |         cdn = http.createServer((clientReq, clientRes) => {

  at beforeAll (integration/absolute-assetprefix/test/index.test.js:25:7)
  at integration/absolute-assetprefix/test/index.test.js:22:56
  at Object.describe (integration/absolute-assetprefix/test/index.test.js:21:1)

● absolute assetPrefix with path prefix › production mode › should fetch from cache correctly

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

  23 |     'production mode',
  24 |     () => {
> 25 |       beforeAll(async () => {
     |       ^
  26 |         cdnPort = await findPort()
  27 |         // lightweight http proxy
  28 |         cdn = http.createServer((clientReq, clientRes) => {

  at beforeAll (integration/absolute-assetprefix/test/index.test.js:25:7)
  at integration/absolute-assetprefix/test/index.test.js:22:56
  at Object.describe (integration/absolute-assetprefix/test/index.test.js:21:1)

● absolute assetPrefix with path prefix › production mode › should work with getStaticPaths prerendered

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

  23 |     'production mode',
  24 |     () => {
> 25 |       beforeAll(async () => {
     |       ^
  26 |         cdnPort = await findPort()
  27 |         // lightweight http proxy
  28 |         cdn = http.createServer((clientReq, clientRes) => {

  at beforeAll (integration/absolute-assetprefix/test/index.test.js:25:7)
  at integration/absolute-assetprefix/test/index.test.js:22:56
  at Object.describe (integration/absolute-assetprefix/test/index.test.js:21:1)

● absolute assetPrefix with path prefix › production mode › should work with getStaticPaths fallback

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

  23 |     'production mode',
  24 |     () => {
> 25 |       beforeAll(async () => {
     |       ^
  26 |         cdnPort = await findPort()
  27 |         // lightweight http proxy
  28 |         cdn = http.createServer((clientReq, clientRes) => {

  at beforeAll (integration/absolute-assetprefix/test/index.test.js:25:7)
  at integration/absolute-assetprefix/test/index.test.js:22:56
  at Object.describe (integration/absolute-assetprefix/test/index.test.js:21:1)

● absolute assetPrefix with path prefix › production mode › should work with getServerSideProps

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

  23 |     'production mode',
  24 |     () => {
> 25 |       beforeAll(async () => {
     |       ^
  26 |         cdnPort = await findPort()
  27 |         // lightweight http proxy
  28 |         cdn = http.createServer((clientReq, clientRes) => {

  at beforeAll (integration/absolute-assetprefix/test/index.test.js:25:7)
  at integration/absolute-assetprefix/test/index.test.js:22:56
  at Object.describe (integration/absolute-assetprefix/test/index.test.js:21:1)

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

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action-progressive-enhancement.test.ts:7:33
  at Object.describe (e2e/app-dir/actions/app-action-progressive-enhancement.test.ts:6:1)

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

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

  252 |   let next: NextInstance | undefined
  253 |   if (!skipped) {
> 254 |     beforeAll(async () => {
      |     ^
  255 |       next = await createNext(options)
  256 |     })
  257 |     afterAll(async () => {

  at beforeAll (lib/e2e-utils/index.ts:254:5)
  at e2e/app-dir/actions/app-action-progressive-enhancement.test.ts:7:33
  at Object.describe (e2e/app-dir/actions/app-action-progressive-enhancement.test.ts:6:1)

● Test suite failed to run

next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished

  134 |     if (nextInstance) {
  135 |       await nextInstance.destroy()
> 136 |       throw new Error(
      |             ^
  137 |         `next instance not destroyed before exiting, make sure to call .destroy() after the tests after finished`
  138 |       )
  139 |     }

  at Object.<anonymous> (lib/e2e-utils/index.ts:136:13)

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

TURBOPACK=1 pnpm test test/integration/amp-export-validation/test/index.test.js (turbopack)

  • AMP Validation on Export > production mode > should have shown errors during build
Expand output

● AMP Validation on Export › production mode › should have shown errors during build

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

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         const { stdout = '', stderr = '' } = await nextBuild(appDir, [], {
  21 |           stdout: true,
  22 |           stderr: true,

  at beforeAll (integration/amp-export-validation/test/index.test.js:19:7)
  at integration/amp-export-validation/test/index.test.js:16:56
  at Object.describe (integration/amp-export-validation/test/index.test.js:15:1)

● AMP Validation on Export › production mode › shows AMP warning without throwing error

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

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         const { stdout = '', stderr = '' } = await nextBuild(appDir, [], {
  21 |           stdout: true,
  22 |           stderr: true,

  at beforeAll (integration/amp-export-validation/test/index.test.js:19:7)
  at integration/amp-export-validation/test/index.test.js:16:56
  at Object.describe (integration/amp-export-validation/test/index.test.js:15:1)

● AMP Validation on Export › production mode › throws error on AMP error

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

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         const { stdout = '', stderr = '' } = await nextBuild(appDir, [], {
  21 |           stdout: true,
  22 |           stderr: true,

  at beforeAll (integration/amp-export-validation/test/index.test.js:19:7)
  at integration/amp-export-validation/test/index.test.js:16:56
  at Object.describe (integration/amp-export-validation/test/index.test.js:15:1)

● AMP Validation on Export › production mode › shows warning and error when throwing error

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

  17 |     'production mode',
  18 |     () => {
> 19 |       beforeAll(async () => {
     |       ^
  20 |         const { stdout = '', stderr = '' } = await nextBuild(appDir, [], {
  21 |           stdout: true,
  22 |           stderr: true,

  at beforeAll (integration/amp-export-validation/test/index.test.js:19:7)
  at integration/amp-export-validation/test/index.test.js:16:56
  at Object.describe (integration/amp-export-validation/test/index.test.js:15:1)

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

pnpm test test/integration/turbotrace-with-webpack-worker/test/index.test.js

  • build trace with extra entries > production mode > should build and trace correctly
Expand output

● build trace with extra entries › production mode › should build and trace correctly

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

Expected: 0
Received: null

  18 |         })
  19 |         console.log(result)
> 20 |         expect(result.code).toBe(0)
     |                             ^
  21 |
  22 |         const appTrace = await fs.readJSON(
  23 |           join(appDir, '.next/server/pages/_app.js.nft.json')

  at Object.toBe (integration/turbotrace-with-webpack-worker/test/index.test.js:20:29)

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

pnpm test-dev test/development/basic/next-rs-api.test.ts

  • next.rs api > should detect the correct routes
  • next.rs api > should allow to write root page to disk
  • next.rs api > should allow to write pages edge api to disk
  • next.rs api > should allow to write pages Node.js api to disk
  • next.rs api > should allow to write app edge page to disk
  • next.rs api > should allow to write app Node.js page to disk
  • next.rs api > should allow to write pages edge page to disk
  • next.rs api > should allow to write pages Node.js page to disk
  • next.rs api > should allow to write app edge route to disk
  • next.rs api > should allow to write app Node.js route to disk
  • next.rs api > should have working HMR on client-side change on a page 0
  • next.rs api > should have working HMR on client-side change on a page 1
  • next.rs api > should have working HMR on client-side change on a page 2
  • next.rs api > should have working HMR on server-side change on a page 0
  • next.rs api > should have working HMR on server-side change on a page 1
  • next.rs api > should have working HMR on server-side change on a page 2
  • next.rs api > should have working HMR on client and server-side change on a page 0
  • next.rs api > should have working HMR on client and server-side change on a page 1
  • next.rs api > should have working HMR on client and server-side change on a page 2
  • next.rs api > should have working HMR on client-side change on a app page 0
  • next.rs api > should have working HMR on client-side change on a app page 1
  • next.rs api > should have working HMR on client-side change on a app page 2
  • next.rs api > should have working HMR on server-side change on a app page 0
  • next.rs api > should have working HMR on server-side change on a app page 1
  • next.rs api > should have working HMR on server-side change on a app page 2
Expand output

● next.rs api › should detect the correct routes

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write root page to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write pages edge api to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write pages Node.js api to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write app edge page to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write app Node.js page to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write pages edge page to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write pages Node.js page to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write app edge route to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to write app Node.js route to disk

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client-side change on a page 0

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client-side change on a page 1

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client-side change on a page 2

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on server-side change on a page 0

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on server-side change on a page 1

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on server-side change on a page 2

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client and server-side change on a page 0

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client and server-side change on a page 1

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client and server-side change on a page 2

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client-side change on a app page 0

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client-side change on a app page 1

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on client-side change on a app page 2

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on server-side change on a app page 0

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on server-side change on a app page 1

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should have working HMR on server-side change on a app page 2

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

● next.rs api › should allow to make many HMR updates

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

  188 |   let project: Project
  189 |   let projectUpdateSubscription: AsyncIterableIterator<UpdateInfo>
> 190 |   beforeAll(async () => {
      |   ^
  191 |     console.log(next.testDir)
  192 |     const nextConfig = await loadConfig(PHASE_DEVELOPMENT_SERVER, next.testDir)
  193 |     const bindings = await loadBindings()

  at beforeAll (development/basic/next-rs-api.test.ts:190:3)
  at Object.describe (development/basic/next-rs-api.test.ts:151:1)

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

@ijjk
Copy link
Member

ijjk commented Sep 4, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
buildDuration 17.2s 15.4s N/A
buildDurationCached 8.6s 7.2s N/A
nodeModulesSize 357 MB 357 MB ⚠️ +4.45 kB
nextStartRea..uration (ms) 426ms 431ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
1062.HASH.js gzip 169 B 168 B N/A
2cd9da90-HASH.js gzip 52 kB 52 kB N/A
5867-HASH.js gzip 42.4 kB 42.4 kB N/A
8503-HASH.js gzip 5.25 kB 5.25 kB N/A
framework-HASH.js gzip 56.9 kB 56.9 kB N/A
main-app-HASH.js gzip 223 B 224 B N/A
main-HASH.js gzip 32.6 kB 32.5 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 191 B 191 B
amp-HASH.js gzip 511 B 510 B N/A
css-HASH.js gzip 342 B 343 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 362 B 364 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.4 kB 4.4 kB
index-HASH.js gzip 268 B 267 B N/A
link-HASH.js gzip 2.81 kB 2.81 kB N/A
routerDirect..HASH.js gzip 329 B 327 B N/A
script-HASH.js gzip 398 B 396 B N/A
withRouter-HASH.js gzip 325 B 324 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 5.28 kB 5.28 kB
Client Build Manifests
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
_buildManifest.js gzip 749 B 749 B
Overall change 749 B 749 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
index.html gzip 522 B 523 B N/A
link.html gzip 536 B 537 B N/A
withRouter.html gzip 519 B 519 B
Overall change 519 B 519 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 180 kB 180 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
middleware-b..fest.js gzip 672 B 667 B N/A
middleware-r..fest.js gzip 156 B 157 B N/A
middleware.js gzip 29.9 kB 29.9 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
973-experime...dev.js gzip 322 B 322 B
973.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 317 kB 317 kB
app-page-exp..prod.js gzip 125 kB 125 kB
app-page-tur..prod.js gzip 139 kB 139 kB
app-page-tur..prod.js gzip 134 kB 134 kB
app-page.run...dev.js gzip 305 kB 305 kB
app-page.run..prod.js gzip 121 kB 121 kB
app-route-ex...dev.js gzip 31.2 kB 31.2 kB
app-route-ex..prod.js gzip 21.1 kB 21.1 kB
app-route-tu..prod.js gzip 21.1 kB 21.1 kB
app-route-tu..prod.js gzip 20.9 kB 20.9 kB
app-route.ru...dev.js gzip 32.9 kB 32.9 kB
app-route.ru..prod.js gzip 20.9 kB 20.9 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 57.7 kB 57.7 kB
Overall change 1.45 MB 1.45 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js sokra/new-backend-aggregation2 Change
0.pack gzip 1.61 MB 1.61 MB ⚠️ +7.41 kB
index.pack gzip 130 kB 131 kB ⚠️ +819 B
Overall change 1.74 MB 1.74 MB ⚠️ +8.23 kB
Diff details
Diff for page.js
@@ -15,7 +15,7 @@
       /***/
     },
 
-    /***/ 9558: /***/ (
+    /***/ 5682: /***/ (
       __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-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/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-statsC7rIt5%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-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/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-statsC7rIt5%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, {
@@ -69,35 +69,35 @@
         tree: () => tree,
       });
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/web/globals.js
-      var globals = __webpack_require__(578);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
-      var adapter = __webpack_require__(8519);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
-      var render = __webpack_require__(2492);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
-      var incremental_cache = __webpack_require__(729);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/app-render.js + 73 modules
-      var app_render = __webpack_require__(4711);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
-      var module_compiled = __webpack_require__(7055);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/route-kind.js
-      var route_kind = __webpack_require__(1384);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/client/components/error-boundary.js
-      var error_boundary = __webpack_require__(8292);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
-      var entry_base = __webpack_require__(9147); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/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-statsC7rIt5%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-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/web/globals.js
+      var globals = __webpack_require__(1603);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/web/adapter.js + 3 modules
+      var adapter = __webpack_require__(6148);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/build/webpack/loaders/next-edge-ssr-loader/render.js + 85 modules
+      var render = __webpack_require__(301);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/lib/incremental-cache/index.js + 3 modules
+      var incremental_cache = __webpack_require__(6802);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/app-render.js + 73 modules
+      var app_render = __webpack_require__(3010);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js
+      var module_compiled = __webpack_require__(6217);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/route-kind.js
+      var route_kind = __webpack_require__(8636);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/client/components/error-boundary.js
+      var error_boundary = __webpack_require__(746);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/entry-base.js + 9 modules
+      var entry_base = __webpack_require__(6729); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/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-statsC7rIt5%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__, 6908)
+          __webpack_require__.bind(__webpack_require__, 176)
         );
       const component1 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 4482)
+          __webpack_require__.bind(__webpack_require__, 5078)
         );
       const page2 = () =>
         Promise.resolve(/* import() eager */).then(
-          __webpack_require__.bind(__webpack_require__, 3073)
+          __webpack_require__.bind(__webpack_require__, 2934)
         );
 
       // We inject the tree and pages here so that we can use them in the route
@@ -163,12 +163,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-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/lib/page-types.js
-      var page_types = __webpack_require__(5067);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/encryption-utils.js
-      var encryption_utils = __webpack_require__(9845);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/dist/esm/server/app-render/action-utils.js
-      var action_utils = __webpack_require__(4670); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/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":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzQzdySXQ1L3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6ZmFsc2UsInVzZUVhcmx5SW1wb3J0IjpmYWxzZSwic3RhbGVUaW1lcyI6eyJkeW5hbWljIjowLCJzdGF0aWMiOjMwMH0sImFmdGVyIjpmYWxzZSwic2VydmVyQ29tcG9uZW50c0htckNhY2hlIjp0cnVlLCJzdGF0aWNHZW5lcmF0aW9uTWF4Q29uY3VycmVuY3kiOjgsInN0YXRpY0dlbmVyYXRpb25NaW5QYWdlc1BlcldvcmtlciI6MjUsImR5bmFtaWNJTyI6ZmFsc2UsIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJlZmZlY3QiLCJAZWZmZWN0L3NjaGVtYSIsIkBlZmZlY3QvcGxhdGZvcm0iLCJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiLCJAZWZmZWN0L3BsYXRmb3JtLWJyb3dzZXIiLCJAZWZmZWN0L3BsYXRmb3JtLWJ1biIsIkBlZmZlY3Qvc3FsIiwiQGVmZmVjdC9zcWwtbXNzcWwiLCJAZWZmZWN0L3NxbC1teXNxbDIiLCJAZWZmZWN0L3NxbC1wZyIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtbm9kZSIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtYnVuIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS13YXNtIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1yZWFjdC1uYXRpdmUiLCJAZWZmZWN0L3JwYyIsIkBlZmZlY3QvcnBjLWh0dHAiLCJAZWZmZWN0L3R5cGVjbGFzcyIsIkBlZmZlY3QvZXhwZXJpbWVudGFsIiwiQGVmZmVjdC9vcGVudGVsZW1ldHJ5IiwiQG1hdGVyaWFsLXVpL2NvcmUiLCJAbWF0ZXJpYWwtdWkvaWNvbnMiLCJAdGFibGVyL2ljb25zLXJlYWN0IiwibXVpLWNvcmUiLCJyZWFjdC1pY29ucy9haSIsInJlYWN0LWljb25zL2JpIiwicmVhY3QtaWNvbnMvYnMiLCJyZWFjdC1pY29ucy9jZyIsInJlYWN0LWljb25zL2NpIiwicmVhY3QtaWNvbnMvZGkiLCJyZWFjdC1pY29ucy9mYSIsInJlYWN0LWljb25zL2ZhNiIsInJlYWN0LWljb25zL2ZjIiwicmVhY3QtaWNvbnMvZmkiLCJyZWFjdC1pY29ucy9naSIsInJlYWN0LWljb25zL2dvIiwicmVhY3QtaWNvbnMvZ3IiLCJyZWFjdC1pY29ucy9oaSIsInJlYWN0LWljb25zL2hpMiIsInJlYWN0LWljb25zL2ltIiwicmVhY3QtaWNvbnMvaW8iLCJyZWFjdC1pY29ucy9pbzUiLCJyZWFjdC1pY29ucy9saWEiLCJyZWFjdC1pY29ucy9saWIiLCJyZWFjdC1pY29ucy9sdSIsInJlYWN0LWljb25zL21kIiwicmVhY3QtaWNvbnMvcGkiLCJyZWFjdC1pY29ucy9yaSIsInJlYWN0LWljb25zL3J4IiwicmVhY3QtaWNvbnMvc2kiLCJyZWFjdC1pY29ucy9zbCIsInJlYWN0LWljb25zL3RiIiwicmVhY3QtaWNvbnMvdGZpIiwicmVhY3QtaWNvbnMvdGkiLCJyZWFjdC1pY29ucy92c2MiLCJyZWFjdC1pY29ucy93aSJdfSwiYnVuZGxlUGFnZXNSb3V0ZXJEZXBlbmRlbmNpZXMiOmZhbHNlLCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzQzdySXQ1L3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzQzdySXQ1JTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/lib/page-types.js
+      var page_types = __webpack_require__(7743);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/encryption-utils.js
+      var encryption_utils = __webpack_require__(659);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/dist/esm/server/app-render/action-utils.js
+      var action_utils = __webpack_require__(778); // CONCATENATED MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/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":"eyJlbnYiOnt9LCJlc2xpbnQiOnsiaWdub3JlRHVyaW5nQnVpbGRzIjpmYWxzZX0sInR5cGVzY3JpcHQiOnsiaWdub3JlQnVpbGRFcnJvcnMiOmZhbHNlLCJ0c2NvbmZpZ1BhdGgiOiJ0c2NvbmZpZy5qc29uIn0sImRpc3REaXIiOiIubmV4dCIsImNsZWFuRGlzdERpciI6dHJ1ZSwiYXNzZXRQcmVmaXgiOiIiLCJjYWNoZU1heE1lbW9yeVNpemUiOjUyNDI4ODAwLCJjb25maWdPcmlnaW4iOiJuZXh0LmNvbmZpZy5qcyIsInVzZUZpbGVTeXN0ZW1QdWJsaWNSb3V0ZXMiOnRydWUsImdlbmVyYXRlRXRhZ3MiOnRydWUsInBhZ2VFeHRlbnNpb25zIjpbInRzeCIsInRzIiwianN4IiwianMiXSwicG93ZXJlZEJ5SGVhZGVyIjp0cnVlLCJjb21wcmVzcyI6dHJ1ZSwiaW1hZ2VzIjp7ImRldmljZVNpemVzIjpbNjQwLDc1MCw4MjgsMTA4MCwxMjAwLDE5MjAsMjA0OCwzODQwXSwiaW1hZ2VTaXplcyI6WzE2LDMyLDQ4LDY0LDk2LDEyOCwyNTYsMzg0XSwicGF0aCI6Ii9fbmV4dC9pbWFnZSIsImxvYWRlciI6ImRlZmF1bHQiLCJsb2FkZXJGaWxlIjoiIiwiZG9tYWlucyI6W10sImRpc2FibGVTdGF0aWNJbWFnZXMiOmZhbHNlLCJtaW5pbXVtQ2FjaGVUVEwiOjYwLCJmb3JtYXRzIjpbImltYWdlL3dlYnAiXSwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyI6ZmFsc2UsImNvbnRlbnRTZWN1cml0eVBvbGljeSI6InNjcmlwdC1zcmMgJ25vbmUnOyBmcmFtZS1zcmMgJ25vbmUnOyBzYW5kYm94OyIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiOiJhdHRhY2htZW50IiwicmVtb3RlUGF0dGVybnMiOltdLCJ1bm9wdGltaXplZCI6ZmFsc2V9LCJkZXZJbmRpY2F0b3JzIjp7ImFwcElzclN0YXR1cyI6dHJ1ZSwiYnVpbGRBY3Rpdml0eSI6dHJ1ZSwiYnVpbGRBY3Rpdml0eVBvc2l0aW9uIjoiYm90dG9tLXJpZ2h0In0sIm9uRGVtYW5kRW50cmllcyI6eyJtYXhJbmFjdGl2ZUFnZSI6NjAwMDAsInBhZ2VzQnVmZmVyTGVuZ3RoIjo1fSwiYW1wIjp7ImNhbm9uaWNhbEJhc2UiOiIifSwiYmFzZVBhdGgiOiIiLCJzYXNzT3B0aW9ucyI6e30sInRyYWlsaW5nU2xhc2giOmZhbHNlLCJpMThuIjpudWxsLCJwcm9kdWN0aW9uQnJvd3NlclNvdXJjZU1hcHMiOmZhbHNlLCJleGNsdWRlRGVmYXVsdE1vbWVudExvY2FsZXMiOnRydWUsInNlcnZlclJ1bnRpbWVDb25maWciOnt9LCJwdWJsaWNSdW50aW1lQ29uZmlnIjp7fSwicmVhY3RQcm9kdWN0aW9uUHJvZmlsaW5nIjpmYWxzZSwicmVhY3RTdHJpY3RNb2RlIjpudWxsLCJyZWFjdE1heEhlYWRlcnNMZW5ndGgiOjYwMDAsImh0dHBBZ2VudE9wdGlvbnMiOnsia2VlcEFsaXZlIjp0cnVlfSwibG9nZ2luZyI6e30sInN0YXRpY1BhZ2VHZW5lcmF0aW9uVGltZW91dCI6NjAsIm1vZHVsYXJpemVJbXBvcnRzIjp7IkBtdWkvaWNvbnMtbWF0ZXJpYWwiOnsidHJhbnNmb3JtIjoiQG11aS9pY29ucy1tYXRlcmlhbC97e21lbWJlcn19In0sImxvZGFzaCI6eyJ0cmFuc2Zvcm0iOiJsb2Rhc2gve3ttZW1iZXJ9fSJ9fSwib3V0cHV0RmlsZVRyYWNpbmdSb290IjoiL3RtcC9uZXh0LXN0YXRzQzdySXQ1L3N0YXRzLWFwcCIsImV4cGVyaW1lbnRhbCI6eyJtdWx0aVpvbmVEcmFmdE1vZGUiOmZhbHNlLCJhcHBOYXZGYWlsSGFuZGxpbmciOmZhbHNlLCJwcmVyZW5kZXJFYXJseUV4aXQiOnRydWUsInNlcnZlck1pbmlmaWNhdGlvbiI6dHJ1ZSwic2VydmVyU291cmNlTWFwcyI6ZmFsc2UsImxpbmtOb1RvdWNoU3RhcnQiOmZhbHNlLCJjYXNlU2Vuc2l0aXZlUm91dGVzIjpmYWxzZSwicHJlbG9hZEVudHJpZXNPblN0YXJ0Ijp0cnVlLCJjbGllbnRSb3V0ZXJGaWx0ZXIiOnRydWUsImNsaWVudFJvdXRlckZpbHRlclJlZGlyZWN0cyI6ZmFsc2UsImZldGNoQ2FjaGVLZXlQcmVmaXgiOiIiLCJtaWRkbGV3YXJlUHJlZmV0Y2giOiJmbGV4aWJsZSIsIm9wdGltaXN0aWNDbGllbnRDYWNoZSI6dHJ1ZSwibWFudWFsQ2xpZW50QmFzZVBhdGgiOmZhbHNlLCJjcHVzIjoxOSwibWVtb3J5QmFzZWRXb3JrZXJzQ291bnQiOmZhbHNlLCJpc3JGbHVzaFRvRGlzayI6dHJ1ZSwid29ya2VyVGhyZWFkcyI6ZmFsc2UsIm9wdGltaXplQ3NzIjpmYWxzZSwibmV4dFNjcmlwdFdvcmtlcnMiOmZhbHNlLCJzY3JvbGxSZXN0b3JhdGlvbiI6ZmFsc2UsImV4dGVybmFsRGlyIjpmYWxzZSwiZGlzYWJsZU9wdGltaXplZExvYWRpbmciOmZhbHNlLCJnemlwU2l6ZSI6dHJ1ZSwiY3JhQ29tcGF0IjpmYWxzZSwiZXNtRXh0ZXJuYWxzIjp0cnVlLCJmdWxseVNwZWNpZmllZCI6ZmFsc2UsInN3Y1RyYWNlUHJvZmlsaW5nIjpmYWxzZSwiZm9yY2VTd2NUcmFuc2Zvcm1zIjpmYWxzZSwibGFyZ2VQYWdlRGF0YUJ5dGVzIjoxMjgwMDAsInR5cGVkUm91dGVzIjpmYWxzZSwidHlwZWRFbnYiOmZhbHNlLCJwYXJhbGxlbFNlcnZlckNvbXBpbGVzIjpmYWxzZSwicGFyYWxsZWxTZXJ2ZXJCdWlsZFRyYWNlcyI6ZmFsc2UsInBwciI6ZmFsc2UsInBwckZhbGxiYWNrcyI6ZmFsc2UsIndlYnBhY2tNZW1vcnlPcHRpbWl6YXRpb25zIjpmYWxzZSwib3B0aW1pemVTZXJ2ZXJSZWFjdCI6ZmFsc2UsInVzZUVhcmx5SW1wb3J0IjpmYWxzZSwic3RhbGVUaW1lcyI6eyJkeW5hbWljIjowLCJzdGF0aWMiOjMwMH0sImFmdGVyIjpmYWxzZSwic2VydmVyQ29tcG9uZW50c0htckNhY2hlIjp0cnVlLCJzdGF0aWNHZW5lcmF0aW9uTWF4Q29uY3VycmVuY3kiOjgsInN0YXRpY0dlbmVyYXRpb25NaW5QYWdlc1BlcldvcmtlciI6MjUsImR5bmFtaWNJTyI6ZmFsc2UsIm9wdGltaXplUGFja2FnZUltcG9ydHMiOlsibHVjaWRlLXJlYWN0IiwiZGF0ZS1mbnMiLCJsb2Rhc2gtZXMiLCJyYW1kYSIsImFudGQiLCJyZWFjdC1ib290c3RyYXAiLCJhaG9va3MiLCJAYW50LWRlc2lnbi9pY29ucyIsIkBoZWFkbGVzc3VpL3JlYWN0IiwiQGhlYWRsZXNzdWktZmxvYXQvcmVhY3QiLCJAaGVyb2ljb25zL3JlYWN0LzIwL3NvbGlkIiwiQGhlcm9pY29ucy9yZWFjdC8yNC9zb2xpZCIsIkBoZXJvaWNvbnMvcmVhY3QvMjQvb3V0bGluZSIsIkB2aXN4L3Zpc3giLCJAdHJlbW9yL3JlYWN0IiwicnhqcyIsIkBtdWkvbWF0ZXJpYWwiLCJAbXVpL2ljb25zLW1hdGVyaWFsIiwicmVjaGFydHMiLCJyZWFjdC11c2UiLCJlZmZlY3QiLCJAZWZmZWN0L3NjaGVtYSIsIkBlZmZlY3QvcGxhdGZvcm0iLCJAZWZmZWN0L3BsYXRmb3JtLW5vZGUiLCJAZWZmZWN0L3BsYXRmb3JtLWJyb3dzZXIiLCJAZWZmZWN0L3BsYXRmb3JtLWJ1biIsIkBlZmZlY3Qvc3FsIiwiQGVmZmVjdC9zcWwtbXNzcWwiLCJAZWZmZWN0L3NxbC1teXNxbDIiLCJAZWZmZWN0L3NxbC1wZyIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtbm9kZSIsIkBlZmZlY3Qvc3FsLXNxdWxpdGUtYnVuIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS13YXNtIiwiQGVmZmVjdC9zcWwtc3F1bGl0ZS1yZWFjdC1uYXRpdmUiLCJAZWZmZWN0L3JwYyIsIkBlZmZlY3QvcnBjLWh0dHAiLCJAZWZmZWN0L3R5cGVjbGFzcyIsIkBlZmZlY3QvZXhwZXJpbWVudGFsIiwiQGVmZmVjdC9vcGVudGVsZW1ldHJ5IiwiQG1hdGVyaWFsLXVpL2NvcmUiLCJAbWF0ZXJpYWwtdWkvaWNvbnMiLCJAdGFibGVyL2ljb25zLXJlYWN0IiwibXVpLWNvcmUiLCJyZWFjdC1pY29ucy9haSIsInJlYWN0LWljb25zL2JpIiwicmVhY3QtaWNvbnMvYnMiLCJyZWFjdC1pY29ucy9jZyIsInJlYWN0LWljb25zL2NpIiwicmVhY3QtaWNvbnMvZGkiLCJyZWFjdC1pY29ucy9mYSIsInJlYWN0LWljb25zL2ZhNiIsInJlYWN0LWljb25zL2ZjIiwicmVhY3QtaWNvbnMvZmkiLCJyZWFjdC1pY29ucy9naSIsInJlYWN0LWljb25zL2dvIiwicmVhY3QtaWNvbnMvZ3IiLCJyZWFjdC1pY29ucy9oaSIsInJlYWN0LWljb25zL2hpMiIsInJlYWN0LWljb25zL2ltIiwicmVhY3QtaWNvbnMvaW8iLCJyZWFjdC1pY29ucy9pbzUiLCJyZWFjdC1pY29ucy9saWEiLCJyZWFjdC1pY29ucy9saWIiLCJyZWFjdC1pY29ucy9sdSIsInJlYWN0LWljb25zL21kIiwicmVhY3QtaWNvbnMvcGkiLCJyZWFjdC1pY29ucy9yaSIsInJlYWN0LWljb25zL3J4IiwicmVhY3QtaWNvbnMvc2kiLCJyZWFjdC1pY29ucy9zbCIsInJlYWN0LWljb25zL3RiIiwicmVhY3QtaWNvbnMvdGZpIiwicmVhY3QtaWNvbnMvdGkiLCJyZWFjdC1pY29ucy92c2MiLCJyZWFjdC1pY29ucy93aSJdfSwiYnVuZGxlUGFnZXNSb3V0ZXJEZXBlbmRlbmNpZXMiOmZhbHNlLCJjb25maWdGaWxlIjoiL3RtcC9uZXh0LXN0YXRzQzdySXQ1L3N0YXRzLWFwcC9uZXh0LmNvbmZpZy5qcyIsImNvbmZpZ0ZpbGVOYW1lIjoibmV4dC5jb25maWcuanMifQ==","pagesType":"app","appDirLoader":"bmV4dC1hcHAtbG9hZGVyP25hbWU9YXBwJTJGYXBwLWVkZ2Utc3NyJTJGcGFnZSZwYWdlPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZVBhdGg9cHJpdmF0ZS1uZXh0LWFwcC1kaXIlMkZhcHAtZWRnZS1zc3IlMkZwYWdlLmpzJmFwcERpcj0lMkZ0bXAlMkZuZXh0LXN0YXRzQzdySXQ1JTJGc3RhdHMtYXBwJTJGYXBwJmFwcFBhdGhzPSUyRmFwcC1lZGdlLXNzciUyRnBhZ2UmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JmZseWluZ1NodXR0bGU9ZmFsc2UmcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCE=","sriEnabled":false,"middlewareConfig":"e30="}!
       var _self___RSC_MANIFEST;
 
       const incrementalCacheHandler = null;
@@ -431,50 +431,50 @@
       /***/
     },
 
-    /***/ 17: /***/ (
+    /***/ 7186: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 8585)
+        __webpack_require__.bind(__webpack_require__, 753)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 9467)
+        __webpack_require__.bind(__webpack_require__, 6866)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1744)
+        __webpack_require__.bind(__webpack_require__, 7099)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 9329)
+        __webpack_require__.bind(__webpack_require__, 2064)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 7969)
+        __webpack_require__.bind(__webpack_require__, 7531)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 4252)
+        __webpack_require__.bind(__webpack_require__, 8704)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 5685)
+        __webpack_require__.bind(__webpack_require__, 1335)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 853)
+        __webpack_require__.bind(__webpack_require__, 2618)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 1843)
+        __webpack_require__.bind(__webpack_require__, 7794)
       );
       Promise.resolve(/* import() eager */).then(
-        __webpack_require__.bind(__webpack_require__, 8149)
+        __webpack_require__.bind(__webpack_require__, 7094)
       );
 
       /***/
     },
 
-    /***/ 5315: /***/ () => {
+    /***/ 9641: /***/ () => {
       /***/
     },
 
-    /***/ 3073: /***/ (
+    /***/ 2934: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -494,7 +494,7 @@
       /***/
     },
 
-    /***/ 6908: /***/ (
+    /***/ 176: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -506,7 +506,7 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(7669);
+        __webpack_require__(2843);
 
       function RootLayout({ children }) {
         return /*#__PURE__*/ (0,
@@ -525,7 +525,7 @@
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
-    /******/ __webpack_require__.O(0, [319, 704], () => __webpack_exec__(9558));
+    /******/ __webpack_require__.O(0, [819, 397], () => __webpack_exec__(5682));
     /******/ 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],
   {
-    /***/ 8908: /***/ (
+    /***/ 8176: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/image",
         function () {
-          return __webpack_require__(2111);
+          return __webpack_require__(934);
         },
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 6308: /***/ (module, exports, __webpack_require__) => {
+    /***/ 5057: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -40,17 +40,17 @@
         __webpack_require__(1955)
       );
       const _head = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(2383)
+        __webpack_require__(7163)
       );
-      const _getimgprops = __webpack_require__(5640);
-      const _imageconfig = __webpack_require__(2758);
-      const _imageconfigcontextsharedruntime = __webpack_require__(899);
-      const _warnonce = __webpack_require__(3878);
-      const _routercontextsharedruntime = __webpack_require__(869);
+      const _getimgprops = __webpack_require__(5447);
+      const _imageconfig = __webpack_require__(1650);
+      const _imageconfigcontextsharedruntime = __webpack_require__(1953);
+      const _warnonce = __webpack_require__(5054);
+      const _routercontextsharedruntime = __webpack_require__(4445);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6501)
+        __webpack_require__(7406)
       );
-      const _usemergedref = __webpack_require__(3994);
+      const _usemergedref = __webpack_require__(3303);
       // This is replaced by webpack define plugin
       const configEnv = {
         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -371,7 +371,7 @@
       /***/
     },
 
-    /***/ 3994: /***/ (module, exports, __webpack_require__) => {
+    /***/ 3303: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -440,7 +440,7 @@
       /***/
     },
 
-    /***/ 5640: /***/ (
+    /***/ 5447: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -456,9 +456,9 @@
           return getImgProps;
         },
       });
-      const _warnonce = __webpack_require__(3878);
-      const _imageblursvg = __webpack_require__(4317);
-      const _imageconfig = __webpack_require__(2758);
+      const _warnonce = __webpack_require__(5054);
+      const _imageblursvg = __webpack_require__(1731);
+      const _imageconfig = __webpack_require__(1650);
       const VALID_LOADING_VALUES =
         /* unused pure expression or super */ null && [
           "lazy",
@@ -830,7 +830,7 @@
       /***/
     },
 
-    /***/ 4317: /***/ (__unused_webpack_module, exports) => {
+    /***/ 1731: /***/ (__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 @@
       /***/
     },
 
-    /***/ 8580: /***/ (
+    /***/ 9833: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -912,10 +912,10 @@
         },
       });
       const _interop_require_default = __webpack_require__(9608);
-      const _getimgprops = __webpack_require__(5640);
-      const _imagecomponent = __webpack_require__(6308);
+      const _getimgprops = __webpack_require__(5447);
+      const _imagecomponent = __webpack_require__(5057);
       const _imageloader = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6501)
+        __webpack_require__(7406)
       );
       function getImageProps(imgProps) {
         const { props } = (0, _getimgprops.getImgProps)(imgProps, {
@@ -947,7 +947,7 @@
       /***/
     },
 
-    /***/ 6501: /***/ (__unused_webpack_module, exports) => {
+    /***/ 7406: /***/ (__unused_webpack_module, exports) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -982,7 +982,7 @@
       /***/
     },
 
-    /***/ 2111: /***/ (
+    /***/ 934: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -999,8 +999,8 @@
 
       // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.0.0-rc-7771d3a7-20240827/node_modules/react/jsx-runtime.js
       var jsx_runtime = __webpack_require__(5815);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_h4bgdqagqtli4q7bnw2ajnn4vm/node_modules/next/image.js
-      var next_image = __webpack_require__(1878);
+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.0.0-rc-7771d3a7-20240827_re_qz7eh3ruj3cscolfxbcb265hza/node_modules/next/image.js
+      var next_image = __webpack_require__(7649);
       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 @@
       /***/
     },
 
-    /***/ 1878: /***/ (
+    /***/ 7649: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(8580);
+      module.exports = __webpack_require__(9833);
 
       /***/
     },
@@ -1045,7 +1045,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [2888, 9774, 179], () =>
-      __webpack_exec__(8908)
+      __webpack_exec__(8176)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 5867-HASH.js

Diff too large to display

Commit: 0926964

@sokra sokra force-pushed the sokra/serialization-fixes2 branch from 944a0ff to c77f094 Compare October 4, 2024 08:02
@sokra sokra force-pushed the sokra/new-backend-aggregation2 branch from 80ae577 to 44271e4 Compare October 4, 2024 08:03
@sokra sokra force-pushed the sokra/serialization-fixes2 branch from c77f094 to 418174a Compare October 4, 2024 15:50
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants