[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 return directory.name
} }
fun NpmDependency.isPublicDependency(): Boolean =
scope != DEV
const val FILE_VERSION_PREFIX = "file:" const val FILE_VERSION_PREFIX = "file:"
@@ -58,28 +58,21 @@ constructor(
packageJson.apply { packageJson.apply {
listOf( listOf(
dependencies, dependencies,
devDependencies,
peerDependencies, peerDependencies,
optionalDependencies optionalDependencies
).forEach { it.processDependencies() } ).forEach { it.processDependencies() }
} }
packageJson.devDependencies.clear()
packageJson.saveTo(this@PublicPackageJsonTask.packageJsonFile) packageJson.saveTo(this@PublicPackageJsonTask.packageJsonFile)
} }
} }
private fun MutableMap<String, String>.processDependencies() { private fun MutableMap<String, String>.processDependencies() {
val newDependencies = mutableMapOf<String, String>() filter { (_, version) ->
filterNot { (_, version) -> version.isFileVersion() } version.isFileVersion()
.forEach { (key, version) -> }.forEach { (key, _) ->
newDependencies[key] = version remove(key)
}
clear()
newDependencies.forEach { (key, version) ->
this[key] = version
} }
} }
@@ -179,8 +179,7 @@ internal class KotlinCompilationNpmResolver(
internalDependencies.add(projectResolver[main]) internalDependencies.add(projectResolver[main])
} }
val hasPublicNpmDependencies = externalNpmDependencies val hasPublicNpmDependencies = externalNpmDependencies.isNotEmpty()
.any { it.isPublicDependency() }
if (compilation.isMain() && hasPublicNpmDependencies) { if (compilation.isMain() && hasPublicNpmDependencies) {
project.tasks project.tasks