Version can be float and correctly lookup envMap

This commit is contained in:
Daniel Tschinder 2017-03-03 17:24:01 +01:00
parent b5af93f348
commit 6edae49d4d
3 changed files with 23 additions and 24 deletions

View File

@ -438,7 +438,7 @@
"firefox": 25,
"safari": 8,
"node": 4,
"ios": 9,
"ios": 8,
"opera": 32
},
"es6.array.find-index": {
@ -447,7 +447,7 @@
"firefox": 25,
"safari": 8,
"node": 4,
"ios": 9,
"ios": 8,
"opera": 32
},
"es6.array.fill": {
@ -456,7 +456,7 @@
"firefox": 31,
"safari": 8,
"node": 4,
"ios": 9,
"ios": 8,
"opera": 32
},
"es6.array.iterator": {
@ -466,7 +466,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.number.is-finite": {
@ -544,7 +544,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.asinh": {
@ -554,7 +554,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.atanh": {
@ -564,7 +564,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.cbrt": {
@ -574,7 +574,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.clz32": {
@ -594,7 +594,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.expm1": {
@ -604,7 +604,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.fround": {
@ -614,7 +614,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.hypot": {
@ -624,7 +624,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.imul": {
@ -644,7 +644,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.log10": {
@ -654,7 +654,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.log2": {
@ -664,7 +664,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.sign": {
@ -684,7 +684,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.tanh": {
@ -694,7 +694,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es6.math.trunc": {
@ -704,7 +704,7 @@
"safari": 8,
"node": 0.12,
"android": 5.1,
"ios": 9,
"ios": 8,
"opera": 25
},
"es7.array.includes": {

View File

@ -40,7 +40,7 @@
"firefox": 34,
"safari": 8,
"node": 4,
"ios": 9,
"ios": 8,
"opera": 31
},
"check-es2015-constants": {

View File

@ -58,11 +58,12 @@ const invertedEqualsEnv = Object.keys(envs)
environments.some((env) => {
// go through all environment names to find the the current one
// and try to get the version as integer
const version = parseInt(checkEnv.replace(env, ""), 10);
const version = parseFloat(checkEnv.replace(env, ""));
if (!isNaN(version)) {
Object.keys(envs).forEach((equals) => {
equals = envMap[equals] || equals;
// Go through all envs from compat-table and get int version
const equalsVersion = parseInt(equals.replace(env, ""), 10);
const equalsVersion = parseFloat(equals.replace(env, ""));
// If the current version is smaller than the version that was mentioned
// in `equals` we can add an entry, as older versions should include features
// that newer ones have
@ -78,8 +79,6 @@ const invertedEqualsEnv = Object.keys(envs)
return a;
}, {});
invertedEqualsEnv.safari8 = ["ios9"];
const compatibilityTests = flattenDeep([
es6Data,
es6PlusData,
@ -141,7 +140,7 @@ const getLowestImplementedVersion = ({ features }, env) => {
.filter((test) => tests[i].res[test] === true || tests[i].res[test] === "strict")
// normalize some keys
.map((test) => envMap[test] || test)
.filter((test) => !isNaN(parseInt(test.replace(env, ""))))
.filter((test) => !isNaN(parseFloat(test.replace(env, ""))))
.shift();
});