[Gradle, JS] Not input transitive dependencies to dukat
KT-38331
This commit is contained in:
+3
-2
@@ -6,6 +6,8 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.dukat
|
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
|
||||||
|
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 org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@@ -20,8 +22,7 @@ class DtsResolver(val npmProject: NpmProject) {
|
|||||||
return externalNpmDependencies
|
return externalNpmDependencies
|
||||||
.asSequence()
|
.asSequence()
|
||||||
.filter { it.generateKotlinExternals }
|
.filter { it.generateKotlinExternals }
|
||||||
.filter { it.scope != NpmDependency.Scope.DEV }
|
.filter { it.scope == NORMAL || it.scope == OPTIONAL }
|
||||||
.flatMap { it.getDependenciesRecursively().asSequence() }
|
|
||||||
.mapNotNullTo(mutableSetOf()) { typeModules.resolve(it.key)?.let { file -> Dts(file.canonicalFile, it) } }
|
.mapNotNullTo(mutableSetOf()) { typeModules.resolve(it.key)?.let { file -> Dts(file.canonicalFile, it) } }
|
||||||
.sortedBy { it.inputKey }
|
.sortedBy { it.inputKey }
|
||||||
.toList()
|
.toList()
|
||||||
|
|||||||
-16
@@ -45,22 +45,6 @@ data class NpmDependency(
|
|||||||
internal var resolvedVersion: String? = null
|
internal var resolvedVersion: String? = null
|
||||||
internal var integrity: 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> =
|
override fun resolve(transitive: Boolean): Set<File> =
|
||||||
resolveProject()
|
resolveProject()
|
||||||
?.let {
|
?.let {
|
||||||
|
|||||||
Reference in New Issue
Block a user