feat: refactoring project

This commit is contained in:
Carlos
2024-11-23 14:56:07 -05:00
parent f0c2a50c18
commit 1c6db5818d
2351 changed files with 39323 additions and 60326 deletions

View File

@@ -57,14 +57,14 @@ const load = (input, context) => {
// if a query is specified, then use it, else
// if a path to a config is specified then load it, else
// find a nearest config
const config = query
? query
: configPath
const config =
query ||
(configPath
? browserslist.loadConfig({
config: configPath,
env
})
: browserslist.loadConfig({ path: context, env });
: browserslist.loadConfig({ path: context, env }));
if (!config) return;
return browserslist(config);
@@ -80,8 +80,8 @@ const resolve = browsers => {
* @param {Record<string, number | [number, number]>} versions first supported version
* @returns {boolean} true if supports
*/
const rawChecker = versions => {
return browsers.every(v => {
const rawChecker = versions =>
browsers.every(v => {
const [name, parsedVersion] = v.split(" ");
if (!name) return false;
const requiredVersion = versions[name];
@@ -94,19 +94,19 @@ const resolve = browsers => {
? parsedVersion.split("-")[0].split(".")
: parsedVersion.split(".");
if (typeof requiredVersion === "number") {
return +parsedMajor >= requiredVersion;
return Number(parsedMajor) >= requiredVersion;
}
return requiredVersion[0] === +parsedMajor
? +parserMinor >= requiredVersion[1]
: +parsedMajor > requiredVersion[0];
return requiredVersion[0] === Number(parsedMajor)
? Number(parserMinor) >= requiredVersion[1]
: Number(parsedMajor) > requiredVersion[0];
});
};
const anyNode = browsers.some(b => /^node /.test(b));
const anyNode = browsers.some(b => b.startsWith("node "));
const anyBrowser = browsers.some(b => /^(?!node)/.test(b));
const browserProperty = !anyBrowser ? false : anyNode ? null : true;
const nodeProperty = !anyNode ? false : anyBrowser ? null : true;
// Internet Explorer Mobile, Blackberry browser and Opera Mini are very old browsers, they do not support new features
const es6DynamicImport = rawChecker({
/* eslint-disable camelcase */
chrome: 63,
and_chr: 63,
edge: 79,
@@ -124,9 +124,11 @@ const resolve = browsers => {
and_uc: [15, 5],
kaios: [3, 0],
node: [12, 17]
/* eslint-enable camelcase */
});
return {
/* eslint-disable camelcase */
const: rawChecker({
chrome: 49,
and_chr: 49,
@@ -331,6 +333,7 @@ const resolve = browsers => {
kaios: 3,
node: [7, 6]
}),
/* eslint-enable camelcase */
browser: browserProperty,
electron: false,
node: nodeProperty,
@@ -346,7 +349,7 @@ const resolve = browsers => {
nodeBuiltins: nodeProperty,
nodePrefixForCoreModules:
nodeProperty &&
!browsers.some(b => /^node 15/.test(b)) &&
!browsers.some(b => b.startsWith("node 15")) &&
rawChecker({
node: [14, 18]
}),