diff --git a/packages/babel-compat-data/data/built-in-modules.json b/packages/babel-compat-data/data/built-in-modules.json index 5bada5f51b..980db7b7d2 100644 --- a/packages/babel-compat-data/data/built-in-modules.json +++ b/packages/babel-compat-data/data/built-in-modules.json @@ -6,7 +6,10 @@ "safari": "10.1", "opera": "48", "ios_saf": "10.3", - "and_chr": "71", - "and_ff": "64" + "android": "61", + "op_mob": "48", + "and_chr": "61", + "and_ff": "60", + "samsung": "8.2" } } diff --git a/packages/babel-compat-data/scripts/build-modules-support.js b/packages/babel-compat-data/scripts/build-modules-support.js index 40add39e0c..b0864266f4 100644 --- a/packages/babel-compat-data/scripts/build-modules-support.js +++ b/packages/babel-compat-data/scripts/build-modules-support.js @@ -3,29 +3,33 @@ const fs = require("fs"); const moduleSupport = require("caniuse-db/features-json/es6-module.json"); -const skipList = new Set(["android", "samsung"]); const acceptedWithCaveats = new Set(["safari", "ios_saf"]); +const browserNameMap = { + and_chr: "chrome", + and_ff: "firefox", + android: "chrome", // map to chrome here as Android WebView 61 is Chromium-based + op_mob: "opera", +}; const { stats } = moduleSupport; const allowedBrowsers = {}; Object.keys(stats).forEach(browser => { - if (!skipList.has(browser)) { - const browserVersions = stats[browser]; - const allowedVersions = Object.keys(browserVersions) - .filter(value => { - // Edge 16/17 are marked as "y #6" - return acceptedWithCaveats.has(browser) - ? browserVersions[value][0] === "a" - : browserVersions[value].startsWith("y"); - }) - .sort((a, b) => a - b); + const browserName = browserNameMap[browser] || browser; + const browserVersions = stats[browserName]; + const allowedVersions = Object.keys(browserVersions) + .filter(value => { + // Edge 16/17 are marked as "y #6" + return acceptedWithCaveats.has(browserName) + ? browserVersions[value][0] === "a" + : browserVersions[value].startsWith("y"); + }) + .sort((a, b) => a - b); - if (allowedVersions[0] !== undefined) { - // Handle cases where caniuse specifies version as: "11.0-11.2" - allowedBrowsers[browser] = allowedVersions[0].split("-")[0]; - } + if (allowedVersions[0] !== undefined) { + // Handle cases where caniuse specifies version as: "11.0-11.2" + allowedBrowsers[browser] = allowedVersions[0].split("-")[0]; } });