[Gradle, JS] Add imported packages as workspace, not file dependencies

This commit is contained in:
Ilya Goncharov
2021-04-08 18:35:08 +03:00
committed by TeamCityServer
parent f430d569d0
commit c4a1053aa7
2 changed files with 3 additions and 10 deletions
@@ -376,6 +376,7 @@ internal class KotlinCompilationNpmResolver(
) )
} }
@Suppress("unused")
class PackageJsonProducerInputs( class PackageJsonProducerInputs(
@get:Input @get:Input
val internalDependencies: Collection<String>, val internalDependencies: Collection<String>,
@@ -424,7 +425,7 @@ internal class KotlinCompilationNpmResolver(
) )
fun createPackageJson(skipWriting: Boolean): KotlinCompilationNpmResolution { fun createPackageJson(skipWriting: Boolean): KotlinCompilationNpmResolution {
val resolvedInternalDependencies = internalDependencies.map { internalDependencies.map {
compilationResolver.rootResolver[it.projectPath][it.compilationName].getResolutionOrResolveIfForced() compilationResolver.rootResolver[it.projectPath][it.compilationName].getResolutionOrResolveIfForced()
?: error("Unresolved dependent npm package: ${compilationResolver} -> $it") ?: error("Unresolved dependent npm package: ${compilationResolver} -> $it")
} }
@@ -483,14 +484,6 @@ internal class KotlinCompilationNpmResolver(
packageJson.dependencies[it.name] = it.version packageJson.dependencies[it.name] = it.version
} }
resolvedInternalDependencies.forEach {
packageJson.dependencies[it.packageJson.name] = it.packageJson.version
}
importedExternalGradleDependencies.forEach {
packageJson.dependencies[it.name] = fileVersion(it.path)
}
compilationResolver.packageJsonHandlers.forEach { compilationResolver.packageJsonHandlers.forEach {
it(packageJson) it(packageJson)
} }
@@ -31,7 +31,7 @@ class YarnImportedPackagesVersionResolver(
} }
fun resolveAndUpdatePackages(): MutableList<String> { fun resolveAndUpdatePackages(): MutableList<String> {
resolve(externalModules, false) resolve(externalModules, true)
resolve(internalCompositeModules, true) resolve(internalCompositeModules, true)
npmProjects.forEach { npmProjects.forEach {