diff --git a/lib/optimize/ModuleConcatenationPlugin.js b/lib/optimize/ModuleConcatenationPlugin.js index 94ce1a965..12d6f662b 100644 --- a/lib/optimize/ModuleConcatenationPlugin.js +++ b/lib/optimize/ModuleConcatenationPlugin.js @@ -315,12 +315,13 @@ class ModuleConcatenationPlugin { // _tryToAdd modifies the config even if it fails // so make sure to only accept changes when it succeed const backup = currentConfiguration.snapshot(); + const impCandiates = new Set(); const problem = this._tryToAdd( compilation, currentConfiguration, imp, possibleInners, - candidates, + impCandiates, failureCache ); if (problem) { @@ -329,6 +330,10 @@ class ModuleConcatenationPlugin { // roll back currentConfiguration.rollback(backup); + } else { + for (const c of impCandiates) { + candidates.add(c); + } } } if (!currentConfiguration.isEmpty()) {