Move decorators transform to @babel/helper-create-class-features-plugin#9059
Merged
nicolo-ribaudo merged 3 commits intobabel:masterfrom Dec 9, 2018
Merged
Conversation
Collaborator
|
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/9493/ |
28e07a2 to
4936b53
Compare
4936b53 to
77e56ac
Compare
77e56ac to
886e061
Compare
Member
Author
|
I'm merging this since it is mainly moving code around; I will open a follow up PR to implement private & decorators soon. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.jshave been copy-pasted frompackages/babel-plugin-proposal-decorators/src/transform.js, except for:hasDecoratorsandhasOwnDecorators, 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,getConstructorPathandgetElementsDefinitionsfunctions 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)