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) => {
|
const getLowestVersions = (browsers) => {
|
||||||
return browsers.reduce((all, browser) => {
|
return browsers.reduce((all, browser) => {
|
||||||
const [browserName, browserVersion] = browser.split(" ");
|
const [browserName, browserVersion] = browser.split(" ");
|
||||||
if (browserName in browserNameMap) {
|
const normalizedBrowserName = browserNameMap[browserName];
|
||||||
all[browserNameMap[browserName]] = parseInt(browserVersion);
|
const parsedBrowserVersion = parseInt(browserVersion);
|
||||||
|
if (normalizedBrowserName && !isNaN(parsedBrowserVersion)) {
|
||||||
|
all[normalizedBrowserName] = Math.min(all[normalizedBrowserName] || Infinity, parsedBrowserVersion);
|
||||||
}
|
}
|
||||||
return all;
|
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