Skip to content

Conversation

devjiwonchoi
Copy link
Member

@devjiwonchoi devjiwonchoi commented Oct 21, 2025

app-dir/segment-cache/prefetch-runtime/prefetch-runtime.test.ts Transformation error (This experimental syntax requires enabling the parser plugin: "explicitResourceManagement". (440:6))
SyntaxError: This experimental syntax requires enabling the parser plugin: "explicitResourceManagement". (440:6)

10 errors
6110 unmodified
77 skipped
1 ok
Time elapsed: 4.245seconds

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. tests labels Oct 21, 2025
Copy link
Member Author

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

@ijjk
Copy link
Member

ijjk commented Oct 21, 2025

Failing test suites

Commit: 35f5edf | About building and testing Next.js

pnpm test-start-turbo test/e2e/app-dir/actions/app-action-node-middleware.test.ts (turbopack)

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

● app-dir action handling › should output exportName and filename info in manifest

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should support setting cookies when redirecting (with javascript)

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should support setting cookies when redirecting (no javascript)

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should replace current route when redirecting with type set to replace

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should support .bind

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should support notFound

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should support uploading files

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should reset the form state when the action redirects to a page that contains the same form

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should invalidate the client router cache if the redirect action triggers a revalidation

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should reset the form state when the action redirects to itself

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › should keep action instances identical

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › encryption › should be able to resolve other server actions and client components

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

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

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › request body decoding › should correctly decode multi-byte characters in the request body (node)

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › request body decoding › should correctly decode multi-byte characters in the request body (edge)

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › action discarding › should not trigger a refresh for a server action that gets discarded due to a navigation (without revalidation)

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action handling › action discarding › should trigger a refresh for a server action that gets discarded due to a navigation (with revalidation)

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

@ijjk
Copy link
Member

ijjk commented Oct 21, 2025

Failing test suites

Commit: 35f5edf | About building and testing Next.js

pnpm test-start-turbo test/e2e/app-dir/actions/app-action-form-state-node-middleware.test.ts (turbopack)

  • app-dir action useActionState > should support submitting form state with JS (DD)
  • app-dir action useActionState > should support submitting form state without JS (DD)
  • app-dir action useActionState > should support hydrating the app from progressively enhanced form request (DD)
  • app-dir action useActionState > should send the action to the provided permalink with form state when JS disabled (DD)
Expand output

● app-dir action useActionState › should support submitting form state with JS

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action useActionState › should support submitting form state without JS

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action useActionState › should support hydrating the app from progressively enhanced form request

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action useActionState › should send the action to the provided permalink with form state when JS disabled

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

pnpm test-start-turbo test/e2e/app-dir/actions/app-action-size-limit-invalid-node-middleware.test.ts (turbopack)

  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for multipart fetch actions > should not error for requests that stay below the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for multipart fetch actions > should not error for requests that are at the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for multipart fetch actions > should error for requests that exceed the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions > should not error for requests that stay below the size limit (DD)
  • app-dir action size limit invalid config > should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions > should error for requests that exceed the size limit (DD)
Expand output

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions › should not error for requests that stay below the size limit

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for plaintext fetch actions › should error for requests that exceed the size limit

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for multipart fetch actions › should not error for requests that stay below the size limit

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for multipart fetch actions › should not error for requests that are at the size limit

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● app-dir action size limit invalid config › should respect the size set in serverActions.bodySizeLimit for multipart fetch actions › should error for requests that exceed the size limit

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

