summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-10-31 15:37:35 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-10-31 15:37:35 +0800
commitd5f14083061f2ce6a42313188443a42e30796320 (patch)
treecc6a9889e08b29595a76a33b9e7b4ef84866468b /node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js
parentb1a6ea021f29f182b62f9f81024a3d8ac8621b7f (diff)
added make browserlist(autoprefixer) work fixed
Diffstat (limited to 'node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js')
-rw-r--r--node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js97
1 files changed, 97 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js b/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js
new file mode 100644
index 00000000..522b0d81
--- /dev/null
+++ b/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js
@@ -0,0 +1,97 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+const DelegatedModule = require("./DelegatedModule");
+
+/** @typedef {import("./NormalModuleFactory")} NormalModuleFactory */
+
+// options.source
+// options.type
+// options.context
+// options.scope
+// options.content
+// options.associatedObjectForCache
+class DelegatedModuleFactoryPlugin {
+ constructor(options) {
+ this.options = options;
+ options.type = options.type || "require";
+ options.extensions = options.extensions || ["", ".js", ".json", ".wasm"];
+ }
+
+ /**
+ * @param {NormalModuleFactory} normalModuleFactory the normal module factory
+ * @returns {void}
+ */
+ apply(normalModuleFactory) {
+ const scope = this.options.scope;
+ if (scope) {
+ normalModuleFactory.hooks.factorize.tapAsync(
+ "DelegatedModuleFactoryPlugin",
+ (data, callback) => {
+ const [dependency] = data.dependencies;
+ const { request } = dependency;
+ if (request && request.startsWith(`${scope}/`)) {
+ const innerRequest = "." + request.slice(scope.length);
+ let resolved;
+ if (innerRequest in this.options.content) {
+ resolved = this.options.content[innerRequest];
+ return callback(
+ null,
+ new DelegatedModule(
+ this.options.source,
+ resolved,
+ this.options.type,
+ innerRequest,
+ request
+ )
+ );
+ }
+ for (let i = 0; i < this.options.extensions.length; i++) {
+ const extension = this.options.extensions[i];
+ const requestPlusExt = innerRequest + extension;
+ if (requestPlusExt in this.options.content) {
+ resolved = this.options.content[requestPlusExt];
+ return callback(
+ null,
+ new DelegatedModule(
+ this.options.source,
+ resolved,
+ this.options.type,
+ requestPlusExt,
+ request + extension
+ )
+ );
+ }
+ }
+ }
+ return callback();
+ }
+ );
+ } else {
+ normalModuleFactory.hooks.module.tap(
+ "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
+ );
+ }
+ }
+ return module;
+ }
+ );
+ }
+ }
+}
+module.exports = DelegatedModuleFactoryPlugin;