From 9bce51f651aad297ef9eb6df832bfdaf1de05d84 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 22 四月 2026 14:27:54 +0800
Subject: [PATCH] 青岛推送
---
node_modules/webpack/lib/container/ModuleFederationPlugin.js | 36 +++++++++++++++++++++---------------
1 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/node_modules/webpack/lib/container/ModuleFederationPlugin.js b/node_modules/webpack/lib/container/ModuleFederationPlugin.js
index 9e779af..bf07b3f 100644
--- a/node_modules/webpack/lib/container/ModuleFederationPlugin.js
+++ b/node_modules/webpack/lib/container/ModuleFederationPlugin.js
@@ -9,7 +9,6 @@
const isValidExternalsType = require("../../schemas/plugins/container/ExternalsType.check");
const Compilation = require("../Compilation");
const SharePlugin = require("../sharing/SharePlugin");
-const createSchemaValidation = require("../util/create-schema-validation");
const ContainerPlugin = require("./ContainerPlugin");
const ContainerReferencePlugin = require("./ContainerReferencePlugin");
const HoistContainerReferences = require("./HoistContainerReferencesPlugin");
@@ -20,19 +19,11 @@
/** @typedef {import("../Dependency")} Dependency */
/**
+ * Defines the compilation hooks type used by this module.
* @typedef {object} CompilationHooks
* @property {SyncHook<Dependency>} addContainerEntryDependency
* @property {SyncHook<Dependency>} addFederationRuntimeDependency
*/
-
-const validate = createSchemaValidation(
- require("../../schemas/plugins/container/ModuleFederationPlugin.check"),
- () => require("../../schemas/plugins/container/ModuleFederationPlugin.json"),
- {
- name: "Module Federation Plugin",
- baseDataPath: "options"
- }
-);
/** @type {WeakMap<Compilation, CompilationHooks>} */
const compilationHooksMap = new WeakMap();
@@ -40,12 +31,12 @@
class ModuleFederationPlugin {
/**
+ * Creates an instance of ModuleFederationPlugin.
* @param {ModuleFederationPluginOptions} options options
*/
constructor(options) {
- validate(options);
-
- this._options = options;
+ /** @type {ModuleFederationPluginOptions} */
+ this.options = options;
}
/**
@@ -71,12 +62,27 @@
}
/**
- * Apply the plugin
+ * Applies the plugin by registering its hooks on the compiler.
* @param {Compiler} compiler the compiler instance
* @returns {void}
*/
apply(compiler) {
- const { _options: options } = this;
+ compiler.hooks.validate.tap(PLUGIN_NAME, () => {
+ compiler.validate(
+ () =>
+ require("../../schemas/plugins/container/ModuleFederationPlugin.json"),
+ this.options,
+ {
+ name: "Module Federation Plugin",
+ baseDataPath: "options"
+ },
+ (options) =>
+ require("../../schemas/plugins/container/ModuleFederationPlugin.check")(
+ options
+ )
+ );
+ });
+ const { options } = this;
const library = options.library || { type: "var", name: options.name };
const remoteType =
options.remoteType ||
--
Gitblit v1.9.3