-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FEC 155 - Upgrade all UI Kit packages to React 19 #3034
base: main
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: b6abdf9 The changes in this PR will be included in the next version bump. This PR includes changesets to release 99 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
'@commercetools-local/storybook': major | ||
--- | ||
|
||
Upgrade UI Kit to React 19 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this should probably more descriptive, suggestions on how much more descriptive are welcome.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's fine to keep it like this for now. We can come back to it when we are about to release the breaking change version and provide hints with what we will be learning migrating MC applications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a first review and added some comments.
There are also some topics we might want to mark as relevant:
- We're also forcing consumers to update their
react-intl
dependency to a new major version - We're introducing many changes in tests regarding some type of events (blur, focus,...)
- We're updating
Downshift
to a new major version - We would need to think about how we type icon props in our components
Apart from that, there are also some formatting changes that introduce some noise while reviewing that would be great to avoid.
packages/components/inputs/localized-rich-text-input/src/editor.tsx
Outdated
Show resolved
Hide resolved
packages/components/inputs/select-utils/src/wrapper-with-icon/wrapper-with-icon.tsx
Show resolved
Hide resolved
packages/components/pagination/src/page-size-selector/page-size-selector.tsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙌🏽
packages/components/data-table/src/use-manual-column-resizing-reducer.spec.js
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work. Took a second look and it look great to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Big thanks for migrating the components so quickly! 🚀
I'll review everything tomorrow, if that's alright.
In the meantime, as discussed, could I ask for addressing this one regression:
scale: 's' | 'l'; |
Could we make the scale prop optional?
Many thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks great on my end! Thanks a ton. 🙌
packages/components/dropdowns/dropdown-menu/src/dropdown-menu.tsx
Outdated
Show resolved
Hide resolved
packages/components/inputs/rich-text-utils/src/rich-text-body/dropdown.tsx
Outdated
Show resolved
Hide resolved
packages/components/inputs/date-time-input/src/date-time-input.tsx
Outdated
Show resolved
Hide resolved
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
dec63f3
to
5dda3b6
Compare
b968ab5
to
cb1c5ec
Compare
…ry/react, etc to v19 or relevant react 19 flavored version, update peerDependencies of react and react-dom from 17.x to 19.x in all affected packages, update test/setup-test-framework to import directly from @testing-library/jest-dom instead of subfolder
cb1c5ec
to
2a616c9
Compare
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
…-system dep from fields and prop-types dep from other components makes rebasing less of a chore in the future
…t maintained anymore, use @hello-pangea/dnd because it is a maintained drop-in replacement for react-beautiful-dnd
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
…r to remove react 19 peer dep issues
…irements to 7.x for react19 peer dep compatibility
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
…es from react-intl instead of custom props defined in components
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
🚨 🚨 🚨 DO NOT MERGE - TO BE CONSUMED AS RC VERSION IN DOWNSTREAM REPOS FOR NOW 🚨 🚨 🚨
Available on npm as version
0.0.0-fec-155-react-19-20250122185524
Copilots handling this Summary for now
This pull request includes multiple changes to upgrade the UI Kit to React 19 and to simplify the codebase. The most important changes include updating dependencies, removing unnecessary plugins, and refining type definitions.
Upgrade to React 19:
package.json
files. [1] [2] [3] [4] [5] [6] [7]Codebase Simplification:
babel-plugin-typescript-to-proptypes
and other unnecessary plugins frombabel.config.js
.prop-types
from variouspackage.json
files and updated type definitions to use TypeScript. [1] [2] [3] [4] [5] [6]Type Definitions Refinement:
design-system/src/icon-utils.ts
anddesign-system/src/theme-provider.tsx
. [1] [2] [3] [4]TIconProps
type to@commercetools-uikit/design-system
and updated relevant components. [1] [2] [3] [4]Dependency Updates:
package.json
files, includingformik
,patch-package
, andreact-intl
. [1] [2] [3]Miscellaneous Improvements:
packages/calendar-utils/src/calendar-body/calendar-body.tsx
andpackages/calendar-utils/src/calendar-header/calendar-header.tsx
. [1] [2] [3] [4] [5] [6]