Skip to content

Conversation

@gnoff
Copy link
Contributor

@gnoff gnoff commented Oct 31, 2025

Prior to this change any "hole" in a prerender that would block the shell was considered an error and you would be presented with a very generic message explaining all the different ways you could have failed this validation check.

With this change we use a new technique to validate the static shell which can now tell the difference between waiting on uncached data or runtime data. It also improves the heuristics around generateMetadata and generateViewport errors.

I added new error pages for runtime sync IO and ensure we only validate sync IO after runtime data if the page will be validating runtime prefetches.

I restored the validation on HMR update so you can get feedback after saving a new file.

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. Documentation Related to Next.js' official documentation. type: next labels Oct 31, 2025
@ijjk
Copy link
Member

ijjk commented Oct 31, 2025

Failing test suites

Commit: c13139b | About building and testing Next.js

pnpm test-start test/e2e/app-dir/app/standalone-gsp.test.ts

  • output: standalone with getStaticProps > should work correctly with output standalone (DD)
Expand output

● output: standalone with getStaticProps › should work correctly with output standalone

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 test/e2e/app-dir/app-edge-root-layout/index.test.ts

  • app-dir edge runtime root layout > should not emit metadata files into bad paths (DD)
  • app-dir edge runtime root layout > should mark static contain metadata routes as edge functions (DD)
Expand output

● app-dir edge runtime root layout › should not emit metadata files into bad paths

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 edge runtime root layout › should mark static contain metadata routes as edge functions

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 test/e2e/app-dir/app-edge/app-edge.test.ts

  • app-dir edge SSR > should handle edge only routes (DD)
  • app-dir edge SSR > should retrieve cookies in a server component in the edge runtime (DD)
  • app-dir edge SSR > should treat process as object without polyfill in edge runtime (DD)
  • app-dir edge SSR > should handle /index routes correctly (DD)
  • app-dir edge SSR > should generate matchers correctly in middleware manifest (DD)
Expand output

● app-dir edge SSR › should handle edge only 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 edge SSR › should retrieve cookies in a server component in the 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 edge SSR › should treat process as object without polyfill 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 edge SSR › should handle /index routes 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 edge SSR › should generate matchers correctly in middleware 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)

pnpm test-dev test/development/app-dir/cache-components-dev-fallback-validation/cache-components-dev-fallback-validation.test.ts

  • Cache Components Fallback Validation > should warn about missing Suspense when accessing params if static params are partially known at build time (DD)
  • Cache Components Fallback Validation > should warn about missing Suspense when accessing params if static params are entirely missing at build time (DD)
Expand output

● Cache Components Fallback Validation › should warn about missing Suspense when accessing params if static params are partially known at build time

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Fallback Validation should warn about missing Suspense when accessing params if static params are partially known at build time 1`

- Snapshot  - 7
+ Received  + 5

@@ -1,19 +1,17 @@
  {
-   "description": "Runtime data was accessed outside of <Suspense>
+   "description": "Data that blocks navigation was accessed outside of <Suspense>

- This delays the entire page from rendering, resulting in a slow user experience. Next.js uses this error to ensure your app loads instantly on every navigation.
+ This delays the entire page from rendering, resulting in a slow user experience. Next.js uses this error to ensure your app loads instantly on every navigation. Uncached data such as fetch(...), cached data with a low expire time, or connection() are all examples of data that only resolve on navigation.

- To fix this:
+ To fix this, you can either:

- Provide a fallback UI using <Suspense> around this component.
+ Provide a fallback UI using <Suspense> around this component. This allows Next.js to stream its contents to the user as soon as it's ready, without blocking the rest of the app.

  or

- Move the Runtime data access into a deeper component wrapped in <Suspense>.
-
- In either case this allows Next.js to stream its contents to the user when they request the page, while still providing an initial UI that is prerendered and prefetchable for instant navigations.
+ Move the asynchronous await into a Cache Component ("use cache"). This allows Next.js to statically prerender the component as part of the HTML document, so it's instantly visible to the user.

  Learn more: https://nextjs.org/docs/messages/blocking-route",
    "environmentLabel": "Server",
    "label": "Blocking Route",
    "source": "app/partial/[top]/unwrapped/[bottom]/page.tsx (6:26) @ Page

  51 |     )
  52 |     if (isTurbopack) {
> 53 |       await expect(browser).toDisplayCollapsedRedbox(`
     |                             ^
  54 |        {
  55 |          "description": "Runtime data was accessed outside of <Suspense>
  56 | 

  at Object.toDisplayCollapsedRedbox (development/app-dir/cache-components-dev-fallback-validation/cache-components-dev-fallback-validation.test.ts:53:29)

● Cache Components Fallback Validation › should warn about missing Suspense when accessing params if static params are entirely missing at build time

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Fallback Validation should warn about missing Suspense when accessing params if static params are entirely missing at build time 1`

- Snapshot  - 1
+ Received  + 1

@@ -1,9 +1,9 @@
  {
    "description": "Runtime data was accessed outside of <Suspense>

- This delays the entire page from rendering, resulting in a slow user experience. Next.js uses this error to ensure your app loads instantly on every navigation.
+ This delays the entire page from rendering, resulting in a slow user experience. Next.js uses this error to ensure your app loads instantly on every navigation.cookies(), headers(), and searchParams, are examples of Runtime data that can only come from a user request.

  To fix this:

  Provide a fallback UI using <Suspense> around this component.
  ↵

  238 |     const browser = await next.browser('/none/prerendered/wrapped/prerendered')
  239 |     if (isTurbopack) {
> 240 |       await expect(browser).toDisplayCollapsedRedbox(`
      |                             ^
  241 |        {
  242 |          "description": "Runtime data was accessed outside of <Suspense>
  243 | 

  at Object.toDisplayCollapsedRedbox (development/app-dir/cache-components-dev-fallback-validation/cache-components-dev-fallback-validation.test.ts:240:29)

pnpm test-start test/e2e/app-dir/app/standalone.test.ts

  • output: standalone with app dir > should handle trace files correctly for route groups (nodejs only) (DD)
  • output: standalone with app dir > should work correctly with output standalone (DD)
Expand output

● output: standalone with app dir › should handle trace files correctly for route groups (nodejs only)

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)

● output: standalone with app dir › should work correctly with output standalone

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/development/app-dir/missing-required-html-tags/index.test.ts

  • app-dir - missing required html tags > should show error overlay (DD)
  • app-dir - missing required html tags > should reload when you fix the error (DD)
Expand output

● app-dir - missing required html tags › should show error overlay

Expected Redbox but found no visible one.

  23 |     const browser = await next.browser('/')
  24 |
> 25 |     await waitForRedbox(browser)
     |     ^
  26 |     await expect(browser).toDisplayRedbox(`
  27 |      {
  28 |        "description": "Missing <html> and <body> tags in the root layout.

  at Object.<anonymous> (development/app-dir/missing-required-html-tags/index.test.ts:25:5)

● app-dir - missing required html tags › should reload when you fix the error

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `app-dir - missing required html tags should reload when you fix the error 1`

- Snapshot  - 8
+ Received  + 1

- {
-   "description": "Missing <html> and <body> tags in the root layout.
- Read more at https://nextjs.org/docs/messages/missing-root-layout-tags",
-   "environmentLabel": null,
-   "label": "Runtime Error",
-   "source": null,
-   "stack": [],
- }
+ "Expected Redbox but found no visible one."

  49 |     })
  50 |
> 51 |     await expect(browser).toDisplayRedbox(`
     |                           ^
  52 |      {
  53 |        "description": "Missing <html> and <body> tags in the root layout.
  54 |      Read more at https://nextjs.org/docs/messages/missing-root-layout-tags",

  at Object.toDisplayRedbox (development/app-dir/missing-required-html-tags/index.test.ts:51:27)

pnpm test-start test/e2e/app-dir/app/useReportWebVitals.test.ts

  • useReportWebVitals hook > should send web-vitals (DD)
Expand output

● useReportWebVitals hook › should send web-vitals

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 test/e2e/app-dir/actions/app-action-form-state-node-middleware.test.ts

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

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

next build failed with code/signal 1

  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 useActionState › should support submitting form state without JS

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 useActionState › should support hydrating the app from progressively enhanced form 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 useActionState › should send the action to the provided permalink with form state when JS 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)

pnpm test-start test/e2e/app-dir/actions/app-action-node-middleware.test.ts

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

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

next build failed with code/signal 1

  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 a text/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 uses 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 › redirects › redirects properly when route handler uses permanentRedirect

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-dev-turbo test/development/app-dir/cache-components-dev-errors/cache-components-dev-errors.test.ts (turbopack)

  • Cache Components Dev Errors > should show a red box error on the SSR render (DD)
  • Cache Components Dev Errors > should not show a red box error on client navigations (DD)
  • Cache Components Dev Errors > should display error when component accessed data without suspense boundary (DD)
Expand output

● Cache Components Dev Errors › should show a red box error on the SSR render

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Dev Errors should show a red box error on the SSR render 1`

- Snapshot  - 1
+ Received  + 1

@@ -6,8 +6,8 @@
  > 2 |   const random = Math.random()
      |                       ^",
    "stack": [
      "Page app/error/page.tsx (2:23)",
      "Page <anonymous>",
-     "LogSafely <anonymous>",
+     "ReportValidation <anonymous>",
    ],
  }

  20 |     // Interestingly, it only appears on initial load, and not when
  21 |     // soft-navigating to the page (see test below).
> 22 |     await expect(browser).toDisplayCollapsedRedbox(`
     |                           ^
  23 |      {
  24 |        "description": "Route "/error" used \`Math.random()\` before accessing either uncached data (e.g. \`fetch()\`) or Request data (e.g. \`cookies()\`, \`headers()\`, \`connection()\`, and \`searchParams\`). Accessing random values synchronously in a Server Component requires reading one of these data sources first. Alternatively, consider moving this expression into a Client Component or Cache Component. See more info here: https://nextjs.org/docs/messages/next-prerender-random",
  25 |        "environmentLabel": "Server",

  at Object.toDisplayCollapsedRedbox (development/app-dir/cache-components-dev-errors/cache-components-dev-errors.test.ts:22:27)

● Cache Components Dev Errors › should not show a red box error on client navigations

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Dev Errors should not show a red box error on client navigations 1`

- Snapshot  - 1
+ Received  + 1

@@ -6,8 +6,8 @@
  > 2 |   const random = Math.random()
      |                       ^",
    "stack": [
      "Page app/error/page.tsx (2:23)",
      "Page <anonymous>",
-     "LogSafely <anonymous>",
+     "ReportValidation <anonymous>",
    ],
  }

  50 |
  51 |     // TODO: React should not include the anon stack in the Owner Stack.
> 52 |     await expect(browser).toDisplayCollapsedRedbox(`
     |                           ^
  53 |      {
  54 |        "description": "Route "/error" used \`Math.random()\` before accessing either uncached data (e.g. \`fetch()\`) or Request data (e.g. \`cookies()\`, \`headers()\`, \`connection()\`, and \`searchParams\`). Accessing random values synchronously in a Server Component requires reading one of these data sources first. Alternatively, consider moving this expression into a Client Component or Cache Component. See more info here: https://nextjs.org/docs/messages/next-prerender-random",
  55 |        "environmentLabel": "Server",

  at Object.toDisplayCollapsedRedbox (development/app-dir/cache-components-dev-errors/cache-components-dev-errors.test.ts:52:27)

● Cache Components Dev Errors › should display error when component accessed data without suspense boundary

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Dev Errors should display error when component accessed data without suspense boundary 1`

- Snapshot  - 10
+ Received  +  8

  {
-   "description": "Uncached data was accessed outside of <Suspense>
+   "description": "Data that blocks navigation was accessed outside of <Suspense>

- This delays the entire page from rendering, resulting in a slow user experience. Next.js uses this error to ensure your app loads instantly on every navigation.
+ This delays the entire page from rendering, resulting in a slow user experience. Next.js uses this error to ensure your app loads instantly on every navigation. Uncached data such as fetch(...), cached data with a low expire time, or connection() are all examples of data that only resolve on navigation.

  To fix this, you can either:

- Wrap the component in a <Suspense> boundary. This allows Next.js to stream its contents to the user as soon as it's ready, without blocking the rest of the app.
+ Provide a fallback UI using <Suspense> around this component. This allows Next.js to stream its contents to the user as soon as it's ready, without blocking the rest of the app.

  or

  Move the asynchronous await into a Cache Component ("use cache"). This allows Next.js to statically prerender the component as part of the HTML document, so it's instantly visible to the user.
-
- Note that request-specific information — such as params, cookies, and headers — is not available during static prerendering, so must be wrapped in <Suspense>.

  Learn more: https://nextjs.org/docs/messages/blocking-route",
    "environmentLabel": "Server",
    "label": "Blocking Route",
-   "source": "app/no-accessed-data/page.js (1:31) @ Page
- > 1 | export default async function Page() {
-     |                               ^",
+   "source": "app/no-accessed-data/page.js (2:9) @ Page
+ > 2 |   await new Promise((r) => setTimeout(r, 200))
+     |         ^",
    "stack": [
-     "Page app/no-accessed-data/page.js (1:31)",
-     "LogSafely <anonymous>",
+     "Page app/no-accessed-data/page.js (2:9)",
+     "ReportValidation <anonymous>",
    ],
  }

   97 |     )
   98 |
>  99 |     await expect(browser).toDisplayCollapsedRedbox(`
      |                           ^
  100 |      {
  101 |        "description": "Uncached data was accessed outside of <Suspense>
  102 | 

  at Object.toDisplayCollapsedRedbox (development/app-dir/cache-components-dev-errors/cache-components-dev-errors.test.ts:99:27)

pnpm test-start test/e2e/app-dir/app/experimental-compile.test.ts

  • app dir - basic > should have correct cache-control for SSR routes (DD)
  • app dir - basic > should provide query for getStaticProps page correctly (DD)
  • app dir - basic > should contain framework.json (DD)
  • app dir - basic > outputs correct build-diagnostics.json (DD)
  • app dir - basic > should work for catch-all edge page (DD)
  • app dir - basic > should return normalized dynamic route params for catch-all edge page (DD)
  • app dir - basic > should have correct searchParams and params (server) (DD)
  • app dir - basic > should have correct searchParams and params (client) (DD)
  • app dir - basic > should successfully detect app route during prefetch (DD)
  • app dir - basic > should encode chunk path correctly (DD)
  • app dir - basic > should match redirects in pages correctly $path (DD)
  • app dir - basic > should match redirects in pages correctly $path (DD)
  • app dir - basic > should match redirects in pages correctly $path (DD)
  • app dir - basic > should match redirects in pages correctly $path (DD)
  • app dir - basic > should match redirects in pages correctly $path (DD)
  • app dir - basic > should match redirects in pages correctly $path (DD)
  • app dir - basic > should not apply client router filter on shallow (DD)
  • app dir - basic > should not share edge workers (DD)
  • app dir - basic > should generate build traces correctly (DD)
  • app dir - basic > should use text/x-component for flight (DD)
  • app dir - basic > should use text/x-component for flight with edge runtime (DD)
  • app dir - basic > should return the vary header from edge runtime (DD)
  • app dir - basic > should return the vary header from pages for flight requests (DD)
  • app dir - basic > should pass props from getServerSideProps in root layout (DD)
  • app dir - basic > should serve from pages (DD)
  • app dir - basic > should serve dynamic route from pages (DD)
  • app dir - basic > should serve from public (DD)
  • app dir - basic > should serve from app (DD)
  • app dir - basic > should ensure the suffix is at the end of the stream (DD)
  • app dir - basic > should serve /index as separate page (DD)
  • app dir - basic > should serve polyfills for browsers that do not support modules (DD)
  • app dir - basic > should include layouts when no direct parent layout (DD)
  • app dir - basic > should use new root layout when provided (DD)
  • app dir - basic > should not create new root layout when nested (optional) (DD)
  • app dir - basic > should include parent document when no direct parent layout (DD)
  • app dir - basic > should not include parent when not in parent directory (DD)
  • app dir - basic > should serve nested parent (DD)
  • app dir - basic > should serve dynamic parameter (DD)
  • app dir - basic > should serve page as a segment name correctly (DD)
  • app dir - basic > should include document html and body (DD)
  • app dir - basic > should not serve when layout is provided but no folder index (DD)
  • app dir - basic > should not rerender layout when navigating between routes in the same layout (DD)
  • app dir - basic > should handle hash in initial url (DD)
  • app dir - basic > should run generate command correctly (DD)
  • app dir - basic > > should hard push (DD)
  • app dir - basic > > should hard replace (DD)
  • app dir - basic > > should soft push (DD)
  • app dir - basic > > should soft replace (DD)
  • app dir - basic > > should be soft for back navigation (DD)
  • app dir - basic > > should be soft for forward navigation (DD)
  • app dir - basic > > should allow linking from app page to pages page (DD)
  • app dir - basic > > should navigate to pages dynamic route from pages page if it overlaps with an app page (DD)
  • app dir - basic > > should push to external url (DD)
  • app dir - basic > > should replace to external url (DD)
  • app dir - basic > bootstrap scripts > should only bootstrap with one script, prinitializing the rest (DD)
  • app dir - basic > bootstrap scripts > should successfully bootstrap even when using CSP (DD)
  • app dir - basic > data fetch with response over 16KB with chunked encoding > should load page when fetching a large amount of data (DD)
  • app dir - basic > known bugs > should not share flight data between requests (DD)
  • app dir - basic > known bugs > should handle router.refresh without resetting state (DD)
  • app dir - basic > known bugs > should handle as on next/link (DD)
  • app dir - basic > known bugs > should handle next/link back to initially loaded page (DD)
  • app dir - basic > known bugs > should not do additional pushState when already on the page (DD)
  • app dir - basic > known bugs > should support React cache > server component (DD)
  • app dir - basic > known bugs > should support React cache > server component client-navigation (DD)
  • app dir - basic > known bugs > should support React cache > client component (DD)
  • app dir - basic > known bugs > should support React cache > client component client-navigation (DD)
  • app dir - basic > known bugs > should support React cache > middleware overriding headers (DD)
  • app dir - basic > known bugs > should support React fetch instrumentation > server component (DD)
  • app dir - basic > known bugs > should support React fetch instrumentation > server component client-navigation (DD)
  • app dir - basic > next/script > should support next/script and render in correct order (DD)
  • app dir - basic > next/script > should pass on extra props for beforeInteractive scripts with a src prop (DD)
  • app dir - basic > next/script > should pass on extra props for beforeInteractive scripts without a src prop (DD)
  • app dir - basic > next/script > should insert preload tags for beforeInteractive and afterInteractive scripts (DD)
  • app dir - basic > next/script > should load stylesheets for next/scripts (DD)
  • app dir - basic > next/script > should pass nonce (DD)
  • app dir - basic > next/script > should pass manual nonce (DD)
  • app dir - basic > next/script > should pass manual nonce pages (DD)
  • app dir - basic > next/script > should pass nonce when using next/font (DD)
  • app dir - basic > rewrites > should support rewrites on initial load (DD)
  • app dir - basic > rewrites > should support rewrites on client-side navigation from pages to app with existing pages path (DD)
  • app dir - basic > rewrites > should support rewrites on client-side navigation (DD)
  • app dir - basic > searchParams prop > client component > should have the correct search params (DD)
  • app dir - basic > searchParams prop > client component > should have the correct search params on rewrite (DD)
  • app dir - basic > searchParams prop > client component > should have the correct search params on middleware rewrite (DD)
  • app dir - basic > searchParams prop > server component > should have the correct search params (DD)
  • app dir - basic > searchParams prop > server component > should have the correct search params on rewrite (DD)
  • app dir - basic > searchParams prop > server component > should have the correct search params on middleware rewrite (DD)
  • app dir - basic > server components > should not serve .server.js as a path (DD)
  • app dir - basic > server components > should not serve .client.js as a path (DD)
  • app dir - basic > server components > should serve shared component (DD)
  • app dir - basic > server components > Loading > should render loading.js in initial html for slow page (DD)
  • app dir - basic > server components > Loading > should render loading.js in browser for slow page (DD)
  • app dir - basic > server components > Loading > should render loading.js in initial html for slow layout (DD)
  • app dir - basic > server components > Loading > should render loading.js in browser for slow layout (DD)
  • app dir - basic > server components > Loading > should render loading.js in initial html for slow layout and page (DD)
  • app dir - basic > server components > Loading > should render loading.js in browser for slow layout and page (DD)
  • app dir - basic > server components > catch-all routes > should handle optional segments (DD)
  • app dir - basic > server components > catch-all routes > should handle optional segments root (DD)
  • app dir - basic > server components > catch-all routes > should handle optional catch-all segments link (DD)
  • app dir - basic > server components > catch-all routes > should handle required segments (DD)
  • app dir - basic > server components > catch-all routes > should handle required segments root as not found (DD)
  • app dir - basic > server components > catch-all routes > should handle catch-all segments link (DD)
  • app dir - basic > server components > client components > should have consistent query and params handling (DD)
  • app dir - basic > server components > dynamic routes > should only pass params that apply to the layout (DD)
  • app dir - basic > server components > middleware > should strip internal query parameters from requests to middleware for rewrite (DD)
  • app dir - basic > server components > middleware > should strip internal query parameters from requests to middleware for redirect (DD)
  • app dir - basic > server components > next/router > should support router.back and router.forward (DD)
  • app dir - basic > server components > should include client component layout with server component route > should include it server-side (DD)
  • app dir - basic > server components > should include client component layout with server component route > should include it client-side (DD)
  • app dir - basic > server components > should serve client component > should serve server-side (DD)
  • app dir - basic > server components > should serve client component > should serve client-side (DD)
  • app dir - basic > template component > should render the template that holds state in a client component and reset on navigation (DD)
  • app dir - basic > template component > should render the template that is a server component and rerender on navigation (DD)
Expand output

● app dir - basic › should have correct cache-control for SSR 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 - basic › should provide query for getStaticProps page 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 - basic › should contain framework.json

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 - basic › outputs correct build-diagnostics.json

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 - basic › should work for catch-all edge 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 - basic › should return normalized dynamic route params for catch-all edge 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 - basic › should have correct searchParams and params (server)

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 - basic › should have correct searchParams and params (client)

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 - basic › should successfully detect app route during prefetch

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 - basic › should encode chunk path 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 - basic › should match redirects in pages correctly $path

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 - basic › should match redirects in pages correctly $path

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 - basic › should match redirects in pages correctly $path

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 - basic › should match redirects in pages correctly $path

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 - basic › should match redirects in pages correctly $path

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 - basic › should match redirects in pages correctly $path

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 - basic › should not apply client router filter on shallow

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 - basic › should not share edge workers

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 - basic › should generate build traces 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 - basic › should use text/x-component for 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 - basic › should use text/x-component for flight with 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 - basic › should return the vary header from 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 - basic › should return the vary header from pages for flight requests

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 - basic › should pass props from getServerSideProps in root layout

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 - basic › should serve from pages

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 - basic › should serve dynamic route from pages

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 - basic › should serve from public

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 - basic › should serve from app

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 - basic › should ensure the suffix is at the end of the stream

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 - basic › should serve /index as separate 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 - basic › should serve polyfills for browsers that do not support modules

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 - basic › should handle css imports in next/dynamic 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 - basic › should include layouts when no direct parent layout

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 - basic › should not include parent when not in parent directory with route in directory

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 - basic › should use new root layout when provided

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 - basic › should not create new root layout when nested (optional)

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 - basic › should include parent document when no direct parent layout

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 - basic › should not include parent when not in parent directory

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 - basic › should serve nested parent

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 - basic › should serve dynamic parameter

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 - basic › should serve page as a segment name 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 - basic › should include document html and body

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 - basic › should not serve when layout is provided but no folder index

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 - basic › should match partial parameters

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 - basic › rewrites › should support rewrites on initial load

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 - basic › rewrites › should support rewrites on client-side navigation from pages to app with existing pages path

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 - basic › rewrites › should support rewrites on client-side 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 - basic › should not rerender layout when navigating between routes in the same layout

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 - basic › should handle hash in initial url

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 - basic › › should hard push

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 - basic › › should hard 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 - basic › › should soft push

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 - basic › › should soft 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 - basic › › should be soft for back 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 - basic › › should be soft for forward 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 - basic › › should allow linking from app page to pages 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 - basic › › should navigate to pages dynamic route from pages page if it overlaps with an app 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 - basic › › should push to external url

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 - basic › › should replace to external url

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 - basic › server components › should not serve .server.js as a path

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 - basic › server components › should not serve .client.js as a path

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 - basic › server components › should serve shared component

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 - basic › server components › dynamic routes › should only pass params that apply to the layout

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 - basic › server components › catch-all routes › should handle optional segments

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 - basic › server components › catch-all routes › should handle optional segments root

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 - basic › server components › catch-all routes › should handle optional catch-all segments link

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 - basic › server components › catch-all routes › should handle required segments

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 - basic › server components › catch-all routes › should handle required segments root as not found

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 - basic › server components › catch-all routes › should handle catch-all segments link

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 - basic › server components › should serve client component › should serve server-side

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 - basic › server components › should serve client component › should serve client-side

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 - basic › server components › should include client component layout with server component route › should include it server-side

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 - basic › server components › should include client component layout with server component route › should include it client-side

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 - basic › server components › Loading › should render loading.js in initial html for slow 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 - basic › server components › Loading › should render loading.js in browser for slow 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 - basic › server components › Loading › should render loading.js in initial html for slow layout

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 - basic › server components › Loading › should render loading.js in browser for slow layout

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 - basic › server components › Loading › should render loading.js in initial html for slow layout and 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 - basic › server components › Loading › should render loading.js in browser for slow layout and 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 - basic › server components › middleware › should strip internal query parameters from requests to middleware for 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 - basic › server components › middleware › should strip internal query parameters from requests to middleware for 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 - basic › server components › next/router › should support router.back and router.forward

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 - basic › server components › client components › should have consistent query and params handling

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 - basic › searchParams prop › client component › should have the correct 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 - basic › searchParams prop › client component › should have the correct search params on 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 - basic › searchParams prop › client component › should have the correct search params on 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 - basic › searchParams prop › server component › should have the correct 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 - basic › searchParams prop › server component › should have the correct search params on 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 - basic › searchParams prop › server component › should have the correct search params on 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 - basic › template component › should render the template that holds state in a client component and reset on 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 - basic › template component › should render the template that is a server component and rerender on 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 - basic › known bugs › should support React cache › server component

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 - basic › known bugs › should support React cache › server component client-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 - basic › known bugs › should support React cache › client component

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 - basic › known bugs › should support React cache › client component client-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 - basic › known bugs › should support React cache › middleware overriding 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 - basic › known bugs › should support React fetch instrumentation › server component

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 - basic › known bugs › should support React fetch instrumentation › server component client-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 - basic › known bugs › should support React fetch instrumentation › client component

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 - basic › known bugs › should support React fetch instrumentation › client component client-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 - basic › known bugs › should not share flight data between requests

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 - basic › known bugs › should handle router.refresh without resetting state

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 - basic › known bugs › should handle as on next/link

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 - basic › known bugs › should handle next/link back to initially loaded 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 - basic › known bugs › should not do additional pushState when already on the 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 - basic › next/script › should support next/script and render in correct order

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 - basic › next/script › should pass on extra props for beforeInteractive scripts with a src prop

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 - basic › next/script › should pass on extra props for beforeInteractive scripts without a src prop

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 - basic › next/script › should insert preload tags for beforeInteractive and afterInteractive scripts

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 - basic › next/script › should load stylesheets for next/scripts

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 - basic › next/script › should pass nonce

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 - basic › next/script › should pass manual nonce

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 - basic › next/script › should pass manual nonce pages

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 - basic › next/script › should pass nonce when using next/font

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 - basic › data fetch with response over 16KB with chunked encoding › should load page when fetching a large amount of data

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 - basic › bootstrap scripts › should only bootstrap with one script, prinitializing the rest

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 - basic › bootstrap scripts › should successfully bootstrap even when using CSP

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 - basic › should run generate command 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)

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

  • Cache Components Errors > Sync IO in console methods > Console Patching > does not warn about sync IO if console.log is patched to call new Date() internally (DD)
Expand output

● Cache Components Errors › Sync IO in console methods › Console Patching › does not warn about sync IO if console.log is patched to call new Date() internally

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Cache Components Errors Sync IO in console methods Console Patching does not warn about sync IO if console.log is patched to call new Date() internally 1`

- Snapshot  - 2
+ Received  + 0

  [<timestamp>] This is a console log from a server component page
- [<timestamp>] This is a console log from a server component page
- [<timestamp>] This is a console log from a server component page

  46 |           const snapshot = output.slice(0, output.indexOf('GET / 200')).trim()
  47 |
> 48 |           expect(snapshot).toMatchInlineSnapshot(`
     |                            ^
  49 |            "[<timestamp>] This is a console log from a server component page
  50 |            [<timestamp>] This is a console log from a server component page
  51 |            [<timestamp>] This is a console log from a server component page"

  at Object.toMatchInlineSnapshot (e2e/app-dir/cache-components-errors/cache-components-console-patch.test.ts:48:28)

pnpm test-dev test/development/app-hmr/hmr.test.ts

  • app-dir-hmr > filesystem changes > should update server components after navigating to a page with a different runtime (DD)
  • app-dir-hmr > filesystem changes > can navigate cleanly to a page that requires a change in the Webpack runtime (DD)
Expand output

● app-dir-hmr › filesystem changes › should update server components after navigating to a page with a different runtime

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

Expected: "mac"
Received: ""

  65 |       await browser.loadPage(`${next.url}/env/edge`)
  66 |       await browser.eval('window.__TEST_NO_RELOAD = true')
> 67 |       expect(await browser.elementByCss('p').text()).toBe('mac')
     |                                                      ^
  68 |
  69 |       const getCliOutput = next.getCliOutputFromHere()
  70 |       await next.patchFile(envFile, 'MY_DEVICE="ipad"', async () => {

  at Object.toBe (development/app-hmr/hmr.test.ts:67:54)

● app-dir-hmr › filesystem changes › can navigate cleanly to a page that requires a change in the Webpack runtime

page.waitForSelector: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('[data-testid="new-runtime-functionality-page"]')

  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 Object.<anonymous> (development/app-hmr/hmr.test.ts:105:7)
  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 (development/app-hmr/hmr.test.ts:108:10)

pnpm test-start test/e2e/app-dir/metadata/metadata.test.ts

  • app dir - metadata > should not effect metadata images convention like files under pages directory (DD)
  • app dir - metadata > regression: renders a large shell (DD)
  • app dir - metadata > basic > should support title and description (DD)
  • app dir - metadata > basic > should support title template (DD)
  • app dir - metadata > basic > should support stashed title in one layer of page and layout (DD)
  • app dir - metadata > basic > should use parent layout title when no title is defined in page (DD)
  • app dir - metadata > basic > should support stashed title in two layers of page and layout (DD)
  • app dir - metadata > basic > should support other basic tags (DD)
  • app dir - metadata > basic > should support other basic tags (edge) (DD)
  • app dir - metadata > basic > should support apple related tags itunes and appWebApp (DD)
  • app dir - metadata > basic > should support socials related tags like facebook and pinterest (DD)
  • app dir - metadata > basic > should support alternate tags (DD)
  • app dir - metadata > basic > should relative canonical url (DD)
  • app dir - metadata > basic > should not contain query in canonical url after client navigation (DD)
  • app dir - metadata > basic > should support robots tags (DD)
  • app dir - metadata > basic > should support verification tags (DD)
  • app dir - metadata > basic > should support appLinks tags (DD)
  • app dir - metadata > basic > should apply metadata when navigating client-side (DD)
  • app dir - metadata > basic > should support generateMetadata dynamic props (DD)
  • app dir - metadata > basic > should handle metadataBase for urls resolved as only URL type (DD)
  • app dir - metadata > basic > should handle metadataBase as url string (DD)
  • app dir - metadata > file based icons > should render icon and apple touch icon meta if their images are specified (DD)
  • app dir - metadata > file based icons > should not render if image file is not specified (DD)
  • app dir - metadata > icons > should support basic object icons field (DD)
  • app dir - metadata > icons > should support basic string icons field (DD)
  • app dir - metadata > icons > should support basic complex descriptor icons field (DD)
  • app dir - metadata > icons > should merge icons from layout if no static icons files are specified (DD)
  • app dir - metadata > icons > should not hoist meta[itemProp] to head (DD)
  • app dir - metadata > icons > should support root level of favicon.ico (DD)
  • app dir - metadata > opengraph > should support opengraph tags (DD)
  • app dir - metadata > opengraph > should support opengraph with article type (DD)
  • app dir - metadata > opengraph > should pick up opengraph-image and twitter-image as static metadata files (DD)
  • app dir - metadata > opengraph > should override file based images when opengraph-image and twitter-image specify images property (DD)
  • app dir - metadata > opengraph > metadataBase should override fallback base for resolving OG images (DD)
  • app dir - metadata > react cache > should have same title and page value on initial load (DD)
  • app dir - metadata > react cache > should have same title and page value when navigating (DD)
  • app dir - metadata > static optimization > should build static files into static route (DD)
  • app dir - metadata > static routes > should have /favicon.ico as route (DD)
  • app dir - metadata > static routes > should have icons as route (DD)
  • app dir - metadata > static routes > should support root dir robots.txt (DD)
  • app dir - metadata > static routes > should support sitemap.xml under every routes (DD)
  • app dir - metadata > static routes > should support static manifest.webmanifest (DD)
  • app dir - metadata > static routes > should build favicon.ico as a custom route (DD)
  • app dir - metadata > twitter > should support twitter card summary_large_image when image present (DD)
  • app dir - metadata > twitter > should render twitter card summary when image is not present (DD)
  • app dir - metadata > twitter > should support default twitter player card (DD)
  • app dir - metadata > twitter > should support default twitter app card (DD)
  • app dir - metadata > viewport > should support dynamic viewport export (DD)
  • app dir - metadata > viewport > should skip initial-scale from viewport if it is set to undefined (DD)
Expand output

● app dir - metadata › basic › should support title and description

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 - metadata › basic › should support title template

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 - metadata › basic › should support stashed title in one layer of page and layout

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 - metadata › basic › should use parent layout title when no title is defined in 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 - metadata › basic › should support stashed title in two layers of page and layout

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 - metadata › basic › should support other basic tags

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 - metadata › basic › should support other basic tags (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 - metadata › basic › should support apple related tags itunes and appWebApp

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 - metadata › basic › should support socials related tags like facebook and pinterest

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 - metadata › basic › should support alternate tags

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 - metadata › basic › should relative canonical url

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 - metadata › basic › should not contain query in canonical url after client 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 - metadata › basic › should support robots tags

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 - metadata › basic › should support verification tags

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 - metadata › basic › should support appLinks tags

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 - metadata › basic › should apply metadata when navigating client-side

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 - metadata › basic › should support generateMetadata dynamic props

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 - metadata › basic › should handle metadataBase for urls resolved as only URL 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 - metadata › basic › should handle metadataBase as url string

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 - metadata › opengraph › should support opengraph tags

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 - metadata › opengraph › should support opengraph with article 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 - metadata › opengraph › should pick up opengraph-image and twitter-image as static metadata 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 - metadata › opengraph › should override file based images when opengraph-image and twitter-image specify images property

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 - metadata › opengraph › metadataBase should override fallback base for resolving OG images

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 - metadata › icons › should support basic object icons field

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 - metadata › icons › should support basic string icons field

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 - metadata › icons › should support basic complex descriptor icons field

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 - metadata › icons › should merge icons from layout if no static icons files are specified

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 - metadata › icons › should not hoist meta[itemProp] to head

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 - metadata › icons › should support root level of favicon.ico

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 - metadata › file based icons › should render icon and apple touch icon meta if their images are specified

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 - metadata › file based icons › should not render if image file is not specified

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 - metadata › twitter › should support twitter card summary_large_image when image present

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 - metadata › twitter › should render twitter card summary when image is not present

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 - metadata › twitter › should support default twitter player card

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 - metadata › twitter › should support default twitter app card

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 - metadata › static routes › should have /favicon.ico as route

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 - metadata › static routes › should have icons as route

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 - metadata › static routes › should support root dir robots.txt

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 - metadata › static routes › should support sitemap.xml under every 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 - metadata › static routes › should support static manifest.webmanifest

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 - metadata › static routes › should build favicon.ico as a custom route

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 - metadata › static optimization › should build static files into static route

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 - metadata › viewport › should support dynamic viewport export

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 - metadata › viewport › should skip initial-scale from viewport if it is set to undefined

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 - metadata › react cache › should have same title and page value on initial load

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 - metadata › react cache › should have same title and page value when navigating

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 - metadata › should not effect metadata images convention like files under pages directory

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 - metadata › regression: renders a large shell

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)

{ once: true }
)

this.mayAbandon = true
Copy link
Member

@lubieowoce lubieowoce Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: not sure if we need a separate property for this? afaict this.mayAbandon === !!this.abortSignal, so we can make it a getter instead

@gnoff gnoff force-pushed the discriminated-dynamic-errors branch from b3792ff to a0cf548 Compare November 3, 2025 16:05
Comment on lines +3140 to +3293
if (initialStageController.currentStage === RenderStage.Abandoned) {
// If we abandoned the render in the static stage, we won't proceed further.
return null
}
Copy link
Member

@lubieowoce lubieowoce Nov 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems like this can't currently happen, abandonRender() is only called in runtime/dynamic stages, because we decided that we always want to go into the runtime stage to warm runtime caches. was this meant to check for sync IO aborts or something?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, my mistake -- in the initial stage, sync IO will cause the render to be abandoned, so it can happen here too. we should probably add a comment about that, and note that abandonRender() will still advance us to the runtime stage, so technically we've already proceeded to further stages, just not along the regular path.

gnoff and others added 9 commits November 5, 2025 15:57
Prior to this change any "hole" in a prerender that would block the shell was considered an error and you would be presented with a very generic message explaining all the different ways you could have failed this validation check.

With this change we use a new technique to validate the static shell which can now tell the difference between waiting on uncached data or runtime data. It also improves the heuristics around generateMetadata and generateViewport errors.

I added new error pages for runtime sync IO and ensure we only validate sync IO after runtime data if the page will be validating runtime prefetches.

I restored the validation on HMR update so you can get feedback after saving a new file.
in theory this shouldn't be necessary but currently we only track awaits and just rendering the promise as is doesn't cause there to be and IO stack line to generate a codeframe off of
This ensures that any I/O awaited during the dynamic stage (i.e. after
other uncached I/O resolved) does not contaminate the owner stacks used
for error reporting.
@unstubbable unstubbable force-pushed the discriminated-dynamic-errors branch from b3c47a4 to c13139b Compare November 5, 2025 14:57
Copy link
Contributor

@vercel vercel bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one: () => A,
two: (a: A) => B,
three: (b: B) => C | Promise<C>
three: (b: B) => C
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pipelineInSequentialTasks function signature was narrowed to disallow returning promises, but it's actually called with async functions that do return promises, creating a type safety regression.

View Details
📝 Patch Details
diff --git a/packages/next/src/server/app-render/app-render-render-utils.ts b/packages/next/src/server/app-render/app-render-render-utils.ts
index 2645ca3343..58b236d1d0 100644
--- a/packages/next/src/server/app-render/app-render-render-utils.ts
+++ b/packages/next/src/server/app-render/app-render-render-utils.ts
@@ -38,7 +38,7 @@ export function scheduleInSequentialTasks<R>(
 export function pipelineInSequentialTasks<A, B, C>(
   one: () => A,
   two: (a: A) => B,
-  three: (b: B) => C
+  three: (b: B) => C | Promise<C>
 ): Promise<C> {
   if (process.env.NEXT_RUNTIME === 'edge') {
     throw new InvariantError(
@@ -71,7 +71,7 @@ export function pipelineInSequentialTasks<A, B, C>(
         }
       }, 0)
 
-      let threeResult: C
+      let threeResult: C | Promise<C>
       const threeId = setTimeout(() => {
         // if `two` threw, then this timeout would've been cleared,
         // so if we got here, we're guaranteed to have a value.
@@ -85,7 +85,7 @@ export function pipelineInSequentialTasks<A, B, C>(
 
       // We wait a task before resolving/rejecting
       const fourId = setTimeout(() => {
-        resolve(threeResult)
+        resolve(threeResult as any)
       }, 0)
     })
   }

Analysis

Type Safety Regression in pipelineInSequentialTasks Function

What fails: The pipelineInSequentialTasks function signature was narrowed from three: (b: B) => C | Promise<C> to three: (b: B) => C, removing Promise support. However, the function is called with async functions at lines 3253 and 3416 in packages/next/src/server/app-render/app-render.tsx, which always return Promise<...>. This creates a type mismatch where the calling code violates the new type signature.

How to reproduce:

cd packages/next
pnpm exec tsc --noEmit

Check that files calling pipelineInSequentialTasks with async third parameters now type-check correctly.

Result before fix: The function signature only accepts (b: B) => C for the third parameter, preventing async functions even though the codebase uses them.

Result after fix: The function signature now accepts (b: B) => C | Promise<C>, properly reflecting the actual usage patterns where async functions are passed as the third parameter. The implementation correctly handles both synchronous and asynchronous returns through Promise.resolve() semantics.

Why this matters: This fixes a type safety regression where a recent signature change removed Promise support without updating the calling code, creating a silent type mismatch that could hide legitimate errors from TypeScript's type checker.

@lubieowoce
Copy link
Member

Closing in favor of #85747

@lubieowoce lubieowoce closed this Nov 7, 2025
@lubieowoce lubieowoce changed the title [Cache Components] Discriminate static shell validation errors by type [Cache Components] Discriminate static shell validation errors by type (old) Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by: Next.js team PRs by the Next.js team. Documentation Related to Next.js' official documentation. tests type: next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants