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;
|