webpack/lib/FlagInitialModulesAsUsedPlu...

31 lines
676 B
JavaScript
Raw Normal View History

/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
class FlagInitialModulesAsUsedPlugin {
2017-11-20 22:41:30 +08:00
constructor(explaination) {
this.explaination = explaination;
}
apply(compiler) {
compiler.plugin("compilation", (compilation) => {
compilation.plugin("after-optimize-chunks", (chunks) => {
chunks.forEach((chunk) => {
if(!chunk.isInitial()) {
return;
}
2017-04-21 16:05:56 +08:00
chunk.forEachModule((module) => {
2017-08-08 15:28:34 +08:00
module.used = true;
module.usedExports = true;
2017-11-20 22:41:30 +08:00
module.addReason(null, null, this.explaination);
});
});
});
});
}
}
module.exports = FlagInitialModulesAsUsedPlugin;