Registry / devops / babel-plugin-transform-object-rest-spread

babel-plugin-transform-object-rest-spread

JSON →
library6.26.0jsnpmunverified

Compile object rest and spread properties to ES5. This plugin transforms rest properties in destructuring patterns and spread properties in object literals, enabling use of these ES2018 features in older environments. Version 6.26.0 is the last v6 release, now deprecated in favor of @babel/plugin-proposal-object-rest-spread (Babel 7). The plugin uses Babel's extends helper by default, but can be configured to use Object.assign via the useBuiltIns option. It supports both CommonJS and AMD module formats.

npm install babel-plugin-transform-object-rest-spread
INSTALL
IMPORT
SIG · BABEL-PLUGIN-TRANS
B
babel-plugin-transform-object-rest-spread
devopsjavascriptv6.26.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

plugin (string)
plugins: ["transform-object-rest-spread"]
plugins: ["babel-plugin-transform-object-rest-spread"]
Babel automatically resolves the 'babel-plugin-' prefix.
with options
plugins: [["transform-object-rest-spread", { "useBuiltIns": true }]]
plugins: ["transform-object-rest-spread", { "useBuiltIns": true }]
Options must be in a tuple [plugin, options].

Setup Babel plugin and demonstrate object rest & spread transformation.

// Install: npm install --save-dev babel-plugin-transform-object-rest-spread // .babelrc: { "plugins": ["transform-object-rest-spread"] } // Input: let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; let n = { x, y, ...z }; console.log(x, y, z); // Output (with default helper): var _extends = require("babel-helper-define-polyfill-provider").default; // simplified var _obj = { x: 1, y: 2, a: 3, b: 4 }; var x = _obj.x; var y = _obj.y; var z = _objectWithoutProperties(_obj, ["x", "y"]); var n = _extends({ x: x, y: y }, z);
Debug
Known issues
deprecatedbabel-plugin-transform-object-rest-spread is deprecated since Babylon 7.0.0 (now @babel/parser). Use @babel/plugin-proposal-object-rest-spread or @babel/plugin-transform-object-rest-spread in Babel 7.
fix
Upgrade to @babel/plugin-proposal-object-rest-spread for Babel 7.
affects: >=6.0.0
breakingIn Babel 6, useBuiltIns: true generates Object.assign directly, but older browsers may lack it. Requires a polyfill like core-js.
fix
Include a polyfill for Object.assign when setting useBuiltIns: true.
affects: >=6.0.0
gotchaThe plugin does not support rest/spread in function parameters or JSX attributes; those require additional plugins.
fix
Use babel-plugin-transform-object-rest-spread only for object literals and destructuring; for function params use babel-plugin-transform-es2015-parameters.
affects: >=6.0.0
Errors
Common errors & fixes
Error: Cannot find module 'babel-plugin-transform-object-rest-spread'
Plugin not installed or Babel cannot resolve it.
fix
npm install --save-dev babel-plugin-transform-object-rest-spread
Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.0"
The package was installed from Babel 7 (scoped) but used with Babel 6.
fix
Use the unscoped version: babel-plugin-transform-object-rest-spread@6.26.0 (npm install --save-dev babel-plugin-transform-object-rest-spread@6)
Upgrade
Version history
6.26.0latest on npm
Audit
Dependencies
babel-corerequiredPeer dependency for Babel 6 plugin system
Agent activity
9 hits · last 30 days
node
8
Resources
babel-plugin-transform-object-rest-spread — npm install babel-plugin-transform-object-rest-spread · libregistry