Skip to content
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

Merged
merged 5 commits into from
May 8, 2018
Merged

Conversation

aaronlademann-wf
Copy link
Contributor

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:

  • I addressed all of the lints / hints / warnings / deprecations that show up using the latest Dart 2 SDK build.

    Note: The stuff involving react callable classes is not addressed here. That work will be done in a separate PR (which requires a change / release of react).

Testing suggestions:

Passing CI

Potential areas of regression:

None expected


FYA: @Workiva/app-frameworks

@aviary3-wk
Copy link

Security Insights

No security relevant content was detected by automated scans.

Action Items

  • Review PR for security impact; comment "security review required" if needed or unsure
  • Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on HipChat: InfoSec Forum.

@codecov-io
Copy link

codecov-io commented May 3, 2018

Codecov Report

Merging #151 into master will decrease coverage by 0.07%.
The diff coverage is 90.91%.

@@            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

@aaronlademann-wf aaronlademann-wf changed the title Begin preparations for Dart SDK 2 AF-223 Begin preparations for Dart SDK 2 May 4, 2018
@@ -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 {
Copy link
Contributor

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 using MapBase'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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aaronlademann-wf
Copy link
Contributor Author

@greglittlefield-wf I have removed the MapBase bits in my WIP branch for dart 2 changes (AF-233)

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
Copy link
Contributor

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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct

@sebastianmalysa-wf
Copy link
Contributor

QA +1

  • Testing instruction
  • Dev +1's
  • Dev/QA +10 with detail of what was tested
    • CI Passes
    • pulled down branch locally - all tests pass and analysis passes
  • Unit tests created/updated
  • All unit tests pass

@Workiva/release-management-pp

@sebastianmalysa-wf sebastianmalysa-wf merged commit 884dc8e into master May 8, 2018
@aaronlademann-wf aaronlademann-wf deleted the dart2_prep branch May 9, 2018 12:12
@aaronlademann-wf aaronlademann-wf added the dart2 PRs targeting our effort to get to Dart SDK 2.0 compatibility label Sep 7, 2018
@aaronlademann-wf aaronlademann-wf added this to the 2.0.0 milestone Sep 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-dependencies dart2 PRs targeting our effort to get to Dart SDK 2.0 compatibility Merge Requirements Met RM Ready Type: tech debt
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants