Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Upgrade React from 372ec00c-20241209 to 9463d51e-20241219 #74151

Closed

Conversation

vercel-release-bot
Copy link
Collaborator

diff facebook/react@372ec00c...9463d51e

React upstream changes

@ijjk
Copy link
Member

ijjk commented Dec 19, 2024

Failing test suites

Commit: 4a33e23

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/dynamic-io-errors/dynamic-io-errors.module-scope.test.ts (PPR)

  • Lazy Module Init > should build statically even if module scope uses sync APIs like current time and random
Expand output

● Lazy Module Init › should build statically even if module scope uses sync APIs like current time and random

expected build not to fail for fully static project

  21 |       await next.start()
  22 |     } catch {
> 23 |       throw new Error('expected build not to fail for fully static project')
     |             ^
  24 |     }
  25 |
  26 |     expect(next.cliOutput).toContain('○ /server ')

  at Object.<anonymous> (e2e/app-dir/dynamic-io-errors/dynamic-io-errors.module-scope.test.ts:23:13)

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/dynamic-io/dynamic-io.random.test.ts (PPR)

  • dynamic-io > should not have route specific errors
  • dynamic-io > should prerender pages with cached Math.random() calls
  • dynamic-io > should not prerender pages with uncached Math.random() calls
Expand output

● dynamic-io › should not have route specific errors

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached Math.random() calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached Math.random() calls

next build failed with code/signal 1

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

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

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/dynamic-io/dynamic-io.server-action.test.ts (PPR)

  • dynamic-io > should not have dynamic IO errors when encoding bound args for inline server actions
Expand output

● dynamic-io › should not have dynamic IO errors when encoding bound args for inline server actions

expect(received).not.toMatch(expected)

Expected substring: not "Error: Route \"/server-action-inline\""
Received string:        "   Loading config from /tmp/next-install-0c902ba3d764b7e8179d05ddd117a29ad85e0335de820523384db538983c4dab/next.config.js
 ⚠ `experimental.ppr` has been defaulted to `true` because `__NEXT_EXPERIMENTAL_PPR` was set to `true` during testing.
   Loading config from /tmp/next-install-0c902ba3d764b7e8179d05ddd117a29ad85e0335de820523384db538983c4dab/next.config.js
 ⚠ `experimental.ppr` has been defaulted to `true` because `__NEXT_EXPERIMENTAL_PPR` was set to `true` during testing.
   ▲ Next.js 15.1.1-canary.13
   - Local:        http://localhost:37375
   - Network:      http://144.76.219.60:37375
   - Experiments (use with caution):
     · dynamicIO

 ✓ Starting...
   Loading config from /tmp/next-install-0c902ba3d764b7e8179d05ddd117a29ad85e0335de820523384db538983c4dab/next.config.js
 ⚠ `experimental.ppr` has been defaulted to `true` because `__NEXT_EXPERIMENTAL_PPR` was set to `true` during testing.

   We detected TypeScript in your project and created a tsconfig.json file for you.
   Loading config from /tmp/next-install-0c902ba3d764b7e8179d05ddd117a29ad85e0335de820523384db538983c4dab/next.config.js
 ⚠ `experimental.ppr` has been defaulted to `true` because `__NEXT_EXPERIMENTAL_PPR` was set to `true` during testing.
 ✓ Ready in 1823ms
 ○ Compiling /middleware ...
 ✓ Compiled /middleware in 925ms (99 modules)
 ○ Compiling /server-action ...
 ✓ Compiled /server-action in 5.1s (741 modules)
 GET /server-action 200 in 5479ms
 POST /server-action 200 in 162ms
 ○ Compiling /server-action-inline ...
 ✓ Compiled /server-action-inline in 910ms (761 modules)
