[Gradle, JS] Not input transitive dependencies to dukat

KT-38331
This commit is contained in:
Ilya Goncharov
2020-05-08 15:09:36 +03:00
parent 309d928ed6
commit 4a574b8e00
2 changed files with 3 additions and 18 deletions
@@ -6,6 +6,8 @@
package org.jetbrains.kotlin.gradle.targets.js.dukat
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.NORMAL
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.OPTIONAL
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import java.io.File
@@ -20,8 +22,7 @@ class DtsResolver(val npmProject: NpmProject) {
return externalNpmDependencies
.asSequence()
.filter { it.generateKotlinExternals }
.filter { it.scope != NpmDependency.Scope.DEV }
.flatMap { it.getDependenciesRecursively().asSequence() }
.filter { it.scope == NORMAL || it.scope == OPTIONAL }
.mapNotNullTo(mutableSetOf()) { typeModules.resolve(it.key)?.let { file -> Dts(file.canonicalFile, it) } }
.sortedBy { it.inputKey }
.toList()
@@ -45,22 +45,6 @@ data class NpmDependency(
internal var resolvedVersion: String? = null
internal var integrity: String? = null
fun getDependenciesRecursively(): Set<NpmDependency> {
val visited = mutableSetOf<NpmDependency>()
fun visit(it: NpmDependency) {
if (!visited.add(it)) return
it.dependencies.forEach { child ->
visit(child)
}
}
visit(this)
return visited
}
override fun resolve(transitive: Boolean): Set<File> =
resolveProject()
?.let {