From e96adebd83d455910b226664b602611ebbae49f1 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Tue, 20 Dec 2016 15:13:22 -0600 Subject: [PATCH] Show error if target version is not a number --- src/index.js | 7 ++++--- test/index.js | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 422de41f..a74e1fcd 100644 --- a/src/index.js +++ b/src/index.js @@ -43,11 +43,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/test/index.js b/test/index.js index 17e45c31..25e9beef 100644 --- a/test/index.js +++ b/test/index.js @@ -159,6 +159,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", () => {