packages/extract-svg-sprite-webpack-plugin/lib/utils/helpers.js (24 lines of code) (raw):
const { NAMESPACE } = require('../config');
/**
* @param {Compilation} compilation
* @return {boolean}
*/
function isHtmlPluginCompilation(compilation) {
return (
compilation.compiler.name &&
compilation.compiler.name.startsWith('html-webpack-plugin')
);
}
module.exports.isHtmlPluginCompilation = isHtmlPluginCompilation;
/**
* @param {Compilation} compilation
* @return {Compilation}
*/
function getRootCompilation(compilation) {
return compilation.compiler.isChild()
? compilation.compiler.parentCompilation
: compilation;
}
module.exports.getRootCompilation = getRootCompilation;
/**
* @param {Object} loaderContext
* @return {ExtractSvgSpritePlugin}
*/
function getPluginFromLoaderContext(loaderContext) {
const { _compiler: compiler } = loaderContext;
const parentCompiler = compiler.isChild()
? compiler.parentCompilation.compiler
: null;
return parentCompiler
? parentCompiler.options.plugins.find(p => p.NAMESPACE && p.NAMESPACE === NAMESPACE)
: loaderContext[NAMESPACE];
}
module.exports.getPluginFromLoaderContext = getPluginFromLoaderContext;