Explicitly resolve lowest browser version (#121)
stop relying on browserlist returning a list sorted by browser version fix #119
This commit is contained in:
parent
dc46adf519
commit
1815ffab14
@ -77,8 +77,10 @@ const browserNameMap = {
|
||||
const getLowestVersions = (browsers) => {
|
||||
return browsers.reduce((all, browser) => {
|
||||
const [browserName, browserVersion] = browser.split(" ");
|
||||
if (browserName in browserNameMap) {
|
||||
all[browserNameMap[browserName]] = parseInt(browserVersion);
|
||||
const normalizedBrowserName = browserNameMap[browserName];
|
||||
const parsedBrowserVersion = parseInt(browserVersion);
|
||||
if (normalizedBrowserName && !isNaN(parsedBrowserVersion)) {
|
||||
all[normalizedBrowserName] = Math.min(all[normalizedBrowserName] || Infinity, parsedBrowserVersion);
|
||||
}
|
||||
return all;
|
||||
}, {});
|
||||
|
||||
1
experimental/babel-preset-env/test/fixtures/preset-options/ios-10/actual.js
vendored
Normal file
1
experimental/babel-preset-env/test/fixtures/preset-options/ios-10/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
const a = () => 1;
|
||||
1
experimental/babel-preset-env/test/fixtures/preset-options/ios-10/expected.js
vendored
Normal file
1
experimental/babel-preset-env/test/fixtures/preset-options/ios-10/expected.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
const a = () => 1;
|
||||
10
experimental/babel-preset-env/test/fixtures/preset-options/ios-10/options.json
vendored
Normal file
10
experimental/babel-preset-env/test/fixtures/preset-options/ios-10/options.json
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"presets": [
|
||||
["../../../../lib", {
|
||||
"targets": {
|
||||
"browsers": ["ios >= 10"]
|
||||
},
|
||||
"modules": false
|
||||
}]
|
||||
]
|
||||
}
|
||||
1
experimental/babel-preset-env/test/fixtures/preset-options/ios-6/actual.js
vendored
Normal file
1
experimental/babel-preset-env/test/fixtures/preset-options/ios-6/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import "core-js";
|
||||
77
experimental/babel-preset-env/test/fixtures/preset-options/ios-6/expected.js
vendored
Normal file
77
experimental/babel-preset-env/test/fixtures/preset-options/ios-6/expected.js
vendored
Normal file
@ -0,0 +1,77 @@
|
||||
import "core-js/modules/es6.typed.uint8-clamped-array";
|
||||
import "core-js/modules/es6.map";
|
||||
import "core-js/modules/es6.set";
|
||||
import "core-js/modules/es6.weak-map";
|
||||
import "core-js/modules/es6.weak-set";
|
||||
import "core-js/modules/es6.reflect.apply";
|
||||
import "core-js/modules/es6.reflect.construct";
|
||||
import "core-js/modules/es6.reflect.define-property";
|
||||
import "core-js/modules/es6.reflect.delete-property";
|
||||
import "core-js/modules/es6.reflect.get";
|
||||
import "core-js/modules/es6.reflect.get-own-property-descriptor";
|
||||
import "core-js/modules/es6.reflect.get-prototype-of";
|
||||
import "core-js/modules/es6.reflect.has";
|
||||
import "core-js/modules/es6.reflect.is-extensible";
|
||||
import "core-js/modules/es6.reflect.own-keys";
|
||||
import "core-js/modules/es6.reflect.prevent-extensions";
|
||||
import "core-js/modules/es6.reflect.set";
|
||||
import "core-js/modules/es6.reflect.set-prototype-of";
|
||||
import "core-js/modules/es6.promise";
|
||||
import "core-js/modules/es6.symbol";
|
||||
import "core-js/modules/es6.object.assign";
|
||||
import "core-js/modules/es6.object.is";
|
||||
import "core-js/modules/es6.object.set-prototype-of";
|
||||
import "core-js/modules/es6.function.name";
|
||||
import "core-js/modules/es6.string.raw";
|
||||
import "core-js/modules/es6.string.from-code-point";
|
||||
import "core-js/modules/es6.string.code-point-at";
|
||||
import "core-js/modules/es6.string.repeat";
|
||||
import "core-js/modules/es6.string.starts-with";
|
||||
import "core-js/modules/es6.string.ends-with";
|
||||
import "core-js/modules/es6.string.includes";
|
||||
import "core-js/modules/es6.regexp.flags";
|
||||
import "core-js/modules/es6.regexp.match";
|
||||
import "core-js/modules/es6.regexp.replace";
|
||||
import "core-js/modules/es6.regexp.split";
|
||||
import "core-js/modules/es6.regexp.search";
|
||||
import "core-js/modules/es6.array.from";
|
||||
import "core-js/modules/es6.array.of";
|
||||
import "core-js/modules/es6.array.copy-within";
|
||||
import "core-js/modules/es6.array.find";
|
||||
import "core-js/modules/es6.array.find-index";
|
||||
import "core-js/modules/es6.array.fill";
|
||||
import "core-js/modules/es6.array.iterator";
|
||||
import "core-js/modules/es6.number.is-finite";
|
||||
import "core-js/modules/es6.number.is-integer";
|
||||
import "core-js/modules/es6.number.is-safe-integer";
|
||||
import "core-js/modules/es6.number.is-nan";
|
||||
import "core-js/modules/es6.number.epsilon";
|
||||
import "core-js/modules/es6.number.min-safe-integer";
|
||||
import "core-js/modules/es6.number.max-safe-integer";
|
||||
import "core-js/modules/es6.math.acosh";
|
||||
import "core-js/modules/es6.math.asinh";
|
||||
import "core-js/modules/es6.math.atanh";
|
||||
import "core-js/modules/es6.math.cbrt";
|
||||
import "core-js/modules/es6.math.clz32";
|
||||
import "core-js/modules/es6.math.cosh";
|
||||
import "core-js/modules/es6.math.expm1";
|
||||
import "core-js/modules/es6.math.fround";
|
||||
import "core-js/modules/es6.math.hypot";
|
||||
import "core-js/modules/es6.math.imul";
|
||||
import "core-js/modules/es6.math.log1p";
|
||||
import "core-js/modules/es6.math.log10";
|
||||
import "core-js/modules/es6.math.log2";
|
||||
import "core-js/modules/es6.math.sign";
|
||||
import "core-js/modules/es6.math.sinh";
|
||||
import "core-js/modules/es6.math.tanh";
|
||||
import "core-js/modules/es6.math.trunc";
|
||||
import "core-js/modules/es7.array.includes.js";
|
||||
import "core-js/modules/es7.object.values";
|
||||
import "core-js/modules/es7.object.entries";
|
||||
import "core-js/modules/es7.object.get-own-property-descriptors";
|
||||
import "core-js/modules/es7.string.pad-start";
|
||||
import "core-js/modules/es7.string.pad-end";
|
||||
import "core-js/modules/web.timers";
|
||||
import "core-js/modules/web.immediate";
|
||||
import "core-js/modules/web.dom.iterable";
|
||||
import "regenerator-runtime/runtime";
|
||||
11
experimental/babel-preset-env/test/fixtures/preset-options/ios-6/options.json
vendored
Normal file
11
experimental/babel-preset-env/test/fixtures/preset-options/ios-6/options.json
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"presets": [
|
||||
["../../../../lib", {
|
||||
"targets": {
|
||||
"browsers": ["ios >= 6"]
|
||||
},
|
||||
"modules": false,
|
||||
"useBuiltIns": true
|
||||
}]
|
||||
]
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user