pnpm test-start-turbo test/e2e/404-page-router/index.test.ts (turbopack)

  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > should not throw any errors when re-fetching the route info (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /error > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /error?with=query > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /not/a/real/page > should have the correct router parameters after it is ready (DD)
  • 404-page-router > 404-page-router with basePath of false and i18n of false and middleware true > for /not/a/real/page?with=query > should have the correct router parameters after it is ready (DD)
Expand output

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /not/a/real/page?with=query › should have the correct router parameters after it is ready

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/e2e/404-page-router/app/middleware.js'

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /not/a/real/page › should have the correct router parameters after it is ready

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/e2e/404-page-router/app/middleware.js'

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /error?with=query › should have the correct router parameters after it is ready

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/e2e/404-page-router/app/middleware.js'

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › for /error › should have the correct router parameters after it is ready

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/e2e/404-page-router/app/middleware.js'

● 404-page-router › 404-page-router with basePath of false and i18n of false and middleware true › should not throw any errors when re-fetching the route info

ENOENT: no such file or directory, open '/root/actions-runner/_work/next.js/next.js/test/e2e/404-page-router/app/middleware.js'

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

  • Error overlay for hydration errors in App router > includes a React docs link when hydration error does occur (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when client and server render different text (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when client renders an extra element (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when extra attributes set on server (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when client renders an extra text node (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when server renders an extra element (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when server renders an extra text node (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when server renders an extra text node in an invalid place (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when server renders an extra whitespace in an invalid place (DD)
  • Error overlay for hydration errors in App router > should show correct hydration error when client renders an extra node inside Suspense content (DD)
  • Error overlay for hydration errors in App router > should not show a hydration error when using useId in a client component (DD)
  • Error overlay for hydration errors in App router > should only show one hydration error when bad nesting happened - p under p (DD)
  • Error overlay for hydration errors in App router > should only show one hydration error when bad nesting happened - div under p (DD)
  • Error overlay for hydration errors in App router > should only show one hydration error when bad nesting happened - div > tr (DD)
  • Error overlay for hydration errors in App router > should show the highlighted bad nesting html snippet when bad nesting happened (DD)
  • Error overlay for hydration errors in App router > should show error if script is directly placed under html instead of body (DD)
Expand output

● Error overlay for hydration errors in App router › includes a React docs link when hydration error does occur

next dev exited unexpectedly with code/signal 1

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

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

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

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when client renders an extra element

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when extra attributes set on server

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when client renders an extra text node

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when server renders an extra element

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when server renders an extra text node

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when server renders an extra text node in an invalid place

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when server renders an extra whitespace in an invalid place

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show correct hydration error when client renders an extra node inside Suspense content

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should not show a hydration error when using useId in a client component

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should only show one hydration error when bad nesting happened - p under p

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should only show one hydration error when bad nesting happened - div under p

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should only show one hydration error when bad nesting happened - div > tr

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show the highlighted bad nesting html snippet when bad nesting happened

next dev exited unexpectedly with code/signal 1

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

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

● Error overlay for hydration errors in App router › should show error if script is directly placed under html instead of body

next dev exited unexpectedly with code/signal 1

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

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

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

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should support setting cookies when redirecting (with javascript)

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should support setting cookies when redirecting (no javascript)

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should replace current route when redirecting with type set to replace

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should support .bind

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should support notFound

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should support uploading files

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should reset the form state when the action redirects to a page that contains the same form

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should invalidate the client router cache if the redirect action triggers a revalidation

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should reset the form state when the action redirects to itself

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should keep action instances identical

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › "use server" export values › should error when exporting non async functions at build time

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › HMR › should support updating the action

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › should bundle external libraries if they are on the action layer

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › encryption › should be able to resolve other server actions and client components

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › request body decoding › should correctly decode multi-byte characters in the request body (node)

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › request body decoding › should correctly decode multi-byte characters in the request body (edge)

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › action discarding › should not trigger a refresh for a server action that gets discarded due to a navigation (without revalidation)

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

● app-dir action handling › action discarding › should trigger a refresh for a server action that gets discarded due to a navigation (with revalidation)

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

  445 |     return setTimeout(() => {
  446 |       reject(
> 447 |         new Error(
      |         ^
  448 |           `Failed to start server after ${ms}ms, waiting for this log pattern: ${this.serverReadyPattern}`
  449 |         )
  450 |       )

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

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

  • app-dir with middleware > should warn when deprecated middleware file is used (DD)
Expand output

● app-dir with middleware › should warn when deprecated middleware file is used

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

Expected substring: "The \"middleware\" file convention is deprecated. Please use \"proxy\" instead."
Received string:    "   ▲ Next.js 16.0.0-canary.16 (Turbopack)
   - Local:        http://localhost:38617
   - Network:      http://144.76.168.12:38617
   - Experiments (use with caution):
     ✓ clientRouterFilterRedirects·
 ✓ Starting...
Creating turbopack project {
  dir: '/tmp/next-install-c01f99972c275eb0eb2a84503b3706bbf66a03387d8a2a89132606888b47311f',
  testMode: true
}
 ✓ Compiled proxy in 291ms
 ✓ Ready in 1056ms
"

  11 |
  12 |   it('should warn when deprecated middleware file is used', async () => {
> 13 |     expect(next.cliOutput).toContain(
     |                            ^
  14 |       'The "middleware" file convention is deprecated. Please use "proxy" instead.'
  15 |     )
  16 |   })

  at Object.toContain (e2e/app-dir/app-middleware/app-middleware.test.ts:13:28)

pnpm test-dev test/development/app-dir/owner-stack/owner-stack.test.ts

  • app-dir - owner-stack > should log stitched error for browser uncaught errors (DD)
  • app-dir - owner-stack > should log stitched error for browser caught errors (DD)
  • app-dir - owner-stack > should log stitched error for SSR errors (DD)
  • app-dir - owner-stack > should capture unhandled promise rejections (DD)
Expand output

● app-dir - owner-stack › should log stitched error for browser uncaught errors

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

  343 |     await opts?.beforePageLoad?.(page)
  344 |
> 345 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  346 |   }
  347 |
  348 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (development/app-dir/owner-stack/owner-stack.test.ts:31:21)

● app-dir - owner-stack › should log stitched error for browser caught errors

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

  343 |     await opts?.beforePageLoad?.(page)
  344 |
> 345 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  346 |   }
  347 |
  348 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (development/app-dir/owner-stack/owner-stack.test.ts:87:21)

● app-dir - owner-stack › should log stitched error for SSR errors

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

  343 |     await opts?.beforePageLoad?.(page)
  344 |
> 345 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  346 |   }
  347 |
  348 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (development/app-dir/owner-stack/owner-stack.test.ts:125:21)

● app-dir - owner-stack › should capture unhandled promise rejections

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

  343 |     await opts?.beforePageLoad?.(page)
  344 |
> 345 |     await page.goto(url, { waitUntil: opts?.waitUntil ?? 'load' })
      |                ^
  346 |   }
  347 |
  348 |   back(options?: Parameters<Page['goBack']>[0]) {

  at Playwright.goto (lib/browsers/playwright.ts:345:16)
  at webdriver (lib/next-webdriver.ts:156:3)
  at Object.<anonymous> (development/app-dir/owner-stack/owner-stack.test.ts:159:21)

pnpm test-start test/e2e/middleware-general/test/index.test.ts

  • Middleware Runtime > with i18n > should handle 404 on fallback: false route correctly (DD)
  • Middleware Runtime > with i18n > should work with notFound: true correctly (DD)
  • Middleware Runtime > with i18n > should be able to rewrite on _next/static/chunks/pages/ 404 (DD)
  • Middleware Runtime > with i18n > should have valid middleware field in manifest (DD)
  • Middleware Runtime > with i18n > should have the custom config in the manifest (DD)
  • Middleware Runtime > with i18n > should have correct files in manifest (DD)
  • Middleware Runtime > with i18n > should not run middleware for on-demand revalidate (DD)
  • Middleware Runtime > with i18n > passes search params with rewrites (DD)
  • Middleware Runtime > with i18n > should have init header for NextResponse.redirect (DD)
  • Middleware Runtime > with i18n > should have correct query values for rewrite to ssg page (DD)
  • Middleware Runtime > with i18n > should have correct dynamic route params on client-transition to dynamic route (DD)
  • Middleware Runtime > with i18n > should have correct dynamic route params for middleware rewrite to dynamic route (DD)
  • Middleware Runtime > with i18n > should have correct route params for chained rewrite from middleware to config rewrite (DD)
  • Middleware Runtime > with i18n > should have correct route params for rewrite from config dynamic route (DD)
  • Middleware Runtime > with i18n > should have correct route params for rewrite from config non-dynamic route (DD)
  • Middleware Runtime > with i18n > should redirect the same for direct visit and client-transition (DD)
  • Middleware Runtime > with i18n > should rewrite the same for direct visit and client-transition (DD)
  • Middleware Runtime > with i18n > should rewrite correctly for non-SSG/SSP page (DD)
  • Middleware Runtime > with i18n > should respond with 400 on decode failure (DD)
  • Middleware Runtime > with i18n > should set fetch user agent correctly (DD)
  • Middleware Runtime > with i18n > allows to access env variables (DD)
  • Middleware Runtime > with i18n > should contain globalThis (DD)
  • Middleware Runtime > with i18n > should contain crypto APIs (DD)
  • Middleware Runtime > with i18n > should accept a URL instance for fetch (DD)
  • Middleware Runtime > with i18n > should allow to abort a fetch request (DD)
  • Middleware Runtime > with i18n > should validate & parse request url from any route (DD)
  • Middleware Runtime > with i18n > should validate & parse request url from a dynamic route with params (DD)
  • Middleware Runtime > with i18n > should validate & parse request url from a dynamic route with params and no query (DD)
  • Middleware Runtime > with i18n > should validate & parse request url from a dynamic route with params and query (DD)
  • Middleware Runtime > with i18n > should throw when using URL with a relative URL (DD)
  • Middleware Runtime > with i18n > should throw when using NextRequest with a relative URL (DD)
  • Middleware Runtime > with i18n > should throw when using Request with a relative URL (DD)
  • Middleware Runtime > with i18n > should warn when using Response.redirect with a relative URL (DD)
  • Middleware Runtime > with i18n > should warn when using NextResponse.redirect with a relative URL (DD)
  • Middleware Runtime > with i18n > should throw when using NextResponse.rewrite with a relative URL (DD)
  • Middleware Runtime > with i18n > should trigger middleware for data requests (DD)
  • Middleware Runtime > with i18n > should normalize data requests into page requests (DD)
  • Middleware Runtime > with i18n > should keep non data requests in their original shape (DD)
  • Middleware Runtime > with i18n > should add a rewrite header on data requests for rewrites (DD)
  • Middleware Runtime > with i18n > hard-navigates when the data request failed (DD)
  • Middleware Runtime > with i18n > allows shallow linking with middleware (DD)
  • Middleware Runtime > without i18n > should handle 404 on fallback: false route correctly (DD)
  • Middleware Runtime > without i18n > should work with notFound: true correctly (DD)
  • Middleware Runtime > without i18n > should be able to rewrite on _next/static/chunks/pages/ 404 (DD)
  • Middleware Runtime > without i18n > should have valid middleware field in manifest (DD)
  • Middleware Runtime > without i18n > should have the custom config in the manifest (DD)
  • Middleware Runtime > without i18n > should have correct files in manifest (DD)
  • Middleware Runtime > without i18n > should not run middleware for on-demand revalidate (DD)
  • Middleware Runtime > without i18n > passes search params with rewrites (DD)
  • Middleware Runtime > without i18n > should have init header for NextResponse.redirect (DD)
  • Middleware Runtime > without i18n > should have correct query values for rewrite to ssg page (DD)
  • Middleware Runtime > without i18n > should have correct dynamic route params on client-transition to dynamic route (DD)
  • Middleware Runtime > without i18n > should have correct dynamic route params for middleware rewrite to dynamic route (DD)
  • Middleware Runtime > without i18n > should have correct route params for chained rewrite from middleware to config rewrite (DD)
  • Middleware Runtime > without i18n > should have correct route params for rewrite from config dynamic route (DD)
  • Middleware Runtime > without i18n > should have correct route params for rewrite from config non-dynamic route (DD)
  • Middleware Runtime > without i18n > should redirect the same for direct visit and client-transition (DD)
  • Middleware Runtime > without i18n > should rewrite the same for direct visit and client-transition (DD)
  • Middleware Runtime > without i18n > should rewrite correctly for non-SSG/SSP page (DD)
  • Middleware Runtime > without i18n > should respond with 400 on decode failure (DD)
  • Middleware Runtime > without i18n > should set fetch user agent correctly (DD)
  • Middleware Runtime > without i18n > allows to access env variables (DD)
  • Middleware Runtime > without i18n > should contain globalThis (DD)
  • Middleware Runtime > without i18n > should contain crypto APIs (DD)
  • Middleware Runtime > without i18n > should accept a URL instance for fetch (DD)
  • Middleware Runtime > without i18n > should allow to abort a fetch request (DD)
  • Middleware Runtime > without i18n > should validate & parse request url from any route (DD)
  • Middleware Runtime > without i18n > should validate & parse request url from a dynamic route with params and query (DD)
  • Middleware Runtime > without i18n > should throw when using URL with a relative URL (DD)
  • Middleware Runtime > without i18n > should throw when using NextRequest with a relative URL (DD)
  • Middleware Runtime > without i18n > should throw when using Request with a relative URL (DD)
  • Middleware Runtime > without i18n > should warn when using Response.redirect with a relative URL (DD)
  • Middleware Runtime > without i18n > should warn when using NextResponse.redirect with a relative URL (DD)
  • Middleware Runtime > without i18n > should throw when using NextResponse.rewrite with a relative URL (DD)
  • Middleware Runtime > without i18n > should trigger middleware for data requests (DD)
  • Middleware Runtime > without i18n > should normalize data requests into page requests (DD)
  • Middleware Runtime > without i18n > should keep non data requests in their original shape (DD)
  • Middleware Runtime > without i18n > should add a rewrite header on data requests for rewrites (DD)
  • Middleware Runtime > without i18n > hard-navigates when the data request failed (DD)
  • Middleware Runtime > without i18n > allows shallow linking with middleware (DD)
Expand output

● Middleware Runtime › with i18n › should handle 404 on fallback: false route correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should work with notFound: true correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should be able to rewrite on _next/static/chunks/pages/ 404

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have valid middleware field in manifest

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have the custom config in the manifest

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct files in manifest

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should not run middleware for on-demand revalidate

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › passes search params with rewrites

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have init header for NextResponse.redirect

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct query values for rewrite to ssg page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct dynamic route params on client-transition to dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct dynamic route params for middleware rewrite to dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct route params for chained rewrite from middleware to config rewrite

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct route params for rewrite from config dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should have correct route params for rewrite from config non-dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should redirect the same for direct visit and client-transition

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should rewrite the same for direct visit and client-transition

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should rewrite correctly for non-SSG/SSP page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should respond with 400 on decode failure

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should set fetch user agent correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › allows to access env variables

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should contain globalThis

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should contain crypto APIs

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should accept a URL instance for fetch

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should allow to abort a fetch request

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should validate & parse request url from any route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should validate & parse request url from a dynamic route with params

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should validate & parse request url from a dynamic route with params and no query

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should validate & parse request url from a dynamic route with params and query

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should throw when using URL with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should throw when using NextRequest with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should throw when using Request with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should warn when using Response.redirect with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should warn when using NextResponse.redirect with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should throw when using NextResponse.rewrite with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should trigger middleware for data requests

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should normalize data requests into page requests

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should keep non data requests in their original shape

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › should add a rewrite header on data requests for rewrites

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › hard-navigates when the data request failed

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › with i18n › allows shallow linking with middleware

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should handle 404 on fallback: false route correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should work with notFound: true correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should be able to rewrite on _next/static/chunks/pages/ 404

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have valid middleware field in manifest

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have the custom config in the manifest

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct files in manifest

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should not run middleware for on-demand revalidate

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › passes search params with rewrites

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have init header for NextResponse.redirect

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct query values for rewrite to ssg page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct dynamic route params on client-transition to dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct dynamic route params for middleware rewrite to dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct route params for chained rewrite from middleware to config rewrite

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct route params for rewrite from config dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should have correct route params for rewrite from config non-dynamic route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should redirect the same for direct visit and client-transition

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should rewrite the same for direct visit and client-transition

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should rewrite correctly for non-SSG/SSP page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should respond with 400 on decode failure

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should set fetch user agent correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › allows to access env variables

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should contain globalThis

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should contain crypto APIs

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should accept a URL instance for fetch

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should allow to abort a fetch request

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should validate & parse request url from any route

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should validate & parse request url from a dynamic route with params and query

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should throw when using URL with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should throw when using NextRequest with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should throw when using Request with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should warn when using Response.redirect with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should warn when using NextResponse.redirect with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should throw when using NextResponse.rewrite with a relative URL

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should trigger middleware for data requests

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should normalize data requests into page requests

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should keep non data requests in their original shape

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › should add a rewrite header on data requests for rewrites

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › hard-navigates when the data request failed

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Middleware Runtime › without i18n › allows shallow linking with middleware

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-general/app/middleware.js'

● Test suite failed to run

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

  21 |   const setup = ({ i18n }: { i18n: boolean }) => {
  22 |     afterAll(async () => {
> 23 |       await next.destroy()
     |                  ^
  24 |     })
  25 |     beforeAll(async () => {
  26 |       next = await createNext({

  at Object.destroy (e2e/middleware-general/test/index.test.ts:23:18)

● Test suite failed to run

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

  21 |   const setup = ({ i18n }: { i18n: boolean }) => {
  22 |     afterAll(async () => {
> 23 |       await next.destroy()
     |                  ^
  24 |     })
  25 |     beforeAll(async () => {
  26 |       next = await createNext({

  at Object.destroy (e2e/middleware-general/test/index.test.ts:23:18)

pnpm test-dev test/e2e/app-dir/proxy-with-middleware/proxy-with-middleware.test.ts

  • proxy-with-middleware > should error when both middleware and proxy files are detected (DD)
Expand output

● proxy-with-middleware › should error when both middleware and proxy files are detected

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

Expected substring: "Both middleware file \"./middleware.ts\" and proxy file \"./proxy.ts\" are detected. Please use \"./proxy.ts\" only."
Received string:    "   ▲ Next.js 16.0.0-canary.16 (webpack, Cache Components)
   - Local:        http://localhost:45001
   - Network:      http://157.180.14.48:45001
   - Experiments (use with caution):
     ✓ reactDebugChannel (enabled by `__NEXT_EXPERIMENTAL_DEBUG_CHANNEL`)·
 ✓ Starting...·
   We detected TypeScript in your project and created a tsconfig.json file for you.
 ✓ Ready in 2.1s
"

  18 |     if (isNextDev) {
  19 |       await next.start().catch(() => {})
> 20 |       expect(next.cliOutput).toContain(message)
     |                              ^
  21 |     } else {
  22 |       const { cliOutput } = await next.build()
  23 |       expect(cliOutput).toContain(message)

  at Object.toContain (e2e/app-dir/proxy-with-middleware/proxy-with-middleware.test.ts:20:30)

pnpm test-start test/e2e/middleware-base-path/test/index.test.ts

  • Middleware base tests > should execute from absolute paths (DD)
  • Middleware base tests > router.query must exist when Link clicked page routing (DD)
  • Middleware base tests > should allow client-side navigation to the root (DD)
Expand output

● Middleware base tests › should execute from absolute paths

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-base-path/app/middleware.js'

● Middleware base tests › router.query must exist when Link clicked page routing

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-base-path/app/middleware.js'

● Middleware base tests › should allow client-side navigation to the root

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-base-path/app/middleware.js'

● Test suite failed to run

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

  19 |     })
  20 |   })
> 21 |   afterAll(() => next.destroy())
     |                       ^
  22 |
  23 |   it('should execute from absolute paths', async () => {
  24 |     const browser = await webdriver(next.url, '/redirect-with-basepath')

  at Object.destroy (e2e/middleware-base-path/test/index.test.ts:21:23)

pnpm test-dev-turbo test/e2e/middleware-rewrites/test/index.test.ts (turbopack)

  • Middleware Rewrite > should handle catch-all rewrite correctly (DD)
  • Middleware Rewrite > should handle next.config.js rewrite with body correctly (DD)
  • Middleware Rewrite > should handle middleware rewrite with body correctly (DD)
  • Middleware Rewrite > should handle static dynamic rewrite from middleware correctly (DD)
  • Middleware Rewrite > should handle static rewrite from next.config.js correctly (DD)
  • Middleware Rewrite > should not have un-necessary data request on rewrite (DD)
  • Middleware Rewrite > should not mix component cache when navigating between dynamic routes (DD)
  • Middleware Rewrite > should have props for afterFiles rewrite to SSG page (DD)
  • Middleware Rewrite > should hard navigate on 404 for data request (DD)
  • Middleware Rewrite > should rewrite correctly when navigating via history (DD)
  • Middleware Rewrite > should rewrite correctly when navigating via history after query update (DD)
  • Middleware Rewrite > should return HTML/data correctly for pre-rendered page (DD)
  • Middleware Rewrite > should override with rewrite internally correctly (DD)
  • Middleware Rewrite > should rewrite to data urls for incoming data request internally rewritten (DD)
  • Middleware Rewrite > should override with rewrite externally correctly (DD)
  • Middleware Rewrite > should rewrite to the external url for incoming data request externally rewritten (DD)
  • Middleware Rewrite > should rewrite to fallback: true page successfully (DD)
  • Middleware Rewrite > should allow to opt-out prefetch caching (DD)
  • Middleware Rewrite > should allow to rewrite keeping the locale in pathname (DD)
  • Middleware Rewrite > should allow to rewrite to a different locale (DD)
  • Middleware Rewrite > should behave consistently on recursive rewrites (DD)
  • Middleware Rewrite > should allow to switch locales (DD)
  • Middleware Rewrite > should allow to rewrite to a beforeFiles rewrite config (DD)
  • Middleware Rewrite > should allow to rewrite to a afterFiles rewrite config (DD)
  • Middleware Rewrite > should have correct query info for dynamic route after query hydration (DD)
  • Middleware Rewrite > should handle shallow navigation correctly (non-dynamic page) (DD)
  • Middleware Rewrite > should handle shallow navigation correctly (dynamic page) (DD)
  • Middleware Rewrite > should resolve dynamic route after rewrite correctly (DD)
  • Middleware Rewrite > should add a cookie and rewrite to a/b test (DD)
  • Middleware Rewrite > should clear query parameters (DD)
  • Middleware Rewrite > should rewrite to about page (DD)
  • Middleware Rewrite > support colons in path (DD)
  • Middleware Rewrite > can rewrite to path with colon (DD)
  • Middleware Rewrite > can rewrite from path with colon (DD)
  • Middleware Rewrite > can rewrite from path with colon and retain query parameter (DD)
  • Middleware Rewrite > can rewrite to path with colon and retain query parameter (DD)
  • Middleware Rewrite > should rewrite when not using localhost (DD)
  • Middleware Rewrite > should rewrite to Vercel (DD)
  • Middleware Rewrite > should rewrite without hard navigation (DD)
  • Middleware Rewrite > should not call middleware with shallow push (DD)
  • Middleware Rewrite > should correctly rewriting to a different dynamic path (DD)
  • Middleware Rewrite > should not have unexpected errors (DD)
  • Middleware Rewrite > /fr should add a cookie and rewrite to a/b test (DD)
  • Middleware Rewrite > /fr should clear query parameters (DD)
  • Middleware Rewrite > /fr should rewrite to about page (DD)
  • Middleware Rewrite > /fr support colons in path (DD)
  • Middleware Rewrite > /fr can rewrite to path with colon (DD)
  • Middleware Rewrite > /fr can rewrite from path with colon (DD)
  • Middleware Rewrite > /fr can rewrite from path with colon and retain query parameter (DD)
  • Middleware Rewrite > /fr can rewrite to path with colon and retain query parameter (DD)
  • Middleware Rewrite > /fr should rewrite when not using localhost (DD)
  • Middleware Rewrite > /fr should rewrite to Vercel (DD)
  • Middleware Rewrite > /fr should rewrite without hard navigation (DD)
  • Middleware Rewrite > /fr should not call middleware with shallow push (DD)
  • Middleware Rewrite > /fr should correctly rewriting to a different dynamic path (DD)
  • Middleware Rewrite > should not have unexpected errors (DD)
Expand output

● Middleware Rewrite › should handle catch-all rewrite correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should handle next.config.js rewrite with body correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should handle middleware rewrite with body correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should handle static dynamic rewrite from middleware correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should handle static rewrite from next.config.js correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should not have un-necessary data request on rewrite

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should not mix component cache when navigating between dynamic routes

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should have props for afterFiles rewrite to SSG page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should hard navigate on 404 for data request

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › includes the locale in rewrites by default

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite correctly when navigating via history

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite correctly when navigating via history after query update

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should return HTML/data correctly for pre-rendered page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should override with rewrite internally correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite to data urls for incoming data request internally rewritten

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should override with rewrite externally correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite to the external url for incoming data request externally rewritten

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite to fallback: true page successfully

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should allow to opt-out prefetch caching

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should allow to rewrite keeping the locale in pathname

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should allow to rewrite to a different locale

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should behave consistently on recursive rewrites

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should allow to switch locales

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should allow to rewrite to a beforeFiles rewrite config

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should allow to rewrite to a afterFiles rewrite config

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should have correct query info for dynamic route after query hydration

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should handle shallow navigation correctly (non-dynamic page)

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should handle shallow navigation correctly (dynamic page)

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should resolve dynamic route after rewrite correctly

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should add a cookie and rewrite to a/b test

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should clear query parameters

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite to about page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › support colons in path

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › can rewrite to path with colon

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › can rewrite from path with colon

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › can rewrite from path with colon and retain query parameter

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › can rewrite to path with colon and retain query parameter

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite when not using localhost

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite to Vercel

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should rewrite without hard navigation

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should not call middleware with shallow push

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should correctly rewriting to a different dynamic path

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should not have unexpected errors

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should add a cookie and rewrite to a/b test

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should clear query parameters

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should rewrite to about page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr support colons in path

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr can rewrite to path with colon

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr can rewrite from path with colon

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr can rewrite from path with colon and retain query parameter

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr can rewrite to path with colon and retain query parameter

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should rewrite when not using localhost

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should rewrite to Vercel

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should rewrite without hard navigation

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should not call middleware with shallow push

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › /fr should correctly rewriting to a different dynamic path

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Middleware Rewrite › should not have unexpected errors

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-rewrites/app/middleware.js'

● Test suite failed to run

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

  12 |   let next: NextInstance
  13 |
> 14 |   afterAll(() => next.destroy())
     |                       ^
  15 |   beforeAll(async () => {
  16 |     next = await createNext({
  17 |       files: {

  at Object.destroy (e2e/middleware-rewrites/test/index.test.ts:14:23)

pnpm test-dev test/e2e/middleware-responses/test/index.test.ts

  • Middleware Responses > responds with multiple cookies (DD)
  • Middleware Responses > should not fail when returning a stream (DD)
  • Middleware Responses > should not fail when returning a text body (DD)
  • Middleware Responses > should respond with a 401 status code (DD)
  • Middleware Responses > should respond with one header (DD)
  • Middleware Responses > should respond with two headers (DD)
  • Middleware Responses > should respond appending headers headers (DD)
  • Middleware Responses > /fr responds with multiple cookies (DD)
  • Middleware Responses > /fr should not fail when returning a stream (DD)
  • Middleware Responses > /fr should not fail when returning a text body (DD)
  • Middleware Responses > /fr should respond with a 401 status code (DD)
  • Middleware Responses > /fr should respond with one header (DD)
  • Middleware Responses > /fr should respond with two headers (DD)
  • Middleware Responses > /fr should respond appending headers headers (DD)
Expand output

● Middleware Responses › responds with multiple cookies

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › should not fail when returning a stream

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › should not fail when returning a text body

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › should respond with a 401 status code

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › should respond with one header

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › should respond with two headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › should respond appending headers headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr responds with multiple cookies

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr should not fail when returning a stream

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr should not fail when returning a text body

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr should respond with a 401 status code

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr should respond with one header

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr should respond with two headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Middleware Responses › /fr should respond appending headers headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-responses/app/middleware.js'

● Test suite failed to run

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

   9 |   let next: NextInstance
  10 |
> 11 |   afterAll(() => next.destroy())
     |                       ^
  12 |   beforeAll(async () => {
  13 |     next = await createNext({
  14 |       files: {

  at Object.destroy (e2e/middleware-responses/test/index.test.ts:11:23)

pnpm test-start test/e2e/middleware-request-header-overrides/test/index.test.ts

  • Middleware Request Headers Overrides > Edge Functions Backend > Adds new headers (DD)
  • Middleware Request Headers Overrides > Edge Functions Backend > Deletes headers (DD)
  • Middleware Request Headers Overrides > Edge Functions Backend > Updates headers (DD)
  • Middleware Request Headers Overrides > Serverless Functions Backend > Adds new headers (DD)
  • Middleware Request Headers Overrides > Serverless Functions Backend > Deletes headers (DD)
  • Middleware Request Headers Overrides > Serverless Functions Backend > Updates headers (DD)
  • Middleware Request Headers Overrides > getServerSideProps Backend > Adds new headers (DD)
  • Middleware Request Headers Overrides > getServerSideProps Backend > Deletes headers (DD)
  • Middleware Request Headers Overrides > getServerSideProps Backend > Updates headers (DD)
Expand output

● Middleware Request Headers Overrides › Serverless Functions Backend › Adds new headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › Serverless Functions Backend › Deletes headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › Serverless Functions Backend › Updates headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › Edge Functions Backend › Adds new headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › Edge Functions Backend › Deletes headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › Edge Functions Backend › Updates headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › getServerSideProps Backend › Adds new headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › getServerSideProps Backend › Deletes headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Middleware Request Headers Overrides › getServerSideProps Backend › Updates headers

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-request-header-overrides/app/middleware.js'

● Test suite failed to run

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

  11 |   let next: NextInstance
  12 |
> 13 |   afterAll(() => next.destroy())
     |                       ^
  14 |   beforeAll(async () => {
  15 |     next = await createNext({
  16 |       files: {

  at Object.destroy (e2e/middleware-request-header-overrides/test/index.test.ts:13:23)

pnpm test-dev test/e2e/middleware-redirects/test/index.test.ts

  • Middleware Redirect > should redirect correctly with redirect in next.config.js (DD)
  • Middleware Redirect > does not include the locale in redirects by default (DD)
  • Middleware Redirect > should redirect to data urls with data requests and internal redirects (DD)
  • Middleware Redirect > should redirect to external urls with data requests and external redirects (DD)
  • Middleware Redirect > should redirect (DD)
  • Middleware Redirect > should implement internal redirects (DD)
  • Middleware Redirect > should redirect cleanly with the original url param (DD)
  • Middleware Redirect > should redirect multiple times (DD)
  • Middleware Redirect > should redirect (infinite-loop) (DD)
  • Middleware Redirect > should redirect to api route with locale (DD)
  • Middleware Redirect > should redirect with a fragment (DD)
  • Middleware Redirect > /fr should redirect (DD)
  • Middleware Redirect > /fr should implement internal redirects (DD)
  • Middleware Redirect > /fr should redirect cleanly with the original url param (DD)
  • Middleware Redirect > /fr should redirect multiple times (DD)
  • Middleware Redirect > /fr should redirect (infinite-loop) (DD)
  • Middleware Redirect > /fr should redirect to api route with locale (DD)
  • Middleware Redirect > /fr should redirect with a fragment (DD)
Expand output

● Middleware Redirect › should redirect correctly with redirect in next.config.js

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › does not include the locale in redirects by default

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect to data urls with data requests and internal redirects

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect to external urls with data requests and external redirects

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should implement internal redirects

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect cleanly with the original url param

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect multiple times

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect (infinite-loop)

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect to api route with locale

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › should redirect with a fragment

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should redirect

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should implement internal redirects

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should redirect cleanly with the original url param

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should redirect multiple times

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should redirect (infinite-loop)

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should redirect to api route with locale

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Middleware Redirect › /fr should redirect with a fragment

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-redirects/app/middleware.js'

● Test suite failed to run

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

  11 |   let next: NextInstance
  12 |
> 13 |   afterAll(() => next.destroy())
     |                       ^
  14 |   beforeAll(async () => {
  15 |     next = await createNext({
  16 |       files: {

  at Object.destroy (e2e/middleware-redirects/test/index.test.ts:13:23)

pnpm test-dev test/e2e/middleware-shallow-link/index.test.ts

  • browser-shallow-navigation > should render the correct page (DD)
Expand output

● browser-shallow-navigation › should render the correct page

ENOENT: no such file or directory, lstat '/root/actions-runner/_work/next.js/next.js/test/e2e/middleware-shallow-link/app/middleware.js'

● Test suite failed to run

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

  17 |   })
  18 |
> 19 |   afterAll(() => next.destroy())
     |                       ^
  20 |
  21 |   it('should render the correct page', async () => {
  22 |     const browser = await webdriver(next.url, '/')

  at Object.destroy (e2e/middleware-shallow-link/index.test.ts:19:23)

pnpm test-start test/e2e/middleware-custom-matchers/test/node-runtime.test.ts

  • Middleware custom matchers > should match missing header correctly (DD)
  • Middleware custom matchers > should match missing query correctly (DD)
  • Middleware custom matchers > should match source path (DD)
  • Middleware custom matchers > should match has header (DD)
  • Middleware custom matchers > should match has query (DD)
  • Middleware custom matchers > should match has cookie (DD)
  • Middleware custom matchers > should match has host (DD)
  • Middleware custom matchers > should match has header value (DD)
  • Middleware custom matchers > should match has query on client routing (DD)
  • Middleware custom matchers > should match has cookie on client routing (DD)
Expand output

● Middleware custom matchers › should match missing header correctly

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match missing query correctly

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match source path

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has header

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has query

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has cookie

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has host

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has header value

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has query on client routing

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Middleware custom matchers › should match has cookie on client routing

next build failed with code/signal 1

  74 |             if (code || signal)
  75 |               reject(
> 76 |                 new Error(
     |                 ^
  77 |                   `next build failed with code/signal ${code || signal}`
  78 |                 )
  79 |               )

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

● Test suite failed to run

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

  29 |     })
  30 |   })
> 31 |   afterAll(() => next.destroy())
     |                       ^
  32 |
  33 |   const runTests = () => {
  34 |     it('should match missing header correctly', async () => {

  at Object.destroy (e2e/middleware-custom-matchers/test/index.test.ts:31:23)

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

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

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

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

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

  at waitForSelector (lib/browsers/playwright.ts:521:29)
  at Playwright._chain (lib/browsers/playwright.ts:651:23)
  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)
  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)
  at Object.waitForElementByCss (e2e/app-dir/app-basepath/index.test.ts:16:19)

pnpm test-start test/e2e/deprecation-warnings/deprecation-warnings.test.ts

  • deprecation-warnings > with deprecated config options > should emit deprecation warnings for explicitly configured deprecated options (DD)
Expand output

● deprecation-warnings › with deprecated config options › should emit deprecation warnings for explicitly configured deprecated options

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

Expected substring: "experimental.middlewarePrefetch"
Received string:    " ⚠ `experimental.instrumentationHook` is no longer needed, because `instrumentation.js` is available by default. You can remove it from next.config.js.
 ⚠ Invalid next.config.js options detected:·
 ⚠     Unrecognized key(s) in object: 'instrumentationHook' at \"experimental\"
 ⚠ See more info here: https://nextjs.org/docs/messages/invalid-next-config
   ▲ Next.js 16.0.0-canary.16 (webpack)
   - Experiments (use with caution):
     ✓ externalProxyRewritesResolve
     ? instrumentationHook (invalid experimental key)
     · proxyClientMaxBodySize: \"5mb\"
     · proxyPrefetch: \"strict\"·
   Creating an optimized production build ...
 ✓ Compiled successfully in 5.8s
   Running TypeScript ...·
   We detected TypeScript in your project and created a tsconfig.json file for you.
   Collecting page data ...
   Generating static pages (0/3) ...
 ✓ Generating static pages (3/3) in 715.7ms
   Finalizing page optimization ...
   Collecting build traces ...·
Route (app)
┌ ○ /
└ ○ /_not-found··
○  (Static)  prerendered as static content·
   ▲ Next.js 16.0.0-canary.16
   - Local:        http://localhost:43425
   - Network:      http://95.216.22.21:43425·
 ✓ Starting...
 ⚠ `experimental.instrumentationHook` is no longer needed, because `instrumentation.js` is available by default. You can remove it from next.config.js.
 ⚠ Invalid next.config.js options detected:·
 ⚠     Unrecognized key(s) in object: 'instrumentationHook' at \"experimental\"
 ⚠ See more info here: https://nextjs.org/docs/messages/invalid-next-config
 ✓ Ready in 210ms
"

  35 |
  36 |       // Should warn about middleware config options
> 37 |       expect(logs).toContain('experimental.middlewarePrefetch')
     |                    ^
  38 |       expect(logs).toContain('Please use `experimental.proxyPrefetch` instead')
  39 |
  40 |       expect(logs).toContain('experimental.middlewareClientMaxBodySize')

  at Object.toContain (e2e/deprecation-warnings/deprecation-warnings.test.ts:37:20)

@ijjk
Copy link
Member

ijjk commented Oct 21, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
buildDuration 17.3s 15.7s N/A
buildDurationCached 14.4s 11.4s N/A
nodeModulesSize 452 MB 452 MB
nextStartRea..uration (ms) 679ms 679ms
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
1916.HASH.js gzip 169 B 169 B
9056-HASH.js gzip 53.9 kB 53.8 kB N/A
9225-HASH.js gzip 5.32 kB 5.32 kB N/A
c57d0559-HASH.js gzip 62.1 kB 62.1 kB N/A
framework-HASH.js gzip 59.8 kB 59.8 kB
main-app-HASH.js gzip 256 B 257 B N/A
main-HASH.js gzip 39.8 kB 39.8 kB N/A
webpack-HASH.js gzip 1.69 kB 1.69 kB N/A
Overall change 60 kB 60 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 182 B 182 B
css-HASH.js gzip 334 B 334 B
dynamic-HASH.js gzip 1.8 kB 1.8 kB N/A
edge-ssr-HASH.js gzip 256 B 255 B N/A
head-HASH.js gzip 350 B 352 B N/A
hooks-HASH.js gzip 384 B 381 B N/A
image-HASH.js gzip 4.79 kB 4.79 kB N/A
index-HASH.js gzip 259 B 260 B N/A
link-HASH.js gzip 2.5 kB 2.51 kB N/A
routerDirect..HASH.js gzip 318 B 317 B N/A
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.52 kB 1.52 kB
Client Build Manifests
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
_buildManifest.js gzip 716 B 719 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
index.html gzip 524 B 522 B N/A
link.html gzip 537 B 537 B
withRouter.html gzip 519 B 518 B N/A
Overall change 537 B 537 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
edge-ssr.js gzip 128 kB 128 kB N/A
page.js gzip 259 kB 259 kB ⚠️ +115 B
Overall change 259 kB 259 kB ⚠️ +115 B
Middleware size
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
middleware-b..fest.js gzip 639 B 643 B N/A
middleware-r..fest.js gzip 156 B 157 B N/A
middleware.js gzip 33.5 kB 33.5 kB N/A
edge-runtime..pack.js gzip 846 B 846 B
Overall change 846 B 846 B
Next Runtimes
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
app-page-exp...dev.js gzip 293 kB 293 kB N/A
app-page-exp..prod.js gzip 160 kB 160 kB
app-page-tur...dev.js gzip 293 kB 293 kB
app-page-tur..prod.js gzip 160 kB 160 kB
app-page-tur...dev.js gzip 289 kB 289 kB N/A
app-page-tur..prod.js gzip 158 kB 158 kB
app-page.run...dev.js gzip 289 kB 289 kB
app-page.run..prod.js gzip 158 kB 158 kB
app-route-ex...dev.js gzip 70 kB 70 kB
app-route-ex..prod.js gzip 48.7 kB 48.7 kB
app-route-tu...dev.js gzip 70.1 kB 70.1 kB
app-route-tu..prod.js gzip 48.7 kB 48.7 kB
app-route-tu...dev.js gzip 69.7 kB 69.7 kB
app-route-tu..prod.js gzip 48.5 kB 48.5 kB
app-route.ru...dev.js gzip 69.7 kB 69.7 kB
app-route.ru..prod.js gzip 48.5 kB 48.5 kB
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 328 B 328 B
dist_client_...dev.js gzip 320 B 320 B
dist_client_...dev.js gzip 318 B 318 B
pages-api-tu...dev.js gzip 42 kB 42 kB
pages-api-tu..prod.js gzip 32 kB 32 kB
pages-api.ru...dev.js gzip 42 kB 42 kB
pages-api.ru..prod.js gzip 32 kB 32 kB
pages-turbo....dev.js gzip 51.9 kB 51.9 kB
pages-turbo...prod.js gzip 39.3 kB 39.3 kB
pages.runtim...dev.js gzip 51.9 kB 51.9 kB
pages.runtim..prod.js gzip 39.3 kB 39.3 kB
server.runti..prod.js gzip 78.2 kB 78.2 kB
Overall change 2.1 MB 2.1 MB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js jiwon/10-20-run_codemod_middleware-to-proxy_on_test_e2e_ Change
0.pack gzip 3.16 MB 3.16 MB ⚠️ +6.36 kB
index.pack gzip 93.9 kB 93.2 kB N/A
Overall change 3.16 MB 3.16 MB ⚠️ +6.36 kB
Diff details
Diff for page.js

Diff too large to display

Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for css-HASH.js
@@ -1,7 +1,31 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 3593: /***/ (
+    /***/ 5832: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
+
+    /***/ 6471: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/css",
+        function () {
+          return __webpack_require__(7839);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 7839: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -15,7 +39,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7634);
+        __webpack_require__(5832);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
 
       /***/
     },
-
-    /***/ 4569: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/css",
-        function () {
-          return __webpack_require__(3593);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7634: /***/ (module) => {
-      // extracted by mini-css-extract-plugin
-      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(4569)
+      __webpack_exec__(6471)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 1033: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/dynamic",
-        function () {
-          return __webpack_require__(2283);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 2283: /***/ (
+    /***/ 133: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -33,7 +16,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(1503);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4939);
+        __webpack_require__(7514);
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -42,12 +25,12 @@
       const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
         () =>
           __webpack_require__
-            .e(/* import() */ 1916)
-            .then(__webpack_require__.bind(__webpack_require__, 1916))
+            .e(/* import() */ 3862)
+            .then(__webpack_require__.bind(__webpack_require__, 3862))
             .then((mod) => mod.Hello),
         {
           loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 1916],
+            webpack: () => [/*require.resolve*/ 3862],
           },
         }
       );
@@ -74,17 +57,24 @@
       /***/
     },
 
-    /***/ 4939: /***/ (
-      module,
+    /***/ 431: /***/ (
+      __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(5121);
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/dynamic",
+        function () {
+          return __webpack_require__(133);
+        },
+      ]);
+      if (false) {
+      }
 
       /***/
     },
 
-    /***/ 5121: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1709: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -117,7 +107,7 @@
         __webpack_require__(2223)
       );
       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(7622)
+        __webpack_require__(2522)
       );
       const isServerSide = "object" === "undefined";
       // Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -217,7 +207,7 @@
       /***/
     },
 
-    /***/ 5160: /***/ (
+    /***/ 2463: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -244,7 +234,7 @@
       /***/
     },
 
-    /***/ 7622: /***/ (
+    /***/ 2522: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -286,7 +276,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(2223)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(5160);
+      const _loadablecontextsharedruntime = __webpack_require__(2463);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -518,13 +508,23 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
 
       /***/
     },
+
+    /***/ 7514: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(1709);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1033)
+      __webpack_exec__(431)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9804],
   {
-    /***/ 1679: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/hooks",
-        function () {
-          return __webpack_require__(9198);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 9198: /***/ (
+    /***/ 2592: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -76,13 +59,30 @@
 
       /***/
     },
+
+    /***/ 3925: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/hooks",
+        function () {
+          return __webpack_require__(2592);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(1679)
+      __webpack_exec__(3925)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

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

Diff too large to display

Commit: 35f5edf

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

Labels

created-by: Next.js team PRs by the Next.js team. tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants