diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt index 6510e48e142..cc754e3113e 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt @@ -25,7 +25,8 @@ interface NpmApi { fun resolveDependency( resolvedNpmProject: KotlinCompilationNpmResolution, - dependency: NpmDependency + dependency: NpmDependency, + transitive: Boolean ): Set companion object { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt index 1c35732f168..4f0dce64ca3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmDependency.kt @@ -66,7 +66,11 @@ data class NpmDependency( .npmProject .nodeJs .packageManager - .resolveDependency(it, this) + .resolveDependency( + it, + this, + transitive + ) } ?: mutableSetOf() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt index 9b42f83458d..5dc2292898b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt @@ -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, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt index bb2883280bb..6a8b2e44267 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt @@ -42,7 +42,8 @@ abstract class YarnBasics : NpmApi { override fun resolveDependency( resolvedNpmProject: KotlinCompilationNpmResolution, - dependency: NpmDependency + dependency: NpmDependency, + transitive: Boolean ): Set { 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) + } } }