KEMBAR78
Backport v13: Update React from d900fadbf to 1dba980e1f by ztanner · Pull Request #74202 · vercel/next.js · GitHub
Skip to content

Conversation

@ztanner
Copy link
Member

@ztanner ztanner commented Dec 20, 2024

@ijjk ijjk added created-by: Next.js team PRs by the Next.js team. type: next labels Dec 20, 2024
@socket-security
Copy link

socket-security bot commented Dec 20, 2024

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

Package New capabilities Transitives Size Publisher
npm/react-dom@0.0.0-experimental-1dba980e1f-20241220 environment 0 9.13 MB react-bot
npm/react-dom@18.3.0-canary-1dba980e1f-20241220 environment 0 7.15 MB react-bot
npm/react-server-dom-turbopack@0.0.0-experimental-1dba980e1f-20241220 None +1 1.22 MB react-bot
npm/react-server-dom-turbopack@18.3.0-canary-1dba980e1f-20241220 None +1 1.16 MB react-bot
npm/react-server-dom-webpack@0.0.0-experimental-1dba980e1f-20241220 None +1 1.25 MB react-bot
npm/react-server-dom-webpack@18.3.0-canary-1dba980e1f-20241220 None +1 1.19 MB react-bot
npm/react@0.0.0-experimental-1dba980e1f-20241220 None 0 452 kB fb, gnoff, react-bot, ...1 more
npm/react@18.3.0-canary-1dba980e1f-20241220 None 0 442 kB fb, gnoff, react-bot, ...1 more
npm/scheduler@0.0.0-experimental-1dba980e1f-20241220 environment 0 117 kB react-bot
npm/scheduler@0.24.0-canary-1dba980e1f-20241220 environment 0 117 kB react-bot

🚮 Removed packages: npm/react-dom@0.0.0-experimental-d900fadbf-20230929, npm/react-dom@18.3.0-canary-d900fadbf-20230929, npm/react-server-dom-turbopack@0.0.0-experimental-d900fadbf-20230929, npm/react-server-dom-turbopack@18.3.0-canary-d900fadbf-20230929, npm/react-server-dom-webpack@0.0.0-experimental-d900fadbf-20230929, npm/react-server-dom-webpack@18.3.0-canary-d900fadbf-20230929, npm/react@0.0.0-experimental-d900fadbf-20230929, npm/react@18.3.0-canary-d900fadbf-20230929, npm/scheduler@0.0.0-experimental-3cfcbc5bc-20231018, npm/scheduler@0.0.0-experimental-d900fadbf-20230929, npm/scheduler@0.24.0-canary-3cfcbc5bc-20231018, npm/scheduler@0.24.0-canary-d900fadbf-20230929

View full report↗︎

@ztanner ztanner force-pushed the zt/backport-720de7f81a branch from 8de6140 to 1948be5 Compare December 21, 2024 00:49
@ztanner ztanner changed the title Backport v13: Update React from d900fadbf to 720de7f81a Backport v13: Update React from d900fadbf to 1dba980e1f Dec 21, 2024
@ztanner ztanner marked this pull request as ready for review December 21, 2024 00:50
@ztanner ztanner requested a review from gnoff December 21, 2024 00:50
@ijjk ijjk requested a review from a team as a code owner December 21, 2024 01:10
@ijjk ijjk requested review from colincode0 and timeyoutakeit and removed request for a team December 21, 2024 01:10
@ijjk ijjk added the Font (next/font) Related to Next.js Font Optimization. label Dec 21, 2024
@ijjk
Copy link
Member

ijjk commented Dec 21, 2024

Failing test suites

Commit: 6a2561e

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

  • Error overlay - RSC build errors > should handle successive HMR changes with errors correctly
Expand output

● Error overlay - RSC build errors › should handle successive HMR changes with errors correctly

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

