12345678910111213141516171819202122232425262728293031323334353637 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
- const ExternalModuleFactoryPlugin = require("./ExternalModuleFactoryPlugin");
- /** @typedef {import("../declarations/WebpackOptions").Externals} Externals */
- /** @typedef {import("./Compiler")} Compiler */
- class ExternalsPlugin {
- /**
- * @param {string | undefined} type default external type
- * @param {Externals} externals externals config
- */
- constructor(type, externals) {
- this.type = type;
- this.externals = externals;
- }
- /**
- * Apply the plugin
- * @param {Compiler} compiler the compiler instance
- * @returns {void}
- */
- apply(compiler) {
- compiler.hooks.compile.tap("ExternalsPlugin", ({ normalModuleFactory }) => {
- new ExternalModuleFactoryPlugin(this.type, this.externals).apply(
- normalModuleFactory
- );
- });
- }
- }
- module.exports = ExternalsPlugin;
|