Error: Route \"/server-action-inline\": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a \"use cache\" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense
    at form (<anonymous>)

  at action (../app/server-action-inline/form.tsx:6:23)
      at Page [Server] (<anonymous>)
  at tree (../../../src/client/components/layout-router.tsx:317:2)
  at RedirectErrorBoundary (../../../src/client/components/redirect-boundary.tsx:43:4)
  at children (../../../src/client/components/redirect-boundary.tsx:74:35)
  at notFound (../../../src/client/components/http-access-fallback/error-boundary.tsx:154:2)
  at loading (../../../src/client/components/layout-router.tsx:423:2)
  at errorComponent (../../../src/client/components/error-boundary.tsx:183:2)
  at InnerScrollAndFocusHandler (../../../src/client/components/layout-router.tsx:175:0)
  at segmentPath (../../../src/client/components/layout-router.tsx:292:2)
  at TemplateContext (../../../src/client/components/render-from-template-context.tsx:7:30)
  at parallelRouterKey (../../../src/client/components/layout-router.tsx:476:2)
  at tree (../../../src/client/components/layout-router.tsx:317:2)
  at RedirectErrorBoundary (../../../src/client/components/redirect-boundary.tsx:43:4)
  at children (../../../src/client/components/redirect-boundary.tsx:74:35)
  at HTTPAccessFallbackErrorBoundary (../../../src/client/components/http-access-fallback/error-boundary.tsx:49:4)
  at notFound (../../../src/client/components/http-access-fallback/error-boundary.tsx:154:2)
  at loading (../../../src/client/components/layout-router.tsx:423:2)
  at errorComponent (../../../src/client/components/error-boundary.tsx:183:2)
  at InnerScrollAndFocusHandler (../../../src/client/components/layout-router.tsx:175:0)
  at segmentPath (../../../src/client/components/layout-router.tsx:292:2)
  at TemplateContext (../../../src/client/components/render-from-template-context.tsx:7:30)
  at parallelRouterKey (../../../src/client/components/layout-router.tsx:476:2)
      at main (<anonymous>)
      at body (<anonymous>)
      at html (<anonymous>)
      at Root [Server] (<anonymous>)
    4 | import { getSentinelValue } from '../getSentinelValue'
    5 |
  > 6 | export function Form({ action }) {
      |                       ^
    7 |   const [result, formAction] = useActionState(action, 'initial')
    8 |
    9 |   return (
   GET /server-action-inline 200 in 1621ms
  Error: Route \"/server-action-inline\": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a \"use cache\" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense
      at form (<anonymous>)
  at action (../app/server-action-inline/form.tsx:6:23)
      at Page [Server] (<anonymous>)
  at tree (../../../src/client/components/layout-router.tsx:317:2)
  at RedirectErrorBoundary (../../../src/client/components/redirect-boundary.tsx:43:4)
  at children (../../../src/client/components/redirect-boundary.tsx:74:35)
  at notFound (../../../src/client/components/http-access-fallback/error-boundary.tsx:154:2)
  at loading (../../../src/client/components/layout-router.tsx:423:2)
  at errorComponent (../../../src/client/components/error-boundary.tsx:183:2)
  at InnerScrollAndFocusHandler (../../../src/client/components/layout-router.tsx:175:0)
  at segmentPath (../../../src/client/components/layout-router.tsx:292:2)
  at TemplateContext (../../../src/client/components/render-from-template-context.tsx:7:30)
  at parallelRouterKey (../../../src/client/components/layout-router.tsx:476:2)
  at tree (../../../src/client/components/layout-router.tsx:317:2)
  at RedirectErrorBoundary (../../../src/client/components/redirect-boundary.tsx:43:4)
  at children (../../../src/client/components/redirect-boundary.tsx:74:35)
  at HTTPAccessFallbackErrorBoundary (../../../src/client/components/http-access-fallback/error-boundary.tsx:49:4)
  at notFound (../../../src/client/components/http-access-fallback/error-boundary.tsx:154:2)
  at loading (../../../src/client/components/layout-router.tsx:423:2)
  at errorComponent (../../../src/client/components/error-boundary.tsx:183:2)
  at InnerScrollAndFocusHandler (../../../src/client/components/layout-router.tsx:175:0)
  at segmentPath (../../../src/client/components/layout-router.tsx:292:2)
  at TemplateContext (../../../src/client/components/render-from-template-context.tsx:7:30)
  at parallelRouterKey (../../../src/client/components/layout-router.tsx:476:2)
      at main (<anonymous>)
      at body (<anonymous>)
      at html (<anonymous>)
      at Root [Server] (<anonymous>)
    4 | import { getSentinelValue } from '../getSentinelValue'
    5 |
  > 6 | export function Form({ action }) {
      |                       ^
    7 |   const [result, formAction] = useActionState(action, 'initial')
    8 |
    9 |   return (
   POST /server-action-inline 200 in 420ms
  "
  at Object.toMatch (e2e/app-dir/dynamic-io/dynamic-io.server-action.test.ts:28:32)

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/app-edge/app-edge.test.ts (PPR)

  • app-dir edge SSR > should resolve module without error in edge runtime
  • app-dir edge SSR > should resolve client component without error
Expand output

● app-dir edge SSR › should resolve module without error in edge runtime

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

Expected: false
Received: true

  65 |       })
  66 |       await next.render('/app-edge')
> 67 |       expect(logs.some((log) => log.includes(`Attempted import error:`))).toBe(
     |                                                                           ^
  68 |         false
  69 |       )
  70 |     })

  at Object.toBe (e2e/app-dir/app-edge/app-edge.test.ts:67:75)