Expected substring: "A few years ago I tweeted"
Received string:    "<head><script src=\"/_next/static/chunks/main-app.js\" async=\"\"></script><script src=\"/_next/static/chunks/app-pages-internals.js\" async=\"\"></script><script src=\"/_next/static/chunks/polyfills.js\" nomodule=\"\"></script></head><body style=\"overflow: hidden;\"><script src=\"/_next/static/chunks/webpack.js\" async=\"\"></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,\"0:\\\"$L1\\\"\\n\"])</script><script>self.__next_f.push([1,\"2:HL[\\\"/_next/static/css/app/(post)/2020/develop-preview-test/page.css?v=1734744038978\\\",\\\"style\\\"]\\n\"])</script><script>self.__next_f.push([1,\"3:I[\\\"(app-pages-browser)/./node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/client/components/app-router.js\\\",[\\\"app-pages-internals\\\",\\\"static/chunks/app-pages-internals.js\\\"],\\\"\\\"]\\n5:I[\\\"(app-pages-browser)/./node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/client/components/error-boundary\"])</script><script>self.__next_f.push([1,\".js\\\",[\\\"app-pages-internals\\\",\\\"static/chunks/app-pages-internals.js\\\"],\\\"\\\"]\\n6:I[\\\"(app-pages-browser)/./node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/client/components/layout-router.js\\\",[\\\"app-pages-internals\\\",\\\"static/chunks/app-pages-internals.js\\\"],\\\"\\\"]\\n7:I[\\\"(app-pages-browser)/./node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk\"])</script><script>self.__next_f.push([1,\"3zuzt2aouopyg745qzq/node_modules/next/dist/client/components/render-from-template-context.js\\\",[\\\"app-pages-internals\\\",\\\"static/chunks/app-pages-internals.js\\\"],\\\"\\\"]\\n\"])</script><script>self.__next_f.push([1,\"1:[[],[\\\"$\\\",\\\"$L3\\\",null,{\\\"buildId\\\":\\\"development\\\",\\\"assetPrefix\\\":\\\"\\\",\\\"initialCanonicalUrl\\\":\\\"/2020/develop-preview-test\\\",\\\"initialTree\\\":[\\\"\\\",{\\\"children\\\":[\\\"(post)\\\",{\\\"children\\\":[\\\"2020\\\",{\\\"children\\\":[\\\"develop-preview-test\\\",{\\\"children\\\":[\\\"__PAGE__\\\",{}]}]}]}]},\\\"$undefined\\\",\\\"$undefined\\\",true],\\\"initialHead\\\":[false,\\\"$L4\\\"],\\\"globalErrorComponent\\\":\\\"$5\\\",\\\"children\\\":[null,[\\\"$\\\",\\\"html\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"head\\\",null,{}],[\\\"$\\\",\\\"body\\\",null,{\\\"children\\\":[\\\"$\\\",\\\"$L6\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\"],\\\"loading\\\":\\\"$undefined\\\",\\\"loadingStyles\\\":\\\"$undefined\\\",\\\"hasLoading\\\":false,\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L7\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"notFound\\\":[[\\\"$\\\",\\\"title\\\",null,{\\\"children\\\":\\\"404: This page could not be found.\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"style\\\":{\\\"fontFamily\\\":\\\"system-ui,\\\\\\\"Segoe UI\\\\\\\",Roboto,Helvetica,Arial,sans-serif,\\\\\\\"Apple Color Emoji\\\\\\\",\\\\\\\"Segoe UI Emoji\\\\\\\"\\\",\\\"height\\\":\\\"100vh\\\",\\\"textAlign\\\":\\\"center\\\",\\\"display\\\":\\\"flex\\\",\\\"flexDirection\\\":\\\"column\\\",\\\"alignItems\\\":\\\"center\\\",\\\"justifyContent\\\":\\\"center\\\"},\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"style\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\\\"}}],[\\\"$\\\",\\\"h1\\\",null,{\\\"className\\\":\\\"next-error-h1\\\",\\\"style\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"margin\\\":\\\"0 20px 0 0\\\",\\\"padding\\\":\\\"0 23px 0 0\\\",\\\"fontSize\\\":24,\\\"fontWeight\\\":500,\\\"verticalAlign\\\":\\\"top\\\",\\\"lineHeight\\\":\\\"49px\\\"},\\\"children\\\":\\\"404\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"style\\\":{\\\"display\\\":\\\"inline-block\\\"},\\\"children\\\":[\\\"$\\\",\\\"h2\\\",null,{\\\"style\\\":{\\\"fontSize\\\":14,\\\"fontWeight\\\":400,\\\"lineHeight\\\":\\\"49px\\\",\\\"margin\\\":0},\\\"children\\\":\\\"This page could not be found.\\\"}]}]]}]}]],\\\"notFoundStyles\\\":[],\\\"childProp\\\":{\\\"current\\\":[\\\"$\\\",\\\"$L6\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\",\\\"(post)\\\",\\\"children\\\"],\\\"loading\\\":\\\"$undefined\\\",\\\"loadingStyles\\\":\\\"$undefined\\\",\\\"hasLoading\\\":false,\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L7\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"notFound\\\":[[\\\"$\\\",\\\"title\\\",null,{\\\"children\\\":\\\"404: This page could not be found.\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"style\\\":{\\\"fontFamily\\\":\\\"system-ui,\\\\\\\"Segoe UI\\\\\\\",Roboto,Helvetica,Arial,sans-serif,\\\\\\\"Apple Color Emoji\\\\\\\",\\\\\\\"Segoe UI Emoji\\\\\\\"\\\",\\\"height\\\":\\\"100vh\\\",\\\"textAlign\\\":\\\"center\\\",\\\"display\\\":\\\"flex\\\",\\\"flexDirection\\\":\\\"column\\\",\\\"alignItems\\\":\\\"center\\\",\\\"justifyContent\\\":\\\"center\\\"},\\\"children\\\":[\\\"$\\\",\\\"div\\\",null,{\\\"children\\\":[[\\\"$\\\",\\\"style\\\",null,{\\\"dangerouslySetInnerHTML\\\":{\\\"__html\\\":\\\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\\\"}}],[\\\"$\\\",\\\"h1\\\",null,{\\\"className\\\":\\\"next-error-h1\\\",\\\"style\\\":{\\\"display\\\":\\\"inline-block\\\",\\\"margin\\\":\\\"0 20px 0 0\\\",\\\"padding\\\":\\\"0 23px 0 0\\\",\\\"fontSize\\\":24,\\\"fontWeight\\\":500,\\\"verticalAlign\\\":\\\"top\\\",\\\"lineHeight\\\":\\\"49px\\\"},\\\"children\\\":\\\"404\\\"}],[\\\"$\\\",\\\"div\\\",null,{\\\"style\\\":{\\\"display\\\":\\\"inline-block\\\"},\\\"children\\\":[\\\"$\\\",\\\"h2\\\",null,{\\\"style\\\":{\\\"fontSize\\\":14,\\\"fontWeight\\\":400,\\\"lineHeight\\\":\\\"49px\\\",\\\"margin\\\":0},\\\"children\\\":\\\"This page could not be found.\\\"}]}]]}]}]],\\\"notFoundStyles\\\":[],\\\"childProp\\\":{\\\"current\\\":[\\\"$\\\",\\\"$L6\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\",\\\"(post)\\\",\\\"children\\\",\\\"2020\\\",\\\"children\\\"],\\\"loading\\\":\\\"$undefined\\\",\\\"loadingStyles\\\":\\\"$undefined\\\",\\\"hasLoading\\\":false,\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L7\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$undefined\\\",\\\"notFoundStyles\\\":\\\"$undefined\\\",\\\"childProp\\\":{\\\"current\\\":[\\\"$\\\",\\\"$L6\\\",null,{\\\"parallelRouterKey\\\":\\\"children\\\",\\\"segmentPath\\\":[\\\"children\\\",\\\"(post)\\\",\\\"children\\\",\\\"2020\\\",\\\"children\\\",\\\"develop-preview-test\\\",\\\"children\\\"],\\\"loading\\\":\\\"$undefined\\\",\\\"loadingStyles\\\":\\\"$undefined\\\",\\\"hasLoading\\\":false,\\\"error\\\":\\\"$undefined\\\",\\\"errorStyles\\\":\\\"$undefined\\\",\\\"template\\\":[\\\"$\\\",\\\"$L7\\\",null,{}],\\\"templateStyles\\\":\\\"$undefined\\\",\\\"notFound\\\":\\\"$undefined\\\",\\\"notFoundStyles\\\":\\\"$undefined\\\",\\\"childProp\\\":{\\\"current\\\":[\\\"$L8\\\",\\\"$L9\\\",null],\\\"segment\\\":\\\"__PAGE__\\\"},\\\"styles\\\":[[\\\"$\\\",\\\"link\\\",\\\"0\\\",{\\\"rel\\\":\\\"stylesheet\\\",\\\"href\\\":\\\"/_next/static/css/app/(post)/2020/develop-preview-test/page.css?v=1734744038978\\\",\\\"precedence\\\":\\\"next_static/css/app/(post)/2020/develop-preview-test/page.css\\\",\\\"crossOrigin\\\":\\\"$undefined\\\"}]]}],\\\"segment\\\":\\\"develop-preview-test\\\"},\\\"styles\\\":[]}],\\\"segment\\\":\\\"2020\\\"},\\\"styles\\\":[]}],\\\"segment\\\":\\\"(post)\\\"},\\\"styles\\\":[]}]}]]}],null]}]]\\n\"])</script><script>self.__next_f.push([1,\"9:E{\\\"digest\\\":\\\"417336289\\\",\\\"message\\\":\\\"Cannot read properties of undefined (reading 'A')\\\",\\\"stack\\\":\\\"TypeError: Cannot read properties of undefined (reading 'A')\\\\n    at getOwner (webpack-internal:///(rsc)/./node_modules/.pnpm/react@19.0.0/node_modules/react/cjs/react-jsx-runtime.development.js:258:47)\\\\n    at jsxDEVImpl (webpack-internal:///(rsc)/./node_modules/.pnpm/react@19.0.0/node_modules/react/cjs/react-jsx-runtime.development.js:346:59)\\\\n    at exports.jsx (webpack-internal:///(rsc)/./node_modules/.pnpm/react@19.0.0/node_modules/react/cjs/react-jsx-runtime.development.js:393:16)\\\\n    at _createMdxContent (webpack-internal:///(rsc)/./app/(post)/2020/develop-preview-test/page.mdx:27:75)\\\\n    at MDXContent (webpack-internal:///(rsc)/./app/(post)/2020/develop-preview-test/page.mdx:403:11)\\\\n    at e$ (/tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:325633)\\\\n    at /tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:338064\\\\n    at Array.toJSON (/tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:342678)\\\\n    at stringify (\\u003canonymous\\u003e)\\\\n    at eV (/tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:328785)\\\\n    at /tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:329325\\\\n    at eJ (/tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:329585)\\\\n    at Timeout._onTimeout (/tmp/next-install-35553c9ba4a5abc5b0e0155a5218f658fcd7e53fd54284bb367c287859447549/node_modules/.pnpm/next@file+..+next-repo-7dd90760057aab4ba79b128fbd8adbaf434d58ec48466070d52f2bd5262bfa21+packa_bkfmauk3zuzt2aouopyg745qzq/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:11:326808)\\\\n    at listOnTimeout (node:internal/timers:573:17)\\\\n    at process.processTimers (node:internal/timers:514:7)\\\"}\\n\"])</script><script>self.__next_f.push([1,\"4:[[\\\"$\\\",\\\"meta\\\",\\\"0\\\",{\\\"charSet\\\":\\\"utf-8\\\"}],[\\\"$\\\",\\\"meta\\\",\\\"1\\\",{\\\"name\\\":\\\"viewport\\\",\\\"content\\\":\\\"width=device-width, initial-scale=1\\\"}]]\\n8:null\\n\"])</script><nextjs-portal></nextjs-portal></body>"

  31 |     expect(
  32 |       await session.evaluate('document.documentElement.innerHTML')
> 33 |     ).toContain('A few years ago I tweeted')
     |       ^
  34 |
  35 |     const pagePath = 'app/(post)/2020/develop-preview-test/page.mdx'
  36 |     const originalPage = await next.readFile(pagePath)

  at Object.<anonymous> (development/acceptance-app/app-hmr-changes.test.ts:33:7)

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

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

  • Error overlay for hydration errors > should show correct hydration error when client and server render different text
