hard-source-webpack-plugin-fixed-hashbug
Version:
Hard cache the source of modules in webpack. Patched version fixing the hash bug
35 lines (29 loc) • 872 B
JavaScript
const path = require('path');
let extractTextNS;
let extractTextNS2;
try {
extractTextNS = path.dirname(require.resolve('extract-text-webpack-plugin'));
} catch (_) {}
const pluginCompat = require('./util/plugin-compat');
class SupportExtractTextPlugin {
apply(compiler) {
pluginCompat.tap(
compiler,
'_hardSourceAfterFreezeModule',
'SupportExtractTextPlugin',
(frozen, module, extra) => {
// Ignore the modules that kick off child compilers in extract text.
// These modules must always be built so the child compilers run so
// that assets get built.
if (
module[extractTextNS] ||
(!module.factoryMeta && module.meta && module.meta[extractTextNS])
) {
return null;
}
return frozen;
},
);
}
}
module.exports = SupportExtractTextPlugin;