hard-source-webpack-plugin-fixed-hashbug
Version:
Hard cache the source of modules in webpack. Patched version fixing the hash bug
49 lines (41 loc) • 979 B
JavaScript
const join = require('path').join;
const pluginCompat = require('./util/plugin-compat');
let Append2Serializer;
const _blockSizeByName = {
data: 4 * 1024,
md5: 128,
'missing-resolve': 256,
module: 4 * 1024,
'module-resolve': 1024,
resolver: 256,
};
class SerializerAppend2Plugin {
apply(compiler) {
pluginCompat.tap(
compiler,
'hardSourceCacheFactory',
'Append2Serializer',
factory => info => {
if (info.type === 'data') {
return SerializerAppend2Plugin.createSerializer(info);
}
return factory(info);
},
);
}
}
SerializerAppend2Plugin.createSerializer = ({
cacheDirPath,
name,
autoParse,
}) => {
if (!Append2Serializer) {
Append2Serializer = require('./SerializerAppend2');
}
return new Append2Serializer({
cacheDirPath: join(cacheDirPath, name),
blockSize: _blockSizeByName[name],
autoParse: autoParse,
});
};
module.exports = SerializerAppend2Plugin;