babel/packages/babel-plugin-transform-object-rest-spread
Henry Zhu e86f62b304 README: add --save-dev [skip ci]
Closes gh-4910
2016-11-29 08:40:27 -05:00
..
2016-11-16 11:15:30 -05:00
2016-11-29 08:40:27 -05:00

babel-plugin-transform-object-rest-spread

Compile object rest and spread to ES5

// source
z = { x, ...y };

// compiled
_extends = Object.assign || function(target) { ... }
z = _extends({ x }, y);

Installation

npm install --save-dev babel-plugin-transform-object-rest-spread

Usage

.babelrc

{
  "plugins": ["transform-object-rest-spread"]
}

Options

This plugin will use babel's extends helper, which will polyfill Object.assign by default.

  • useBuiltIns - Do not use Babel's helper's and just transform to use the built-in method (Disabled by default).
{
  "plugins": [
    ["transform-object-rest-spread", { "useBuiltIns": true }]
  ]
}

// source
z = { x, ...y };
// compiled
z = Object.assign({ x }, y);

Via CLI

babel --plugins transform-object-rest-spread script.js

Via Node API

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