add declare to class properties type annotations #12257
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently we have redundant initializer code unshifted in the
constructors
from type annotations. For examplebabel/packages/babel-traverse/src/path/index.js
Lines 31 to 69 in 2782a54
is transformed as (See here for the full outputs)
this.shouldSkip = void 0;
transformed from the property type annotations, is redundant because we have initialized it inconstructors
. What's more, it causes side effects if we skipproposal-class-properties
when building Babel in #12244, in which it is transformed toWhen these class property annotations were authored,
flow
didn't supportdeclare
class properties and they happen to be removed in the built artifacts viaproposal-class-properties
. This PR addsdeclare
to these properties so it is future-safe (removed byflow-types
) after we skipproposal-class-properties
.