Skip to content

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

Closed
vercel-release-bot wants to merge 6 commits into
canaryfrom
update/react/19.1.0-canary-9463d51e-20241219
Closed

Upgrade React from 372ec00c-20241209 to 9463d51e-20241219#74151
vercel-release-bot wants to merge 6 commits into
canaryfrom
update/react/19.1.0-canary-9463d51e-20241219

Conversation

@vercel-release-bot

Copy link
Copy Markdown
Contributor

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

React upstream changes

@ijjk

ijjk commented Dec 19, 2024

Copy link
Copy Markdown
Member

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

ijjk commented Dec 19, 2024

Copy link
Copy Markdown
Member

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

@socket-security

Copy link
Copy Markdown

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

eps1lon commented Dec 19, 2024

Copy link
Copy Markdown
Member

Blocked on react/react#31857

@eps1lon eps1lon closed this Dec 19, 2024
@github-actions github-actions Bot added the locked label Jan 3, 2025
@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Jan 3, 2025
@aurorascharff
aurorascharff deleted the update/react/19.1.0-canary-9463d51e-20241219 branch May 21, 2026 21:31
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants