[Gradle, JS] Add dev dependencies into public package json

^KT-40201 fixed
This commit is contained in:
Ilya Goncharov
2020-07-10 19:43:46 +03:00
parent bb23556ead
commit c5f89ebc0d
3 changed files with 6 additions and 17 deletions
@@ -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:"
@@ -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<String, String>.processDependencies() {
val newDependencies = mutableMapOf<String, String>()
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)
}
}
@@ -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