-
Notifications
You must be signed in to change notification settings - Fork 2
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
[UICAL-268, UICAL-228, UICAL-269, UICAL-220, UICAL-270] Convert to react-final-form-arrays, stripes-types, react 18 #491
Conversation
Jest Unit Test Statistics 1 files ± 0 70 suites - 1 3m 55s ⏱️ +12s Results for commit 746eea3. ± Comparison against base commit 0d6ad40. This pull request removes 141 and adds 71 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
Also before y'all freak out at the number of line changes here: a lot of deletions are from the removal of the in-house stripes-components typings. Also, the rewriting of most all validation/calendar form tests made a pretty heavy impact, too. |
Kudos, SonarCloud Quality Gate passed! |
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.
Gotta be honest: there is no practical way to review this PR. Big refactors like "leverage stripes-types" or "reformat for new lint rules" etc that make for really noisy diffs but don't actually change the logic much should be handled in their own PRs. As is, it's hard to separate these noisy-but-likely-safe changes from the must-be-closely-reviewed changes related to react-final-form-arrays.
I think a good way to proceed could be
- bump to react v18 and stripes-types
- react-final-form-arrays
- tests for TimeField, MCLRowFormatter (or maybe do this along with 2.)
I'm not gonna block it if you think the tests are sufficiently comprehensive, but I can't approve it either. Sorry.
Totally understood! It's a really noisy mess, no doubt about it. I'll try and separate out stripes-types vs. final form bits |
Kudos, SonarCloud Quality Gate passed! |
Jira UICAL-268 UICAL-228 UICAL-269 UICAL-220 UICAL-270
Purpose
This clean up a lot of technical debt with the previous way of handling form state. This should lead to a significantly improved experience, for both users and developers of the module. While in here, I also added some tests for
TimeField
(UICAL-228) andMCLRowFormatter
(UICAL-220)Approach
Before, a lot of the state management within react-final-form was not done optimally; this PR moves a lot of this logic into react-final-form and react-final-form-arrays' state management.
Other notes
@types/react
resolutions, etc.