● app-dir edge SSR › should resolve client component without error

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

- Expected  -  1
+ Received  + 32

- Array []
+ Array [
+   " ⚠ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/collect-segment-data.js
+ Attempted import error: 'prerender' is not exported from 'react-server-dom-webpack/static.edge' (imported as 'prerender').
+
+ Import trace for requested module:
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/collect-segment-data.js
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/entry-base.js
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fedge-apis%2Fcookies%2Fpage&page=%2Fedge-apis%2Fcookies%2Fpage&appPaths=%2Fedge-apis%2Fcookies%2Fpage&pagePath=private-next-app-dir%2Fedge-apis%2Fcookies%2Fpage.tsx&appDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/edge-apis/cookies/page.tsx?__next_edge_ssr_entry__
+
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/entry-base.js
+ export 'prerender' (reexported as 'prerender') was not found in 'react-server-dom-webpack/static.edge' (possible exports: unstable_prerender)
+
+ Import trace for requested module:
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/entry-base.js
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fedge-apis%2Fcookies%2Fpage&page=%2Fedge-apis%2Fcookies%2Fpage&appPaths=%2Fedge-apis%2Fcookies%2Fpage&pagePath=private-next-app-dir%2Fedge-apis%2Fcookies%2Fpage.tsx&appDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/edge-apis/cookies/page.tsx?__next_edge_ssr_entry__
+ ",
+   " ⚠ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/collect-segment-data.js
+ Attempted import error: 'prerender' is not exported from 'react-server-dom-webpack/static.edge' (imported as 'prerender').
+
+ Import trace for requested module:
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/collect-segment-data.js
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/entry-base.js
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fedge-apis%2Fcookies%2Fpage&page=%2Fedge-apis%2Fcookies%2Fpage&appPaths=%2Fedge-apis%2Fcookies%2Fpage&pagePath=private-next-app-dir%2Fedge-apis%2Fcookies%2Fpage.tsx&appDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/edge-apis/cookies/page.tsx?__next_edge_ssr_entry__
+
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/entry-base.js
+ export 'prerender' (reexported as 'prerender') was not found in 'react-server-dom-webpack/static.edge' (possible exports: unstable_prerender)
+
+ Import trace for requested module:
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/esm/server/app-render/entry-base.js
+ ./node_modules/.pnpm/next@file+..+next-repo-09df8051c530dc4d5079340aff75ee42df0fd707faf6fc7fde689983ece322d6+packa_z265h7wkvq3loa37dpqvz52mji/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fedge-apis%2Fcookies%2Fpage&page=%2Fedge-apis%2Fcookies%2Fpage&appPaths=%2Fedge-apis%2Fcookies%2Fpage&pagePath=private-next-app-dir%2Fedge-apis%2Fcookies%2Fpage.tsx&appDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Ftmp%2Fnext-install-53bc1576dbe9b26bf350957f0f839cf040f59375f0d4bd566ea37af41c46f5df&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!./app/edge-apis/cookies/page.tsx?__next_edge_ssr_entry__
+ ",
+ ]

  79 |       const html = await next.render('/with-client')
  80 |       expect(html).toContain('My Button')
