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 03f2491dae2..f11933c5fd8 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 @@ -87,7 +87,7 @@ data class NpmDependency( val key: String = name - override fun toString() = "$scope $key: $version, $generateExternals" + override fun toString() = "$key: $version" override fun getFiles(): FileCollection = project.files(resolve(true)) @@ -110,6 +110,9 @@ data class NpmDependency( } override fun getReason(): String? = reason + + fun uniqueRepresentation() = + "$scope $key:$version, $generateExternals" } internal fun directoryNpmDependency( diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt index aaa33814021..cbf595dfee3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt @@ -11,6 +11,7 @@ import org.gradle.api.tasks.* import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin +import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.KotlinCompilationNpmResolver import org.jetbrains.kotlin.gradle.targets.js.npm.resolver.PACKAGE_JSON_UMBRELLA_TASK_NAME @@ -40,7 +41,8 @@ open class KotlinPackageJsonTask : DefaultTask() { .getTaskRequirements(compilation) .flatMap { it.requiredNpmDependencies } .map { it.createDependency(project) } - .map { it.toString() } + .filterIsInstance() + .map { it.uniqueRepresentation() } @get:Nested internal val producerInputs: KotlinCompilationNpmResolver.PackageJsonProducerInputs