Compile object rest and spread to ES5
// source
z = { x, ...y };
// compiled
_extends = Object.assign || function(target) { ... }
z = _extends({ x }, y);
$ npm install babel-plugin-transform-object-rest-spread
.babelrc
{
"plugins": ["transform-object-rest-spread"]
}
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);
$ babel --plugins transform-object-rest-spread script.js
require("babel-core").transform("code", {
plugins: ["transform-object-rest-spread"]
});