From 76e12a3caefdee80144564d02a03f3ce9774a509 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Mon, 2 Jan 2017 22:55:32 -0600 Subject: [PATCH] Show error if target version is not a number (#107) --- experimental/babel-preset-env/src/index.js | 7 ++++--- experimental/babel-preset-env/test/index.js | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/experimental/babel-preset-env/src/index.js b/experimental/babel-preset-env/src/index.js index 911909dea7..791848c2a7 100644 --- a/experimental/babel-preset-env/src/index.js +++ b/experimental/babel-preset-env/src/index.js @@ -50,11 +50,12 @@ export const isPluginRequired = (supportedEnvironments, plugin) => { const lowestImplementedVersion = plugin[environment]; const lowestTargetedVersion = supportedEnvironments[environment]; - if (lowestTargetedVersion < lowestImplementedVersion) { - return true; + if (typeof lowestTargetedVersion === "string") { + throw new Error(`Target version must be a number, + '${lowestTargetedVersion}' was given for '${environment}'`); } - return false; + return lowestTargetedVersion < lowestImplementedVersion; }); return isRequiredForEnvironments.length > 0 ? true : false; diff --git a/experimental/babel-preset-env/test/index.js b/experimental/babel-preset-env/test/index.js index e72908f428..b43db5c5c7 100644 --- a/experimental/babel-preset-env/test/index.js +++ b/experimental/babel-preset-env/test/index.js @@ -158,6 +158,20 @@ describe("babel-preset-env", () => { babelPresetEnv.isPluginRequired(targets, plugin); }, Error); }); + + it("will throw if target version is not a number", () => { + const plugin = { + "node": 6, + }; + + const targets = { + "node": "6.5", + }; + + assert.throws(() => { + babelPresetEnv.isPluginRequired(targets, plugin); + }, Error); + }); }); describe("validateLooseOption", () => {