> 81 |       expect(logs).toEqual([])
     |                    ^
  82 |     })
  83 |
  84 |     it('should handle edge rsc hmr', async () => {

  at Object.toEqual (e2e/app-dir/app-edge/app-edge.test.ts:81:20)

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/dynamic-io/dynamic-io.node-crypto.test.ts (PPR)

  • dynamic-io > should not have route specific errors
  • dynamic-io > should prerender pages with cached require('node:crypto').getRandomValues(...) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').getRandomValues(...) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').randomUUID() calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').randomUUID() calls
  • dynamic-io > should prerender pages with cached require('node:crypto').randomBytes(size) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').randomBytes(size) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').randomFillSync(buffer) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').randomFillSync(buffer) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').randomInt(max) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').randomInt(max) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').randomInt(min, max) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').randomInt(min, max) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').generatePrimeSync(size, options) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').generatePrimeSync(size, options) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').generateKeyPairSync(type, options) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').generateKeyPairSync(type, options) calls
  • dynamic-io > should prerender pages with cached require('node:crypto').generateKeySync(type, options) calls
  • dynamic-io > should not prerender pages with uncached require('node:crypto').generateKeySync(type, options) calls
Expand output

● dynamic-io › should not have route specific errors

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').getRandomValues(...) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').getRandomValues(...) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').randomUUID() calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').randomUUID() calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').randomBytes(size) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').randomBytes(size) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').randomFillSync(buffer) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').randomFillSync(buffer) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').randomInt(max) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').randomInt(max) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').randomInt(min, max) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').randomInt(min, max) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').generatePrimeSync(size, options) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').generatePrimeSync(size, options) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').generateKeyPairSync(type, options) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').generateKeyPairSync(type, options) calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached require('node:crypto').generateKeySync(type, options) calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached require('node:crypto').generateKeySync(type, options) calls

next build failed with code/signal 1

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

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

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/dynamic-io/dynamic-io.date.test.ts (PPR)

  • dynamic-io > should not have route specific errors
  • dynamic-io > should prerender pages with cached Date.now() calls
  • dynamic-io > should not prerender pages with uncached Date.now() calls
  • dynamic-io > should prerender pages with cached Date() calls
  • dynamic-io > should not prerender pages with uncached Date() calls
  • dynamic-io > should prerender pages with cached new Date() calls
  • dynamic-io > should not prerender pages with uncached new Date() calls
  • dynamic-io > should prerender pages with cached static Date instances like new Date(0)
  • dynamic-io > should not prerender pages with uncached static Date instances like new Date(0)
Expand output

● dynamic-io › should not have route specific errors

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached Date.now() calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached Date.now() calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached Date() calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached Date() calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached new Date() calls

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached new Date() calls

next build failed with code/signal 1

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

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

● dynamic-io › should prerender pages with cached static Date instances like new Date(0)

next build failed with code/signal 1

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

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

● dynamic-io › should not prerender pages with uncached static Date instances like new Date(0)

next build failed with code/signal 1

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

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

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

pnpm test-start-turbo test/e2e/app-dir/ppr-navigations/simple/per-segment-prefetching.test.ts (turbopack)

  • per segment prefetching > basic route tree prefetch
  • per segment prefetching > respond with 204 if the segment does not have prefetch data
Expand output

● per segment prefetching › basic route tree prefetch

next build failed with code/signal 1

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

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

● per segment prefetching › respond with 204 if the segment does not have prefetch data

next build failed with code/signal 1

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

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

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/dynamic-io/dynamic-io.headers.test.ts (PPR)

  • dynamic-io > should partially prerender pages that use async headers
  • dynamic-io > should partially prerender pages that use sync headers
  • dynamic-io > should be able to pass headers as a promise to another component and trigger an intermediate Suspense boundary
  • dynamic-io > should be able to access headers properties asynchronously
  • dynamic-io > should be able to access headers properties synchronously
