babel/packages/babel-plugin-transform-es2015-parameters
Justin Ridgewell 9a6890c92f Default parameters cleanup (#3574)
* Remove buildDefaultParamAssign

This seems to have been
[added](https://github.com/babel/babel/commit/4b85b05839017ab2abc03ba2d1
e875a63f002890) in v5.5.4 to address
[#1690](https://phabricator.babeljs.io/T1690). It [became
“dead”](https://github.com/babel/babel/blob/v6.0.0/packages/babel-core/t
est/fixtures/transformation/es6.parameters/default-before-last/expected.
js) (as far as I can tell) in the [v6.0.0
commit](https://github.com/babel/babel/commit/ae7d5367f1c3d438667242d692
5db024f875fccd).

Either way, this code is never executed.

- `pushDefNode` is only called when the param is a default param.
- `buildDefaultParamAssign` (which is inside `pushDefNode`) only runs
of the param index is less than or equals to the lastNonDefaultParam.
AKA, is this param before any non-defaulting params.

Which is a contradiction.

* Small optimization

No need to check if we need an iife if we already know we need one.
2016-07-18 11:03:59 -04:00
..
2016-07-18 11:03:59 -04:00
2016-07-12 22:33:58 -04:00
2015-09-15 06:12:46 +01:00

babel-plugin-transform-es2015-parameters

Compile ES2015 default and rest parameters to ES5

Installation

$ npm install babel-plugin-transform-es2015-parameters

Usage

.babelrc

{
  "plugins": ["transform-es2015-parameters"]
}

Via CLI

$ babel --plugins transform-es2015-parameters script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-es2015-parameters"]
});