feat: refactoring project
This commit is contained in:
67
node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js
generated
vendored
67
node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js
generated
vendored
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user