hard-source-webpack-plugin-fixed-hashbug
Version:
Hard cache the source of modules in webpack. Patched version fixing the hash bug
34 lines (27 loc) • 716 B
JavaScript
const join = require('path').join;
const pluginCompat = require('./util/plugin-compat');
let JsonSerializer;
class SerializerJsonPlugin {
apply(compiler) {
pluginCompat.tap(
compiler,
'hardSourceCacheFactory',
'JsonSerializer',
factory => info => {
if (info.type === 'data') {
return SerializerJsonPlugin.createSerializer(info);
}
return factory(info);
},
);
}
}
SerializerJsonPlugin.createSerializer = ({ cacheDirPath, name }) => {
if (!JsonSerializer) {
JsonSerializer = require('./SerializerJson');
}
return new JsonSerializer({
cacheDirPath: join(cacheDirPath, name),
});
};
module.exports = SerializerJsonPlugin;