Skip to content

Commit 4daaf6c

Browse files
committed
improve RemoveParentModulesPlugin performance
1 parent 645f98a commit 4daaf6c

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/optimize/RemoveParentModulesPlugin.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class RemoveParentModulesPlugin {
2929
compiler.hooks.compilation.tap("RemoveParentModulesPlugin", compilation => {
3030
const handler = (chunks, chunkGroups) => {
3131
const queue = new Queue();
32-
const availableModulesMap = new Map();
32+
const availableModulesMap = new WeakMap();
3333

3434
for (const chunkGroup of compilation.entrypoints.values()) {
3535
// initialize available modules for chunks without parents
@@ -81,7 +81,10 @@ class RemoveParentModulesPlugin {
8181
chunkGroup => availableModulesMap.get(chunkGroup)
8282
);
8383
if (availableModulesSets.some(s => s === undefined)) continue; // No info about this chunk group
84-
const availableModules = intersect(availableModulesSets);
84+
const availableModules =
85+
availableModulesSets.length === 1
86+
? availableModulesSets[0]
87+
: intersect(availableModulesSets);
8588
const numberOfModules = chunk.getNumberOfModules();
8689
const toRemove = new Set();
8790
if (numberOfModules < availableModules.size) {

0 commit comments

Comments
 (0)