Add legacy option to plugin-proposal-decorators.

This commit is contained in:
Nicolò Ribaudo
2018-04-14 19:27:02 +02:00
committed by Brian Ng
parent 42244123e1
commit 96316dcf88
9 changed files with 335 additions and 283 deletions

View File

@@ -33,3 +33,11 @@ require("@babel/core").transform("code", {
plugins: ["@babel/plugin-syntax-decorators"]
});
```
## Options
### `legacy`
`boolean`, defaults to `false`.
Use the legacy (stage 1) decorators syntax.

View File

@@ -1,11 +1,16 @@
import { declare } from "@babel/helper-plugin-utils";
export default declare(api => {
export default declare((api, options) => {
api.assertVersion(7);
const { legacy = false } = options;
if (typeof legacy !== "boolean") {
throw new Error("'legacy' must be a boolean.");
}
return {
manipulateOptions(opts, parserOpts) {
parserOpts.plugins.push("decorators");
parserOpts.plugins.push(legacy ? "decorators" : "decorators2");
},
};
});