diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnImportedPackagesVersionResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnImportedPackagesVersionResolver.kt index ea8dff5f895..6f6abd73769 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnImportedPackagesVersionResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnImportedPackagesVersionResolver.kt @@ -30,14 +30,19 @@ class YarnImportedPackagesVersionResolver( } fun resolveAndUpdatePackages(): MutableList { - resolveAndUpdate(externalModules, false) - resolveAndUpdate(internalCompositeModules, true) - return importedProjectWorkspaces - } + resolve(externalModules, false) + resolve(internalCompositeModules, true) - private fun resolveAndUpdate(modules: MutableSet, isWorkspace: Boolean) { - resolve(modules, isWorkspace) - updatePackages(modules) + if (resolvedVersion.isNotEmpty()) { + npmProjects.forEach { + updatePackageJson(it.packageJson, it.npmProject.packageJsonFile) + } + + updatePackages(externalModules) + updatePackages(internalCompositeModules) + } + + return importedProjectWorkspaces } private fun resolve(modules: MutableSet, isWorkspace: Boolean) { @@ -63,12 +68,6 @@ class YarnImportedPackagesVersionResolver( } private fun updatePackages(modules: MutableSet) { - if (resolvedVersion.isEmpty()) return - - npmProjects.forEach { - updatePackageJson(it.packageJson, it.npmProject.packageJsonFile) - } - modules.forEach { val packageJsonFile = it.path.resolve(NpmProject.PACKAGE_JSON) val packageJson = packageJsonFile.reader().use {