Compare commits

...

2 Commits

Author SHA1 Message Date
Kamil Myśliwiec
c480ec8ce9 perf: use set instead of an array 2025-02-07 16:01:27 +01:00
Kamil Myśliwiec
74fef80834 fix(core): avoid recalculating global imports #14552 2025-02-07 15:59:10 +01:00

View File

@@ -399,6 +399,7 @@ export class DependenciesScanner {
// Skip "InternalCoreModule" from calculating distance
modulesGenerator.next();
const evaluatedGlobalModules = new Set<Module>();
const calculateDistance = (
moduleRef: Module,
distance = 1,
@@ -410,6 +411,15 @@ export class DependenciesScanner {
}
localModulesStack.push(moduleRef);
if (moduleRef.isGlobal) {
// Global modules form circular relationships with other global modules
// so we should not calculate distance for their children modules more than once
if (evaluatedGlobalModules.has(moduleRef)) {
return;
}
evaluatedGlobalModules.add(moduleRef);
}
const moduleImports = moduleRef.imports;
moduleImports.forEach(importedModuleRef => {
if (importedModuleRef) {