Source code
Revision control
Copy as Markdown
Other Tools
/*
Author Tobias Koppers @sokra
*/
"use strict";
/** @typedef {import("../Compiler")} Compiler */
const PLUGIN_NAME = "AddBuildDependenciesPlugin";
class AddBuildDependenciesPlugin {
/**
* Creates an instance of AddBuildDependenciesPlugin.
* @param {Iterable<string>} buildDependencies list of build dependencies
*/
constructor(buildDependencies) {
/** @type {Set<string>} */
this.buildDependencies = new Set(buildDependencies);
}
/**
* Applies the plugin by registering its hooks on the compiler.
* @param {Compiler} compiler the compiler instance
* @returns {void}
*/
apply(compiler) {
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
compilation.buildDependencies.addAll(this.buildDependencies);
});
}
}
module.exports = AddBuildDependenciesPlugin;