CPLAT-11530: Migrate to new over_react boilerplate#103
Conversation
Security InsightsNo security relevant content was detected by automated scans. Action Items
Questions or Comments? Reach out on Slack: #support-infosec. |
|
|
||
| @Props() | ||
| class _$WrapperProps extends UiProps {} | ||
| mixin WrapperProps on UiProps {} |
There was a problem hiding this comment.
I updated WrapperProps without deprecating it because nothing ever extends from it.
sydneyjodon-wk
left a comment
There was a problem hiding this comment.
I upgraded some of the test components to UiComponent2 and the new boilerplate, but it seemed like some should stay in the old boilerplate. Based on the test descriptions, the following components seemed like they were being used to test legacy boilerplate or UiComponent so I didn’t upgrade these:
Test, TestCommon, TestCommonNested, TestCommonNested2, TestCommonRequired
Let me know if I should’ve upgraded any of these or if any of the components I upgraded shouldn’t have been.
greglittlefield-wf
left a comment
There was a problem hiding this comment.
+10
@Workiva/release-management-p
Motivation
While converting the boilerplate for OverReact component declaration from Dart 1 transformers to Dart 2 builders, we encountered several constraints that made us choose between dropping backwards compatibility (mainly support for props class inheritance), and a less-than-optimal boilerplate.
To make the Dart 2 transition as smooth as possible, we chose to keep the new boilerplate version as backwards-compatible as possible, while compromising the cleanliness of the boilerplate. In time, we found that this wasn't great from a user experience or from a tooling perspective.
Knowing this, and having dropped support for Dart 1, we have implemented an improved version of OverReact boilerplate that fixes issues introduced in the "transitional" version, as well as other miscellaneous ones.
To summarize the new boilerplate changes:
extendfrom other props classes anymore (but you can still mix them in)!)Factory(),@Props(), etc.) are omitted unless they have argumentsconsumedPropsincludes props from all used props mixins by defaultBasically...
Changes
(These might be a bit easier to read with split diff)
builder changes necessary to support the boilerplate changes.
UiComponent2cannot use the new boilerplate.TODOcomments to any part of a declaration that could not be migrated automatically.Review
Please review, QA and merge: <tag repo owners / contributors here>
QA Checklist
Release Notes