Expand output

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

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Error overlay for hydration errors should show correct hydration error when client and server render different text 1`

- Snapshot  -  3
+ Received  + 26

- Error: Text content does not match server-rendered HTML.
-
- Warning: Text content did not match. Server: "server" Client: "client"
+ Error: Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:
+
+ - A server/client branch `if (typeof window !== 'undefined')`.
+ - Variable input such as `Date.now()` or `Math.random()` which changes each time it's called.
+ - Date formatting in a user's locale which doesn't match the server.
+ - External changing data without sending a snapshot of it along with the HTML.
+ - Invalid HTML tag nesting.
+
+ It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.
+
+ https://react.dev/link/hydration-mismatch
+
+   ...
+     <AppContainer>
+       <Container fn={function fn}>
+         <ReactDevOverlay>
+           <ErrorBoundary globalOverlay={undefined} isMounted={false} onError={function}>
+             <PathnameContextProviderAdapter router={{sdc:{},sbc:{}, ...}} isAutoExport={true}>
+               <App pageProps={{}} Component={function Mismatch} err={undefined} router={{sdc:{},sbc:{}, ...}}>
+                 <Mismatch>
+                   <div className="parent">
+                     <main className="child">
+ +                     client
+ -                     server
+               ...
+

  See more info here: https://nextjs.org/docs/messages/react-hydration-error

  37 |     expect(await session.hasRedbox(true)).toBe(true)
  38 |
> 39 |     expect(await session.getRedboxDescription()).toMatchInlineSnapshot(`
     |                                                  ^
  40 |         "Error: Text content does not match server-rendered HTML.
  41 |
  42 |         Warning: Text content did not match. Server: \\"server\\" Client: \\"client\\"

  at Object.<anonymous> (development/acceptance/hydration-error.test.ts:39:50)

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

pnpm test test/integration/image-optimizer/test/sharp.test.ts

  • with latest sharp > Production Mode Server support with next.config.js > should handle custom sharp usage
Expand output

● with latest sharp › Production Mode Server support with next.config.js › should handle custom sharp usage

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

Expected: true
Received: false

  164 |         )
  165 |       )
> 166 |       expect(traceFile.files.some((file) => file.includes('sharp/build'))).toBe(
      |                                                                            ^
  167 |         true
  168 |       )
  169 |     })

  at Object.<anonymous> (integration/image-optimizer/test/util.ts:166:76)

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

pnpm test-dev test/development/acceptance-app/ReactRefreshRegression.test.ts

  • ReactRefreshRegression app > custom loader mdx should have Fast Refresh enabled
Expand output

● ReactRefreshRegression app › custom loader mdx should have Fast Refresh enabled

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

Expected: "Hello World!"
Received: null

  366 |         () => document.querySelector('#content').textContent
  367 |       )
> 368 |     ).toBe('Hello World!')
      |       ^
  369 |
  370 |     let didNotReload = await session.patch('app/content.mdx', `Hello Foo!`)
  371 |     expect(didNotReload).toBe(true)

  at Object.<anonymous> (development/acceptance-app/ReactRefreshRegression.test.ts:368:7)

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

