diff --git a/lib/optimize/SideEffectsFlagPlugin.js b/lib/optimize/SideEffectsFlagPlugin.js index 3f162b7e5..b13652783 100644 --- a/lib/optimize/SideEffectsFlagPlugin.js +++ b/lib/optimize/SideEffectsFlagPlugin.js @@ -247,6 +247,7 @@ class SideEffectsFlagPlugin { const optimizedModules = new Set(); const optimizeIncomingConnections = module => { + if (optimizedModules.has(module)) return; optimizedModules.add(module); if (module.getSideEffectsConnectionState(moduleGraph) === false) { const exportsInfo = moduleGraph.getExportsInfo(module); @@ -264,10 +265,7 @@ class SideEffectsFlagPlugin { ) { // TODO improve for export * if (isReexport && dep.name) { - if ( - connection.originModule !== null && - !optimizedModules.has(connection.originModule) - ) { + if (connection.originModule !== null) { optimizeIncomingConnections(connection.originModule); } const exportInfo = moduleGraph.getExportInfo( @@ -327,7 +325,6 @@ class SideEffectsFlagPlugin { }; for (const module of modules) { - if (optimizedModules.has(module)) continue; optimizeIncomingConnections(module); } logger.timeEnd("update dependencies");