diff options
Diffstat (limited to 'node_modules/webpack/lib/container/ModuleFederationPlugin.js')
| -rw-r--r-- | node_modules/webpack/lib/container/ModuleFederationPlugin.js | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/node_modules/webpack/lib/container/ModuleFederationPlugin.js b/node_modules/webpack/lib/container/ModuleFederationPlugin.js deleted file mode 100644 index 3652bf58..00000000 --- a/node_modules/webpack/lib/container/ModuleFederationPlugin.js +++ /dev/null @@ -1,94 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy -*/ - -"use strict"; - -const isValidExternalsType = require("../../schemas/plugins/container/ExternalsType.check.js"); -const SharePlugin = require("../sharing/SharePlugin"); -const createSchemaValidation = require("../util/create-schema-validation"); -const ContainerPlugin = require("./ContainerPlugin"); -const ContainerReferencePlugin = require("./ContainerReferencePlugin"); - -/** @typedef {import("../../declarations/plugins/container/ModuleFederationPlugin").ExternalsType} ExternalsType */ -/** @typedef {import("../../declarations/plugins/container/ModuleFederationPlugin").ModuleFederationPluginOptions} ModuleFederationPluginOptions */ -/** @typedef {import("../../declarations/plugins/container/ModuleFederationPlugin").Shared} Shared */ -/** @typedef {import("../Compiler")} Compiler */ - -const validate = createSchemaValidation( - require("../../schemas/plugins/container/ModuleFederationPlugin.check.js"), - () => require("../../schemas/plugins/container/ModuleFederationPlugin.json"), - { - name: "Module Federation Plugin", - baseDataPath: "options" - } -); -class ModuleFederationPlugin { - /** - * @param {ModuleFederationPluginOptions} options options - */ - constructor(options) { - validate(options); - - this._options = options; - } - - /** - * Apply the plugin - * @param {Compiler} compiler the compiler instance - * @returns {void} - */ - apply(compiler) { - const { _options: options } = this; - const library = options.library || { type: "var", name: options.name }; - const remoteType = - options.remoteType || - (options.library && isValidExternalsType(options.library.type) - ? /** @type {ExternalsType} */ (options.library.type) - : "script"); - if ( - library && - !compiler.options.output.enabledLibraryTypes.includes(library.type) - ) { - compiler.options.output.enabledLibraryTypes.push(library.type); - } - compiler.hooks.afterPlugins.tap("ModuleFederationPlugin", () => { - if ( - options.exposes && - (Array.isArray(options.exposes) - ? options.exposes.length > 0 - : Object.keys(options.exposes).length > 0) - ) { - new ContainerPlugin({ - name: options.name, - library, - filename: options.filename, - runtime: options.runtime, - shareScope: options.shareScope, - exposes: options.exposes - }).apply(compiler); - } - if ( - options.remotes && - (Array.isArray(options.remotes) - ? options.remotes.length > 0 - : Object.keys(options.remotes).length > 0) - ) { - new ContainerReferencePlugin({ - remoteType, - shareScope: options.shareScope, - remotes: options.remotes - }).apply(compiler); - } - if (options.shared) { - new SharePlugin({ - shared: options.shared, - shareScope: options.shareScope - }).apply(compiler); - } - }); - } -} - -module.exports = ModuleFederationPlugin; |
