aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@babel/plugin-transform-new-target/README.md
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:43:05 +0800
committerruki <waruqi@gmail.com>2018-11-07 22:18:30 +0800
commit89e95b3f143682ed9a006991bacf45c9dcba4818 (patch)
tree4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/@babel/plugin-transform-new-target/README.md
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-docs-89e95b3f143682ed9a006991bacf45c9dcba4818.tar.gz
xmake-docs-89e95b3f143682ed9a006991bacf45c9dcba4818.zip
remove node_modulesvuepress
Diffstat (limited to 'node_modules/@babel/plugin-transform-new-target/README.md')
-rw-r--r--node_modules/@babel/plugin-transform-new-target/README.md104
1 files changed, 0 insertions, 104 deletions
diff --git a/node_modules/@babel/plugin-transform-new-target/README.md b/node_modules/@babel/plugin-transform-new-target/README.md
deleted file mode 100644
index ccd5b4a4..00000000
--- a/node_modules/@babel/plugin-transform-new-target/README.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# @babel/plugin-transform-new-target
-
-This plugins allows babel to transform `new.target` meta property into a
-(correct in most cases) `this.constructor` expression.
-
-## Example
-
-```js
-function Foo() {
- console.log(new.target);
-}
-
-Foo(); // => undefined
-new Foo(); // => Foo
-```
-
-```js
-class Foo {
- constructor() {
- console.log(new.target);
- }
-}
-
-class Bar extends Foo {
-}
-
-new Foo(); // => Foo
-new Bar(); // => Bar
-```
-
-### Caveats
-
-This plugin relies on `this.constructor`, which means `super` must
-already have been called when using untransformed classes.
-
-```js
-class Foo {}
-
-class Bar extends Foo {
- constructor() {
- // This will be a problem if classes aren't transformed to ES5
- new.target;
- super();
- }
-}
-```
-
-Additionally, this plugin cannot transform all `Reflect.construct` cases
-when using `newTarget` with ES5 function classes (transformed ES6 classes).
-
-```js
-function Foo() {
- console.log(new.target);
-}
-
-// Bar extends Foo in ES5
-function Bar() {
- Foo.call(this);
-}
-Bar.prototype = Object.create(Foo.prototype);
-Bar.prototype.constructor = Bar;
-
-// Baz does not extend Foo
-function Baz() {}
-
-Reflect.construct(Foo, []); // => Foo (correct)
-Reflect.construct(Foo, [], Bar); // => Bar (correct)
-
-Reflect.construct(Bar, []); // => Bar (incorrect, though this is how ES5
- // inheritience is commonly implemented.)
-Reflect.construct(Foo, [], Baz); // => undefined (incorrect)
-```
-
-## Installation
-
-```sh
-npm install --save-dev @babel/plugin-transform-new-target
-```
-
-## Usage
-
-### Via `.babelrc` (Recommended)
-
-**.babelrc**
-
-```json
-{
- "plugins": ["@babel/plugin-transform-new-target"]
-}
-```
-
-### Via CLI
-
-```sh
-babel --plugins @babel/plugin-transform-new-target script.js
-```
-
-### Via Node API
-
-```javascript
-require("@babel/core").transform("code", {
- plugins: ["@babel/plugin-transform-new-target"]
-});
-```