[Gradle, JS] Npm dependencies as transient, and store only declarations

This commit is contained in:
Ilya Goncharov
2020-12-10 16:44:36 +03:00
committed by Alexander Likhachev
parent b9aa577f84
commit e6bfe9a702
3 changed files with 12 additions and 5 deletions
@@ -111,9 +111,6 @@ data class NpmDependency(
} }
override fun getReason(): String? = reason override fun getReason(): String? = reason
fun uniqueRepresentation() =
"$scope $key:$version, $generateExternals"
} }
internal fun directoryNpmDependency( internal fun directoryNpmDependency(
@@ -18,6 +18,9 @@ data class NpmDependencyDeclaration(
val generateExternals: Boolean val generateExternals: Boolean
) )
fun NpmDependencyDeclaration.uniqueRepresentation() =
"$scope $name:$version, $generateExternals"
internal fun NpmDependency.toDeclaration(): NpmDependencyDeclaration = internal fun NpmDependency.toDeclaration(): NpmDependencyDeclaration =
NpmDependencyDeclaration( NpmDependencyDeclaration(
scope = this.scope, scope = this.scope,
@@ -367,9 +367,16 @@ internal class KotlinCompilationNpmResolver(
val internalCompositeDependencies: Collection<CompositeDependency>, val internalCompositeDependencies: Collection<CompositeDependency>,
@Transient @Transient
val externalGradleDependencies: Collection<ExternalGradleDependency>, val externalGradleDependencies: Collection<ExternalGradleDependency>,
@Transient
val externalNpmDependencies: Collection<NpmDependency>, val externalNpmDependencies: Collection<NpmDependency>,
val fileCollectionDependencies: Collection<FileCollectionDependency> val fileCollectionDependencies: Collection<FileCollectionDependency>
) { ) {
val externalNpmDependencyDeclarations by lazy {
externalNpmDependencies.map {
it.toDeclaration()
}
}
val fileExternalGradleDependencies by lazy { val fileExternalGradleDependencies by lazy {
externalGradleDependencies.map { externalGradleDependencies.map {
FileExternalGradleDependency( FileExternalGradleDependency(
@@ -385,7 +392,7 @@ internal class KotlinCompilationNpmResolver(
internalDependencies.map { it.npmProject.name }, internalDependencies.map { it.npmProject.name },
internalCompositeDependencies.flatMap { it.getPackages() }, internalCompositeDependencies.flatMap { it.getPackages() },
fileExternalGradleDependencies.map { it.file }, fileExternalGradleDependencies.map { it.file },
externalNpmDependencies.map { it.uniqueRepresentation() }, externalNpmDependencyDeclarations.map { it.uniqueRepresentation() },
fileCollectionDependencies.map { it.files }.flatMap { it.files } fileCollectionDependencies.map { it.files }.flatMap { it.files }
) )
@@ -424,7 +431,7 @@ internal class KotlinCompilationNpmResolver(
val toolsNpmDependencies = taskRequirements val toolsNpmDependencies = taskRequirements
.getCompilationNpmRequirements(compilationName) .getCompilationNpmRequirements(compilationName)
val allNpmDependencies = externalNpmDependencies.map { it.toDeclaration() } + toolsNpmDependencies val allNpmDependencies = externalNpmDependencyDeclarations + toolsNpmDependencies
val packageJson = packageJson( val packageJson = packageJson(
npmName, npmName,