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

@@ -22,9 +22,7 @@ const { parseResource } = require("../util/identifier");
* @param {string} str String to quote
* @returns {string} Escaped string
*/
const quoteMeta = str => {
return str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
};
const quoteMeta = str => str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
/**
* @param {string} prefix prefix
@@ -57,7 +55,7 @@ const splitContextFromPrefix = prefix => {
* @param {...any} depArgs depArgs
* @returns {ContextDependency} the created Dependency
*/
exports.create = (
module.exports.create = (
Dep,
range,
param,
@@ -69,8 +67,8 @@ exports.create = (
) => {
if (param.isTemplateString()) {
const quasis = /** @type {BasicEvaluatedExpression[]} */ (param.quasis);
let prefixRaw = /** @type {string} */ (quasis[0].string);
let postfixRaw =
const prefixRaw = /** @type {string} */ (quasis[0].string);
const postfixRaw =
/** @type {string} */
(quasis.length > 1 ? quasis[quasis.length - 1].string : "");
@@ -84,7 +82,7 @@ exports.create = (
// When there are more than two quasis, the generated RegExp can be more precise
// We join the quasis with the expression regexp
const innerQuasis = quasis.slice(1, quasis.length - 1);
const innerQuasis = quasis.slice(1, -1);
const innerRegExp =
/** @type {RegExp} */ (options.wrappedContextRegExp).source +
innerQuasis
@@ -125,14 +123,14 @@ exports.create = (
const replaces = [];
const parts = /** @type {BasicEvaluatedExpression[]} */ (param.parts);
parts.forEach((part, i) => {
for (const [i, part] of parts.entries()) {
if (i % 2 === 0) {
// Quasis or merged quasi
let range = /** @type {Range} */ (part.range);
let value = /** @type {string} */ (part.string);
if (param.templateStringKind === "cooked") {
value = JSON.stringify(value);
value = value.slice(1, value.length - 1);
value = value.slice(1, -1);
}
if (i === 0) {
// prefix
@@ -151,14 +149,14 @@ exports.create = (
/** @type {Range} */ (part.range)[0],
/** @type {Range} */ (param.range)[1]
];
value = value + "`";
value = `${value}\``;
} else if (
part.expression &&
part.expression.type === "TemplateElement" &&
part.expression.value.raw === value
) {
// Shortcut when it's a single quasi and doesn't need to be replaced
return;
continue;
}
replaces.push({
range,
@@ -168,7 +166,7 @@ exports.create = (
// Expression
parser.walkExpression(part.expression);
}
});
}
dep.replaces = replaces;
dep.critical =
@@ -180,10 +178,10 @@ exports.create = (
((param.prefix && param.prefix.isString()) ||
(param.postfix && param.postfix.isString()))
) {
let prefixRaw =
const prefixRaw =
/** @type {string} */
(param.prefix && param.prefix.isString() ? param.prefix.string : "");
let postfixRaw =
const postfixRaw =
/** @type {string} */
(param.postfix && param.postfix.isString() ? param.postfix.string : "");
const prefixRange =
@@ -239,27 +237,26 @@ exports.create = (
}
}
return dep;
} else {
const dep = new Dep(
{
request: /** @type {string} */ (options.exprContextRequest),
recursive: /** @type {boolean} */ (options.exprContextRecursive),
regExp: /** @type {RegExp} */ (options.exprContextRegExp),
mode: "sync",
...contextOptions
},
range,
/** @type {Range} */ (param.range),
...depArgs
);
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
dep.critical =
options.exprContextCritical &&
"the request of a dependency is an expression";
parser.walkExpression(param.expression);
return dep;
}
const dep = new Dep(
{
request: /** @type {string} */ (options.exprContextRequest),
recursive: /** @type {boolean} */ (options.exprContextRecursive),
regExp: /** @type {RegExp} */ (options.exprContextRegExp),
mode: "sync",
...contextOptions
},
range,
/** @type {Range} */ (param.range),
...depArgs
);
dep.loc = /** @type {DependencyLocation} */ (expr.loc);
dep.critical =
options.exprContextCritical &&
"the request of a dependency is an expression";
parser.walkExpression(param.expression);
return dep;
};