From cd10ea03b434d54e9190bfda794d138b5778fc9d Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Tue, 19 Dec 2017 10:50:01 -0600 Subject: [PATCH] Fix bug with debug output and unreleased versions --- packages/babel-preset-env/src/debug.js | 20 +++++++++++++++++--- packages/babel-preset-env/src/utils.js | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/babel-preset-env/src/debug.js b/packages/babel-preset-env/src/debug.js index a1f8062b7c..4bd2855c74 100644 --- a/packages/babel-preset-env/src/debug.js +++ b/packages/babel-preset-env/src/debug.js @@ -1,6 +1,6 @@ /*eslint quotes: ["error", "double", { "avoidEscape": true }]*/ import semver from "semver"; -import { prettifyVersion, semverify } from "./utils"; +import { isUnreleasedVersion, prettifyVersion, semverify } from "./utils"; const wordEnds = size => { return size > 1 ? "s" : ""; @@ -15,9 +15,23 @@ export const logMessage = (message, context) => { export const logPlugin = (plugin, targets, list, context) => { const envList = list[plugin] || {}; const filteredList = Object.keys(targets).reduce((a, b) => { - if (!envList[b] || semver.lt(targets[b], semverify(envList[b]))) { - a[b] = prettifyVersion(targets[b]); + const version = envList[b]; + const target = targets[b]; + + if (!version) { + a[b] = prettifyVersion(target); + } else { + const versionIsUnreleased = isUnreleasedVersion(version, b); + const targetIsUnreleased = isUnreleasedVersion(target, b); + + if ( + (versionIsUnreleased && !targetIsUnreleased) || + (!targetIsUnreleased && semver.lt(target, semverify(version))) + ) { + a[b] = prettifyVersion(target); + } } + return a; }, {}); diff --git a/packages/babel-preset-env/src/utils.js b/packages/babel-preset-env/src/utils.js index a974e7116f..68205f05e7 100644 --- a/packages/babel-preset-env/src/utils.js +++ b/packages/babel-preset-env/src/utils.js @@ -58,7 +58,7 @@ export const prettifyTargets = (targets: Targets): Object => { export const isUnreleasedVersion = (version: string, env: string): boolean => { const unreleasedLabel = unreleasedLabels[env]; return ( - unreleasedLabel && unreleasedLabel === version.toString().toLowerCase() + !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase() ); };