-
Notifications
You must be signed in to change notification settings - Fork 26
FEC 155 - Upgrade all UI Kit packages to React 19 #3034
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
base: main
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: 58ed69a 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 |
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
# Conflicts: # packages/components/buttons/flat-button/src/flat-button.tsx # packages/components/collapsible-motion/README.md # packages/components/fields/async-creatable-select-field/package.json # packages/components/fields/async-select-field/package.json # packages/components/fields/creatable-select-field/package.json # packages/components/fields/date-field/package.json # packages/components/fields/date-range-field/package.json # packages/components/fields/date-time-field/package.json # packages/components/fields/localized-multiline-text-field/README.md # packages/components/fields/localized-multiline-text-field/package.json # packages/components/fields/localized-text-field/README.md # packages/components/fields/localized-text-field/package.json # packages/components/fields/money-field/package.json # packages/components/fields/multiline-text-field/package.json # packages/components/fields/number-field/package.json # packages/components/fields/password-field/package.json # packages/components/fields/radio-field/package.json # packages/components/fields/search-select-field/package.json # packages/components/fields/select-field/package.json # packages/components/fields/text-field/package.json # packages/components/fields/time-field/package.json # packages/components/notifications/package.json # packages/components/progress-bar/README.md # packages/components/spacings/spacings-inline/package.json # packages/components/spacings/spacings-inset-squish/package.json # packages/components/spacings/spacings-inset/package.json # packages/components/spacings/spacings-stack/package.json # packages/components/stamp/package.json # yarn.lock
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
f0e26a1
to
6cc0d5c
Compare
[preview_deployment] |
Release workflow succeeded ✅\nSee details: Workflow Run |
…w package versions, but get rid of proptypes)
[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]