carbon-design-system / carbon

A design system built by IBM
https://www.carbondesignsystem.com
Apache License 2.0
7.78k stars 1.8k forks source link

React 19 support ☂️ #16282

Open tay1orjones opened 5 months ago

tay1orjones commented 5 months ago

This issue is a high level catch-all for items relating to React 19 support.

As of April 25 React 19 is in beta. There's also an upgrade guide.

### Steps to explore React 19 support
- [ ] https://github.com/carbon-design-system/carbon/issues/14350
- [ ] https://github.com/carbon-design-system/carbon/issues/13610
- [ ] The output of the above ^^ would be a failing ci check testing React 19 compatibility (unit tests, etc) and the work here would be to get that status check passing.
- [ ] Get a React 19 branch set up for testing
- [ ] Add React 19 as an allowed version in `package.json`(s)
- [ ] Follow the 19 upgrade guide, resolve any incompatibilities in a backwards compatible way
- [ ] ...
- [ ] Once things feel solid, open a draft PR. 
- [ ] There may be further changes during the beta period. Work to keep this draft PR passing during the beta period.
- [ ] Coordinate React 19 support within `@carbon/ibm-products` to land this at the same time
- [ ] Merge the PR once React 19 lands in stable (or we could merge it asap if we leave out the changes to package.json. This would mean that the CI checks would need to support testing in versions of react that are not specified in our package.json - https://github.com/carbon-design-system/carbon/issues/13610
- [ ] https://github.com/carbon-design-system/carbon/issues/16620

Open questions

sstrubberg commented 5 months ago

Can we align this body of work with the Product PAL? I would love to have this work be done in tandem across squads. @kennylam @matthewgallo @elycheea

tay1orjones commented 5 months ago

@sstrubberg totally agree, I just updated the tasklist to reflect that as a distinct item to address