diff --git a/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js b/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js index e4d15948ff..ea1e064921 100644 --- a/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js +++ b/packages/babel-preset-env/src/polyfills/corejs3/usage-plugin.js @@ -189,10 +189,12 @@ export default function( } for (const property of path.get("properties")) { - const key = resolveKey(property.get("key")); - // const { keys, values } = Object - // const { keys, values } = [1, 2, 3] - this.addPropertyDependencies(source, key); + if (property.isObjectProperty()) { + const key = resolveKey(property.get("key")); + // const { keys, values } = Object + // const { keys, values } = [1, 2, 3] + this.addPropertyDependencies(source, key); + } } }, diff --git a/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/input.mjs b/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/input.mjs new file mode 100644 index 0000000000..f7bfa87674 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/input.mjs @@ -0,0 +1 @@ +function test({ ...others }) {} diff --git a/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/options.json b/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/options.json new file mode 100644 index 0000000000..3e006cec63 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/options.json @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "../../../../lib", + { + "useBuiltIns": "usage", + "corejs": 3, + "targets": { "node": "8.10.0" } + } + ] + ] +} diff --git a/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/output.js b/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/output.js new file mode 100644 index 0000000000..dccc8f3dbd --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/corejs3/usage-object-destructuring-with-rest/output.js @@ -0,0 +1,4 @@ +"use strict"; + +function test({ ...others +}) {}