diff options
Diffstat (limited to 'node_modules/@babel/plugin-proposal-decorators/README.md')
| -rw-r--r-- | node_modules/@babel/plugin-proposal-decorators/README.md | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/node_modules/@babel/plugin-proposal-decorators/README.md b/node_modules/@babel/plugin-proposal-decorators/README.md deleted file mode 100644 index b5bf1a1b..00000000 --- a/node_modules/@babel/plugin-proposal-decorators/README.md +++ /dev/null @@ -1,126 +0,0 @@ -# @babel/plugin-proposal-decorators - -> Compile class and object decorators to ES5 - -## Example - -(examples are from proposal) - -### Simple class decorator - -```js -@annotation -class MyClass { } - -function annotation(target) { - target.annotated = true; -} -``` - -### Class decorator - -```js -@isTestable(true) -class MyClass { } - -function isTestable(value) { - return function decorator(target) { - target.isTestable = value; - } -} -``` - -### Class function decorator - -```js -class C { - @enumerable(false) - method() { } -} - -function enumerable(value) { - return function (target, key, descriptor) { - descriptor.enumerable = value; - return descriptor; - } -} -``` - -## Installation - -```sh -npm install --save-dev @babel/plugin-proposal-decorators -``` - -## Usage - -Add the following line to your .babelrc file: - -```json -{ - "plugins": ["@babel/plugin-proposal-decorators"] -} -``` - -### Via CLI - -```sh -babel --plugins @babel/plugin-proposal-decorators script.js -``` - -### Via Node API - -```javascript -require("@babel/core").transform("code", { - plugins: ["@babel/plugin-proposal-decorators"] -}); -``` - -## Options - -### `legacy` - -`boolean`, defaults to `false`. - -Use the legacy (stage 1) decorators syntax and behavior. - -#### NOTE: Compatibility with `@babel/plugin-proposal-class-properties` - -If you are including your plugins manually and using `@babel/plugin-proposal-class-properties`, make sure that `@babel/plugin-proposal-decorators` comes *before* `@babel/plugin-proposal-class-properties`. - -When using the `legacy: true` mode, `@babel/plugin-proposal-class-properties` must be used in `loose` mode to support the `@babel/plugin-proposal-decorators`. - -Wrong: - -```json -{ - "plugins": [ - "@babel/plugin-proposal-class-properties", - "@babel/plugin-proposal-decorators" - ] -} -``` - -Right: - -```json -{ - "plugins": [ - "@babel/plugin-proposal-decorators", - "@babel/plugin-proposal-class-properties" - ] -} -``` - -```json -{ - "plugins": [ - ["@babel/plugin-proposal-decorators", { "legacy": true }], - ["@babel/plugin-proposal-class-properties", { "loose" : true }] - ] -} -``` - -## References - -* [Proposal: JavaScript Decorators](https://github.com/wycats/javascript-decorators/blob/master/README.md) |
