babel-preset-stage-2
The gist of Stage 2 is:
Stage 2: draft
What is it? A first version of what will be in the specification. At this point, an eventual inclusion of the feature in the standard is likely.
What’s required? The proposal must now additionally have a formal description of the syntax and semantics of the feature (using the formal language of the ECMAScript specification). The description should be as complete as possible, but can contain todos and placeholders. Two experimental implementations of the feature are needed, but one of them can be in a transpiler such as Babel.
What’s next? Only incremental changes are expected from now on.
This preset includes the following plugins:
- syntax-dynamic-import
- transform-class-properties
- transform-decorators disabled pending proposal update (can use the legacy transform in the meantime)
And all plugins from presets:
You can check the src/index.js to be sure the plugins used.
Install
npm install --save-dev babel-preset-stage-2
Usage
.babelrc
(Recommended)
Via .babelrc
{
"presets": ["stage-2"]
}
Via CLI
babel script.js --presets stage-2
Via Node API
require("babel-core").transform("code", {
presets: ["stage-2"]
});
References
- Chapter "The TC39 process for ECMAScript features" in "Exploring ES2016 and ES2017" by Axel Rauschmayer