From c5f89ebc0d34f53dd6f4ef34bdc48b3a87117e7c Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 10 Jul 2020 19:43:46 +0300 Subject: [PATCH] [Gradle, JS] Add dev dependencies into public package json ^KT-40201 fixed --- .../gradle/targets/js/npm/NpmDependency.kt | 3 --- .../targets/js/npm/PublicPackageJsonTask.kt | 17 +++++------------ .../resolver/KotlinCompilationNpmResolver.kt | 3 +-- 3 files changed, 6 insertions(+), 17 deletions(-) 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 38caffca093..74f18a98957 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 @@ -158,7 +158,4 @@ internal fun moduleName(directory: File): String { return directory.name } -fun NpmDependency.isPublicDependency(): Boolean = - scope != DEV - const val FILE_VERSION_PREFIX = "file:" \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt index 9be87af3e63..d94c9e7092a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt @@ -58,28 +58,21 @@ constructor( packageJson.apply { listOf( dependencies, + devDependencies, peerDependencies, optionalDependencies ).forEach { it.processDependencies() } } - packageJson.devDependencies.clear() - packageJson.saveTo(this@PublicPackageJsonTask.packageJsonFile) } } private fun MutableMap.processDependencies() { - val newDependencies = mutableMapOf() - filterNot { (_, version) -> version.isFileVersion() } - .forEach { (key, version) -> - newDependencies[key] = version - } - - clear() - - newDependencies.forEach { (key, version) -> - this[key] = version + filter { (_, version) -> + version.isFileVersion() + }.forEach { (key, _) -> + remove(key) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt index f60d963d22a..a046efc7673 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt @@ -179,8 +179,7 @@ internal class KotlinCompilationNpmResolver( internalDependencies.add(projectResolver[main]) } - val hasPublicNpmDependencies = externalNpmDependencies - .any { it.isPublicDependency() } + val hasPublicNpmDependencies = externalNpmDependencies.isNotEmpty() if (compilation.isMain() && hasPublicNpmDependencies) { project.tasks