aboutsummaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-08-14 05:01:11 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-08-14 05:02:09 +0200
commit363723fc84f7b8477592e0105aeb331ec9a017af (patch)
tree29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js
parent5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff)
node_modules
Diffstat (limited to 'node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js')
-rw-r--r--node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js9
1 files changed, 6 insertions, 3 deletions
diff --git a/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js b/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js
index 71ee18533..46324c4e9 100644
--- a/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js
+++ b/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js
@@ -8,16 +8,19 @@ class EnsureChunkConditionsPlugin {
apply(compiler) {
compiler.plugin("compilation", (compilation) => {
+ const triesMap = new Map();
compilation.plugin(["optimize-chunks-basic", "optimize-extracted-chunks-basic"], (chunks) => {
let changed = false;
chunks.forEach((chunk) => {
- chunk.modules.slice().forEach((module) => {
+ chunk.forEachModule((module) => {
if(!module.chunkCondition) return;
if(!module.chunkCondition(chunk)) {
- const usedChunks = module._EnsureChunkConditionsPlugin_usedChunks = (module._EnsureChunkConditionsPlugin_usedChunks || []).concat(chunk);
+ let usedChunks = triesMap.get(module);
+ if(!usedChunks) triesMap.set(module, usedChunks = new Set());
+ usedChunks.add(chunk);
const newChunks = [];
chunk.parents.forEach((parent) => {
- if(usedChunks.indexOf(parent) < 0) {
+ if(!usedChunks.has(parent)) {
parent.addModule(module);
newChunks.push(parent);
}