babel/packages/babel-plugin-transform-es2015-spread
Anton Rusinov fcdfc61bdb Move plugin processing to top of plugins (#6381)
* centralize plugin options

* Centralize plugins options

- move more options to the top
- move validations that depend on options to the top

* use isLoose option

* Move more validations to the top

* Move ref parameter for rewriteModuleStatementsAndPrepareHeader() to the top

* fix eslint errors

* remove unused parameter

* set default systemGlobal value

* Revert "Move ref parameter for rewriteModuleStatementsAndPrepareHeader() to the top"

This reverts commit b3855302d17fa19d8acb4c8accab3680c8d2710e.

* Revert "Move more validations to the top"

This reverts commit e5861d8a034ff8f553391f55654f753bcf428a5d.

* fix allowMutablePropsOnTags option usage

* improve naming

* change Contructor definition for sake of consistency

* move allowMutablePropsOnTags validation to the top

* add missing !
2017-10-10 00:51:34 -04:00
..
2017-03-25 21:46:16 -04:00
2017-09-26 11:14:41 -04:00
2017-04-03 21:13:00 -07:00

babel-plugin-transform-es2015-spread

Compile ES2015 spread to ES5

Example

In

var a = ['a', 'b', 'c'];
var b = [...a, 'foo'];

Out

var a = [ 'a', 'b', 'c' ];
var b = [].concat(a, [ 'foo' ]);

Installation

npm install --save-dev babel-plugin-transform-es2015-spread

Usage

.babelrc

Without options:

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

With options:

{
  "plugins": [
    ["transform-es2015-spread", {
      "loose": true
    }]
  ]
}

Via CLI

babel --plugins transform-es2015-spread script.js

Via Node API

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

Options

loose

boolean, defaults to false.

In loose mode, all iterables are assumed to be arrays.