pnpm test test/integration/create-next-app/package-manager.test.ts

  • should use npm as the package manager on supplying --use-npm with example

  • should use Yarn as the package manager on supplying --use-yarn with example

  • should use pnpm as the package manager on supplying --use-pnpm with example

  • should use Bun as the package manager on supplying --use-bun with example

  • should infer npm as the package manager with example

  • should infer yarn as the package manager with example

  • should infer pnpm as the package manager with example

  • should infer Bun as the package manager with example

Expand output

● should use npm as the package manager on supplying --use-npm with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:69:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:53:3)

● should use Yarn as the package manager on supplying --use-yarn with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:146:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:130:3)

● should use pnpm as the package manager on supplying --use-pnpm with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:223:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:207:3)

● should use Bun as the package manager on supplying --use-bun with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:296:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:280:3)

● should infer npm as the package manager with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:367:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:344:3)

● should infer yarn as the package manager with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:450:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:427:3)

● should infer pnpm as the package manager with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:533:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:510:3)

● should infer Bun as the package manager with example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/package-manager.test.ts:608:28
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/package-manager.test.ts:585:3)

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

pnpm test test/integration/create-next-app/index.test.ts (turbopack)

  • create next app > valid example
  • create next app > should allow example with GitHub URL
  • create next app > should allow example with GitHub URL and example-path
  • create next app > should use --example-path over the file path in the GitHub URL
