Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[turbopack] Analyze null safe access operators to trim effects#85840

New issue

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

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

Already on GitHub?Sign in to your account

Draft
lukesandberg wants to merge1 commit intoamp_amp_analysis
base:amp_amp_analysis
Choose a base branch
Loading
fromnull_safe_access_analysis

Conversation

@lukesandberg
Copy link
Contributor

No description provided.

@ijjkijjk added created-by: Turbopack teamPRs by the Turbopack team. TurbopackRelated to Turbopack with Next.js. labelsNov 6, 2025
@lukesandbergGraphite App
Copy link
ContributorAuthor

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stackon Graphite.
Learn more

This stack of pull requests is managed byGraphite. Learn more aboutstacking.

@lukesandberglukesandberg changed the titlesupport null safe access[turbopack] Abalyze null safe access operators to trim effectsNov 6, 2025
@lukesandberglukesandberg changed the title[turbopack] Abalyze null safe access operators to trim effects[turbopack] Analyze null safe access operators to trim effectsNov 6, 2025
@ijjk
Copy link
Member

ijjk commentedNov 6, 2025
edited
Loading

Failing test suites

Commit:92d1b6a |About building and testing Next.js

pnpm test-dev test/e2e/app-dir/next-config-ts-native-ts/dynamic-import-esm/next-config-ts-dynamic-import-esm.test.ts

  • next-config-ts-dynamic-import-esm > should support dynamic import (ESM) (DD)
Expand output

● next-config-ts-dynamic-import-esm › should support dynamic import (ESM)

next dev exited unexpectedly with code/signal 1  92 |           if (code || signal) {  93 |             this.childProcess = undefined> 94 |             const error = new Error(     |                           ^  95 |               `next dev exited unexpectedly with code/signal ${code || signal}`  96 |             )  97 |             clearTimeout(serverReadyTimeoutId)  at ChildProcess.<anonymous> (lib/next-modes/next-dev.ts:94:27)

pnpm test-start-turbo test/e2e/app-dir/actions/app-action.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 atext/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 usesredirect (DD)
  • app-dir action handling > redirects > redirects properly when route handler usespermanentRedirect (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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir action handling › should support .bind

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir action handling › should support notFound

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir action handling › should support uploading files

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-start-turbo test/e2e/app-dir/app-middleware-proxy/app-middleware-proxy-without-pages-dir.test.ts (turbopack)

  • app dir - proxy without pages dir > Updates headers (DD)
Expand output

● app dir - proxy without pages dir › Updates headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-start-turbo test/e2e/app-dir/app-middleware-proxy/app-middleware-proxy-in-src-dir.test.ts (turbopack)

  • app dir - with proxy in src dir > works without crashing when using RequestStore (DD)
Expand output

● app dir - with proxy in src dir › works without crashing when using RequestStore

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test test/integration/future/test/index.test.js (turbopack)

  • excludeDefaultMomentLocales > production mode > should load momentjs (DD)
Expand output

● excludeDefaultMomentLocales › production mode › should load momentjs

expect(received).toEqual(expected) // deep equalityExpected: ["en"]Received: null  31 |         expect(await browser.elementByCss('h1').text()).toMatch(/current time/i)  32 |         const locales = await browser.eval('moment.locales()')> 33 |         expect(locales).toEqual(['en'])     |                         ^  34 |         expect(locales.length).toBe(1)  35 |         await browser.close()  36 |       })  at Object.toEqual (integration/future/test/index.test.js:33:25)

pnpm test test/integration/app-aspath/test/index.test.js (turbopack)

  • Image Component Trailing Slash Tests > development mode > should include trailing slash when trailingSlash is set on config file during next dev (DD)
Expand output

● Image Component Trailing Slash Tests › development mode › should include trailing slash when trailingSlash is set on config file during next dev

expect(received).toMatch(expected)Matcher error: received value must be a stringReceived has value: null  37 |             `document.getElementById('${id}').src`  38 |           )> 39 |           expect(srcImage).toMatch(     |                            ^  40 |             /\/_next\/image\/\?url=%2F_next%2Fstatic%2Fmedia%2Ftest(.+).jpg&w=828&q=75/  41 |           )  42 |         } finally {  at Object.toMatch (integration/next-image-legacy/trailing-slash/test/index.test.ts:39:28)

● Image Component Trailing Slash Tests › development mode › should include trailing slash when trailingSlash is set on config file during next dev

expect.assertions(1)Expected one assertion to be called but received zero assertion calls.  28 |  29 |       it('should include trailing slash when trailingSlash is set on config file during next dev', async () => {> 30 |         expect.assertions(1)     |                ^  31 |         let browser  32 |  33 |         try {  at Object.assertions (integration/next-image-legacy/trailing-slash/test/index.test.ts:30:16)

● Test suite failed to run

browserContext.close: Target page, context or browser has been closed  42 | export async function quit() {  43 |   await Promise.all(pendingTeardown.map((fn) => fn()))> 44 |   await context?.close()     |   ^  45 |   await browser?.close()  46 |   context = undefined  47 |   browser = undefined  at quit (lib/browsers/playwright.ts:44:3)  at Object.<anonymous> (lib/next-webdriver.ts:45:7)

pnpm test-start-turbo test/e2e/app-dir/app-middleware/app-middleware-without-pages-dir.test.ts (turbopack)

  • app dir - middleware without pages dir > Updates headers (DD)
Expand output

● app dir - middleware without pages dir › Updates headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test test/integration/config/test/index.test.js (turbopack)

  • Configuration > should have env variables available on the client (DD)
Expand output

● Configuration › should have env variables available on the client

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#env') to be visible  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (integration/config/test/index.test.js:55:36)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (integration/config/test/index.test.js:55:57)

pnpm test test/integration/basepath-root-catch-all/test/index.test.js (turbopack)

  • production mode > should use correct data URL for root catch-all (DD)
Expand output

● production mode › should use correct data URL for root catch-all

expect(received).toBe(expected) // Object.is equalityExpected: "/_next/data/2erxty5IDwfZRYXOQ1gG_/root/catch-all.json"Received: "/root/catch-all"  24 |     const dataUrl = await browser.elementByCss('#url').text()  25 |     const { pathname } = url.parse(dataUrl)> 26 |     expect(pathname).toBe(`/_next/data/${buildId}/root/catch-all.json`)     |                      ^  27 |   })  28 | }  29 |  at Object.toBe (integration/basepath-root-catch-all/test/index.test.js:26:22)

pnpm test test/integration/filesystempublicroutes/test/index.test.js (turbopack)

  • FileSystemPublicRoutes > should serve JavaScript files correctly (DD)
Expand output

● FileSystemPublicRoutes › should serve JavaScript files correctly

page.waitForSelector: Timeout 10000ms exceeded.Call log:  - waiting for locator('#page-was-loaded') 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 (integration/filesystempublicroutes/test/index.test.js:45:32)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (integration/filesystempublicroutes/test/index.test.js:45:72)

pnpm test-dev-turbo test/development/app-dir/error-overlay/error-ignored-frames/error-ignored-frames.test.ts (turbopack)

  • error-ignored-frames > should be able to collapse pages router ignored frames (DD)
Expand output

● error-ignored-frames › should be able to collapse pages router ignored frames

Expected Redbox but found no visible one.  76 |   it('should be able to collapse pages router ignored frames', async () => {  77 |     const browser = await next.browser('/pages')> 78 |     await waitForRedbox(browser)     |     ^  79 |  80 |     const defaultStack = await getStackFramesContent(browser)  81 |     expect(defaultStack).toMatchInlineSnapshot(  at Object.<anonymous> (development/app-dir/error-overlay/error-ignored-frames/error-ignored-frames.test.ts:78:5)

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

  • app-dir with proxy > should filter correctly after proxy rewrite (DD)
  • app-dir with proxy > retains a link response header from the proxy (DD)
  • app-dir with proxy > should be possible to modify cookies & read them in an RSC in a single request (DD)
  • app-dir with proxy > should respect cookie options of merged proxy cookies (DD)
  • app-dir with proxy > should omit internal headers for proxy cookies (DD)
  • app-dir with proxy > should ignore x-middleware-set-cookie as a request header (DD)
  • app-dir with proxy > should be possible to read cookies that are set during the proxy handling of a server action (DD)
  • app-dir with proxy > should not incorrectly treat a Location header as a rewrite (DD)
  • app-dir with proxy > Mutate request headers for Edge Functions > Adds new headers (DD)
  • app-dir with proxy > Mutate request headers for Edge Functions > Deletes headers (DD)
  • app-dir with proxy > Mutate request headers for Edge Functions > Updates headers (DD)
  • app-dir with proxy > Mutate request headers for Serverless Functions > Adds new headers (DD)
  • app-dir with proxy > Mutate request headers for Serverless Functions > Deletes headers (DD)
  • app-dir with proxy > Mutate request headers for Serverless Functions > Updates headers (DD)
  • app-dir with proxy > Mutate request headers for next/headers > Adds new headers (DD)
  • app-dir with proxy > Mutate request headers for next/headers > Deletes headers (DD)
  • app-dir with proxy > Mutate request headers for next/headers > Updates headers (DD)
Expand output

● app-dir with proxy › should filter correctly after proxy rewrite

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Serverless Functions › Adds new headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Serverless Functions › Deletes headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Serverless Functions › Updates headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Serverless Functions › Supports draft mode

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Edge Functions › Adds new headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Edge Functions › Deletes headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Edge Functions › Updates headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for Edge Functions › Supports draft mode

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for next/headers › Adds new headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for next/headers › Deletes headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for next/headers › Updates headers

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › Mutate request headers for next/headers › Supports draft mode

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › retains a link response header from the proxy

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › should be possible to modify cookies & read them in an RSC in a single request

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › should respect cookie options of merged proxy cookies

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › should omit internal headers for proxy cookies

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › should ignore x-middleware-set-cookie as a request header

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › should be possible to read cookies that are set during the proxy handling of a server action

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

● app-dir with proxy › should not incorrectly treat a Location header as a rewrite

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test test/integration/config-mjs/test/index.test.ts (turbopack)

  • Configuration > should have env variables available on the client (DD)
Expand output

● Configuration › should have env variables available on the client

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#env') to be visible  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  -   locator resolved to hidden <p>hello</p>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (integration/config-mjs/test/index.test.ts:55:36)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (integration/config-mjs/test/index.test.ts:55:57)

pnpm test test/integration/custom-routes-i18n/test/index.test.js (turbopack)

  • Custom routes i18n > development mode > should navigate on the client with rewrites correctly (DD)
Expand output

● Custom routes i18n › development mode › should navigate on the client with rewrites correctly

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#to-about') to be visible  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  -   locator resolved to hidden <a href="/about">to /about</a>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (integration/custom-routes-i18n/test/index.test.js:94:21)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)  at Object.click (integration/custom-routes-i18n/test/index.test.js:94:47)

pnpm test test/integration/scroll-forward-restoration/test/index.test.js (turbopack)

  • rewrites has condition > production mode > should navigate to a simple rewrite without error (DD)
  • rewrites has condition > production mode > should navigate to a has rewrite without error (DD)
Expand output

● rewrites has condition › production mode › should navigate to a simple rewrite without error

page.waitForSelector: Target page, context or browser has been closed  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (integration/rewrites-has-condition/test/index.test.js:24:8)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)  at Object.click (integration/rewrites-has-condition/test/index.test.js:25:8)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:632:17)  at Proxy.startChain (lib/browsers/playwright.ts:520:17)  at Object.waitForElementByCss (integration/rewrites-has-condition/test/index.test.js:26:8)

● rewrites has condition › production mode › should navigate to a has rewrite without error

browserContext.newPage: Target page, context or browser has been closed  266 |  267 |     await this.initContextTracing(url, context!)> 268 |     page = await context!.newPage()      |                           ^  269 |  270 |     page.setDefaultTimeout(defaultTimeout)  271 |     page.setDefaultNavigationTimeout(defaultTimeout)  at Playwright.newPage (lib/browsers/playwright.ts:268:27)  at webdriver (lib/next-webdriver.ts:156:3)  at Object.<anonymous> (integration/rewrites-has-condition/test/index.test.js:33:21)

● Test suite failed to run

browserContext.close: Target page, context or browser has been closed  42 | export async function quit() {  43 |   await Promise.all(pendingTeardown.map((fn) => fn()))> 44 |   await context?.close()     |   ^  45 |   await browser?.close()  46 |   context = undefined  47 |   browser = undefined  at quit (lib/browsers/playwright.ts:44:3)  at Object.<anonymous> (lib/next-webdriver.ts:45:7)

pnpm test-dev-turbo test/development/acceptance-app/ReactRefreshLogBox-builtins.test.ts (turbopack)

  • ReactRefreshLogBox-builtins app > Module not found missing global CSS (DD)
Expand output

● ReactRefreshLogBox-builtins app › Module not found missing global CSS

expect(received).toMatchInlineSnapshot(snapshot)Snapshot name: `ReactRefreshLogBox-builtins app Module not found missing global CSS 1`- Snapshot  - 10+ Received  +  1- {-   "description": "Module not found: Can't resolve './non-existent.css'",-   "environmentLabel": null,-   "label": "Build Error",-   "source": "./app/page.js (2:1)- Module not found: Can't resolve './non-existent.css'- > 2 | import './non-existent.css'-     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^",-   "stack": [],- }+ "Expected Redbox but found no visible one."  251 |     const { browser, session } = sandbox  252 |     if (isTurbopack) {> 253 |       await expect(browser).toDisplayRedbox(`      |                             ^  254 |        {  255 |          "description": "Module not found: Can't resolve './non-existent.css'",  256 |          "environmentLabel": null,  at Object.toDisplayRedbox (development/acceptance-app/ReactRefreshLogBox-builtins.test.ts:253:29)

pnpm test-start-turbo test/e2e/app-dir/app-middleware/app-middleware-in-src-dir.test.ts (turbopack)

  • app dir - middleware with middleware in src dir > works without crashing when using RequestStore (DD)
Expand output

● app dir - middleware with middleware in src dir › works without crashing when using RequestStore

next build failed with code/signal 1  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

pnpm test-dev-turbo test/development/basic/hmr/full-reload-no-base-path-no-asset-prefix.test.ts (turbopack)

  • HMR - Full Reload, nextConfig: {"basePath":"","assetPrefix":""} > should warn about full reload in cli output - anonymous page function (DD)
  • HMR - Full Reload, nextConfig: {"basePath":"","assetPrefix":""} > should warn about full reload in cli output - runtime-error (DD)
Expand output

● HMR - Full Reload, nextConfig: {"basePath":"","assetPrefix":""} › should warn about full reload in cli output - anonymous page function

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('p') to be visible  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (development/basic/hmr/run-full-reload-hmr-test.util.ts:23:26)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (development/basic/hmr/run-full-reload-hmr-test.util.ts:23:44)

● HMR - Full Reload, nextConfig: {"basePath":"","assetPrefix":""} › should warn about full reload in cli output - runtime-error

expect(received).toMatch(expected)Matcher error: received value must be a stringReceived has value: null  61 |  62 |     await retry(async () => {> 63 |       expect(await getRedboxHeader(browser)).toMatch(/whoops is not defined/)     |                                              ^  64 |     })  65 |     expect(next.cliOutput.slice(start)).not.toContain(cliWarning)  66 |  at toMatch (development/basic/hmr/run-full-reload-hmr-test.util.ts:63:46)  at retry (lib/next-test-utils.ts:797:14)  at Object.<anonymous> (development/basic/hmr/run-full-reload-hmr-test.util.ts:62:5)

pnpm test-dev-turbo test/development/app-dir/hmr-shared-css/hmr-shared-css.test.ts (turbopack)

  • hmr-app-and-pages > should do HMR when app router and pages router have shared CSS (DD)
Expand output

● hmr-app-and-pages › should do HMR when app router and pages router have shared CSS

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('body') to be visible  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  -   locator resolved to hidden <body>…</body>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (development/app-dir/hmr-shared-css/hmr-shared-css.test.ts:34:21)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:451:17)  at Object.getComputedCss (development/app-dir/hmr-shared-css/hmr-shared-css.test.ts:34:42)

pnpm test test/integration/client-404/test/index.test.js (turbopack)

  • Client 404 > development mode > Client Navigation 404 > should hard navigate to URL on failing to load bundle (DD)
  • Client 404 > development mode > Client Navigation 404 > should show 404 upon client replacestate > should navigate the page (DD)
Expand output

● Client 404 › development mode › Client Navigation 404 › should show 404 upon client replacestate › should navigate the page

page.waitForSelector: Timeout 10000ms exceeded.Call log:  - waiting for locator('#errorStatusCode') to be visible  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  -   locator resolved to hidden <div>404</div>  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 (integration/client-404/test/index.test.js:23:12)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (integration/client-404/test/index.test.js:24:12)

● Client 404 › development mode › Client Navigation 404 › should hard navigate to URL on failing to load bundle

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#to-nonexistent') to be visible  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  -   locator resolved to hidden <a href="/another/non-existent">to 404</a>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (integration/client-404/test/index.test.js:42:21)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:471:17)  at Object.click (integration/client-404/test/index.test.js:42:53)

pnpm test-dev-turbo test/development/app-dir/next-after-app-invalid-usage/index.test.ts (turbopack)

  • after() - invalid usages > errors at compile time when used in a client module (DD)
Expand output

● after() - invalid usages › errors at compile time when used in a client module

Expected Redbox but found no visible one.  26 |     const session = await next.browser('/invalid-in-client')  27 |> 28 |     await waitForRedbox(session)     |     ^  29 |     expect(await getRedboxSource(session)).toMatch(  30 |       /You're importing a component that needs "?after"?\. That only works in a Server Component but one of its parents is marked with "use client", so it's a Client Component\./  31 |     )  at Object.<anonymous> (development/app-dir/next-after-app-invalid-usage/index.test.ts:28:5)

pnpm test-dev-turbo test/development/basic/legacy-decorators.test.ts (turbopack)

  • Legacy decorators SWC option > with base config > should compile with legacy decorators enabled (DD)
  • Legacy decorators SWC option > with extended tsconfig > should compile with legacy decorators enabled from extended config (DD)
Expand output

● Legacy decorators SWC option › with extended tsconfig › should compile with legacy decorators enabled from extended config

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#count') to be visible  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (development/basic/legacy-decorators.test.ts:34:36)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (development/basic/legacy-decorators.test.ts:34:59)

● Legacy decorators SWC option › with base config › should compile with legacy decorators enabled

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#count') to be visible  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  -   locator resolved to hidden <span>…</span>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (development/basic/legacy-decorators.test.ts:71:36)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (development/basic/legacy-decorators.test.ts:71:59)

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

  • HMR - Full Reload, nextConfig: {"basePath":"/docs","assetPrefix":"/asset-prefix"} > should warn about full reload in cli output - anonymous page function (DD)
  • HMR - Full Reload, nextConfig: {"basePath":"/docs","assetPrefix":"/asset-prefix"} > should warn about full reload in cli output - runtime-error (DD)
Expand output

● HMR - Full Reload, nextConfig: {"basePath":"/docs","assetPrefix":"/asset-prefix"} › should warn about full reload in cli output - anonymous page function

page.waitForSelector: Target page, context or browser has been closedCall log:  - waiting for locator('p') to be visible  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  -   locator resolved to hidden <p>hello world</p>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (development/basic/hmr/run-full-reload-hmr-test.util.ts:23:26)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (development/basic/hmr/run-full-reload-hmr-test.util.ts:23:44)

● HMR - Full Reload, nextConfig: {"basePath":"/docs","assetPrefix":"/asset-prefix"} › should warn about full reload in cli output - runtime-error

browserContext.newPage: Target page, context or browser has been closed  266 |  267 |     await this.initContextTracing(url, context!)> 268 |     page = await context!.newPage()      |                           ^  269 |  270 |     page.setDefaultTimeout(defaultTimeout)  271 |     page.setDefaultNavigationTimeout(defaultTimeout)  at Playwright.newPage (lib/browsers/playwright.ts:268:27)  at webdriver (lib/next-webdriver.ts:156:3)  at Object.<anonymous> (development/basic/hmr/run-full-reload-hmr-test.util.ts:58:21)

● Test suite failed to run

browserContext.close: Target page, context or browser has been closed  42 | export async function quit() {  43 |   await Promise.all(pendingTeardown.map((fn) => fn()))> 44 |   await context?.close()     |   ^  45 |   await browser?.close()  46 |   context = undefined  47 |   browser = undefined  at quit (lib/browsers/playwright.ts:44:3)  at Object.<anonymous> (lib/next-webdriver.ts:45:7)

pnpm test test/integration/custom-server/test/index.test.js (turbopack)

  • Custom Server using HTTP > HMR with custom server > Should support HMR when rendering with /index pathname (DD)
Expand output

● Custom Server using HTTP › HMR with custom server › Should support HMR when rendering with /index pathname

page.waitForSelector: Timeout 5000ms exceeded.Call log:  - waiting for locator('#go-asset') to be visible  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  -   locator resolved to hidden <a href="/asset">Asset</a>  519 |  520 |     return this.startChain(async () => {> 521 |       const el = await page.waitForSelector(selector, {      |                             ^  522 |         timeout,  523 |         state,  524 |       })  at waitForSelector (lib/browsers/playwright.ts:521:29)  at Playwright._chain (lib/browsers/playwright.ts:651:23)  at Playwright._chain [as startChain] (lib/browsers/playwright.ts:632:17)  at Playwright.startChain [as waitForElementByCss] (lib/browsers/playwright.ts:520:17)  at Playwright.waitForElementByCss [as elementByCss] (lib/browsers/playwright.ts:405:17)  at Object.elementByCss (integration/custom-server/test/index.test.js:186:38)  at Proxy._chain (lib/browsers/playwright.ts:651:23)  at Proxy._chain (lib/browsers/playwright.ts:627:17)  at Proxy.continueChain (lib/browsers/playwright.ts:433:17)  at Object.text (integration/custom-server/test/index.test.js:186:64)

pnpm test test/integration/invalid-href/test/index.test.ts (turbopack)

  • Invalid hrefs > production mode > does not show error in production when mailto: is used as href on Link (DD)
  • Invalid hrefs > production mode > does not show error in production when https:// is used in href on Link (DD)
  • Invalid hrefs > production mode > does not show error when internal href is used with external as (DD)
  • Invalid hrefs > production mode > shows error when dynamic route mismatch is used on Link (DD)
  • Invalid hrefs > production mode > doesn't fail on invalid url (DD)
Expand output

● Invalid hrefs › production mode › does not show error in production when mailto: is used as href on Link

page.waitForSelector: Timeout 10000ms exceeded.Call log:  - waiting for locator('#click-me') 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 waitForElementByCss (integration/invalid-href/test/index.test.ts:74:19)  at Object.<anonymous> (integration/invalid-href/test/index.test.ts:98:9)

● Invalid hrefs › production mode › does not show error in production when https:// is used in href on Link

page.waitForSelector: Timeout 10000ms exceeded.Call log:  - waiting for locator('#click-me') 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 waitForElementByCss (integration/invalid-href/test/index.test.ts:74:19)  at Object.<anonymous> (integration/invalid-href/test/index.test.ts:102:9)

● Invalid hrefs › production mode › does not show error when internal href is used with external as

page.waitForSelector: Timeout 10000ms exceeded.Call log:  - waiting for locator('#click-me') 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 waitForElementByCss (integration/invalid-href/test/index.test.ts:74:19)  at Object.<anonymous> (integration/invalid-href/test/index.test.ts:114:9)

● Invalid hrefs › production mode › shows error when dynamic route mismatch is used on Link

TypeError: Cannot read properties of undefined (reading 'find')  128 |           const errors = await browser.eval('window.caughtErrors')  129 |           expect(> 130 |             errors.find((err) =>      |                    ^  131 |               err.includes(  132 |                 'The provided `as` value (/blog/post-1) is incompatible with the `href` value (/[post]). Read more: https://nextjs.org/docs/messages/incompatible-href-as'  133 |               )  at Object.find (integration/invalid-href/test/index.test.ts:130:20)

● Invalid hrefs › production mode › doesn't fail on invalid url

page.waitForSelector: Timeout 10000ms exceeded.Call log:  - waiting for locator('#click-me') 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 waitForElementByCss (integration/invalid-href/test/index.test.ts:74:19)  at Object.<anonymous> (integration/invalid-href/test/index.test.ts:142:9)

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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77: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  75 |             if (code || signal)  76 |               reject(> 77 |                 new Error(     |                 ^  78 |                   `next build failed with code/signal ${code || signal}`  79 |                 )  80 |               )  at ChildProcess.<anonymous> (lib/next-modes/next-start.ts:77:17)

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 test/integration/app-dir-export/test/start.test.ts

  • app dir - with output export (next start) > production mode > should error during next start with output export (DD)
  • app dir - with output export (next start) > production mode > should warn during next start with output standalone (DD)
Expand output

● app dir - with output export (next start) › production mode › should error during next start with output export

thrown: "Exceeded timeout of 60000 ms for a test.Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."  29 |       })  30 |> 31 |       it('should error during next start with output export', async () => {     |       ^  32 |         const { code } = await nextBuild(appDir)  33 |         expect(code).toBe(0)  34 |         const port = await findPort()  at it (integration/app-dir-export/test/start.test.ts:31:7)  at integration/app-dir-export/test/start.test.ts:21:56  at Object.describe (integration/app-dir-export/test/start.test.ts:20:1)

● app dir - with output export (next start) › production mode › should warn during next start with output standalone

thrown: "Exceeded timeout of 60000 ms for a test.Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."  46 |  47 |       // TODO: Move this test to test/production to run in isolation.> 48 |       ;(process.env.TURBOPACK_BUILD ? it.skip : it)(     |                                                  ^  49 |         'should warn during next start with output standalone',  50 |         async () => {  51 |           nextConfig.replace(`output: 'export'`, `output: 'standalone'`)  at integration/app-dir-export/test/start.test.ts:48:50  at integration/app-dir-export/test/start.test.ts:21:56  at Object.describe (integration/app-dir-export/test/start.test.ts:20:1)

pnpm test-start test/e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts

  • app dir - prefetching (custom staleTime) > should not re-fetch cached data when navigating back to a route group (DD)
Expand output

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

Expected no network requests to be initiated.URL: http://localhost:45663/prefetch-auto-route-groups?_rsc=1tsbdHeaders: {"vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding","cache-control":"private, no-cache, no-store, max-age=0, must-revalidate","content-type":"text/x-component","content-encoding":"gzip","date":"Thu, 06 Nov 2025 00:43:56 GMT","connection":"keep-alive","keep-alive":"timeout=5"}Response:1:"$Sreact.fragment"3:I[7822,[],"OutletBoundary"]4:"$Sreact.suspense"6:I[7822,[],"ViewportBoundary"]8:I[7822,[],"MetadataBoundary"]0:{"b":"-jI1nqT5qHkwPLST64QUe","f":[["children","prefetch-auto-route-groups","children","(dashboard)","children","__PAGE__",["__PAGE__",{}],[["$","$1","c",{"children":["$L2",null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],{},null,false,false],["$","$1","h",{"children":[null,["$","$L6","uT6gJ38dUszKAMUwf4uFSv",{"children":"$@7"}],["$","div","uT6gJ38dUszKAMUwf4uFSm",{"hidden":true,"children":["$","$L8",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":"$@9"}]}]}]]}],false]],"S":false}7:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]9:[]5:null2:["$","h1",null,{"children":["Dashboard ","data",["$","div",null,{"children":["Fetch Count: ",["$","span",null,{"id":"count","children":4}]]}]]}]  162 |  163 |     // Finally, go back to the route group page - should use cached data with no additional fetch> 164 |     await act(async () => {      |           ^  165 |       await browser.elementByCss("[href='/prefetch-auto-route-groups']").click()  166 |     }, 'no-requests')  167 |  at Object.act (e2e/app-dir/app-prefetch/prefetching.stale-times.test.ts:164:11)

pnpm test-start test/e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts

  • app dir client cache with parallel routes > prefetch={true} > should re-use the cache for the full page, only for 5 mins (DD)
Expand output

● app dir client cache with parallel routes › prefetch={true} › should re-use the cache for the full page, only for 5 mins

thrown: "Exceeded timeout of 120000 ms for a test.Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."  44 |     })  45 |> 46 |     it('should re-use the cache for the full page, only for 5 mins', async () => {     |     ^  47 |       let act: ReturnType<typeof createRouterAct>  48 |       const browser = await next.browser('/', {  49 |         beforePageLoad(page) {  at it (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:46:5)  at describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:17:3)  at Object.describe (e2e/app-dir/app-client-cache/client-cache.parallel-routes.test.ts:6:1)

@ijjk
Copy link
Member

ijjk commentedNov 6, 2025

Stats from current PR

Default Build (Increase detected⚠️)
General Overall increase⚠️
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
buildDuration34.6s35.4s⚠️ +713ms
buildDurationCached22.7s20.5sN/A
nodeModulesSize453 MB454 MB⚠️ +838 kB
nextStartRea..uration (ms)816ms625msN/A
Client Bundles (main, webpack) Overall increase⚠️
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
436-HASH.js gzip5.32 kB5.32 kBN/A
4779.HASH.js gzip169 B169 B
9760-HASH.js gzip54.4 kB54.6 kB⚠️ +192 B
c57d0559-HASH.js gzip62.3 kB62.1 kBN/A
framework-HASH.js gzip59.8 kB59.8 kB
main-app-HASH.js gzip251 B256 BN/A
main-HASH.js gzip39.8 kB39.8 kBN/A
webpack-HASH.js gzip1.69 kB1.69 kB
Overall change116 kB116 kB⚠️ +192 B
Legacy Client Bundles (polyfills)
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
polyfills-HASH.js gzip39.4 kB39.4 kB
Overall change39.4 kB39.4 kB
Client Pages
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
_app-HASH.js gzip193 B194 BN/A
_error-HASH.js gzip182 B182 B
css-HASH.js gzip334 B334 B
dynamic-HASH.js gzip1.81 kB1.81 kBN/A
edge-ssr-HASH.js gzip255 B254 BN/A
head-HASH.js gzip350 B351 BN/A
hooks-HASH.js gzip384 B384 B
image-HASH.js gzip4.78 kB4.77 kBN/A
index-HASH.js gzip260 B259 BN/A
link-HASH.js gzip2.5 kB2.5 kBN/A
routerDirect..HASH.js gzip316 B320 BN/A
script-HASH.js gzip388 B388 B
withRouter-HASH.js gzip316 B314 BN/A
1afbb74e6ecf..834.css gzip106 B106 B
Overall change1.39 kB1.39 kB
Client Build Manifests
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
_buildManifest.js gzip718 B720 BN/A
Overall change0 B0 B
Rendered Page Sizes
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
index.html gzip524 B523 BN/A
link.html gzip536 B538 BN/A
withRouter.html gzip521 B519 BN/A
Overall change0 B0 B
Edge SSR bundle Size Overall increase⚠️
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
edge-ssr.js gzip128 kB128 kBN/A
page.js gzip255 kB260 kB⚠️ +5.18 kB
Overall change255 kB260 kB⚠️ +5.18 kB
Middleware size Overall increase⚠️
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
middleware-b..fest.js gzip635 B638 BN/A
middleware-r..fest.js gzip156 B156 B
middleware.js gzip32.7 kB32.9 kB⚠️ +214 B
edge-runtime..pack.js gzip846 B846 B
Overall change33.7 kB33.9 kB⚠️ +214 B
Next Runtimes Overall increase⚠️
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
app-page-exp...dev.js gzip295 kB296 kB⚠️ +568 B
app-page-exp..prod.js gzip154 kB161 kB⚠️ +7.03 kB
app-page-tur...dev.js gzip295 kB295 kB⚠️ +563 B
app-page-tur..prod.js gzip154 kB161 kB⚠️ +7.02 kB
app-page-tur...dev.js gzip292 kB291 kBN/A
app-page-tur..prod.js gzip153 kB159 kB⚠️ +6.31 kB
app-page.run...dev.js gzip292 kB292 kBN/A
app-page.run..prod.js gzip153 kB159 kB⚠️ +6.3 kB
app-route-ex...dev.js gzip70.7 kB70.8 kBN/A
app-route-ex..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.8 kB70.8 kBN/A
app-route-tu..prod.js gzip49.4 kB49.4 kBN/A
app-route-tu...dev.js gzip70.4 kB70.4 kBN/A
app-route-tu..prod.js gzip49.2 kB49.1 kBN/A
app-route.ru...dev.js gzip70.4 kB70.4 kBN/A
app-route.ru..prod.js gzip49.2 kB49.1 kBN/A
dist_client_...dev.js gzip326 B326 B
dist_client_...dev.js gzip328 B328 B
dist_client_...dev.js gzip320 B320 B
dist_client_...dev.js gzip318 B318 B
pages-api-tu...dev.js gzip43.3 kB43.3 kBN/A
pages-api-tu..prod.js gzip33.2 kB33.2 kBN/A
pages-api.ru...dev.js gzip43.3 kB43.3 kBN/A
pages-api.ru..prod.js gzip33.1 kB33.1 kBN/A
pages-turbo....dev.js gzip52.8 kB52.8 kBN/A
pages-turbo...prod.js gzip40.1 kB40.1 kBN/A
pages.runtim...dev.js gzip52.8 kB52.8 kBN/A
pages.runtim..prod.js gzip40.1 kB40 kBN/A
server.runti..prod.js gzip78.9 kB78.9 kBN/A
Overall change1.21 MB1.23 MB⚠️ +27.8 kB
build cache Overall increase⚠️
vercel/next.js canaryvercel/next.js null_safe_access_analysisChange
0.pack gzip3.25 MB3.25 MB⚠️ +657 B
index.pack gzip94.9 kB95.8 kB⚠️ +932 B
Overall change3.35 MB3.35 MB⚠️ +1.59 kB
Diff details
Diff forpage.js

Diff too large to display

Diff formiddleware.js

Diff too large to display

Diff foredge-ssr.js
failed to diff
Diff fordynamic-HASH.js
@@ -1,7 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [2291],   {-    /***/ 1033: /***/ (+    /***/ 431: /***/ (       __unused_webpack_module,       __unused_webpack_exports,       __webpack_require__@@ -9,7 +9,7 @@       (window.__NEXT_P = window.__NEXT_P || []).push([         "/dynamic",         function () {-          return __webpack_require__(6490);+          return __webpack_require__(8084);         },       ]);       if (false) {@@ -18,7 +18,7 @@       /***/     },-    /***/ 5323: /***/ (+    /***/ 2699: /***/ (       __unused_webpack_module,       exports,       __webpack_require__@@ -60,7 +60,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE       const _react = /*#__PURE__*/ _interop_require_default._(         __webpack_require__(2223)       );-      const _loadablecontextsharedruntime = __webpack_require__(9289);+      const _loadablecontextsharedruntime = __webpack_require__(3785);       function resolve(obj) {         return obj && obj.default ? obj.default : obj;       }@@ -293,73 +293,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE       /***/     },-    /***/ 6490: /***/ (+    /***/ 3785: /***/ (       __unused_webpack_module,-      __webpack_exports__,+      exports,       __webpack_require__     ) => {       "use strict";-      __webpack_require__.r(__webpack_exports__);-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,-        /* harmony export */+      /* __next_internal_client_entry_do_not_use__  cjs */+      Object.defineProperty(exports, "__esModule", {+        value: true,       });-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =-        __webpack_require__(1503);-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =-        __webpack_require__(7320);-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =-        /*#__PURE__*/ __webpack_require__.n(-          next_dynamic__WEBPACK_IMPORTED_MODULE_1__-        );--      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(-        () =>-          __webpack_require__-            .e(/* import() */ 4779)-            .then(__webpack_require__.bind(__webpack_require__, 4779))-            .then((mod) => mod.Hello),-        {-          loadableGenerated: {-            webpack: () => [/*require.resolve*/ 4779],-          },-        }+      Object.defineProperty(exports, "LoadableContext", {+        enumerable: true,+        get: function () {+          return LoadableContext;+        },+      });+      const _interop_require_default = __webpack_require__(1532);+      const _react = /*#__PURE__*/ _interop_require_default._(+        __webpack_require__(2223)       );-      const Page = () =>-        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,-          {-            children: [-              /*#__PURE__*/ (0,-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {-                children: "testing next/dynamic size",-              }),-              /*#__PURE__*/ (0,-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(-                DynamicHello,-                {}-              ),-            ],-          }-        );-      var __N_SSP = true;-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;--      /***/-    },--    /***/ 7320: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(7340);+      const LoadableContext = _react.default.createContext(null);+      if (false) {+      } //# sourceMappingURL=loadable-context.shared-runtime.js.map        /***/     },-    /***/ 7340: /***/ (module, exports, __webpack_require__) => {+    /***/ 6828: /***/ (module, exports, __webpack_require__) => {       "use strict";        Object.defineProperty(exports, "__esModule", {@@ -392,7 +353,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE         __webpack_require__(2223)       );       const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(-        __webpack_require__(5323)+        __webpack_require__(2699)       );       const isServerSide = "object" === "undefined";       // Normalize loader to return the module as form { default: Component } for `React.lazy`.@@ -492,29 +453,68 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE       /***/     },-    /***/ 9289: /***/ (+    /***/ 7514: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(6828);++      /***/+    },++    /***/ 8084: /***/ (       __unused_webpack_module,-      exports,+      __webpack_exports__,       __webpack_require__     ) => {       "use strict";-      /* __next_internal_client_entry_do_not_use__  cjs */-      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "LoadableContext", {-        enumerable: true,-        get: function () {-          return LoadableContext;-        },+      __webpack_require__.r(__webpack_exports__);+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+        /* harmony export */       });-      const _interop_require_default = __webpack_require__(1532);-      const _react = /*#__PURE__*/ _interop_require_default._(-        __webpack_require__(2223)+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+        __webpack_require__(1503);+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =+        __webpack_require__(7514);+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =+        /*#__PURE__*/ __webpack_require__.n(+          next_dynamic__WEBPACK_IMPORTED_MODULE_1__+        );++      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(+        () =>+          __webpack_require__+            .e(/* import() */ 9573)+            .then(__webpack_require__.bind(__webpack_require__, 9573))+            .then((mod) => mod.Hello),+        {+          loadableGenerated: {+            webpack: () => [/*require.resolve*/ 9573],+          },+        }       );-      const LoadableContext = _react.default.createContext(null);-      if (false) {-      } //# sourceMappingURL=loadable-context.shared-runtime.js.map+      const Page = () =>+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,+          {+            children: [+              /*#__PURE__*/ (0,+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {+                children: "testing next/dynamic size",+              }),+              /*#__PURE__*/ (0,+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+                DynamicHello,+                {}+              ),+            ],+          }+        );+      var __N_SSP = true;+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;        /***/     },@@ -524,7 +524,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(1033)+      __webpack_exec__(431)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff foredge-ssr-HASH.js
@@ -1,24 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [676],   {-    /***/ 1819: /***/ (-      __unused_webpack_module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      (window.__NEXT_P = window.__NEXT_P || []).push([-        "/edge-ssr",-        function () {-          return __webpack_require__(7521);-        },-      ]);-      if (false) {-      }--      /***/-    },--    /***/ 7521: /***/ (+    /***/ 983: /***/ (       __unused_webpack_module,       __webpack_exports__,       __webpack_require__@@ -37,13 +20,30 @@        /***/     },++    /***/ 985: /***/ (+      __unused_webpack_module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      (window.__NEXT_P = window.__NEXT_P || []).push([+        "/edge-ssr",+        function () {+          return __webpack_require__(983);+        },+      ]);+      if (false) {+      }++      /***/+    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(1819)+      __webpack_exec__(985)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forhead-HASH.js
@@ -1,34 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [5350],   {-    /***/ 619: /***/ (-      __unused_webpack_module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      (window.__NEXT_P = window.__NEXT_P || []).push([-        "/head",-        function () {-          return __webpack_require__(9891);-        },-      ]);-      if (false) {-      }--      /***/-    },--    /***/ 7997: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(6705);--      /***/-    },--    /***/ 9891: /***/ (+    /***/ 1417: /***/ (       __unused_webpack_module,       __webpack_exports__,       __webpack_require__@@ -43,7 +16,7 @@       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =         __webpack_require__(1503);       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =-        __webpack_require__(7997);+        __webpack_require__(5171);       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =         /*#__PURE__*/ __webpack_require__.n(           next_head__WEBPACK_IMPORTED_MODULE_1__@@ -76,13 +49,40 @@        /***/     },++    /***/ 1937: /***/ (+      __unused_webpack_module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      (window.__NEXT_P = window.__NEXT_P || []).push([+        "/head",+        function () {+          return __webpack_require__(1417);+        },+      ]);+      if (false) {+      }++      /***/+    },++    /***/ 5171: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(7505);++      /***/+    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(619)+      __webpack_exec__(1937)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forhooks-HASH.js
@@ -1,24 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [9804],   {-    /***/ 1679: /***/ (-      __unused_webpack_module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      (window.__NEXT_P = window.__NEXT_P || []).push([-        "/hooks",-        function () {-          return __webpack_require__(4655);-        },-      ]);-      if (false) {-      }--      /***/-    },--    /***/ 4655: /***/ (+    /***/ 1598: /***/ (       __unused_webpack_module,       __webpack_exports__,       __webpack_require__@@ -76,13 +59,30 @@        /***/     },++    /***/ 3925: /***/ (+      __unused_webpack_module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      (window.__NEXT_P = window.__NEXT_P || []).push([+        "/hooks",+        function () {+          return __webpack_require__(1598);+        },+      ]);+      if (false) {+      }++      /***/+    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(1679)+      __webpack_exec__(3925)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forimage-HASH.js
@@ -1,24 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [2983],   {-    /***/ 797: /***/ (-      __unused_webpack_module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      (window.__NEXT_P = window.__NEXT_P || []).push([-        "/image",-        function () {-          return __webpack_require__(5999);-        },-      ]);-      if (false) {-      }--      /***/-    },--    /***/ 1713: /***/ (__unused_webpack_module, exports) => {+    /***/ 881: /***/ (__unused_webpack_module, exports) => {       "use strict";       /**        * A shared function, used on both client and server, to generate a SVG blur placeholder.@@ -58,7 +41,7 @@       /***/     },-    /***/ 2263: /***/ (module, exports, __webpack_require__) => {+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {       "use strict";        Object.defineProperty(exports, "__esModule", {@@ -136,7 +119,137 @@       /***/     },-    /***/ 2728: /***/ (module, exports, __webpack_require__) => {+    /***/ 1744: /***/ (+      __unused_webpack_module,+      exports,+      __webpack_require__+    ) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      Object.defineProperty(exports, "default", {+        enumerable: true,+        get: function () {+          return _default;+        },+      });+      const _findclosestquality = __webpack_require__(7054);+      function defaultLoader({ config, src, width, quality }) {+        if (+          src.startsWith("/") &&+          src.includes("?") &&+          config.localPatterns?.length === 1 &&+          config.localPatterns[0].pathname === "**" &&+          config.localPatterns[0].search === ""+        ) {+          throw Object.defineProperty(+            new Error(+              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` ++                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`+            ),+            "__NEXT_ERROR_CODE",+            {+              value: "E871",+              enumerable: false,+              configurable: true,+            }+          );+        }+        if (false) {+        }+        const q = (0, _findclosestquality.findClosestQuality)(quality, config);+        return `${config.path}?url=${encodeURIComponent(+          src+        )}&w=${width}&q=${q}${+          src.startsWith("/_next/static/media/") && false ? 0 : ""+        }`;+      }+      // We use this to determine if the import is the default loader+      // or a custom loader defined by the user in next.config.js+      defaultLoader.__next_img_default = true;+      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map++      /***/+    },++    /***/ 2388: /***/ (+      __unused_webpack_module,+      __webpack_exports__,+      __webpack_require__+    ) => {+      "use strict";+      // ESM COMPAT FLAG+      __webpack_require__.r(__webpack_exports__);++      // EXPORTS+      __webpack_require__.d(__webpack_exports__, {+        __N_SSP: () => /* binding */ __N_SSP,+        default: () => /* binding */ pages_image,+      });++      // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js+      var jsx_runtime = __webpack_require__(1503);+      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+diff-repo+packages+next+next-packed.tgz_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/image.js+      var next_image = __webpack_require__(3866);+      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png+      /* harmony default export */ const nextjs = {+        src: "/_next/static/media/nextjs.cae0b805.png",+        height: 1347,+        width: 1626,+        blurDataURL:+          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",+        blurWidth: 8,+        blurHeight: 7,+      }; // ./pages/image.js+      function ImagePage(props) {+        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {+          children: [+            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {+              children: "next/image example",+            }),+            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {+              src: nextjs,+              placeholder: "blur",+            }),+          ],+        });+      }+      var __N_SSP = true;+      /* harmony default export */ const pages_image = ImagePage;++      /***/+    },++    /***/ 3866: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(6888);++      /***/+    },++    /***/ 4483: /***/ (+      __unused_webpack_module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      (window.__NEXT_P = window.__NEXT_P || []).push([+        "/image",+        function () {+          return __webpack_require__(2388);+        },+      ]);+      if (false) {+      }++      /***/+    },++    /***/ 6600: /***/ (module, exports, __webpack_require__) => {       "use strict";       /* __next_internal_client_entry_do_not_use__  cjs */       Object.defineProperty(exports, "__esModule", {@@ -158,17 +271,17 @@         __webpack_require__(9507)       );       const _head = /*#__PURE__*/ _interop_require_default._(-        __webpack_require__(6705)+        __webpack_require__(7505)       );-      const _getimgprops = __webpack_require__(3556);-      const _imageconfig = __webpack_require__(3157);-      const _imageconfigcontextsharedruntime = __webpack_require__(9323);-      const _warnonce = __webpack_require__(6173);-      const _routercontextsharedruntime = __webpack_require__(6046);+      const _getimgprops = __webpack_require__(9588);+      const _imageconfig = __webpack_require__(2645);+      const _imageconfigcontextsharedruntime = __webpack_require__(5451);+      const _warnonce = __webpack_require__(7549);+      const _routercontextsharedruntime = __webpack_require__(5470);       const _imageloader = /*#__PURE__*/ _interop_require_default._(-        __webpack_require__(3744)+        __webpack_require__(1744)       );-      const _usemergedref = __webpack_require__(2263);+      const _usemergedref = __webpack_require__(1511);       // This is replaced by webpack define plugin       const configEnv = {         deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],@@ -495,7 +608,96 @@       /***/     },-    /***/ 3556: /***/ (+    /***/ 6888: /***/ (+      __unused_webpack_module,+      exports,+      __webpack_require__+    ) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      0 && 0;+      function _export(target, all) {+        for (var name in all)+          Object.defineProperty(target, name, {+            enumerable: true,+            get: all[name],+          });+      }+      _export(exports, {+        default: function () {+          return _default;+        },+        getImageProps: function () {+          return getImageProps;+        },+      });+      const _interop_require_default = __webpack_require__(1532);+      const _getimgprops = __webpack_require__(9588);+      const _imagecomponent = __webpack_require__(6600);+      const _imageloader = /*#__PURE__*/ _interop_require_default._(+        __webpack_require__(1744)+      );+      function getImageProps(imgProps) {+        const { props } = (0, _getimgprops.getImgProps)(imgProps, {+          defaultLoader: _imageloader.default,+          // This is replaced by webpack define plugin+          imgConf: {+            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],+            imageSizes: [32, 48, 64, 96, 128, 256, 384],+            qualities: [75],+            path: "/_next/image",+            loader: "default",+            dangerouslyAllowSVG: false,+            unoptimized: false,+          },+        });+        // Normally we don't care about undefined props because we pass to JSX,+        // but this exported function could be used by the end user for anything+        // so we delete undefined props to clean it up a little.+        for (const [key, value] of Object.entries(props)) {+          if (value === undefined) {+            delete props[key];+          }+        }+        return {+          props,+        };+      }+      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map++      /***/+    },++    /***/ 7054: /***/ (__unused_webpack_module, exports) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      Object.defineProperty(exports, "findClosestQuality", {+        enumerable: true,+        get: function () {+          return findClosestQuality;+        },+      });+      function findClosestQuality(quality, config) {+        const q = quality || 75;+        if (!config?.qualities?.length) {+          return q;+        }+        return config.qualities.reduce(+          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),+          0+        );+      } //# sourceMappingURL=find-closest-quality.js.map++      /***/+    },++    /***/ 9588: /***/ (       __unused_webpack_module,       exports,       __webpack_require__@@ -511,9 +713,9 @@           return getImgProps;         },       });-      const _warnonce = __webpack_require__(6173);-      const _imageblursvg = __webpack_require__(1713);-      const _imageconfig = __webpack_require__(3157);+      const _warnonce = __webpack_require__(7549);+      const _imageblursvg = __webpack_require__(881);+      const _imageconfig = __webpack_require__(2645);       const VALID_LOADING_VALUES =         /* unused pure expression or super */ null && [           "lazy",@@ -943,215 +1145,13 @@        /***/     },--    /***/ 3744: /***/ (-      __unused_webpack_module,-      exports,-      __webpack_require__-    ) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "default", {-        enumerable: true,-        get: function () {-          return _default;-        },-      });-      const _findclosestquality = __webpack_require__(8494);-      function defaultLoader({ config, src, width, quality }) {-        if (-          src.startsWith("/") &&-          src.includes("?") &&-          config.localPatterns?.length === 1 &&-          config.localPatterns[0].pathname === "**" &&-          config.localPatterns[0].search === ""-        ) {-          throw Object.defineProperty(-            new Error(-              `Image with src "${src}" is using a query string which is not configured in images.localPatterns.` +-                `\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`-            ),-            "__NEXT_ERROR_CODE",-            {-              value: "E871",-              enumerable: false,-              configurable: true,-            }-          );-        }-        if (false) {-        }-        const q = (0, _findclosestquality.findClosestQuality)(quality, config);-        return `${config.path}?url=${encodeURIComponent(-          src-        )}&w=${width}&q=${q}${-          src.startsWith("/_next/static/media/") && false ? 0 : ""-        }`;-      }-      // We use this to determine if the import is the default loader-      // or a custom loader defined by the user in next.config.js-      defaultLoader.__next_img_default = true;-      const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map--      /***/-    },--    /***/ 4292: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(7896);--      /***/-    },--    /***/ 5999: /***/ (-      __unused_webpack_module,-      __webpack_exports__,-      __webpack_require__-    ) => {-      "use strict";-      // ESM COMPAT FLAG-      __webpack_require__.r(__webpack_exports__);--      // EXPORTS-      __webpack_require__.d(__webpack_exports__, {-        __N_SSP: () => /* binding */ __N_SSP,-        default: () => /* binding */ pages_image,-      });--      // EXTERNAL MODULE: ./node_modules/.pnpm/react@19.2.0/node_modules/react/jsx-runtime.js-      var jsx_runtime = __webpack_require__(1503);-      // EXTERNAL MODULE: ./node_modules/.pnpm/next@file+..+main-repo+packages+next+next-packed.tgz_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/image.js-      var next_image = __webpack_require__(4292);-      var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png-      /* harmony default export */ const nextjs = {-        src: "/_next/static/media/nextjs.cae0b805.png",-        height: 1347,-        width: 1626,-        blurDataURL:-          "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",-        blurWidth: 8,-        blurHeight: 7,-      }; // ./pages/image.js-      function ImagePage(props) {-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {-          children: [-            /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {-              children: "next/image example",-            }),-            /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {-              src: nextjs,-              placeholder: "blur",-            }),-          ],-        });-      }-      var __N_SSP = true;-      /* harmony default export */ const pages_image = ImagePage;--      /***/-    },--    /***/ 7896: /***/ (-      __unused_webpack_module,-      exports,-      __webpack_require__-    ) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      0 && 0;-      function _export(target, all) {-        for (var name in all)-          Object.defineProperty(target, name, {-            enumerable: true,-            get: all[name],-          });-      }-      _export(exports, {-        default: function () {-          return _default;-        },-        getImageProps: function () {-          return getImageProps;-        },-      });-      const _interop_require_default = __webpack_require__(1532);-      const _getimgprops = __webpack_require__(3556);-      const _imagecomponent = __webpack_require__(2728);-      const _imageloader = /*#__PURE__*/ _interop_require_default._(-        __webpack_require__(3744)-      );-      function getImageProps(imgProps) {-        const { props } = (0, _getimgprops.getImgProps)(imgProps, {-          defaultLoader: _imageloader.default,-          // This is replaced by webpack define plugin-          imgConf: {-            deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],-            imageSizes: [32, 48, 64, 96, 128, 256, 384],-            qualities: [75],-            path: "/_next/image",-            loader: "default",-            dangerouslyAllowSVG: false,-            unoptimized: false,-          },-        });-        // Normally we don't care about undefined props because we pass to JSX,-        // but this exported function could be used by the end user for anything-        // so we delete undefined props to clean it up a little.-        for (const [key, value] of Object.entries(props)) {-          if (value === undefined) {-            delete props[key];-          }-        }-        return {-          props,-        };-      }-      const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map--      /***/-    },--    /***/ 8494: /***/ (__unused_webpack_module, exports) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "findClosestQuality", {-        enumerable: true,-        get: function () {-          return findClosestQuality;-        },-      });-      function findClosestQuality(quality, config) {-        const q = quality || 75;-        if (!config?.qualities?.length) {-          return q;-        }-        return config.qualities.reduce(-          (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),-          0-        );-      } //# sourceMappingURL=find-closest-quality.js.map--      /***/-    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(797)+      __webpack_exec__(4483)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forlink-HASH.js
@@ -1,7 +1,338 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [4672],   {-    /***/ 69: /***/ (module, exports, __webpack_require__) => {+    /***/ 1511: /***/ (module, exports, __webpack_require__) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      Object.defineProperty(exports, "useMergedRef", {+        enumerable: true,+        get: function () {+          return useMergedRef;+        },+      });+      const _react = __webpack_require__(2223);+      function useMergedRef(refA, refB) {+        const cleanupA = (0, _react.useRef)(null);+        const cleanupB = (0, _react.useRef)(null);+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)+        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs+        // (because it hasn't been updated for React 19)+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.+        return (0, _react.useCallback)(+          (current) => {+            if (current === null) {+              const cleanupFnA = cleanupA.current;+              if (cleanupFnA) {+                cleanupA.current = null;+                cleanupFnA();+              }+              const cleanupFnB = cleanupB.current;+              if (cleanupFnB) {+                cleanupB.current = null;+                cleanupFnB();+              }+            } else {+              if (refA) {+                cleanupA.current = applyRef(refA, current);+              }+              if (refB) {+                cleanupB.current = applyRef(refB, current);+              }+            }+          },+          [refA, refB]+        );+      }+      function applyRef(refA, current) {+        if (typeof refA === "function") {+          const cleanup = refA(current);+          if (typeof cleanup === "function") {+            return cleanup;+          } else {+            return () => refA(null);+          }+        } else {+          refA.current = current;+          return () => {+            refA.current = null;+          };+        }+      }+      if (+        (typeof exports.default === "function" ||+          (typeof exports.default === "object" && exports.default !== null)) &&+        typeof exports.default.__esModule === "undefined"+      ) {+        Object.defineProperty(exports.default, "__esModule", {+          value: true,+        });+        Object.assign(exports.default, exports);+        module.exports = exports.default;+      } //# sourceMappingURL=use-merged-ref.js.map++      /***/+    },++    /***/ 2025: /***/ (+      __unused_webpack_module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      (window.__NEXT_P = window.__NEXT_P || []).push([+        "/link",+        function () {+          return __webpack_require__(4591);+        },+      ]);+      if (false) {+      }++      /***/+    },++    /***/ 3267: /***/ (module, exports, __webpack_require__) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      Object.defineProperty(exports, "getDomainLocale", {+        enumerable: true,+        get: function () {+          return getDomainLocale;+        },+      });+      const _normalizetrailingslash = __webpack_require__(2371);+      const basePath =+        /* unused pure expression or super */ null && (false || "");+      function getDomainLocale(path, locale, locales, domainLocales) {+        if (false) {+        } else {+          return false;+        }+      }+      if (+        (typeof exports.default === "function" ||+          (typeof exports.default === "object" && exports.default !== null)) &&+        typeof exports.default.__esModule === "undefined"+      ) {+        Object.defineProperty(exports.default, "__esModule", {+          value: true,+        });+        Object.assign(exports.default, exports);+        module.exports = exports.default;+      } //# sourceMappingURL=get-domain-locale.js.map++      /***/+    },++    /***/ 4591: /***/ (+      __unused_webpack_module,+      __webpack_exports__,+      __webpack_require__+    ) => {+      "use strict";+      __webpack_require__.r(__webpack_exports__);+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {+        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,+        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,+        /* harmony export */+      });+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =+        __webpack_require__(1503);+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =+        __webpack_require__(6929);+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =+        /*#__PURE__*/ __webpack_require__.n(+          next_link__WEBPACK_IMPORTED_MODULE_1__+        );++      function aLink(props) {+        return /*#__PURE__*/ (0,+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {+          children: [+            /*#__PURE__*/ (0,+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {+              children: "A Link page!",+            }),+            /*#__PURE__*/ (0,+            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(+              next_link__WEBPACK_IMPORTED_MODULE_1___default(),+              {+                href: "/",+                children: "Go to /",+              }+            ),+          ],+        });+      }+      var __N_SSP = true;+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;++      /***/+    },++    /***/ 6929: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(8885);++      /***/+    },++    /***/ 7686: /***/ (module, exports, __webpack_require__) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      Object.defineProperty(exports, "useIntersection", {+        enumerable: true,+        get: function () {+          return useIntersection;+        },+      });+      const _react = __webpack_require__(2223);+      const _requestidlecallback = __webpack_require__(901);+      const hasIntersectionObserver =+        typeof IntersectionObserver === "function";+      const observers = new Map();+      const idList = [];+      function createObserver(options) {+        const id = {+          root: options.root || null,+          margin: options.rootMargin || "",+        };+        const existing = idList.find(+          (obj) => obj.root === id.root && obj.margin === id.margin+        );+        let instance;+        if (existing) {+          instance = observers.get(existing);+          if (instance) {+            return instance;+          }+        }+        const elements = new Map();+        const observer = new IntersectionObserver((entries) => {+          entries.forEach((entry) => {+            const callback = elements.get(entry.target);+            const isVisible =+              entry.isIntersecting || entry.intersectionRatio > 0;+            if (callback && isVisible) {+              callback(isVisible);+            }+          });+        }, options);+        instance = {+          id,+          observer,+          elements,+        };+        idList.push(id);+        observers.set(id, instance);+        return instance;+      }+      function observe(element, callback, options) {+        const { id, observer, elements } = createObserver(options);+        elements.set(element, callback);+        observer.observe(element);+        return function unobserve() {+          elements.delete(element);+          observer.unobserve(element);+          // Destroy observer when there's nothing left to watch:+          if (elements.size === 0) {+            observer.disconnect();+            observers.delete(id);+            const index = idList.findIndex(+              (obj) => obj.root === id.root && obj.margin === id.margin+            );+            if (index > -1) {+              idList.splice(index, 1);+            }+          }+        };+      }+      function useIntersection({ rootRef, rootMargin, disabled }) {+        const isDisabled = disabled || !hasIntersectionObserver;+        const [visible, setVisible] = (0, _react.useState)(false);+        const elementRef = (0, _react.useRef)(null);+        const setElement = (0, _react.useCallback)((element) => {+          elementRef.current = element;+        }, []);+        (0, _react.useEffect)(() => {+          if (hasIntersectionObserver) {+            if (isDisabled || visible) return;+            const element = elementRef.current;+            if (element && element.tagName) {+              const unobserve = observe(+                element,+                (isVisible) => isVisible && setVisible(isVisible),+                {+                  root: rootRef?.current,+                  rootMargin,+                }+              );+              return unobserve;+            }+          } else {+            if (!visible) {+              const idleCallback = (0,+              _requestidlecallback.requestIdleCallback)(() => setVisible(true));+              return () =>+                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);+            }+          }+          // eslint-disable-next-line react-hooks/exhaustive-deps+        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);+        const resetVisible = (0, _react.useCallback)(() => {+          setVisible(false);+        }, []);+        return [setElement, visible, resetVisible];+      }+      if (+        (typeof exports.default === "function" ||+          (typeof exports.default === "object" && exports.default !== null)) &&+        typeof exports.default.__esModule === "undefined"+      ) {+        Object.defineProperty(exports.default, "__esModule", {+          value: true,+        });+        Object.assign(exports.default, exports);+        module.exports = exports.default;+      } //# sourceMappingURL=use-intersection.js.map++      /***/+    },++    /***/ 8101: /***/ (__unused_webpack_module, exports) => {+      "use strict";++      Object.defineProperty(exports, "__esModule", {+        value: true,+      });+      Object.defineProperty(exports, "errorOnce", {+        enumerable: true,+        get: function () {+          return errorOnce;+        },+      });+      let errorOnce = (_) => {};+      if (false) {+      } //# sourceMappingURL=error-once.js.map++      /***/+    },++    /***/ 8885: /***/ (module, exports, __webpack_require__) => {       "use strict";       /* __next_internal_client_entry_do_not_use__  cjs */       Object.defineProperty(exports, "__esModule", {@@ -28,17 +359,17 @@       const _react = /*#__PURE__*/ _interop_require_wildcard._(         __webpack_require__(2223)       );-      const _resolvehref = __webpack_require__(2275);-      const _islocalurl = __webpack_require__(3179);-      const _formaturl = __webpack_require__(5486);-      const _utils = __webpack_require__(3708);-      const _addlocale = __webpack_require__(8225);-      const _routercontextsharedruntime = __webpack_require__(6046);-      const _useintersection = __webpack_require__(2678);-      const _getdomainlocale = __webpack_require__(4499);-      const _addbasepath = __webpack_require__(7434);-      const _usemergedref = __webpack_require__(2263);-      const _erroronce = __webpack_require__(2197);+      const _resolvehref = __webpack_require__(7379);+      const _islocalurl = __webpack_require__(4843);+      const _formaturl = __webpack_require__(9374);+      const _utils = __webpack_require__(3116);+      const _addlocale = __webpack_require__(8065);+      const _routercontextsharedruntime = __webpack_require__(5470);+      const _useintersection = __webpack_require__(7686);+      const _getdomainlocale = __webpack_require__(3267);+      const _addbasepath = __webpack_require__(1450);+      const _usemergedref = __webpack_require__(1511);+      const _erroronce = __webpack_require__(8101);       const prefetched = new Set();       function prefetch(router, href, as, options) {         if (false) {@@ -416,344 +747,13 @@        /***/     },--    /***/ 2197: /***/ (__unused_webpack_module, exports) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "errorOnce", {-        enumerable: true,-        get: function () {-          return errorOnce;-        },-      });-      let errorOnce = (_) => {};-      if (false) {-      } //# sourceMappingURL=error-once.js.map--      /***/-    },--    /***/ 2263: /***/ (module, exports, __webpack_require__) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "useMergedRef", {-        enumerable: true,-        get: function () {-          return useMergedRef;-        },-      });-      const _react = __webpack_require__(2223);-      function useMergedRef(refA, refB) {-        const cleanupA = (0, _react.useRef)(null);-        const cleanupB = (0, _react.useRef)(null);-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)-        // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs-        // (because it hasn't been updated for React 19)-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.-        return (0, _react.useCallback)(-          (current) => {-            if (current === null) {-              const cleanupFnA = cleanupA.current;-              if (cleanupFnA) {-                cleanupA.current = null;-                cleanupFnA();-              }-              const cleanupFnB = cleanupB.current;-              if (cleanupFnB) {-                cleanupB.current = null;-                cleanupFnB();-              }-            } else {-              if (refA) {-                cleanupA.current = applyRef(refA, current);-              }-              if (refB) {-                cleanupB.current = applyRef(refB, current);-              }-            }-          },-          [refA, refB]-        );-      }-      function applyRef(refA, current) {-        if (typeof refA === "function") {-          const cleanup = refA(current);-          if (typeof cleanup === "function") {-            return cleanup;-          } else {-            return () => refA(null);-          }-        } else {-          refA.current = current;-          return () => {-            refA.current = null;-          };-        }-      }-      if (-        (typeof exports.default === "function" ||-          (typeof exports.default === "object" && exports.default !== null)) &&-        typeof exports.default.__esModule === "undefined"-      ) {-        Object.defineProperty(exports.default, "__esModule", {-          value: true,-        });-        Object.assign(exports.default, exports);-        module.exports = exports.default;-      } //# sourceMappingURL=use-merged-ref.js.map--      /***/-    },--    /***/ 2369: /***/ (-      __unused_webpack_module,-      __webpack_exports__,-      __webpack_require__-    ) => {-      "use strict";-      __webpack_require__.r(__webpack_exports__);-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {-        /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,-        /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,-        /* harmony export */-      });-      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =-        __webpack_require__(1503);-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =-        __webpack_require__(6691);-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =-        /*#__PURE__*/ __webpack_require__.n(-          next_link__WEBPACK_IMPORTED_MODULE_1__-        );--      function aLink(props) {-        return /*#__PURE__*/ (0,-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {-          children: [-            /*#__PURE__*/ (0,-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {-              children: "A Link page!",-            }),-            /*#__PURE__*/ (0,-            react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(-              next_link__WEBPACK_IMPORTED_MODULE_1___default(),-              {-                href: "/",-                children: "Go to /",-              }-            ),-          ],-        });-      }-      var __N_SSP = true;-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;--      /***/-    },--    /***/ 2678: /***/ (module, exports, __webpack_require__) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "useIntersection", {-        enumerable: true,-        get: function () {-          return useIntersection;-        },-      });-      const _react = __webpack_require__(2223);-      const _requestidlecallback = __webpack_require__(4213);-      const hasIntersectionObserver =-        typeof IntersectionObserver === "function";-      const observers = new Map();-      const idList = [];-      function createObserver(options) {-        const id = {-          root: options.root || null,-          margin: options.rootMargin || "",-        };-        const existing = idList.find(-          (obj) => obj.root === id.root && obj.margin === id.margin-        );-        let instance;-        if (existing) {-          instance = observers.get(existing);-          if (instance) {-            return instance;-          }-        }-        const elements = new Map();-        const observer = new IntersectionObserver((entries) => {-          entries.forEach((entry) => {-            const callback = elements.get(entry.target);-            const isVisible =-              entry.isIntersecting || entry.intersectionRatio > 0;-            if (callback && isVisible) {-              callback(isVisible);-            }-          });-        }, options);-        instance = {-          id,-          observer,-          elements,-        };-        idList.push(id);-        observers.set(id, instance);-        return instance;-      }-      function observe(element, callback, options) {-        const { id, observer, elements } = createObserver(options);-        elements.set(element, callback);-        observer.observe(element);-        return function unobserve() {-          elements.delete(element);-          observer.unobserve(element);-          // Destroy observer when there's nothing left to watch:-          if (elements.size === 0) {-            observer.disconnect();-            observers.delete(id);-            const index = idList.findIndex(-              (obj) => obj.root === id.root && obj.margin === id.margin-            );-            if (index > -1) {-              idList.splice(index, 1);-            }-          }-        };-      }-      function useIntersection({ rootRef, rootMargin, disabled }) {-        const isDisabled = disabled || !hasIntersectionObserver;-        const [visible, setVisible] = (0, _react.useState)(false);-        const elementRef = (0, _react.useRef)(null);-        const setElement = (0, _react.useCallback)((element) => {-          elementRef.current = element;-        }, []);-        (0, _react.useEffect)(() => {-          if (hasIntersectionObserver) {-            if (isDisabled || visible) return;-            const element = elementRef.current;-            if (element && element.tagName) {-              const unobserve = observe(-                element,-                (isVisible) => isVisible && setVisible(isVisible),-                {-                  root: rootRef?.current,-                  rootMargin,-                }-              );-              return unobserve;-            }-          } else {-            if (!visible) {-              const idleCallback = (0,-              _requestidlecallback.requestIdleCallback)(() => setVisible(true));-              return () =>-                (0, _requestidlecallback.cancelIdleCallback)(idleCallback);-            }-          }-          // eslint-disable-next-line react-hooks/exhaustive-deps-        }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);-        const resetVisible = (0, _react.useCallback)(() => {-          setVisible(false);-        }, []);-        return [setElement, visible, resetVisible];-      }-      if (-        (typeof exports.default === "function" ||-          (typeof exports.default === "object" && exports.default !== null)) &&-        typeof exports.default.__esModule === "undefined"-      ) {-        Object.defineProperty(exports.default, "__esModule", {-          value: true,-        });-        Object.assign(exports.default, exports);-        module.exports = exports.default;-      } //# sourceMappingURL=use-intersection.js.map--      /***/-    },--    /***/ 4499: /***/ (module, exports, __webpack_require__) => {-      "use strict";--      Object.defineProperty(exports, "__esModule", {-        value: true,-      });-      Object.defineProperty(exports, "getDomainLocale", {-        enumerable: true,-        get: function () {-          return getDomainLocale;-        },-      });-      const _normalizetrailingslash = __webpack_require__(1379);-      const basePath =-        /* unused pure expression or super */ null && (false || "");-      function getDomainLocale(path, locale, locales, domainLocales) {-        if (false) {-        } else {-          return false;-        }-      }-      if (-        (typeof exports.default === "function" ||-          (typeof exports.default === "object" && exports.default !== null)) &&-        typeof exports.default.__esModule === "undefined"-      ) {-        Object.defineProperty(exports.default, "__esModule", {-          value: true,-        });-        Object.assign(exports.default, exports);-        module.exports = exports.default;-      } //# sourceMappingURL=get-domain-locale.js.map--      /***/-    },--    /***/ 6691: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(69);--      /***/-    },--    /***/ 6771: /***/ (-      __unused_webpack_module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      (window.__NEXT_P = window.__NEXT_P || []).push([-        "/link",-        function () {-          return __webpack_require__(2369);-        },-      ]);-      if (false) {-      }--      /***/-    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(6771)+      __webpack_exec__(2025)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forrouterDirect-HASH.js
@@ -1,7 +1,34 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [188],   {-    /***/ 97: /***/ (+    /***/ 417: /***/ (+      __unused_webpack_module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      (window.__NEXT_P = window.__NEXT_P || []).push([+        "/routerDirect",+        function () {+          return __webpack_require__(5491);+        },+      ]);+      if (false) {+      }++      /***/+    },++    /***/ 1840: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(3252);++      /***/+    },++    /***/ 5491: /***/ (       __unused_webpack_module,       __webpack_exports__,       __webpack_require__@@ -16,7 +43,7 @@       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =         __webpack_require__(1503);       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =-        __webpack_require__(7798);+        __webpack_require__(1840);       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =         /*#__PURE__*/ __webpack_require__.n(           next_router__WEBPACK_IMPORTED_MODULE_1__@@ -35,40 +62,13 @@        /***/     },--    /***/ 4283: /***/ (-      __unused_webpack_module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      (window.__NEXT_P = window.__NEXT_P || []).push([-        "/routerDirect",-        function () {-          return __webpack_require__(97);-        },-      ]);-      if (false) {-      }--      /***/-    },--    /***/ 7798: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(9300);--      /***/-    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(4283)+      __webpack_exec__(417)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forscript-HASH.js
@@ -1,17 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [1209],   {-    /***/ 5964: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(2010);--      /***/-    },--    /***/ 7758: /***/ (+    /***/ 1312: /***/ (       __unused_webpack_module,       __webpack_exports__,       __webpack_require__@@ -26,7 +16,7 @@       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =         __webpack_require__(1503);       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =-        __webpack_require__(5964);+        __webpack_require__(2398);       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =         /*#__PURE__*/ __webpack_require__.n(           next_script__WEBPACK_IMPORTED_MODULE_1__@@ -59,7 +49,17 @@       /***/     },-    /***/ 8803: /***/ (+    /***/ 2398: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(8954);++      /***/+    },++    /***/ 4305: /***/ (       __unused_webpack_module,       __unused_webpack_exports,       __webpack_require__@@ -67,7 +67,7 @@       (window.__NEXT_P = window.__NEXT_P || []).push([         "/script",         function () {-          return __webpack_require__(7758);+          return __webpack_require__(1312);         },       ]);       if (false) {@@ -81,7 +81,7 @@     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(8803)+      __webpack_exec__(4305)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff forwithRouter-HASH.js
@@ -1,7 +1,7 @@ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([   [3263],   {-    /***/ 184: /***/ (+    /***/ 358: /***/ (       __unused_webpack_module,       __webpack_exports__,       __webpack_require__@@ -16,7 +16,7 @@       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =         __webpack_require__(1503);       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =-        __webpack_require__(7798);+        __webpack_require__(1840);       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =         /*#__PURE__*/ __webpack_require__.n(           next_router__WEBPACK_IMPORTED_MODULE_1__@@ -35,7 +35,17 @@       /***/     },-    /***/ 3163: /***/ (+    /***/ 1840: /***/ (+      module,+      __unused_webpack_exports,+      __webpack_require__+    ) => {+      module.exports = __webpack_require__(3252);++      /***/+    },++    /***/ 4041: /***/ (       __unused_webpack_module,       __unused_webpack_exports,       __webpack_require__@@ -43,7 +53,7 @@       (window.__NEXT_P = window.__NEXT_P || []).push([         "/withRouter",         function () {-          return __webpack_require__(184);+          return __webpack_require__(358);         },       ]);       if (false) {@@ -51,23 +61,13 @@        /***/     },--    /***/ 7798: /***/ (-      module,-      __unused_webpack_exports,-      __webpack_require__-    ) => {-      module.exports = __webpack_require__(9300);--      /***/-    },   },   /******/ (__webpack_require__) => {     // webpackRuntimeModules     /******/ var __webpack_exec__ = (moduleId) =>       __webpack_require__((__webpack_require__.s = moduleId));     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>-      __webpack_exec__(3163)+      __webpack_exec__(4041)     );     /******/ var __webpack_exports__ = __webpack_require__.O();     /******/ _N_E = __webpack_exports__;
Diff for436-HASH.js

Diff too large to display

Diff for9760-HASH.js
failed to diff
Diff forc57d0559-HASH.js

Diff too large to display

Diff formain-HASH.js

Diff too large to display

Diff forapp-page-exp..ntime.dev.js
failed to diff
Diff forapp-page-exp..time.prod.js
failed to diff
Diff forapp-page-tur..ntime.dev.js
failed to diff
Diff forapp-page-tur..time.prod.js
failed to diff
Diff forapp-page-tur..ntime.dev.js
failed to diff
Diff forapp-page-tur..time.prod.js

Diff too large to display

Diff forapp-page.runtime.dev.js
failed to diff
Diff forapp-page.runtime.prod.js

Diff too large to display

Diff forapp-route-ex..ntime.dev.js

Diff too large to display

Diff forapp-route-ex..time.prod.js

Diff too large to display

Diff forapp-route-tu..ntime.dev.js

Diff too large to display

Diff forapp-route-tu..time.prod.js

Diff too large to display

Diff forapp-route-tu..ntime.dev.js

Diff too large to display

Diff forapp-route-tu..time.prod.js

Diff too large to display

Diff forapp-route.runtime.dev.js

Diff too large to display

Diff forapp-route.ru..time.prod.js

Diff too large to display

Diff forpages-api-tu..ntime.dev.js

Diff too large to display

Diff forpages-api-tu..time.prod.js

Diff too large to display

Diff forpages-api.runtime.dev.js

Diff too large to display

Diff forpages-api.ru..time.prod.js

Diff too large to display

Diff forpages-turbo...ntime.dev.js

Diff too large to display

Diff forpages-turbo...time.prod.js

Diff too large to display

Diff forpages.runtime.dev.js

Diff too large to display

Diff forpages.runtime.prod.js

Diff too large to display

Diff forserver.runtime.prod.js

Diff too large to display

Commit:92d1b6a

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

Reviewers

No reviews

Assignees

No one assigned

Labels

created-by: Turbopack teamPRs by the Turbopack team.TurbopackRelated to Turbopack with Next.js.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

3 participants

@lukesandberg@ijjk

[8]ページ先頭

©2009-2025 Movatter.jp