Skip to content

build(deps): bump react and @types/react#91

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/multi-dcae87122d
Open

build(deps): bump react and @types/react#91
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/npm_and_yarn/multi-dcae87122d

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 6, 2025

Bumps react and @types/react. These dependencies needed to be updated together.
Updates react from 18.3.1 to 19.2.0

Release notes

Sourced from react's releases.

19.2.0 (Oct 1, 2025)

Below is a list of all new features, APIs, and bug fixes.

Read the React 19.2 release post for more information.

New React Features

  • <Activity>: A new API to hide and restore the UI and internal state of its children.
  • useEffectEvent is a React Hook that lets you extract non-reactive logic into an Effect Event.
  • cacheSignal (for RSCs) lets your know when the cache() lifetime is over.
  • React Performance tracks appear on the Performance panel’s timeline in your browser developer tools

New React DOM Features

  • Added resume APIs for partial pre-rendering with Web Streams:
  • Added resume APIs for partial pre-rendering with Node Streams:
  • Updated prerender APIs to return a postponed state that can be passed to the resume APIs.

Notable changes

  • React DOM now batches suspense boundary reveals, matching the behavior of client side rendering. This change is especially noticeable when animating the reveal of Suspense boundaries e.g. with the upcoming <ViewTransition> Component. React will batch as much reveals as possible before the first paint while trying to hit popular first-contentful paint metrics.
  • Add Node Web Streams (prerender, renderToReadableStream) to server-side-rendering APIs for Node.js
  • Use underscore instead of : IDs generated by useId

All Changes

React

React DOM

... (truncated)

Changelog

Sourced from react's changelog.

19.2.0 (October 1st, 2025)

Below is a list of all new features, APIs, and bug fixes.

Read the React 19.2 release post for more information.

New React Features

  • <Activity>: A new API to hide and restore the UI and internal state of its children.
  • useEffectEvent is a React Hook that lets you extract non-reactive logic into an Effect Event.
  • cacheSignal (for RSCs) lets your know when the cache() lifetime is over.
  • React Performance tracks appear on the Performance panel’s timeline in your browser developer tools

New React DOM Features

  • Added resume APIs for partial pre-rendering with Web Streams:
  • Added resume APIs for partial pre-rendering with Node Streams:
  • Updated prerender APIs to return a postponed state that can be passed to the resume APIs.

Notable changes

  • React DOM now batches suspense boundary reveals, matching the behavior of client side rendering. This change is especially noticeable when animating the reveal of Suspense boundaries e.g. with the upcoming <ViewTransition> Component. React will batch as much reveals as possible before the first paint while trying to hit popular first-contentful paint metrics.
  • Add Node Web Streams (prerender, renderToReadableStream) to server-side-rendering APIs for Node.js
  • Use underscore instead of : IDs generated by useId

All Changes

React

React DOM

... (truncated)

Commits

Updates @types/react from 18.3.20 to 19.2.0

Commits

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Summary by CodeRabbit

  • Chores
    • Upgraded React from version 18.x to version 19.x
    • Updated React type definitions (@types/react) to version 19.x

✏️ Tip: You can customize this high-level summary in your review settings.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 6, 2025
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Oct 6, 2025

Deploying tosidrop-web with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6e49996
Status:🚫  Build failed.

View logs

@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/multi-dcae87122d branch 2 times, most recently from a9f55e7 to f42c595 Compare October 12, 2025 14:57
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Oct 15, 2025

Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting @dependabot recreate.

@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/multi-dcae87122d branch 2 times, most recently from 57ac976 to 655c898 Compare October 21, 2025 17:03
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/multi-dcae87122d branch 2 times, most recently from 06268a4 to 168549a Compare October 30, 2025 23:34
@wolf31o2
Copy link
Contributor

@dependabot rebase

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.0
- [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.0/packages/react)