Expand output

● dynamic-io › should partially prerender pages that use async headers

next build failed with code/signal 1

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

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

● dynamic-io › should partially prerender pages that use sync headers

next build failed with code/signal 1

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

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

● dynamic-io › should be able to pass headers as a promise to another component and trigger an intermediate Suspense boundary

next build failed with code/signal 1

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

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

● dynamic-io › should be able to access headers properties asynchronously

next build failed with code/signal 1

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

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

● dynamic-io › should be able to access headers properties synchronously

next build failed with code/signal 1

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

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

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

pnpm test-start test/e2e/app-dir/ppr-navigations/simple/simple.test.ts

  • ppr-navigations simple > can navigate between all the links and back
Expand output

● ppr-navigations simple › can navigate between all the links and back

next build failed with code/signal 1

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

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

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-start test/e2e/app-dir/dynamic-io/dynamic-io.params.test.ts (PPR)

  • dynamic-io > Async Params > should partially prerender pages that await params in a server components
  • dynamic-io > Async Params > should partially prerender pages that use params in a client components
  • dynamic-io > Async Params > should fully prerender pages that check individual param keys after awaiting params in a server component
  • dynamic-io > Async Params > should fully prerender pages that check individual param keys after useing params in a client component
  • dynamic-io > Async Params > should partially prerender pages that spread awaited params in a server component
  • dynamic-io > Async Params > should partially prerender pages that spread useed params in a client component
  • dynamic-io > Param Shadowing > should correctly allow param names like then, value, and status when awaiting params in a server component
  • dynamic-io > Param Shadowing > should correctly allow param names like then, value, and status when useing params in a client component
  • dynamic-io > Param Shadowing > should not allow param names like then and status when accessing params directly in a server component
  • dynamic-io > Param Shadowing > should not allow param names like then and status when accessing params directly in a client component
  • dynamic-io > Synchronous Params access > should partially prerender pages that access params synchronously in a server components
  • dynamic-io > Synchronous Params access > should partially prerender pages that access params synchronously in a client components
  • dynamic-io > Synchronous Params access > should fully prerender pages that check individual param keys directly on the params prop in a server component
  • dynamic-io > Synchronous Params access > should fully prerender pages that check individual param keys directly on the params prop in a client component
  • dynamic-io > Synchronous Params access > should partially prerender pages that spread params without awaiting first in a server component
  • dynamic-io > Synchronous Params access > should partially prerender pages that spread params without useing them first in a client component
Expand output

● dynamic-io › Async Params › should partially prerender pages that await params in a server components

next build failed with code/signal 1

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

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

● dynamic-io › Async Params › should partially prerender pages that use params in a client components

next build failed with code/signal 1

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

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

● dynamic-io › Async Params › should fully prerender pages that check individual param keys after awaiting params in a server component

next build failed with code/signal 1

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

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

● dynamic-io › Async Params › should fully prerender pages that check individual param keys after useing params in a client component

next build failed with code/signal 1

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

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

● dynamic-io › Async Params › should partially prerender pages that spread awaited params in a server component

next build failed with code/signal 1

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

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

● dynamic-io › Async Params › should partially prerender pages that spread useed params in a client component

next build failed with code/signal 1

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

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

● dynamic-io › Synchronous Params access › should partially prerender pages that access params synchronously in a server components

next build failed with code/signal 1

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

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

● dynamic-io › Synchronous Params access › should partially prerender pages that access params synchronously in a client components

next build failed with code/signal 1

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

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

● dynamic-io › Synchronous Params access › should fully prerender pages that check individual param keys directly on the params prop in a server component

next build failed with code/signal 1

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

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

● dynamic-io › Synchronous Params access › should fully prerender pages that check individual param keys directly on the params prop in a client component

next build failed with code/signal 1

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

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

● dynamic-io › Synchronous Params access › should partially prerender pages that spread params without awaiting first in a server component

next build failed with code/signal 1

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

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

