@modern-js/utils
Version:
A Progressive React Framework for modern web development.
1,169 lines (1,168 loc) • 77.2 kB
JavaScript
(()=>{
var e = {
923: (e)=>{
function BrowserslistError(e) {
this.name = "BrowserslistError";
this.message = e;
this.browserslist = true;
if (Error.captureStackTrace) Error.captureStackTrace(this, BrowserslistError);
}
BrowserslistError.prototype = Error.prototype;
e.exports = BrowserslistError;
},
751: (e, s, r)=>{
var n = r(878);
var t = r(768).agents;
var a = r(40);
var i = r(17);
var o = r(476);
var l = r(923);
var f = r(347);
var u = 31558432982.399998;
var d = 37;
var c = 1;
var v = 2;
function isVersionsMatch(e, s) {
return 0 === (e + ".").indexOf(s + ".");
}
function isEolReleased(e) {
var s = e.slice(1);
return browserslist.nodeVersions.some(function(e) {
return isVersionsMatch(e, s);
});
}
function normalize(e) {
return e.filter(function(e) {
return "string" == typeof e;
});
}
function normalizeElectron(e) {
var s = e;
if (3 === e.split(".").length) s = e.split(".").slice(0, -1).join(".");
return s;
}
function nameMapper(e) {
return function(s) {
return e + " " + s;
};
}
function getMajor(e) {
return parseInt(e.split(".")[0]);
}
function getMajorVersions(e, s) {
if (0 === e.length) return [];
var r = uniq(e.map(getMajor));
var n = r[r.length - s];
if (!n) return e;
var t = [];
for(var a = e.length - 1; a >= 0; a--){
if (n > getMajor(e[a])) break;
t.unshift(e[a]);
}
return t;
}
function uniq(e) {
var s = [];
for(var r = 0; r < e.length; r++)if (-1 === s.indexOf(e[r])) s.push(e[r]);
return s;
}
function fillUsage(e, s, r) {
for(var n in r)e[s + " " + n] = r[n];
}
function generateFilter(e, s) {
s = parseFloat(s);
if (">" === e) return function(e) {
return parseFloat(e) > s;
};
if (">=" === e) return function(e) {
return parseFloat(e) >= s;
};
if ("<" === e) return function(e) {
return parseFloat(e) < s;
};
return function(e) {
return parseFloat(e) <= s;
};
}
function generateSemverFilter(e, s) {
s = s.split(".").map(parseSimpleInt);
s[1] = s[1] || 0;
s[2] = s[2] || 0;
if (">" === e) return function(e) {
e = e.split(".").map(parseSimpleInt);
return compareSemver(e, s) > 0;
};
if (">=" === e) return function(e) {
e = e.split(".").map(parseSimpleInt);
return compareSemver(e, s) >= 0;
};
if ("<" === e) return function(e) {
e = e.split(".").map(parseSimpleInt);
return compareSemver(s, e) > 0;
};
return function(e) {
e = e.split(".").map(parseSimpleInt);
return compareSemver(s, e) >= 0;
};
}
function parseSimpleInt(e) {
return parseInt(e);
}
function compare(e, s) {
if (e < s) return -1;
if (e > s) return 1;
return 0;
}
function compareSemver(e, s) {
return compare(parseInt(e[0]), parseInt(s[0])) || compare(parseInt(e[1] || "0"), parseInt(s[1] || "0")) || compare(parseInt(e[2] || "0"), parseInt(s[2] || "0"));
}
function semverFilterLoose(e, s) {
s = s.split(".").map(parseSimpleInt);
if (void 0 === s[1]) s[1] = "x";
switch(e){
case "<=":
return function(e) {
e = e.split(".").map(parseSimpleInt);
return compareSemverLoose(e, s) <= 0;
};
case ">=":
default:
return function(e) {
e = e.split(".").map(parseSimpleInt);
return compareSemverLoose(e, s) >= 0;
};
}
}
function compareSemverLoose(e, s) {
if (e[0] !== s[0]) return e[0] < s[0] ? -1 : 1;
if ("x" === s[1]) return 0;
if (e[1] !== s[1]) return e[1] < s[1] ? -1 : 1;
return 0;
}
function resolveVersion(e, s) {
if (-1 !== e.versions.indexOf(s)) return s;
if (browserslist.versionAliases[e.name][s]) return browserslist.versionAliases[e.name][s];
return false;
}
function normalizeVersion(e, s) {
var r = resolveVersion(e, s);
if (r) return r;
if (1 === e.versions.length) return e.versions[0];
return false;
}
function filterByYear(e, s) {
e /= 1e3;
return Object.keys(t).reduce(function(r, n) {
var t = byName(n, s);
if (!t) return r;
var a = Object.keys(t.releaseDate).filter(function(s) {
var r = t.releaseDate[s];
return null !== r && r >= e;
});
return r.concat(a.map(nameMapper(t.name)));
}, []);
}
function cloneData(e) {
return {
name: e.name,
versions: e.versions,
released: e.released,
releaseDate: e.releaseDate
};
}
function mapVersions(e, s) {
e.versions = e.versions.map(function(e) {
return s[e] || e;
});
e.released = e.versions.map(function(e) {
return s[e] || e;
});
var r = {};
for(var n in e.releaseDate)r[s[n] || n] = e.releaseDate[n];
e.releaseDate = r;
return e;
}
function byName(e, s) {
e = e.toLowerCase();
e = browserslist.aliases[e] || e;
if (s.mobileToDesktop && browserslist.desktopNames[e]) {
var r = browserslist.data[browserslist.desktopNames[e]];
if ("android" === e) return normalizeAndroidData(cloneData(browserslist.data[e]), r);
var n = cloneData(r);
n.name = e;
if ("op_mob" === e) n = mapVersions(n, {
"10.0-10.1": "10"
});
return n;
}
return browserslist.data[e];
}
function normalizeAndroidVersions(e, s) {
var r = d;
var n = s[s.length - 1];
return e.filter(function(e) {
return /^(?:[2-4]\.|[34]$)/.test(e);
}).concat(s.slice(r - n - 1));
}
function normalizeAndroidData(e, s) {
e.released = normalizeAndroidVersions(e.released, s.released);
e.versions = normalizeAndroidVersions(e.versions, s.versions);
return e;
}
function checkName(e, s) {
var r = byName(e, s);
if (!r) throw new l("Unknown browser " + e);
return r;
}
function unknownQuery(e) {
return new l("Unknown browser query `" + e + "`. Maybe you are using old Browserslist or made typo in query.");
}
function filterAndroid(e, s, r) {
if (r.mobileToDesktop) return e;
var n = browserslist.data.android.released;
var t = n[n.length - 1];
var a = t - d - s;
if (a > 0) return e.slice(-1);
return e.slice(a - 1);
}
function resolve(e, s) {
e = Array.isArray(e) ? flatten(e.map(parse)) : parse(e);
return e.reduce(function(e, r, n) {
var t = r.queryString;
var a = 0 === t.indexOf("not ");
if (a) {
if (0 === n) throw new l("Write any browsers query (for instance, `defaults`) before `" + t + "`");
t = t.slice(4);
}
for(var i = 0; i < p.length; i++){
var o = p[i];
var f = t.match(o.regexp);
if (f) {
var u = [
s
].concat(f.slice(1));
var d = o.select.apply(browserslist, u).map(function(e) {
var r = e.split(" ");
if ("0" === r[1]) return r[0] + " " + byName(r[0], s).versions[0];
return e;
});
switch(r.type){
case v:
if (a) return e.filter(function(e) {
return -1 === d.indexOf(e);
});
return e.filter(function(e) {
return -1 !== d.indexOf(e);
});
case c:
default:
if (a) {
var m = {};
d.forEach(function(e) {
m[e] = true;
});
return e.filter(function(e) {
return !m[e];
});
}
return e.concat(d);
}
}
}
throw unknownQuery(t);
}, []);
}
var m = {};
function browserslist(e, s) {
if (void 0 === s) s = {};
if (void 0 === s.path) s.path = i.resolve ? i.resolve(".") : ".";
if (null == e) {
var r = browserslist.loadConfig(s);
e = r ? r : browserslist.defaults;
}
if (!("string" == typeof e || Array.isArray(e))) throw new l("Browser queries must be an array or string. Got " + typeof e + ".");
var n = {
ignoreUnknownVersions: s.ignoreUnknownVersions,
dangerousExtend: s.dangerousExtend,
mobileToDesktop: s.mobileToDesktop,
path: s.path,
env: s.env
};
f.oldDataWarning(browserslist.data);
var t = f.getStat(s, browserslist.data);
if (t) {
n.customUsage = {};
for(var a in t)fillUsage(n.customUsage, a, t[a]);
}
var o = JSON.stringify([
e,
n
]);
if (m[o]) return m[o];
var u = uniq(resolve(e, n)).sort(function(e, s) {
e = e.split(" ");
s = s.split(" ");
if (e[0] !== s[0]) return compare(e[0], s[0]);
var r = e[1].split("-")[0];
var n = s[1].split("-")[0];
return compareSemver(n.split("."), r.split("."));
});
if (!process.env.BROWSERSLIST_DISABLE_CACHE) m[o] = u;
return u;
}
function parse(e) {
var s = [];
do e = doMatch(e, s);
while (e);
return s;
}
function doMatch(e, s) {
var r = /^(?:,\s*|\s+or\s+)(.*)/i;
var n = /^\s+and\s+(.*)/i;
return find(e, function(e, t, a) {
if (n.test(e)) {
s.unshift({
type: v,
queryString: e.match(n)[1]
});
return true;
}
if (r.test(e)) {
s.unshift({
type: c,
queryString: e.match(r)[1]
});
return true;
}
if (t === a) {
s.unshift({
type: c,
queryString: e.trim()
});
return true;
}
return false;
});
}
function find(e, s) {
for(var r = 1, n = e.length; r <= n; r++){
var t = e.substr(-r, r);
if (s(t, r, n)) return e.slice(0, -r);
}
return "";
}
function flatten(e) {
if (!Array.isArray(e)) return [
e
];
return e.reduce(function(e, s) {
return e.concat(flatten(s));
}, []);
}
browserslist.cache = {};
browserslist.data = {};
browserslist.usage = {
global: {},
custom: null
};
browserslist.defaults = [
"> 0.5%",
"last 2 versions",
"Firefox ESR",
"not dead"
];
browserslist.aliases = {
fx: "firefox",
ff: "firefox",
ios: "ios_saf",
explorer: "ie",
blackberry: "bb",
explorermobile: "ie_mob",
operamini: "op_mini",
operamobile: "op_mob",
chromeandroid: "and_chr",
firefoxandroid: "and_ff",
ucandroid: "and_uc",
qqandroid: "and_qq"
};
browserslist.desktopNames = {
and_chr: "chrome",
and_ff: "firefox",
ie_mob: "ie",
op_mob: "opera",
android: "chrome"
};
browserslist.versionAliases = {};
browserslist.clearCaches = f.clearCaches;
browserslist.parseConfig = f.parseConfig;
browserslist.readConfig = f.readConfig;
browserslist.findConfig = f.findConfig;
browserslist.loadConfig = f.loadConfig;
browserslist.coverage = function(e, s) {
var r;
if (void 0 === s) r = browserslist.usage.global;
else if ("my stats" === s) {
var n = {};
n.path = i.resolve ? i.resolve(".") : ".";
var t = f.getStat(n);
if (!t) throw new l("Custom usage statistics was not provided");
r = {};
for(var a in t)fillUsage(r, a, t[a]);
} else if ("string" == typeof s) {
s = s.length > 2 ? s.toLowerCase() : s.toUpperCase();
f.loadCountry(browserslist.usage, s, browserslist.data);
r = browserslist.usage[s];
} else {
if ("dataByBrowser" in s) s = s.dataByBrowser;
r = {};
for(var o in s)for(var u in s[o])r[o + " " + u] = s[o][u];
}
return e.reduce(function(e, s) {
var n = r[s];
if (void 0 === n) n = r[s.replace(/ \S+$/, " 0")];
return e + (n || 0);
}, 0);
};
function nodeQuery(e, s) {
var r = browserslist.nodeVersions.filter(function(e) {
return isVersionsMatch(e, s);
});
if (0 === r.length) if (e.ignoreUnknownVersions) return [];
else throw new l("Unknown version " + s + " of Node.js");
return [
"node " + r[r.length - 1]
];
}
function sinceQuery(e, s, r, n) {
s = parseInt(s);
r = parseInt(r || "01") - 1;
n = parseInt(n || "01");
return filterByYear(Date.UTC(s, r, n, 0, 0, 0), e);
}
function coverQuery(e, s, r) {
s = parseFloat(s);
var n = browserslist.usage.global;
if (r) if (r.match(/^my\s+stats$/i)) {
if (!e.customUsage) throw new l("Custom usage statistics was not provided");
n = e.customUsage;
} else {
var t;
t = 2 === r.length ? r.toUpperCase() : r.toLowerCase();
f.loadCountry(browserslist.usage, t, browserslist.data);
n = browserslist.usage[t];
}
var a = Object.keys(n).sort(function(e, s) {
return n[s] - n[e];
});
var i = 0;
var o = [];
var u;
for(var d = 0; d < a.length; d++){
u = a[d];
if (0 === n[u]) break;
i += n[u];
o.push(u);
if (i >= s) break;
}
return o;
}
var p = [
{
regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
select: function(e, s) {
return Object.keys(t).reduce(function(r, n) {
var t = byName(n, e);
if (!t) return r;
var a = getMajorVersions(t.released, s);
a = a.map(nameMapper(t.name));
if ("android" === t.name) a = filterAndroid(a, s, e);
return r.concat(a);
}, []);
}
},
{
regexp: /^last\s+(\d+)\s+versions?$/i,
select: function(e, s) {
return Object.keys(t).reduce(function(r, n) {
var t = byName(n, e);
if (!t) return r;
var a = t.released.slice(-s);
a = a.map(nameMapper(t.name));
if ("android" === t.name) a = filterAndroid(a, s, e);
return r.concat(a);
}, []);
}
},
{
regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
select: function(e, s) {
var r = getMajorVersions(Object.keys(o), s);
return r.map(function(e) {
return "chrome " + o[e];
});
}
},
{
regexp: /^last\s+(\d+)\s+node\s+major\s+versions?$/i,
select: function(e, s) {
return getMajorVersions(browserslist.nodeVersions, s).map(function(e) {
return "node " + e;
});
}
},
{
regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
select: function(e, s, r) {
var n = checkName(r, e);
var t = getMajorVersions(n.released, s);
var a = t.map(nameMapper(n.name));
if ("android" === n.name) a = filterAndroid(a, s, e);
return a;
}
},
{
regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
select: function(e, s) {
return Object.keys(o).slice(-s).map(function(e) {
return "chrome " + o[e];
});
}
},
{
regexp: /^last\s+(\d+)\s+node\s+versions?$/i,
select: function(e, s) {
return browserslist.nodeVersions.slice(-s).map(function(e) {
return "node " + e;
});
}
},
{
regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
select: function(e, s, r) {
var n = checkName(r, e);
var t = n.released.slice(-s).map(nameMapper(n.name));
if ("android" === n.name) t = filterAndroid(t, s, e);
return t;
}
},
{
regexp: /^unreleased\s+versions$/i,
select: function(e) {
return Object.keys(t).reduce(function(s, r) {
var n = byName(r, e);
if (!n) return s;
var t = n.versions.filter(function(e) {
return -1 === n.released.indexOf(e);
});
t = t.map(nameMapper(n.name));
return s.concat(t);
}, []);
}
},
{
regexp: /^unreleased\s+electron\s+versions?$/i,
select: function() {
return [];
}
},
{
regexp: /^unreleased\s+(\w+)\s+versions?$/i,
select: function(e, s) {
var r = checkName(s, e);
return r.versions.filter(function(e) {
return -1 === r.released.indexOf(e);
}).map(nameMapper(r.name));
}
},
{
regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
select: function(e, s) {
return filterByYear(Date.now() - u * s, e);
}
},
{
regexp: /^since (\d+)$/i,
select: sinceQuery
},
{
regexp: /^since (\d+)-(\d+)$/i,
select: sinceQuery
},
{
regexp: /^since (\d+)-(\d+)-(\d+)$/i,
select: sinceQuery
},
{
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
select: function(e, s, r) {
r = parseFloat(r);
var n = browserslist.usage.global;
return Object.keys(n).reduce(function(e, t) {
if (">" === s) {
if (n[t] > r) e.push(t);
} else if ("<" === s) {
if (n[t] < r) e.push(t);
} else if ("<=" === s) {
if (n[t] <= r) e.push(t);
} else if (n[t] >= r) e.push(t);
return e;
}, []);
}
},
{
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,
select: function(e, s, r) {
r = parseFloat(r);
if (!e.customUsage) throw new l("Custom usage statistics was not provided");
var n = e.customUsage;
return Object.keys(n).reduce(function(e, t) {
var a = n[t];
if (null == a) return e;
if (">" === s) {
if (a > r) e.push(t);
} else if ("<" === s) {
if (a < r) e.push(t);
} else if ("<=" === s) {
if (a <= r) e.push(t);
} else if (a >= r) e.push(t);
return e;
}, []);
}
},
{
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
select: function(e, s, r, n) {
r = parseFloat(r);
var t = f.loadStat(e, n, browserslist.data);
if (t) {
e.customUsage = {};
for(var a in t)fillUsage(e.customUsage, a, t[a]);
}
if (!e.customUsage) throw new l("Custom usage statistics was not provided");
var i = e.customUsage;
return Object.keys(i).reduce(function(e, n) {
var t = i[n];
if (null == t) return e;
if (">" === s) {
if (t > r) e.push(n);
} else if ("<" === s) {
if (t < r) e.push(n);
} else if ("<=" === s) {
if (t <= r) e.push(n);
} else if (t >= r) e.push(n);
return e;
}, []);
}
},
{
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,
select: function(e, s, r, n) {
r = parseFloat(r);
n = 2 === n.length ? n.toUpperCase() : n.toLowerCase();
f.loadCountry(browserslist.usage, n, browserslist.data);
var t = browserslist.usage[n];
return Object.keys(t).reduce(function(e, n) {
var a = t[n];
if (null == a) return e;
if (">" === s) {
if (a > r) e.push(n);
} else if ("<" === s) {
if (a < r) e.push(n);
} else if ("<=" === s) {
if (a <= r) e.push(n);
} else if (a >= r) e.push(n);
return e;
}, []);
}
},
{
regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,
select: coverQuery
},
{
regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,
select: coverQuery
},
{
regexp: /^supports\s+([\w-]+)$/,
select: function(e, s) {
f.loadFeature(browserslist.cache, s);
var r = browserslist.cache[s];
return Object.keys(r).reduce(function(e, s) {
var n = r[s];
if (n.indexOf("y") >= 0 || n.indexOf("a") >= 0) e.push(s);
return e;
}, []);
}
},
{
regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
select: function(e, s, r) {
var n = normalizeElectron(s);
var t = normalizeElectron(r);
if (!o[n]) throw new l("Unknown version " + s + " of electron");
if (!o[t]) throw new l("Unknown version " + r + " of electron");
s = parseFloat(s);
r = parseFloat(r);
return Object.keys(o).filter(function(e) {
var n = parseFloat(e);
return n >= s && n <= r;
}).map(function(e) {
return "chrome " + o[e];
});
}
},
{
regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
select: function(e, s, r) {
return browserslist.nodeVersions.filter(semverFilterLoose(">=", s)).filter(semverFilterLoose("<=", r)).map(function(e) {
return "node " + e;
});
}
},
{
regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
select: function(e, s, r, n) {
var t = checkName(s, e);
r = parseFloat(normalizeVersion(t, r) || r);
n = parseFloat(normalizeVersion(t, n) || n);
function filter(e) {
var s = parseFloat(e);
return s >= r && s <= n;
}
return t.released.filter(filter).map(nameMapper(t.name));
}
},
{
regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
select: function(e, s, r) {
var n = normalizeElectron(r);
return Object.keys(o).filter(generateFilter(s, n)).map(function(e) {
return "chrome " + o[e];
});
}
},
{
regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
select: function(e, s, r) {
return browserslist.nodeVersions.filter(generateSemverFilter(s, r)).map(function(e) {
return "node " + e;
});
}
},
{
regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
select: function(e, s, r, n) {
var t = checkName(s, e);
var a = browserslist.versionAliases[t.name][n];
if (a) n = a;
return t.released.filter(generateFilter(r, n)).map(function(e) {
return t.name + " " + e;
});
}
},
{
regexp: /^(firefox|ff|fx)\s+esr$/i,
select: function() {
return [
"firefox 91"
];
}
},
{
regexp: /(operamini|op_mini)\s+all/i,
select: function() {
return [
"op_mini all"
];
}
},
{
regexp: /^electron\s+([\d.]+)$/i,
select: function(e, s) {
var r = normalizeElectron(s);
var n = o[r];
if (!n) throw new l("Unknown version " + s + " of electron");
return [
"chrome " + n
];
}
},
{
regexp: /^node\s+(\d+)$/i,
select: nodeQuery
},
{
regexp: /^node\s+(\d+\.\d+)$/i,
select: nodeQuery
},
{
regexp: /^node\s+(\d+\.\d+\.\d+)$/i,
select: nodeQuery
},
{
regexp: /^current\s+node$/i,
select: function(e) {
return [
f.currentNode(resolve, e)
];
}
},
{
regexp: /^maintained\s+node\s+versions$/i,
select: function(e) {
var s = Date.now();
var r = Object.keys(a).filter(function(e) {
return s < Date.parse(a[e].end) && s > Date.parse(a[e].start) && isEolReleased(e);
}).map(function(e) {
return "node " + e.slice(1);
});
return resolve(r, e);
}
},
{
regexp: /^phantomjs\s+1.9$/i,
select: function() {
return [
"safari 5"
];
}
},
{
regexp: /^phantomjs\s+2.1$/i,
select: function() {
return [
"safari 6"
];
}
},
{
regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
select: function(e, s, r) {
if (/^tp$/i.test(r)) r = "TP";
var n = checkName(s, e);
var t = normalizeVersion(n, r);
if (t) r = t;
else {
t = -1 === r.indexOf(".") ? r + ".0" : r.replace(/\.0$/, "");
t = normalizeVersion(n, t);
if (t) r = t;
else if (e.ignoreUnknownVersions) return [];
else throw new l("Unknown version " + r + " of " + s);
}
return [
n.name + " " + r
];
}
},
{
regexp: /^browserslist config$/i,
select: function(e) {
return browserslist(void 0, e);
}
},
{
regexp: /^extends (.+)$/i,
select: function(e, s) {
return resolve(f.loadQueries(e, s), e);
}
},
{
regexp: /^defaults$/i,
select: function(e) {
return resolve(browserslist.defaults, e);
}
},
{
regexp: /^dead$/i,
select: function(e) {
var s = [
"ie <= 10",
"ie_mob <= 11",
"bb <= 10",
"op_mob <= 12.1",
"samsung 4"
];
return resolve(s, e);
}
},
{
regexp: /^(\w+)$/i,
select: function(e, s) {
if (byName(s, e)) throw new l("Specify versions in Browserslist query for browser " + s);
throw unknownQuery(s);
}
}
];
(function() {
for(var e in t){
var s = t[e];
browserslist.data[e] = {
name: e,
versions: normalize(t[e].versions),
released: normalize(t[e].versions.slice(0, -3)),
releaseDate: t[e].release_date
};
fillUsage(browserslist.usage.global, e, s.usage_global);
browserslist.versionAliases[e] = {};
for(var r = 0; r < s.versions.length; r++){
var a = s.versions[r];
if (a) {
if (-1 !== a.indexOf("-")) {
var i = a.split("-");
for(var o = 0; o < i.length; o++)browserslist.versionAliases[e][i[o]] = a;
}
}
}
}
browserslist.versionAliases.op_mob["59"] = "58";
browserslist.nodeVersions = n.map(function(e) {
return e.version;
});
})();
e.exports = browserslist;
},
347: (e, s, r)=>{
var n = r(711)["default"];
var t = r(225)["default"];
var a = r(17);
var i = r(147);
var o = r(923);
var l = /^\s*\[(.+)]\s*$/;
var f = /^browserslist-config-/;
var u = /@[^/]+\/browserslist-config(-|$|\/)/;
var d = 15552000000;
var c = "Browserslist config should be a string or an array of strings with browser queries";
var v = false;
var m = {};
var p = {};
function checkExtend(e) {
var s = " Use `dangerousExtend` option to disable.";
if (!f.test(e) && !u.test(e)) throw new o("Browserslist config needs `browserslist-config-` prefix. " + s);
if (-1 !== e.replace(/^@[^/]+\//, "").indexOf(".")) throw new o("`.` not allowed in Browserslist config name. " + s);
if (-1 !== e.indexOf("node_modules")) throw new o("`node_modules` not allowed in Browserslist config." + s);
}
function isFile(e) {
if (e in m) return m[e];
var s = i.existsSync(e) && i.statSync(e).isFile();
if (!process.env.BROWSERSLIST_DISABLE_CACHE) m[e] = s;
return s;
}
function eachParent(e, s) {
var r = isFile(e) ? a.dirname(e) : e;
var n = a.resolve(r);
do {
var t = s(n);
if (void 0 !== t) return t;
}while (n !== (n = a.dirname(n)));
}
function check(e) {
if (Array.isArray(e)) {
for(var s = 0; s < e.length; s++)if ("string" != typeof e[s]) throw new o(c);
} else if ("string" != typeof e) throw new o(c);
}
function pickEnv(e, s) {
if ("object" != typeof e) return e;
var r;
r = "string" == typeof s.env ? s.env : process.env.BROWSERSLIST_ENV ? process.env.BROWSERSLIST_ENV : process.env.NODE_ENV ? process.env.NODE_ENV : "production";
if (s.throwOnMissing) {
if (r && "defaults" !== r && !e[r]) throw new o("Missing config for Browserslist environment `" + r + "`");
}
return e[r] || e.defaults;
}
function parsePackage(e) {
var s = JSON.parse(i.readFileSync(e));
if (s.browserlist && !s.browserslist) throw new o("`browserlist` key instead of `browserslist` in " + e);
var r = s.browserslist;
if (Array.isArray(r) || "string" == typeof r) r = {
defaults: r
};
for(var n in r)check(r[n]);
return r;
}
function latestReleaseTime(e) {
var s = 0;
for(var r in e){
var n = e[r].releaseDate || {};
for(var t in n)if (s < n[t]) s = n[t];
}
return 1e3 * s;
}
function normalizeStats(e, s) {
if (!e) e = {};
if (s && "dataByBrowser" in s) s = s.dataByBrowser;
if ("object" != typeof s) return;
var r = {};
for(var n in s){
var t = Object.keys(s[n]);
if (1 === t.length && e[n] && 1 === e[n].versions.length) {
var a = e[n].versions[0];
r[n] = {};
r[n][a] = s[n][t[0]];
} else r[n] = s[n];
}
return r;
}
function normalizeUsageData(e, s) {
for(var r in e){
var n = e[r];
if ("0" in n) {
var t = s[r].versions;
n[t[t.length - 1]] = n[0];
delete n[0];
}
}
}
e.exports = {
loadQueries: function(e, s) {
if (!e.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) checkExtend(s);
var n = require(r(174).resolve(s, {
paths: [
".",
e.path
]
}));
if (n) {
if (Array.isArray(n)) return n;
else if ("object" == typeof n) {
if (!n.defaults) n.defaults = [];
return pickEnv(n, e);
}
}
throw new o("`" + s + "` config exports not an array of queries or an object of envs");
},
loadStat: function(e, s, n) {
if (!e.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) checkExtend(s);
var t = require(r(174).resolve(a.join(s, "browserslist-stats.json"), {
paths: [
"."
]
}));
return normalizeStats(n, t);
},
getStat: function(e, s) {
var r;
if (e.stats) r = e.stats;
else if (process.env.BROWSERSLIST_STATS) r = process.env.BROWSERSLIST_STATS;
else if (e.path && a.resolve && i.existsSync) r = eachParent(e.path, function(e) {
var s = a.join(e, "browserslist-stats.json");
return isFile(s) ? s : void 0;
});
if ("string" == typeof r) try {
r = JSON.parse(i.readFileSync(r));
} catch (e) {
throw new o("Can't read " + r);
}
return normalizeStats(s, r);
},
loadConfig: function(s) {
if (process.env.BROWSERSLIST) return process.env.BROWSERSLIST;
if (s.config || process.env.BROWSERSLIST_CONFIG) {
var r = s.config || process.env.BROWSERSLIST_CONFIG;
if ("package.json" === a.basename(r)) return pickEnv(parsePackage(r), s);
return pickEnv(e.exports.readConfig(r), s);
}
if (s.path) return pickEnv(e.exports.findConfig(s.path), s);
},
loadCountry: function(e, s, r) {
var n = s.replace(/[^\w-]/g, "");
if (!e[n]) {
var a = require("caniuse-lite/data/regions/" + n + ".js");
var i = t(a);
normalizeUsageData(i, r);
e[s] = {};
for(var o in i)for(var l in i[o])e[s][o + " " + l] = i[o][l];
}
},
loadFeature: function(e, s) {
s = s.replace(/[^\w-]/g, "");
if (e[s]) return;
var r = require("caniuse-lite/data/features/" + s + ".js");
var t = n(r).stats;
e[s] = {};
for(var a in t)for(var i in t[a])e[s][a + " " + i] = t[a][i];
},
parseConfig: function(e) {
var s = {
defaults: []
};
var r = [
"defaults"
];
e.toString().replace(/#[^\n]*/g, "").split(/\n|,/).map(function(e) {
return e.trim();
}).filter(function(e) {
return "" !== e;
}).forEach(function(e) {
if (l.test(e)) {
r = e.match(l)[1].trim().split(" ");
r.forEach(function(e) {
if (s[e]) throw new o("Duplicate section " + e + " in Browserslist config");
s[e] = [];
});
} else r.forEach(function(r) {
s[r].push(e);
});
});
return s;
},
readConfig: function(s) {
if (!isFile(s)) throw new o("Can't read " + s + " config");
return e.exports.parseConfig(i.readFileSync(s));
},
findConfig: function(s) {
s = a.resolve(s);
var r = [];
var n = eachParent(s, function(s) {
if (s in p) return p[s];
r.push(s);
var n = a.join(s, "browserslist");
var t = a.join(s, "package.json");
var i = a.join(s, ".browserslistrc");
var l;
if (isFile(t)) try {
l = parsePackage(t);
} catch (e) {
if ("BrowserslistError" === e.name) throw e;
console.warn("[Browserslist] Could not parse " + t + ". Ignoring it.");
}
if (isFile(n) && l) throw new o(s + " contains both browserslist and package.json with browsers");
if (isFile(i) && l) throw new o(s + " contains both .browserslistrc and package.json with browsers");
if (isFile(n) && isFile(i)) throw new o(s + " contains both .browserslistrc and browserslist");
if (isFile(n)) return e.exports.readConfig(n);
if (isFile(i)) return e.exports.readConfig(i);
else return l;
});
if (!process.env.BROWSERSLIST_DISABLE_CACHE) r.forEach(function(e) {
p[e] = n;
});
return n;
},
clearCaches: function() {
v = false;
m = {};
p = {};
this.cache = {};
},
oldDataWarning: function(e) {
if (v) return;
v = true;
if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return;
var s = latestReleaseTime(e);
var r = Date.now() - d;
if (0 !== s && s < r) console.warn("Browserslist: caniuse-lite is outdated. Please run:\n npx browserslist@latest --update-db\n Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating");
},
currentNode: function() {
return "node " + process.versions.node;
}
};
},
476: (e)=>{
e.exports = {
"0.20": "39",
.21: "41",
.22: "41",
.23: "41",
.24: "41",
.25: "42",
.26: "42",