pmndrs / leva

🌋 React-first components GUI
https://leva.pmnd.rs
MIT License
5.05k stars 202 forks source link

Fixes React v19 incompatibility, increasing React minimum to v18 #511

Open lourd opened 3 months ago

lourd commented 3 months ago

Description

This library is incompatible with React 19 because it's usage of ReactDOM.render which has been dropped in v19.

I've changed the usage of that to createRoot and increased the required react and react-dom versions to v18.

This will be a new major version as it is a breaking change to all users not on at least v18.

Testing

I tried running the tests but they were failing for me. They were failing before I made any changes with:

`Tooltip` must be used within `TooltipProvider`

After the changes they're failing with:

> Cannot read property 'useRef' of null

I think that means there's multiple versions of React being bundled, but I wasn't able to figure out how to debug that.

changeset-bot[bot] commented 3 months ago

⚠️ No Changeset found

Latest commit: 89db3d454474debe8f1b70bfb7b8ec5580aa72e1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

vercel[bot] commented 3 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
leva ❌ Failed (Inspect) Aug 17, 2024 3:25pm
codesandbox-ci[bot] commented 3 months ago

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 89db3d454474debe8f1b70bfb7b8ec5580aa72e1:

Sandbox Source
leva-minimal Configuration
leva-busy Configuration
leva-scroll Configuration
leva-advanced-panels Configuration
leva-ui Configuration
leva-theme Configuration
leva-transient Configuration
leva-plugin-plot Configuration
leva-plugin-bezier Configuration
leva-plugin-spring Configuration
leva-plugin-dates Configuration
leva-custom-plugin Configuration
lourd commented 3 months ago

cc/ @dbismut @CodyJasonBennett for review

sovetski commented 4 weeks ago

any news please?