● dynamic-io › Synchronous Params access › should partially prerender pages that spread params without useing them first in a client component

next build failed with code/signal 1

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

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

● dynamic-io › Param Shadowing › should correctly allow param names like then, value, and status when awaiting params in a server component

next build failed with code/signal 1

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

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

● dynamic-io › Param Shadowing › should correctly allow param names like then, value, and status when useing params in a client component

next build failed with code/signal 1

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

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

● dynamic-io › Param Shadowing › should not allow param names like then and status when accessing params directly in a server component

next build failed with code/signal 1

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

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

● dynamic-io › Param Shadowing › should not allow param names like then and status when accessing params directly in a client component

next build failed with code/signal 1

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

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

● dynamic-io › generateStaticParams › should have dynamicIO semantics inside generateStaticParams

next build failed with code/signal 1

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

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

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

pnpm test-start test/e2e/app-dir/segment-cache/incremental-opt-in/segment-cache-incremental-opt-in.test.ts

  • segment cache (incremental opt in) > multiple prefetches to same link are deduped > page with PPR enabled
  • segment cache (incremental opt in) > multiple prefetches to same link are deduped > page with PPR enabled, and has a dynamic param
  • segment cache (incremental opt in) > multiple prefetches to same link are deduped > page with PPR disabled
  • segment cache (incremental opt in) > multiple prefetches to same link are deduped > page with PPR disabled, and has a loading boundary
Expand output

● segment cache (incremental opt in) › multiple prefetches to same link are deduped › page with PPR enabled

next build failed with code/signal 1

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

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

● segment cache (incremental opt in) › multiple prefetches to same link are deduped › page with PPR enabled, and has a dynamic param

next build failed with code/signal 1

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

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

● segment cache (incremental opt in) › multiple prefetches to same link are deduped › page with PPR disabled

next build failed with code/signal 1

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

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

● segment cache (incremental opt in) › multiple prefetches to same link are deduped › page with PPR disabled, and has a loading boundary

next build failed with code/signal 1

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

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

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

pnpm test-start-turbo test/e2e/app-dir/segment-cache/memory-pressure/segment-cache-memory-pressure.test.ts (turbopack)

  • segment cache memory pressure > evicts least recently used prefetch data once cache size exceeds limit
Expand output

● segment cache memory pressure › evicts least recently used prefetch data once cache size exceeds limit

next build failed with code/signal 1

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

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

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

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/app-css/index.test.ts (PPR)

  • app dir - css > Suspensey CSS > should suspend on CSS imports if its slow on client navigation
Expand output

● app dir - css › Suspensey CSS › should suspend on CSS imports if its slow on client navigation

TIMED OUT: /background = rgb\(255, 255, 0\)/

undefined

undefined

  731 |
  732 |   if (hardError) {
> 733 |     throw new Error('TIMED OUT: ' + regex + '\n\n' + content + '\n\n' + lastErr)
      |           ^
  734 |   }
  735 |   return false
  736 | }

  at check (lib/next-test-utils.ts:733:11)
  at Object.<anonymous> (e2e/app-dir/app-css/index.test.ts:890:9)

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

pnpm test-start test/e2e/app-dir/rsc-basic/rsc-basic.test.ts

  • app dir - rsc basics > should not use bundled react for pages with app
  • app dir - rsc basics > should use canary react for app
Expand output

● app dir - rsc basics › should not use bundled react for pages with app

expect(received).toMatch(expected)

Expected substring: "-rc-"
Received string:    "React.version=19.1.0-canary-9463d51e-20241219"

  527 |
  528 |     ssrAppReactVersions.forEach((version) =>
> 529 |       expect(version).toMatch(bundledReactVersionPattern)
      |                       ^
  530 |     )
  531 |
  532 |     const browser = await next.browser('/pages-react')

  at toMatch (e2e/app-dir/rsc-basic/rsc-basic.test.ts:529:23)
      at Array.forEach (<anonymous>)
  at Object.forEach (e2e/app-dir/rsc-basic/rsc-basic.test.ts:528:25)

● app dir - rsc basics › should use canary react for app

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

