feat: refactoring project
This commit is contained in:
58
node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js
generated
vendored
58
node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js
generated
vendored
@@ -7,15 +7,28 @@
|
||||
|
||||
const DelegatedModule = require("./DelegatedModule");
|
||||
|
||||
/** @typedef {import("../declarations/plugins/DllReferencePlugin").DllReferencePluginOptions} DllReferencePluginOptions */
|
||||
/** @typedef {import("../declarations/plugins/DllReferencePlugin").DllReferencePluginOptionsContent} DllReferencePluginOptionsContent */
|
||||
/** @typedef {import("./DelegatedModule").Data} Data */
|
||||
/** @typedef {import("./DelegatedModule").SourceRequest} SourceRequest */
|
||||
/** @typedef {import("./DelegatedModule").Type} Type */
|
||||
/** @typedef {import("./NormalModuleFactory")} NormalModuleFactory */
|
||||
|
||||
// options.source
|
||||
// options.type
|
||||
// options.context
|
||||
// options.scope
|
||||
// options.content
|
||||
// options.associatedObjectForCache
|
||||
/**
|
||||
* @typedef {object} Options
|
||||
* @property {SourceRequest} source source
|
||||
* @property {NonNullable<DllReferencePluginOptions["context"]>} context absolute context path to which lib ident is relative to
|
||||
* @property {DllReferencePluginOptionsContent} content content
|
||||
* @property {DllReferencePluginOptions["type"]} type type
|
||||
* @property {DllReferencePluginOptions["extensions"]} extensions extensions
|
||||
* @property {DllReferencePluginOptions["scope"]} scope scope
|
||||
* @property {object=} associatedObjectForCache object for caching
|
||||
*/
|
||||
|
||||
class DelegatedModuleFactoryPlugin {
|
||||
/**
|
||||
* @param {Options} options options
|
||||
*/
|
||||
constructor(options) {
|
||||
this.options = options;
|
||||
options.type = options.type || "require";
|
||||
@@ -35,7 +48,7 @@ class DelegatedModuleFactoryPlugin {
|
||||
const [dependency] = data.dependencies;
|
||||
const { request } = dependency;
|
||||
if (request && request.startsWith(`${scope}/`)) {
|
||||
const innerRequest = "." + request.slice(scope.length);
|
||||
const innerRequest = `.${request.slice(scope.length)}`;
|
||||
let resolved;
|
||||
if (innerRequest in this.options.content) {
|
||||
resolved = this.options.content[innerRequest];
|
||||
@@ -44,14 +57,17 @@ class DelegatedModuleFactoryPlugin {
|
||||
new DelegatedModule(
|
||||
this.options.source,
|
||||
resolved,
|
||||
this.options.type,
|
||||
/** @type {Type} */ (this.options.type),
|
||||
innerRequest,
|
||||
request
|
||||
)
|
||||
);
|
||||
}
|
||||
for (let i = 0; i < this.options.extensions.length; i++) {
|
||||
const extension = this.options.extensions[i];
|
||||
const extensions =
|
||||
/** @type {string[]} */
|
||||
(this.options.extensions);
|
||||
for (let i = 0; i < extensions.length; i++) {
|
||||
const extension = extensions[i];
|
||||
const requestPlusExt = innerRequest + extension;
|
||||
if (requestPlusExt in this.options.content) {
|
||||
resolved = this.options.content[requestPlusExt];
|
||||
@@ -60,7 +76,7 @@ class DelegatedModuleFactoryPlugin {
|
||||
new DelegatedModule(
|
||||
this.options.source,
|
||||
resolved,
|
||||
this.options.type,
|
||||
/** @type {Type} */ (this.options.type),
|
||||
requestPlusExt,
|
||||
request + extension
|
||||
)
|
||||
@@ -76,17 +92,15 @@ class DelegatedModuleFactoryPlugin {
|
||||
"DelegatedModuleFactoryPlugin",
|
||||
module => {
|
||||
const request = module.libIdent(this.options);
|
||||
if (request) {
|
||||
if (request in this.options.content) {
|
||||
const resolved = this.options.content[request];
|
||||
return new DelegatedModule(
|
||||
this.options.source,
|
||||
resolved,
|
||||
this.options.type,
|
||||
request,
|
||||
module
|
||||
);
|
||||
}
|
||||
if (request && request in this.options.content) {
|
||||
const resolved = this.options.content[request];
|
||||
return new DelegatedModule(
|
||||
this.options.source,
|
||||
resolved,
|
||||
/** @type {Type} */ (this.options.type),
|
||||
request,
|
||||
module
|
||||
);
|
||||
}
|
||||
return module;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user