Fix mobile browsers support in preset-env (#9978)
* Fix mobile browsers support in preset-env * Update fixtures * Alias other mobile browsers, since they aren't included by compat-table
This commit is contained in:
parent
85432e2c44
commit
9febf63882
@ -6,6 +6,7 @@
|
||||
"safari": "10.1",
|
||||
"opera": "48",
|
||||
"ios_saf": "10.3",
|
||||
"and_chr": "71",
|
||||
"and_ff": "64"
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@
|
||||
"@babel/plugin-transform-typeof-symbol": "^7.2.0",
|
||||
"@babel/plugin-transform-unicode-regex": "^7.4.4",
|
||||
"@babel/types": "^7.4.4",
|
||||
"browserslist": "^4.5.2",
|
||||
"browserslist": "^4.6.0",
|
||||
"core-js-compat": "^3.0.0",
|
||||
"invariant": "^2.2.2",
|
||||
"js-levenshtein": "^1.1.3",
|
||||
|
||||
@ -3,7 +3,7 @@ const fs = require("fs");
|
||||
|
||||
const moduleSupport = require("caniuse-db/features-json/es6-module.json");
|
||||
|
||||
const skipList = new Set(["and_chr", "android", "samsung"]);
|
||||
const skipList = new Set(["android", "samsung"]);
|
||||
const acceptedWithCaveats = new Set(["safari", "ios_saf"]);
|
||||
|
||||
const { stats } = moduleSupport;
|
||||
|
||||
@ -44,13 +44,16 @@ const validateTargetNames = (targets: Targets): void => {
|
||||
|
||||
const browserNameMap = {
|
||||
and_chr: "chrome",
|
||||
and_ff: "firefox",
|
||||
android: "android",
|
||||
chrome: "chrome",
|
||||
edge: "edge",
|
||||
firefox: "firefox",
|
||||
ie: "ie",
|
||||
ie_mob: "ie",
|
||||
ios_saf: "ios",
|
||||
node: "node",
|
||||
op_mob: "opera",
|
||||
opera: "opera",
|
||||
safari: "safari",
|
||||
samsung: "samsung",
|
||||
@ -200,6 +203,7 @@ const getTargets = (targets: Object = {}, options: Object = {}): Targets => {
|
||||
|
||||
const browsers = browserslist(browsersquery, {
|
||||
path: options.configPath,
|
||||
mobileToDesktop: true,
|
||||
});
|
||||
|
||||
const queryBrowsers = getLowestVersions(browsers);
|
||||
|
||||
@ -1,4 +0,0 @@
|
||||
Browserslist and CanIUse don't support mobile browsers versions.
|
||||
|
||||
https://github.com/browserslist/browserslist/issues/367
|
||||
https://github.com/Fyrd/caniuse/issues/3518
|
||||
@ -1,4 +0,0 @@
|
||||
import "core-js/modules/web.timers";
|
||||
import "core-js/modules/web.immediate";
|
||||
import "core-js/modules/web.dom.iterable";
|
||||
1 ** 2;
|
||||
14
packages/babel-preset-env/test/fixtures/corejs2/entry-chromeandroid/output.mjs
vendored
Normal file
14
packages/babel-preset-env/test/fixtures/corejs2/entry-chromeandroid/output.mjs
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
import "core-js/modules/es7.array.flat-map";
|
||||
import "core-js/modules/es6.array.sort";
|
||||
import "core-js/modules/es7.object.define-getter";
|
||||
import "core-js/modules/es7.object.define-setter";
|
||||
import "core-js/modules/es7.object.lookup-getter";
|
||||
import "core-js/modules/es7.object.lookup-setter";
|
||||
import "core-js/modules/es7.promise.finally";
|
||||
import "core-js/modules/es7.symbol.async-iterator";
|
||||
import "core-js/modules/es7.string.trim-left";
|
||||
import "core-js/modules/es7.string.trim-right";
|
||||
import "core-js/modules/web.timers";
|
||||
import "core-js/modules/web.immediate";
|
||||
import "core-js/modules/web.dom.iterable";
|
||||
1 ** 2;
|
||||
@ -1,4 +0,0 @@
|
||||
Browserslist and CanIUse don't support mobile browsers versions.
|
||||
|
||||
https://github.com/browserslist/browserslist/issues/367
|
||||
https://github.com/Fyrd/caniuse/issues/3518
|
||||
@ -1,5 +0,0 @@
|
||||
import "core-js/modules/es.array.unscopables.flat";
|
||||
import "core-js/modules/es.array.unscopables.flat-map";
|
||||
import "core-js/modules/es.object.from-entries";
|
||||
import "core-js/modules/web.immediate";
|
||||
1 ** 2;
|
||||
25
packages/babel-preset-env/test/fixtures/corejs3/entry-chromeandroid/output.mjs
vendored
Normal file
25
packages/babel-preset-env/test/fixtures/corejs3/entry-chromeandroid/output.mjs
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
import "core-js/modules/es.symbol.description";
|
||||
import "core-js/modules/es.symbol.async-iterator";
|
||||
import "core-js/modules/es.array.flat";
|
||||
import "core-js/modules/es.array.flat-map";
|
||||
import "core-js/modules/es.array.iterator";
|
||||
import "core-js/modules/es.array.sort";
|
||||
import "core-js/modules/es.array.unscopables.flat";
|
||||
import "core-js/modules/es.array.unscopables.flat-map";
|
||||
import "core-js/modules/es.object.define-getter";
|
||||
import "core-js/modules/es.object.define-setter";
|
||||
import "core-js/modules/es.object.from-entries";
|
||||
import "core-js/modules/es.object.lookup-getter";
|
||||
import "core-js/modules/es.object.lookup-setter";
|
||||
import "core-js/modules/es.promise";
|
||||
import "core-js/modules/es.promise.finally";
|
||||
import "core-js/modules/es.string.replace";
|
||||
import "core-js/modules/es.string.trim-end";
|
||||
import "core-js/modules/es.string.trim-start";
|
||||
import "core-js/modules/web.dom-collections.iterator";
|
||||
import "core-js/modules/web.immediate";
|
||||
import "core-js/modules/web.queue-microtask";
|
||||
import "core-js/modules/web.url";
|
||||
import "core-js/modules/web.url.to-json";
|
||||
import "core-js/modules/web.url-search-params";
|
||||
1 ** 2;
|
||||
Loading…
x
Reference in New Issue
Block a user