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

@@ -65,8 +65,6 @@ const getDefaultTarget = context => {
* @property {boolean | null} asyncFunction async functions and await are available
*/
///** @typedef {PlatformTargetProperties | ApiTargetProperties | EcmaTargetProperties | PlatformTargetProperties & ApiTargetProperties | PlatformTargetProperties & EcmaTargetProperties | ApiTargetProperties & EcmaTargetProperties} TargetProperties */
/**
* @template T
* @typedef {{ [P in keyof T]?: never }} Never<T>
@@ -90,12 +88,11 @@ const versionDependent = (major, minor) => {
return () => /** @type {undefined} */ (undefined);
}
/** @type {number} */
const nMajor = +major;
const nMajor = Number(major);
/** @type {number} */
const nMinor = minor ? +minor : 0;
return (vMajor, vMinor = 0) => {
return nMajor > vMajor || (nMajor === vMajor && nMinor >= vMinor);
};
const nMinor = minor ? Number(minor) : 0;
return (vMajor, vMinor = 0) =>
nMajor > vMajor || (nMajor === vMajor && nMinor >= vMinor);
};
/** @type {[string, string, RegExp, (...args: string[]) => Partial<TargetProperties>][]} */
@@ -124,47 +121,43 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
"web",
"Web browser.",
/^web$/,
() => {
return {
web: true,
browser: true,
webworker: null,
node: false,
electron: false,
nwjs: false,
() => ({
web: true,
browser: true,
webworker: null,
node: false,
electron: false,
nwjs: false,
document: true,
importScriptsInWorker: true,
fetchWasm: true,
nodeBuiltins: false,
importScripts: false,
require: false,
global: false
};
}
document: true,
importScriptsInWorker: true,
fetchWasm: true,
nodeBuiltins: false,
importScripts: false,
require: false,
global: false
})
],
[
"webworker",
"Web Worker, SharedWorker or Service Worker.",
/^webworker$/,
() => {
return {
web: true,
browser: true,
webworker: true,
node: false,
electron: false,
nwjs: false,
() => ({
web: true,
browser: true,
webworker: true,
node: false,
electron: false,
nwjs: false,
importScripts: true,
importScriptsInWorker: true,
fetchWasm: true,
nodeBuiltins: false,
require: false,
document: false,
global: false
};
}
importScripts: true,
importScriptsInWorker: true,
fetchWasm: true,
nodeBuiltins: false,
require: false,
document: false,
global: false
})
],
[
"[async-]node[X[.Y]]",
@@ -184,7 +177,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
require: !asyncFlag,
nodeBuiltins: true,
// v16.0.0, v14.18.0
nodePrefixForCoreModules: +major < 15 ? v(14, 18) : v(16),
nodePrefixForCoreModules: Number(major) < 15 ? v(14, 18) : v(16),
global: true,
document: false,
fetchWasm: false,
@@ -295,7 +288,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
"EcmaScript in this version. Examples: es2020, es5.",
/^es(\d+)$/,
version => {
let v = +version;
let v = Number(version);
if (v < 1000) v = v + 2009;
return {
const: v >= 2015,
@@ -366,7 +359,7 @@ const mergeTargetProperties = targetProperties => {
}
if (hasTrue || hasFalse)
/** @type {TargetProperties} */
(result)[key] = hasFalse && hasTrue ? null : hasTrue ? true : false;
(result)[key] = hasFalse && hasTrue ? null : Boolean(hasTrue);
}
return /** @type {TargetProperties} */ (result);
};
@@ -376,12 +369,9 @@ const mergeTargetProperties = targetProperties => {
* @param {string} context the context directory
* @returns {TargetProperties} target properties
*/
const getTargetsProperties = (targets, context) => {
return mergeTargetProperties(
targets.map(t => getTargetProperties(t, context))
);
};
const getTargetsProperties = (targets, context) =>
mergeTargetProperties(targets.map(t => getTargetProperties(t, context)));
exports.getDefaultTarget = getDefaultTarget;
exports.getTargetProperties = getTargetProperties;
exports.getTargetsProperties = getTargetsProperties;
module.exports.getDefaultTarget = getDefaultTarget;
module.exports.getTargetProperties = getTargetProperties;
module.exports.getTargetsProperties = getTargetsProperties;