From 24dde2e8e81c7658bf97316add81fea4ba917732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sat, 6 Jul 2019 09:48:36 +0200 Subject: [PATCH] Fix objectSpread2 backward compatibility (#10170) --- packages/babel-helpers/src/helpers.js | 2 +- .../babel-plugin-proposal-object-rest-spread/src/index.js | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/babel-helpers/src/helpers.js b/packages/babel-helpers/src/helpers.js index 45dc711c7c..d9d902310f 100644 --- a/packages/babel-helpers/src/helpers.js +++ b/packages/babel-helpers/src/helpers.js @@ -406,7 +406,7 @@ helpers.objectSpread = helper("7.0.0-beta.0")` } `; -helpers.objectSpread2 = helper("7.0.0-beta.0")` +helpers.objectSpread2 = helper("7.5.0")` import defineProperty from "defineProperty"; export default function _objectSpread2(target) { diff --git a/packages/babel-plugin-proposal-object-rest-spread/src/index.js b/packages/babel-plugin-proposal-object-rest-spread/src/index.js index 26b5a3cd5d..4f3b7392ab 100644 --- a/packages/babel-plugin-proposal-object-rest-spread/src/index.js +++ b/packages/babel-plugin-proposal-object-rest-spread/src/index.js @@ -452,7 +452,13 @@ export default declare((api, opts) => { if (loose) { helper = getExtendsHelper(file); } else { - helper = file.addHelper("objectSpread2"); + try { + helper = file.addHelper("objectSpread2"); + } catch { + // objectSpread2 has been introduced in v7.5.0 + // We have to maintain backward compatibility. + helper = file.addHelper("objectSpread"); + } } path.replaceWith(t.callExpression(helper, args));