- Expected  - 5
+ Received  + 5

  Object {
-   "ssrClientReact": StringMatching /-rc-/,
-   "ssrClientReactDOM": StringMatching /-rc-/,
-   "ssrClientReactDOMServer": StringMatching /-rc-/,
-   "ssrReact": StringMatching /-rc-/,
-   "ssrReactDOM": StringMatching /-rc-/,
+   "ssrClientReact": "React.version=19.1.0-canary-9463d51e-20241219",
+   "ssrClientReactDOM": "ReactDOM.version=19.1.0-canary-9463d51e-20241219",
+   "ssrClientReactDOMServer": "ReactDOMServer.version=19.1.0-canary-9463d51e-20241219",
+   "ssrReact": "React.version=19.1.0-canary-9463d51e-20241219",
+   "ssrReactDOM": "ReactDOM.version=19.1.0-canary-9463d51e-20241219",
  }

  577 |       ssrClientReactDOM,
  578 |       ssrClientReactDOMServer,
> 579 |     }).toEqual({
      |        ^
  580 |       ssrReact: expect.stringMatching(bundledReactVersionPattern),
  581 |       ssrReactDOM: expect.stringMatching(bundledReactVersionPattern),
  582 |       ssrClientReact: expect.stringMatching(bundledReactVersionPattern),

  at Object.toEqual (e2e/app-dir/rsc-basic/rsc-basic.test.ts:579:8)

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

@ijjk
Copy link
Member

ijjk commented Dec 19, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
buildDuration 23s 19.8s N/A
buildDurationCached 18.9s 16.2s N/A
nodeModulesSize 416 MB 416 MB ⚠️ +126 kB
nextStartRea..uration (ms) 535ms 540ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
1187-HASH.js gzip 52.4 kB 52.4 kB N/A
8276.HASH.js gzip 169 B 168 B N/A
8377-HASH.js gzip 5.36 kB 5.36 kB N/A
bccd1874-HASH.js gzip 53 kB 52.8 kB N/A
framework-HASH.js gzip 57.5 kB 57.5 kB N/A
main-app-HASH.js gzip 232 B 235 B N/A
main-HASH.js gzip 34.1 kB 34.1 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB N/A
Overall change 0 B 0 B
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Overall change 39.4 kB 39.4 kB
Client Pages
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
_app-HASH.js gzip 193 B 193 B
_error-HASH.js gzip 193 B 193 B
amp-HASH.js gzip 512 B 510 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB
edge-ssr-HASH.js gzip 265 B 265 B
head-HASH.js gzip 363 B 362 B N/A
hooks-HASH.js gzip 393 B 392 B N/A
image-HASH.js gzip 4.49 kB 4.49 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.35 kB 2.34 kB N/A
routerDirect..HASH.js gzip 328 B 328 B
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 323 B 326 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 3.59 kB 3.59 kB
Client Build Manifests
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
_buildManifest.js gzip 749 B 746 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
index.html gzip 524 B 524 B
link.html gzip 539 B 537 B N/A
withRouter.html gzip 520 B 521 B N/A
Overall change 524 B 524 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
edge-ssr.js gzip 129 kB 129 kB N/A
page.js gzip 205 kB 205 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
middleware-b..fest.js gzip 670 B 666 B N/A
middleware-r..fest.js gzip 155 B 156 B N/A
middleware.js gzip 31.3 kB 31.3 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 844 B 844 B
Next Runtimes Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
274-experime...dev.js gzip 322 B 322 B
274.runtime.dev.js gzip 314 B 314 B
app-page-exp...dev.js gzip 356 kB 359 kB ⚠️ +2.49 kB
app-page-exp..prod.js gzip 129 kB 128 kB N/A
app-page-tur..prod.js gzip 142 kB 141 kB N/A
app-page-tur..prod.js gzip 137 kB 137 kB ⚠️ +525 B
app-page.run...dev.js gzip 347 kB 347 kB ⚠️ +736 B
app-page.run..prod.js gzip 125 kB 125 kB ⚠️ +262 B
app-route-ex...dev.js gzip 37.5 kB 37.4 kB N/A
app-route-ex..prod.js gzip 25.5 kB 25.5 kB N/A
app-route-tu..prod.js gzip 25.5 kB 25.5 kB N/A
app-route-tu..prod.js gzip 25.3 kB 25.3 kB N/A
app-route.ru...dev.js gzip 39.1 kB 39.1 kB N/A
app-route.ru..prod.js gzip 25.3 kB 25.3 kB N/A
pages-api-tu..prod.js gzip 9.69 kB 9.69 kB
pages-api.ru...dev.js gzip 11.6 kB 11.6 kB
pages-api.ru..prod.js gzip 9.68 kB 9.68 kB
pages-turbo...prod.js gzip 21.7 kB 21.7 kB
pages.runtim...dev.js gzip 27.5 kB 27.5 kB
pages.runtim..prod.js gzip 21.7 kB 21.7 kB
server.runti..prod.js gzip 916 kB 916 kB N/A
Overall change 1.07 MB 1.07 MB ⚠️ +4.01 kB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js update/react/19.1.0-canary-9463d51e-20241219 Change
0.pack gzip 2.08 MB 2.08 MB ⚠️ +2.64 kB
index.pack gzip 74.7 kB 74.6 kB N/A
Overall change 2.08 MB 2.08 MB ⚠️ +2.64 kB
Diff details
Diff for middleware.js

Diff too large to display

Diff for 1187-HASH.js

Diff too large to display

Diff for bccd1874-HASH.js

Diff too large to display

Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for app-route-ex..ntime.dev.js

Diff too large to display

Diff for app-route-ex..time.prod.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route.runtime.dev.js

Diff too large to display

Diff for app-route.ru..time.prod.js

Diff too large to display

Diff for server.runtime.prod.js
failed to diff
Commit: 4a33e23

Copy link

New and removed dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/react-dom@0.0.0-experimental-9463d51e-20241219 None 0 8.34 MB fb, gnoff, react-bot, ...2 more
npm/react-dom@19.1.0-canary-9463d51e-20241219 None 0 6.37 MB fb, gnoff, react-bot, ...2 more
npm/react-is@19.1.0-canary-9463d51e-20241219 None 0 13.6 kB fb, gnoff, react-bot, ...1 more
npm/react-server-dom-webpack@0.0.0-experimental-9463d51e-20241219 None +1 1.85 MB react-bot
npm/react-server-dom-webpack@19.1.0-canary-9463d51e-20241219 None +1 1.72 MB react-bot
npm/react@0.0.0-experimental-9463d51e-20241219 None 0 177 kB fb, gnoff, react-bot, ...1 more
npm/react@19.1.0-canary-9463d51e-20241219 None 0 238 kB fb, gnoff, react-bot, ...1 more
npm/scheduler@0.0.0-experimental-9463d51e-20241219 None 0 82.1 kB fb, gnoff, react-bot, ...1 more
npm/scheduler@0.26.0-canary-9463d51e-20241219 None 0 82.7 kB fb, gnoff, react-bot, ...1 more

🚮 Removed packages: npm/react-dom@0.0.0-experimental-372ec00c-20241209, npm/react-dom@19.0.0-rc-372ec00c-20241209, npm/react-is@19.0.0-rc-372ec00c-20241209, npm/react-server-dom-turbopack@0.0.0-experimental-372ec00c-20241209, npm/react-server-dom-turbopack@19.0.0-rc-372ec00c-20241209, npm/react-server-dom-webpack@0.0.0-experimental-372ec00c-20241209, npm/react-server-dom-webpack@19.0.0-rc-372ec00c-20241209, npm/react@0.0.0-experimental-372ec00c-20241209, npm/react@19.0.0-rc-372ec00c-20241209, npm/scheduler@0.0.0-experimental-372ec00c-20241209, npm/scheduler@0.25.0-rc-372ec00c-20241209

View full report↗︎

@eps1lon
Copy link
Member

eps1lon commented Dec 19, 2024

Blocked on facebook/react#31857

@eps1lon eps1lon closed this Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants