From 606c91cd3317c2220fd85ba74100a9c2304f6b97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Fri, 8 Jan 2021 17:58:44 +0100 Subject: [PATCH] [babel 8] Remove `uglify` target support in preset-env (#12594) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Huáng Jùnliàng --- packages/babel-preset-env/src/index.js | 29 ++++++++++++------- .../debug/entry-no-corejs-uglify/options.json | 1 + 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/packages/babel-preset-env/src/index.js b/packages/babel-preset-env/src/index.js index e3cfb7a623..47af27c127 100644 --- a/packages/babel-preset-env/src/index.js +++ b/packages/babel-preset-env/src/index.js @@ -242,17 +242,20 @@ export default declare((api, opts) => { corejs: { version: corejs, proposals }, browserslistEnv, } = normalizeOptions(opts); - // TODO: remove this in next major - let hasUglifyTarget = false; - if (optionsTargets?.uglify) { - hasUglifyTarget = true; - delete optionsTargets.uglify; + if (!process.env.BABEL_8_BREAKING) { + // eslint-disable-next-line no-var + var hasUglifyTarget = false; - console.log(""); - console.log("The uglify target has been deprecated. Set the top level"); - console.log("option `forceAllTransforms: true` instead."); - console.log(""); + if (optionsTargets?.uglify) { + hasUglifyTarget = true; + delete optionsTargets.uglify; + + console.log(""); + console.log("The uglify target has been deprecated. Set the top level"); + console.log("option `forceAllTransforms: true` instead."); + console.log(""); + } } if (optionsTargets?.esmodules && optionsTargets.browsers) { @@ -275,7 +278,13 @@ export default declare((api, opts) => { const include = transformIncludesAndExcludes(optionsInclude); const exclude = transformIncludesAndExcludes(optionsExclude); - const transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets; + const transformTargets = ( + process.env.BABEL_8_BREAKING + ? forceAllTransforms + : forceAllTransforms || hasUglifyTarget + ) + ? {} + : targets; const compatData = getPluginList(shippedProposals, bugfixes); const shouldSkipExportNamespaceFrom = diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/options.json b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/options.json index 5e37354bd8..c592957c8a 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/options.json +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/options.json @@ -1,4 +1,5 @@ { + "BABEL_8_BREAKING": false, "validateLogs": true, "ignoreOutput": true, "presets": [