[Gradle, JS] Support transitive mode for npm dependencies
#KT-36196 fixed
This commit is contained in:
+2
-1
@@ -25,7 +25,8 @@ interface NpmApi {
|
||||
|
||||
fun resolveDependency(
|
||||
resolvedNpmProject: KotlinCompilationNpmResolution,
|
||||
dependency: NpmDependency
|
||||
dependency: NpmDependency,
|
||||
transitive: Boolean
|
||||
): Set<File>
|
||||
|
||||
companion object {
|
||||
|
||||
+5
-1
@@ -66,7 +66,11 @@ data class NpmDependency(
|
||||
.npmProject
|
||||
.nodeJs
|
||||
.packageManager
|
||||
.resolveDependency(it, this)
|
||||
.resolveDependency(
|
||||
it,
|
||||
this,
|
||||
transitive
|
||||
)
|
||||
}
|
||||
?: mutableSetOf()
|
||||
|
||||
|
||||
+8
-2
@@ -23,8 +23,14 @@ object Yarn : NpmApi {
|
||||
|
||||
override fun resolveDependency(
|
||||
resolvedNpmProject: KotlinCompilationNpmResolution,
|
||||
dependency: NpmDependency
|
||||
) = getDelegate(resolvedNpmProject.project).resolveDependency(resolvedNpmProject, dependency)
|
||||
dependency: NpmDependency,
|
||||
transitive: Boolean
|
||||
) = getDelegate(resolvedNpmProject.project)
|
||||
.resolveDependency(
|
||||
resolvedNpmProject,
|
||||
dependency,
|
||||
transitive
|
||||
)
|
||||
|
||||
override fun resolveRootProject(
|
||||
rootProject: Project,
|
||||
|
||||
+11
-7
@@ -42,7 +42,8 @@ abstract class YarnBasics : NpmApi {
|
||||
|
||||
override fun resolveDependency(
|
||||
resolvedNpmProject: KotlinCompilationNpmResolution,
|
||||
dependency: NpmDependency
|
||||
dependency: NpmDependency,
|
||||
transitive: Boolean
|
||||
): Set<File> {
|
||||
val files = resolvedDependencies[dependency]
|
||||
|
||||
@@ -69,12 +70,15 @@ abstract class YarnBasics : NpmApi {
|
||||
}
|
||||
}
|
||||
|
||||
dependency.dependencies.forEach {
|
||||
resolveDependency(
|
||||
resolvedNpmProject,
|
||||
it
|
||||
).also { files ->
|
||||
all.addAll(files)
|
||||
if (transitive) {
|
||||
dependency.dependencies.forEach {
|
||||
resolveDependency(
|
||||
resolvedNpmProject,
|
||||
it,
|
||||
transitive
|
||||
).also { files ->
|
||||
all.addAll(files)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user