The following guide applies to any framework that supports React 19. I titled this page "Next.js 15 + React 19" to help people upgrading to Next.js 15 find it. We are working with package maintainers to help upgrade to React 19.
TL;DR
If you're using npm
, you can install nyxb/ui dependencies with a flag. The nyxb
CLI will prompt you to select a flag when you run it. No flags required for pnpm, bun, or yarn.
See Upgrade Status for the status of React 19 support for each package.
What's happening?
React 19 is now rc and is tested and supported in the latest Next.js 15 release.
To support React 19, package maintainers will need to test and update their packages to include React 19 as a peer dependency. This is already in progress.
You can check if a package lists React 19 as a peer dependency by running
npm info <package> peerDependencies
.
In the meantime, if you are installing a package that does not list React 19 as a peer dependency, you will see an error message like this:
Note: This is npm only. PNPM and Bun will only show a silent warning.
How to fix this
Solution 1: --force
or --legacy-peer-deps
You can force install a package with the --force
or the --legacy-peer-deps
flag.
This will install the package and ignore the peer dependency warnings.
Solution 2: Use React 18
You can downgrade react
and react-dom
to version 18, which is compatible with the package you are installing and upgrade when the dependency is updated.
Whichever solution you choose, make sure you test your app thoroughly to ensure there are no regressions.
Using nyxb/ui on Next.js 15
Using pnpm, bun, or yarn
Follow the instructions in the installation guide to install nyxb/ui. No flags are needed.
Using npm
When you run npx nyxb@latest init -d
, you will be prompted to select an option to resolve the peer dependency issues.
You can then run the command with the flag you choose.
Adding components
The process for adding components is the same as above. Select a flag to resolve the peer dependency issues.
Remember to always test your app after installing new dependencies.
Upgrade Status
To make it easy for you track the progress of the upgrade, I've created a table below with React 19 support status for the nyxb/ui dependencies.
- ✅ - Works with React 19 using npm, pnpm, and bun.
- 🚧 - Works with React 19 using pnpm and bun. Requires flag for npm. PR is in progress.
Package | Status | Note |
---|---|---|
radix-ui | ✅ | |
lucide-react | ✅ | |
class-variance-authority | ✅ | Does not list React 19 as a peer dependency. |
tailwindcss-animate | ✅ | Does not list React 19 as a peer dependency. |
embla-carousel-react | ✅ | |
recharts | ✅ | See note below |
react-hook-form | ✅ | |
react-resizable-panels | ✅ | |
sonner | ✅ | |
react-day-picker | ✅ | Works with flag for npm. Work to upgrade to v9 in progress. |
input-otp | ✅ | |
vaul | ✅ | |
@radix-ui/react-icons | ✅ | |
cmdk | 🚧 | See PR #318 |
If you have any questions, please open an issue on GitHub.
Recharts
To use recharts with React 19, you will need to override the react-is
dependency.
Add the following to your package.json
Note: the react-is
version needs to match the version of React 19 you are using. The above is an example.