diff --git a/packages/babel-plugin-transform-es2015-block-scoped-functions/README.md b/packages/babel-plugin-transform-es2015-block-scoped-functions/README.md index 4119eb9758..b804ed583e 100644 --- a/packages/babel-plugin-transform-es2015-block-scoped-functions/README.md +++ b/packages/babel-plugin-transform-es2015-block-scoped-functions/README.md @@ -2,6 +2,32 @@ > Babel plugin to ensure function declarations at the block level are block scoped. +## Examples + +**In** + +```javascript +{ + function name (n) { + return n; + } +} + +name("Steve"); +``` + +**Out** + +```javascript +{ + var _name = function _name(n) { + return n; + }; +} + +name("Steve"); +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-block-scoping/README.md b/packages/babel-plugin-transform-es2015-block-scoping/README.md index 2890f38d09..182e7c5b76 100644 --- a/packages/babel-plugin-transform-es2015-block-scoping/README.md +++ b/packages/babel-plugin-transform-es2015-block-scoping/README.md @@ -2,6 +2,28 @@ > Compile ES2015 block scoping (const and let) to ES5 +## Examples + +**In** + +```javascript +{ + let a = 3 +} + +let a = 3 +``` + +**Out** + +```javascript +{ + var _a = 3; +} + +var a = 3; +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-classes/README.md b/packages/babel-plugin-transform-es2015-classes/README.md index c189adf3f5..400e57f72e 100644 --- a/packages/babel-plugin-transform-es2015-classes/README.md +++ b/packages/babel-plugin-transform-es2015-classes/README.md @@ -8,6 +8,42 @@ Built-in classes such as `Date`, `Array`, `DOM` etc cannot be properly subclasse due to limitations in ES5 (for the [es2015-classes](http://babeljs.io/docs/plugins/transform-es2015-classes) plugin). You can try to use [babel-plugin-transform-builtin-extend](https://github.com/loganfsmyth/babel-plugin-transform-builtin-extend) based on `Object.setPrototypeOf` and `Reflect.construct`, but it also has some limitations. +## Examples + +**In** + +```javascript +class Test { + constructor(name) { + this.name = name; + } + + logger () { + console.log("Hello", this.name); + } +} +``` + +**Out** + +```javascript +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Test = function () { + function Test(name) { + _classCallCheck(this, Test); + + this.name = name; + } + + Test.prototype.logger = function logger() { + console.log("Hello", this.name); + }; + + return Test; +}(); +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-destructuring/README.md b/packages/babel-plugin-transform-es2015-destructuring/README.md index b20732c4b0..ed6d5b05da 100644 --- a/packages/babel-plugin-transform-es2015-destructuring/README.md +++ b/packages/babel-plugin-transform-es2015-destructuring/README.md @@ -2,6 +2,24 @@ > Compile ES2015 destructuring to ES5 +## Examples + +**In** + +```javascript +let arr = [1,2,3]; +let {x, y, z} = arr; +``` + +**Out** + +```javascript +var arr = [1, 2, 3]; +var x = arr.x, + y = arr.y, + z = arr.z; +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-function-name/README.md b/packages/babel-plugin-transform-es2015-function-name/README.md index 815acc5be3..81ae1b716f 100644 --- a/packages/babel-plugin-transform-es2015-function-name/README.md +++ b/packages/babel-plugin-transform-es2015-function-name/README.md @@ -2,6 +2,22 @@ > Apply ES2015 function.name semantics to all functions +## Examples + +**In** + +```javascript +let number = (x) => x +``` + +**Out** + +```javascript +var number = function number(x) { + return x; +}; +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-object-super/README.md b/packages/babel-plugin-transform-es2015-object-super/README.md index be0d505fce..a31673bf7a 100644 --- a/packages/babel-plugin-transform-es2015-object-super/README.md +++ b/packages/babel-plugin-transform-es2015-object-super/README.md @@ -2,6 +2,44 @@ > Compile ES2015 object super to ES5 +## Examples + +**In** + +```javascript +let obj = { + say () { + return "Hello" + } +} + +let obj2 = { + say () { + return super.say() + "World!" + } +} +``` + +**Out** + +```javascript +var _obj; + +var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; + +var obj = { + say: function say() { + return "Hello"; + } +}; + +var obj2 = _obj = { + say: function say() { + return _get(_obj.__proto__ || Object.getPrototypeOf(_obj), "say", this).call(this) + "World!"; + } +}; +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-parameters/README.md b/packages/babel-plugin-transform-es2015-parameters/README.md index 5c52e0c0c8..1587fe5c5b 100644 --- a/packages/babel-plugin-transform-es2015-parameters/README.md +++ b/packages/babel-plugin-transform-es2015-parameters/README.md @@ -8,6 +8,33 @@ This plugin transforms ES2015 parameters to ES5, this includes: - Default parameters - Rest parameters +## Examples + +**In** + +```javascript +function test(x = "hello", { a, b }, ...args) { + console.log(x, a, b, args); +} +``` + +**Out** + +```javascript +function test() { + var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "hello"; + var _ref = arguments[1]; + var a = _ref.a, + b = _ref.b; + + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + console.log(x, a, b, args); +} +``` + ## Installation ```sh diff --git a/packages/babel-plugin-transform-es2015-sticky-regex/README.md b/packages/babel-plugin-transform-es2015-sticky-regex/README.md index aefaaf9749..a62594a3dd 100644 --- a/packages/babel-plugin-transform-es2015-sticky-regex/README.md +++ b/packages/babel-plugin-transform-es2015-sticky-regex/README.md @@ -2,6 +2,20 @@ > Compile ES2015 sticky regex to an ES5 RegExp constructor +## Examples + +**In** + +```javascript +const a = /o+/y; +``` + +**Out** + +```javascript +var a = new RegExp("o+", "y"); +``` + ## Installation ```sh