Move decorators transform to @babel/helper-create-class-features-plugin #9059
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.
This PR moves the modern decorator transformer (I don't think that I will move the legacy transformer) to
@babel/plugin-class-features
. I didn't add support for decorators on private elements yet, but it will come after this PR.Al the functions inside
packages/babel-plugin-class-features/src/decorators.js
have been copy-pasted frompackages/babel-plugin-proposal-decorators/src/transform.js
, except for:hasDecorators
andhasOwnDecorators
, which are new;extractElementDescriptor
(formerlygetSingleElementDefinition
): I changed the order of the parameters and added apath.remove()
call which previously was in another place;buildDecoratedClass
(formerlytransformClass
), which has been largely modified;insertInitializeInstanceElements
,bareSupersVisitor
,getConstructorPath
andgetElementsDefinitions
functions has been removed sicne they are no more needed.This PR didn't change any test (as expected), except for two unused variables which have been removed (EDIT: It looks like I fixed #6916)