Expand output

● create next app › valid example

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/index.test.ts:131:30
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/index.test.ts:115:5)

● create next app › should allow example with GitHub URL

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/index.test.ts:188:30
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/index.test.ts:171:5)

● create next app › should allow example with GitHub URL and example-path

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/index.test.ts:252:30
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/index.test.ts:233:5)

● create next app › should use --example-path over the file path in the GitHub URL

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

Expected: true
Received: false

  81 |   for (const file of files) {
  82 |     try {
> 83 |       expect(existsSync(resolve(projectRoot, file))).toBe(true)
     |                                                      ^
  84 |     } catch (err) {
  85 |       require('console').error(
  86 |         `missing expected file ${file}`,

  at projectFilesShouldExist (integration/create-next-app/lib/utils.ts:83:54)
  at integration/create-next-app/index.test.ts:285:30
  at useTempDir (lib/use-temp-dir.ts:24:5)
  at Object.<anonymous> (integration/create-next-app/index.test.ts:266:5)

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

pnpm test-dev test/development/acceptance-app/ReactRefreshLogBox-scss.test.ts

  • ReactRefreshLogBox app > scss syntax errors
Expand output

● ReactRefreshLogBox app › scss syntax errors

expect(received).toMatchSnapshot()

Snapshot name: `ReactRefreshLogBox app scss syntax errors 2`

- Snapshot  - 1
+ Received  + 1

  ./index.module.scss (1:1)
  Syntax error: Selector "button" is not pure (pure selectors must contain at least one local class or id)

  > 1 | button { font-size: 5px; }
-     |                                                                  ^
+     |                          ^

  50 |     expect(await session.hasRedbox(true)).toBe(true)
  51 |     const source2 = await session.getRedboxSource()
> 52 |     expect(source2).toMatchSnapshot()
     |                     ^
  53 |
  54 |     await cleanup()
  55 |   })

  at Object.<anonymous> (development/acceptance-app/ReactRefreshLogBox-scss.test.ts:52:21)

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

pnpm test-start test/production/pages-dir/production/test/index.test.ts

  • Production Usage > should output traces
  • Production Usage > should not clear custom performance marks
Expand output

● Production Usage › should output traces

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

Expected: true
Received: false

  292 |             return false
  293 |           })
> 294 |         ).toBe(true)
      |           ^
  295 |
  296 |         if (sep === '/') {
  297 |           expect(

  at Object.<anonymous> (production/pages-dir/production/test/index.test.ts:294:11)

● Production Usage › should not clear custom performance marks

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

Expected: true
Received: false

  1171 |         }).length === 1`
  1172 |         )
> 1173 |         expect(customMarkFound).toBe(true)
       |                                 ^
  1174 |       } finally {
  1175 |         if (browser) {
  1176 |           await browser.close()

  at Object.<anonymous> (production/pages-dir/production/test/index.test.ts:1173:33)

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

ijjk
ijjk previously requested changes Dec 21, 2024
Copy link
Member

@ijjk ijjk left a comment

Choose a reason for hiding this comment

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

It seems we have real test failures here from the bump seems these are broken already

@ijjk ijjk dismissed their stale review December 21, 2024 01:47

already broken tests

@ztanner ztanner merged commit 82e0af7 into next-13 Dec 21, 2024
34 of 57 checks passed
@ztanner ztanner deleted the zt/backport-720de7f81a branch December 21, 2024 01:49
@github-actions github-actions bot added the locked label Jan 4, 2025
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 4, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

created-by: Next.js team PRs by the Next.js team. Font (next/font) Related to Next.js Font Optimization. locked type: next

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants