-
Notifications
You must be signed in to change notification settings - Fork 58
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
AF-223 Begin preparations for Dart SDK 2 #151
Conversation
Security InsightsNo security relevant content was detected by automated scans. Action Items
Questions or Comments? Reach out on HipChat: InfoSec Forum. |
Codecov Report
@@ Coverage Diff @@
## master #151 +/- ##
==========================================
- Coverage 94.51% 94.44% -0.06%
==========================================
Files 33 33
Lines 1601 1599 -2
==========================================
- Hits 1513 1510 -3
- Misses 88 89 +1 |
@@ -433,7 +461,7 @@ abstract class UiStatefulComponent<TProps extends UiProps, TState extends UiStat | |||
/// | |||
/// > Note: Implements MapViewMixin instead of extending it so that the abstract state declarations | |||
/// don't need a constructor. The generated implementations can mix that functionality in. | |||
abstract class UiState extends Object implements StateMapViewMixin, MapViewMixin, Map { | |||
abstract class UiState extends MapBase implements StateMapViewMixin, MapViewMixin, Map { |
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.
MapBase
seems to work to get us fully compatible with both Dart 1 and Dart 2 at the same time, so I'm fine with this until we've fully switched to Dart 2.
At that point, we should:
- stop extending from
MapBase
, or at least add in overrides that directly proxy the underlying map's members, as opposed to usingMapBase's
potentially less efficient versions. - hopefully be able to simplify all this map stuff and remove all the weird DDC workarounds
I believe UiProps
needs the same treatment, since it needs to implement all of the same new Dart2 map members. I think there might be an analyzer bug where unimplemented members don't show up; but you should be able to see if it's needed by doing something like Dom.div().entries
and see if it's implemented.
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.
@greglittlefield-wf I have removed the MapBase
bits in my WIP branch for dart 2 changes (AF-233)
+ This wide range was causing pub get to take 5-6 minutes. + All internal Workiva consumers are already on ^7.0.0
1f87cfd
to
b15a1c0
Compare
@greglittlefield-wf I have removed the This should be ready for final review / merge. |
built_redux: ">=6.1.0 <8.0.0" | ||
built_value: ">=4.2.0 <6.0.0" | ||
built_redux: ^7.4.1 | ||
built_value: ">=4.2.0 <5.2.0" # >=5.2.0 is Dart 2 SDK only |
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.
To clarify, this is technically unnecessary, but done to improve solving speed in Dart 1's Pub, correct?
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.
Correct
QA +1
@Workiva/release-management-pp |
Ultimate problem:
Dart SDK 2 is on its way, and over_react has a number of lints / hints / warnings that are easy enough to address ahead of time.
How it was fixed:
Testing suggestions:
Passing CI
Potential areas of regression:
None expected