Updates `@types/react` from 18.3.20 to 19.2.0
- [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.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: "@types/react"
  dependency-version: 19.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/multi-dcae87122d branch from 168549a to 6e49996 Compare December 13, 2025 22:48
@coderabbitai
Copy link

coderabbitai bot commented Dec 13, 2025

📝 Walkthrough

Walkthrough

This pull request updates React dependencies from version 18.x to 19.x in the package.json file, along with the corresponding @types/react package in devDependencies. The changes are limited to dependency version specifications with no modifications to package configuration, scripts, or other dependency sections.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Areas requiring attention:

  • Verify that React 19.x compatibility has been tested with existing codebase patterns
  • Check for any breaking changes between React 18.x and 19.x that may require code adjustments elsewhere (outside this diff)
  • Confirm that all peer dependencies are compatible with React 19.x

Poem

🐰 A hop, a skip, React takes flight,
From eighteen's grasp to nineteen's light,
Dependencies dance in version's song,
The upgrade path winds swift along,
Newer features await us right!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'build(deps): bump react and @types/react' accurately describes the main change in the changeset—upgrading React and TypeScript React types dependencies.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dependabot/npm_and_yarn/multi-dcae87122d

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@wolf31o2
Copy link
Contributor

@coderabbitai review and tell me what changes would need to be made to upgrade to React 19

@coderabbitai
Copy link

coderabbitai bot commented Dec 13, 2025

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get the list of files changed in this PR
gh pr view 91 --json files --jq '.files[].path'

Length of output: 30


🏁 Script executed:

#!/bin/bash
# Look at package.json to understand the current dependencies
cat package.json

Length of output: 1829


🏁 Script executed:

#!/bin/bash
# Find all React component files (tsx/jsx files)
fd -e tsx -e jsx | head -20

Length of output: 649


🏁 Script executed:

#!/bin/bash
# Search for common React patterns that might be affected by the upgrade
# Look for class components
rg -n "extends React.Component|extends Component" -g "*.tsx" -g "*.jsx" -C 2

# Look for legacy refs
rg -n "React.createRef|createRef|ref=" -g "*.tsx" -g "*.jsx" -A 2 | head -40

# Look for legacy context API
rg -n "contextTypes|getChildContext" -g "*.tsx" -g "*.jsx" -C 2

Length of output: 1011


🏁 Script executed:

#!/bin/bash
# Look for PropTypes usage (deprecated in React 19)
rg -n "PropTypes" -g "*.tsx" -g "*.jsx" -C 2

# Look for ReactDOM.render usage (deprecated)
rg -n "ReactDOM.render|render\(" -g "*.tsx" -g "*.jsx" -C 2 | head -40

Length of output: 177


🏁 Script executed:

#!/bin/bash
# Check for React hooks usage
rg -n "useState|useEffect|useContext|useReducer|useCallback|useMemo|useRef" -g "*.tsx" -g "*.jsx" | head -30

Length of output: 1614


🏁 Script executed:

#!/bin/bash
# Look at the main entry point
cat src/main.tsx 2>/dev/null || cat src/index.tsx 2>/dev/null || cat src/App.tsx 2>/dev/null

Length of output: 245


🌐 Web query:

React 19 breaking changes migration guide

💡 Result:

Here’s a concise migration checklist for React 19 (major breaking changes + recommended steps).

Quick prep

  • Upgrade first to React 18.3 to surface deprecation warnings. [1]
  • Pin TypeScript, Babel/TSX transform and toolchain to versions that support the new JSX transform and React 19 types. [1][2]

Automated fixes

  • Run the official codemods (react-codemod / types-react-codemod) for API & TypeScript changes. Example:
    • npx react-codemod@latest react/19/migration-recipe
    • npx types-react-codemod@latest preset-19 ./src
      These cover many ref/type cleanup tasks. [2][1]

Code changes to make

  • Replace ReactDOM.render / hydrate → createRoot / hydrateRoot; use root.unmount(). [1]
  • Update error handling: React 19 no longer re-throws render errors. Use createRoot options (onUncaughtError/onCaughtError) or adapt your error-reporting integration. [1][3]
  • Remove/replace legacy APIs:
    • Legacy Context (contextTypes / getChildContext) → createContext / useContext.
    • String refs / React.createFactory / module-pattern factories → modern refs / JSX.
    • defaultProps on function components → ES default parameters or TypeScript. [1][3]
  • Ref access changes: stop relying on element.ref; use element.props.ref and explicit ref handling. [3]
  • Remove/replace unstable/removed react-dom APIs (unstable_flushControlled, unstable_createEventHandle, unstable_renderSubtreeIntoContainer, etc.) as listed in the changelog. [3]
  • Testing: migrate away from react-test-renderer/shallow toward @testing-library/react or supported alternatives. [3]
  • Strict Mode: enable and fix new stricter checks (effects cleanup, unsafe patterns) to catch remaining issues. [1]

TypeScript-specific

  • Apply the TypeScript codemods; update any JSX namespace/module augmentations and changed React types. Expect changes to useRef, JSX types and some removed React types. [2]

Build/tooling

  • Ensure your bundler/Babel/TS config uses the new JSX transform and supports React 19 compiler features if you opt-in to them (Server Components/Server Actions). Update Next.js/Vite/CRA plugins as needed. [1][2]

Testing & rollout

  • Run full CI/tests, fix TypeScript errors, and incrementally enable opt-in features (Server Components, Actions) only after dependent libs/frameworks support them.
  • If you have a large codebase, do this in small PRs per area/component and keep a compatibility branch until third‑party libs update. [1][4]

References

  • React 19 Upgrade Guide (official). [1]
  • React 19 TypeScript & codemods notes (official / codemod docs). [2]
  • React 19 Changelog / removed APIs. [3]
  • Community migration report / playbook (practical lessons). [4]

Would you like a tailored migration plan for your repo (codemod commands, list of likely files to change, or a PR checklist)?


@wolf31o2, I'll review this PR and provide you with the specific changes needed for React 19 upgrade.

Current Status Analysis

Good news! Your codebase is already following modern React patterns:

  • ✅ Using createRoot instead of legacy ReactDOM.render
  • ✅ Functional components with hooks (no class components)
  • ✅ No PropTypes usage
  • ✅ No legacy Context API
  • ✅ Modern refs with useRef hook

Critical Issues Found

1. react-dom Version Mismatch ⚠️

The PR only updates react to 19.2.3, but react-dom is still on 18.2.0. This will cause runtime errors. You need to update:

"react-dom": "^19.2.3"  // Currently: "^18.2.0"

2. TypeScript Types Mismatch

Similarly, @types/react-dom needs updating:

"@types/react-dom": "^19.2.0"  // Currently: "^18.2.10"

Required Changes

Package Updates

Run these commands to complete the upgrade:

npm install react@^19.2.3 react-dom@^19.2.3
npm install -D @types/react@^19.2.7 @types/react-dom@^19.2.0

Run Official Codemods

React provides automated migration tools:

# Install and run React 19 migration codemods
npx react-codemod@latest react-19/migration-recipe ./src

# Install and run TypeScript codemods
npx types-react-codemod@latest preset-19 ./src

Potential Code Changes

Based on the web search results, check for these patterns:

  1. Error Handling: React 19 changed error handling behavior. If you use error boundaries or error reporting, verify they still work correctly.

  2. Ecosystem Dependencies: Verify compatibility of React-related packages:

    • react-router-dom@7.9.4 - should be compatible
    • @vitejs/plugin-react@4.6.0 - may need update
    • eslint-plugin-react-hooks@5.1.0 - verify compatibility
  3. TypeScript Errors: After upgrading types, fix any new TypeScript errors related to:

    • Ref types (may have changed)
    • JSX element types
    • Event handler types

Testing Checklist

  1. ✅ Run npm install after updating all packages
  2. ✅ Run npm run build to catch TypeScript errors
  3. ✅ Run npm run lint to catch any linting issues
  4. ✅ Test wallet connection functionality (your main feature)
  5. ✅ Test all routes and navigation
  6. ✅ Verify form submissions work correctly
  7. ✅ Check browser console for warnings

Recommended Approach

  1. Update all React packages together (react, react-dom, and their types)
  2. Run the codemods to catch any subtle issues
  3. Fix TypeScript errors that appear
  4. Test thoroughly - especially wallet connections and forms
  5. Check for console warnings about deprecated patterns

The good news is your codebase is already very clean and modern, so the upgrade should be relatively smooth once you update react-dom to match the React version!

Would you like me to trigger a review after you make these changes?

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
package.json (1)

47-53: Align @types/react-dom with React 19, but do not upgrade eslint-plugin-react-hooks to v6 yet.

You bumped @types/react to 19.x but left @types/react-dom at 18.x. Upgrade @types/react-dom to ^19.2.0 to match. However, while React 19.2 expects eslint-plugin-react-hooks v6+, there is no stable v6 release—only release candidates and canaries. Keep eslint-plugin-react-hooks at the latest stable ^5.2.0 until v6 is formally released.

Proposed diff:

   "devDependencies": {
     ...
     "@types/react": "^19.2.7",
-    "@types/react-dom": "^18.2.10",
+    "@types/react-dom": "^19.2.0",
     ...
-    "eslint-plugin-react-hooks": "^5.1.0",
+    "eslint-plugin-react-hooks": "^5.2.0",
     ...
   }
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9613101 and 6e49996.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Cloudflare Pages

Comment on lines +31 to 32
"react": "^19.2.3",
"react-dom": "^18.2.0",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

React 19 react-dom 18 compatibility version mismatch

💡 Result:

Short answer: React and react-dom must match major versions. Using react@19 with react-dom@18 causes runtime/peer-dependency mismatches — either upgrade react-dom to 19 or downgrade React to 18, and update any libraries that require React 18. Reinstall (remove lockfile + node_modules) or fix peer deps so a single matching version is installed.

How to fix (pick one):

  • Upgrade both to 19: npm install react@^19 react-dom@^19. Verify dependent packages (libraries/renderer) support React 19.
  • Or stay on 18: npm install react@^18 react-dom@^18 (if many deps still target 18).
  • After changing versions: rm -rf node_modules package-lock.json (or yarn.lock) && npm install. If peer-dep errors block install temporarily, consider using --legacy-peer-deps while you update libraries.

Why: React’s client/server/renderer APIs and some packages enforce exact or compatible peer versions; mixing 19 and 18 can produce “incompatible versions” errors and break libraries that still call removed/deprecated APIs. [1][2][3]

References:

  • React upgrade guidance / render API changes. [1]
  • Examples of ecosystem peer-dep issues (create-react-app / testing libs needing updates). [2]
  • Real-world “incompatible React versions” issues reported when only React was bumped (Expo / renderers). [3]

If you want, tell me your package.json and I’ll suggest the exact install commands and which deps to update.


🏁 Script executed:

# Check if we can view the full package.json to see peer dependencies and other deps
cd /dev/null 2>&1 || true
# Let me check the actual package.json file in context
find . -name "package.json" -type f | head -5

Repository: TosiDrop/web

Length of output: 120


🏁 Script executed:

cat ./package.json

Repository: TosiDrop/web

Length of output: 1885


Blocker: react 19.x with react-dom 18.x major mismatch — upgrade both to 19.x.

React and react-dom must maintain matching major versions. This combination causes runtime and peer-dependency mismatches. Also update @types/react-dom to match.

   "dependencies": {
     ...
     "react": "^19.2.3",
-    "react-dom": "^18.2.0",
+    "react-dom": "^19.2.3",
     ...
   },
   "devDependencies": {
     ...
-    "@types/react-dom": "^18.2.10",
+    "@types/react-dom": "^19.2.3",
     ...
   }
🤖 Prompt for AI Agents
In package.json around lines 31-32, react is at 19.x while react-dom is still
18.x which is a major-version mismatch; update react-dom to the matching 19.x
version (e.g., "^19.2.3") and also update @types/react-dom to the corresponding
19.x types package (or remove if using built-in types), then run package manager
to update the lockfile (npm/yarn/pnpm install) and verify no peer-dependency
conflicts remain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant