diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt index f62be949136..6ca57697765 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt @@ -230,6 +230,8 @@ internal class KotlinCompilationNpmResolver( private val externalNpmDependencies = mutableSetOf() private val fileCollectionDependencies = mutableSetOf() + private val visitedDependencies = mutableSetOf() + fun visit(configuration: Configuration) { configuration.resolvedConfiguration.firstLevelModuleDependencies.forEach { visitDependency(it) @@ -282,6 +284,8 @@ internal class KotlinCompilationNpmResolver( } private fun visitDependency(dependency: ResolvedDependency) { + if (dependency in visitedDependencies) return + visitedDependencies.add(dependency) visitArtifacts(dependency, dependency.moduleArtifacts) dependency.children.forEach {