From a8906e6df362ddd9bd6193f4002413562d88500e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Sun, 21 Feb 2021 22:33:44 +0100 Subject: [PATCH] Don't compile array spread in loose mode --- babel.config.js | 10 ++++++++++ package.json | 1 + yarn.lock | 29 +++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/babel.config.js b/babel.config.js index ff08dbe3543f..3e171c42940c 100644 --- a/babel.config.js +++ b/babel.config.js @@ -16,6 +16,14 @@ module.exports = function (api) { loose: true, shippedProposals: true, modules: false, + exclude: [ + // We need to enable useBuiltIns + "proposal-object-rest-spread", + // We want to enable it without `loose: true`, since it breaks + // https://github.com/npm/node-semver/blob/093b40f8a7cb67946527b739fe8f8974c888e2a0/classes/range.js#L136 + // in our dependencies + "transform-spread", + ], }; const envOpts = Object.assign({}, envOptsNoTargets); @@ -123,6 +131,8 @@ module.exports = function (api) { { useBuiltIns: true, loose: true }, ], + env === "standalone" && ["@babel/transform-spread", { loose: false }], + convertESM ? "@babel/proposal-export-namespace-from" : null, convertESM ? "@babel/transform-modules-commonjs" : null, diff --git a/package.json b/package.json index 5fcb9732317e..b23ce62d24a1 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@babel/plugin-transform-for-of": "^7.10.4", "@babel/plugin-transform-modules-commonjs": "^7.10.4", "@babel/plugin-transform-runtime": "^7.12.0", + "@babel/plugin-transform-spread": "^7.12.13", "@babel/preset-env": "^7.12.0", "@babel/preset-flow": "^7.10.4", "@babel/preset-typescript": "^7.12.1", diff --git a/yarn.lock b/yarn.lock index 25b5b5efc79f..8ace086f38cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -645,6 +645,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-plugin-utils@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/helper-plugin-utils@npm:7.12.13" + checksum: 9cdfd7790c30ed1d538804544a2f82848533e1532670c8615befa20827332d82810b582035c3e67bba86adccaa7290b981fa31cc5e2881bb346b8ee5d69b1ed6 + languageName: node + linkType: hard + "@babel/helper-plugin-utils@workspace:^7.10.1, @babel/helper-plugin-utils@workspace:^7.10.4, @babel/helper-plugin-utils@workspace:^7.12.13, @babel/helper-plugin-utils@workspace:packages/babel-helper-plugin-utils": version: 0.0.0-use.local resolution: "@babel/helper-plugin-utils@workspace:packages/babel-helper-plugin-utils" @@ -733,6 +740,15 @@ __metadata: languageName: node linkType: hard +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.12.1": + version: 7.12.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.12.1" + dependencies: + "@babel/types": ^7.12.1 + checksum: 2e690ed5659534f46387bde713d7c511865a309c5cd6f1d64ff94abdb64fe2e4d5e6cb6ed6c9856cbb16e9de60ecac86534b9d1eb93e877830442610889f6144 + languageName: node + linkType: hard + "@babel/helper-skip-transparent-expression-wrappers@workspace:^7.12.1, @babel/helper-skip-transparent-expression-wrappers@workspace:packages/babel-helper-skip-transparent-expression-wrappers": version: 0.0.0-use.local resolution: "@babel/helper-skip-transparent-expression-wrappers@workspace:packages/babel-helper-skip-transparent-expression-wrappers" @@ -2722,6 +2738,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-spread@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-transform-spread@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-skip-transparent-expression-wrappers": ^7.12.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 56226dd121ecd3ef0e9571f19fc68e4b6e84c8d51023223e42eeb3ec1d44e851fb0f9a2f753a3712e290f85c1ab20ebb95e4c3cef55570b511e1881d7ae849be + languageName: node + linkType: hard + "@babel/plugin-transform-spread@workspace:*, @babel/plugin-transform-spread@workspace:^7.12.13, @babel/plugin-transform-spread@workspace:packages/babel-plugin-transform-spread": version: 0.0.0-use.local resolution: "@babel/plugin-transform-spread@workspace:packages/babel-plugin-transform-spread" @@ -4868,6 +4896,7 @@ __metadata: "@babel/plugin-transform-for-of": ^7.10.4 "@babel/plugin-transform-modules-commonjs": ^7.10.4 "@babel/plugin-transform-runtime": ^7.12.0 + "@babel/plugin-transform-spread": ^7.12.13 "@babel/preset-env": ^7.12.0 "@babel/preset-flow": ^7.10.4 "@babel/preset-typescript": ^7.12.1