fix: use webpack .hooks API instead of deprecated Tapable.plugin

This commit is contained in:
Alexander Nanberg
2019-01-28 08:06:44 +01:00
parent e1f75d04e5
commit 557b5b31b0

View File

@@ -19,15 +19,20 @@ const waitUntilValid = new Promise(next => devMiddleware.waitUntilValid(next));
const waitMiddleware = (req, res, next) => waitUntilValid.then(next);
multiCompiler.compilers.forEach(compiler => {
compiler.plugin('after-emit', (compilation, callback) => {
Object.keys(require.cache).forEach(cachedFile => {
if (cachedFile.startsWith(path.resolve(SANDBOX_PATHS.outputPath))) {
delete require.cache[cachedFile];
}
});
compiler.hooks.afterEmit.tapAsync(
{
name: 'ClearSandboxCache',
},
(compilation, callback) => {
Object.keys(require.cache).forEach(cachedFile => {
if (cachedFile.startsWith(path.resolve(SANDBOX_PATHS.outputPath))) {
delete require.cache[cachedFile];
}
});
callback();
});
callback();
}
);
});
module.exports = next => composeMiddleware(waitMiddleware, devMiddleware, hotMiddleware)(next);