Conversation
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together. Updates `react` from 18.3.1 to 19.2.4 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.4/packages/react) Updates `@types/react` from 18.3.23 to 19.2.14 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) --- updated-dependencies: - dependency-name: react dependency-version: 19.2.4 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: "@types/react" dependency-version: 19.2.14 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
There was a problem hiding this comment.
Pull request overview
This PR attempts to upgrade React from version 18.3.1 to 19.2.4 and @types/react from 18.3.23 to 19.2.14 across the monorepo, as part of an automated Dependabot update. However, the upgrade is incomplete and creates multiple critical peer dependency conflicts.
Changes:
- Upgrades react to 19.2.4 in apps/homework and apps/roadbook
- Upgrades
@types/reactto 19.2.14 across apps/homework, apps/roadbook, and packages/ui - Leaves react-dom at 18.3.1, which is incompatible with React 19
- Does not upgrade packages/ui runtime dependencies, creating version mismatches
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| pnpm-lock.yaml | Updates dependency resolution, but creates peer dependency mismatches between React 19, react-dom 18, and Next.js 13 |
| apps/homework/package.json | Updates react to 19.2.4 and @types/react to 19.2.14, but leaves react-dom at 18.2.0 |
| apps/roadbook/package.json | Updates react to 19.2.4 and @types/react to 19.2.14, but leaves react-dom at 18.2.0 |
| packages/ui/package.json | Updates @types/react to ^19, but leaves runtime dependencies on React 18 |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "react": "^19.2.4", | ||
| "react-dom": "^18.2.0", |
There was a problem hiding this comment.
React 19.2.4 is being used with react-dom 18.3.1, which violates react-dom's peer dependency requirement of ^18.3.1. The react-dom package explicitly expects React 18, but React 19 is being provided. This creates a peer dependency mismatch that can cause runtime issues and unexpected behavior.
Additionally, Next.js 13.5.11 has a peer dependency on react ^18.2.0 and react-dom ^18.2.0, but is being used with React 19.2.4. Next.js 13 was not designed to work with React 19, and this version mismatch can lead to compatibility issues.
To fix this issue, either:
- Upgrade react-dom to a version compatible with React 19 (if available), OR
- Revert React to version 18.3.1 to maintain compatibility with the current ecosystem, OR
- Upgrade Next.js to a version that supports React 19 (Next.js 15+ officially supports React 19)
| }, | ||
| "devDependencies": { | ||
| "@types/react": "^18", | ||
| "@types/react": "^19", |
There was a problem hiding this comment.
This package specifies @types/react ^19 in devDependencies and @types/react-dom ^18 in devDependencies, but @types/react-dom 18.3.7 has a peer dependency requirement of @types/react ^18.0.0. Using @types/react 19.2.14 with @types/react-dom 18.3.7 creates a type definition mismatch.
This can lead to TypeScript compilation errors or incorrect type checking. The @types/react-dom version should be upgraded to one compatible with @types/react 19, or @types/react should remain at version 18.
| "@types/react": "^19", | |
| "@types/react": "^18", |
| dependencies: | ||
| react: | ||
| specifier: ^18.0.0 | ||
| version: 18.3.1 | ||
| react-dom: | ||
| specifier: ^18.0.0 | ||
| version: 18.3.1(react@18.3.1) |
There was a problem hiding this comment.
The packages/ui package has dependencies on react ^18.0.0 and react-dom ^18.0.0, which means it will install React 18.3.1. However, the consuming applications (apps/homework and apps/roadbook) are using React 19.2.4. This creates a version mismatch where the UI package is built with React 18 types and runtime while the applications are using React 19.
This inconsistency can lead to:
- Multiple React instances being bundled
- Runtime errors due to different React versions
- Type definition conflicts
- Unpredictable behavior when components from packages/ui are used in apps
The packages/ui dependencies should be updated to match the React version used by the consuming applications, or all applications should use the same React version as packages/ui.
| "react": "^19.2.4", | ||
| "react-dom": "^18.2.0" |
There was a problem hiding this comment.
React 19.2.4 is being used with react-dom 18.3.1, which violates react-dom's peer dependency requirement of ^18.3.1. The react-dom package explicitly expects React 18, but React 19 is being provided. This creates a peer dependency mismatch that can cause runtime issues and unexpected behavior.
Additionally, Next.js 13.5.11 has a peer dependency on react ^18.2.0 and react-dom ^18.2.0, but is being used with React 19.2.4. Next.js 13 was not designed to work with React 19, and this version mismatch can lead to compatibility issues.
To fix this issue, either:
- Upgrade react-dom to a version compatible with React 19 (if available), OR
- Revert React to version 18.3.1 to maintain compatibility with the current ecosystem, OR
- Upgrade Next.js to a version that supports React 19 (Next.js 15+ officially supports React 19)
Bumps react and @types/react. These dependencies needed to be updated together.
Updates
reactfrom 18.3.1 to 19.2.4Release notes
Sourced from react's releases.
... (truncated)
Changelog
Sourced from react's changelog.
... (truncated)
Commits
90ab3f8Version 19.2.4612e371Version 19.2.3b910fc1Version 19.2.2053df4eVersion 19.2.15667a41Bump next prerelease version numbers (#34639)8bb7241Bump useEffectEvent to Canary (#34610)e3c9656Ensure Performance Track are Clamped and Don't overlap (#34509)68f00c9Release Activity in Canary (#34374)0e10ee9[Reconciler] Set ProfileMode for Host Root Fiber by default in dev (#34432)3bf8ab4Add missing Activity export to development mode (#34439)Updates
@types/reactfrom 18.3.23 to 19.2.14Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)