diff --git a/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/extensions/gradle/Dependency.kt b/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/extensions/gradle/Dependency.kt index 8103c604e..2f6cd067e 100644 --- a/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/extensions/gradle/Dependency.kt +++ b/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/extensions/gradle/Dependency.kt @@ -23,5 +23,5 @@ internal fun Dependency.npmModuleId(): ModuleId.Npm { } internal fun Dependency.matches(moduleId: ModuleId): Boolean { - return moduleId.group == group && moduleId.name == name + return moduleId == moduleId() } diff --git a/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionManagementKind.kt b/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionManagementKind.kt index f4d99fc90..2162981ec 100644 --- a/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionManagementKind.kt +++ b/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionManagementKind.kt @@ -2,6 +2,8 @@ package de.fayard.refreshVersions.core.internal import de.fayard.refreshVersions.core.ModuleId import de.fayard.refreshVersions.core.extensions.gradle.moduleId +import de.fayard.refreshVersions.core.extensions.gradle.npmModuleId +import de.fayard.refreshVersions.core.extensions.gradle.tryExtractingSimpleVersion import de.fayard.refreshVersions.core.internal.VersionManagementKind.Match import de.fayard.refreshVersions.core.internal.VersionManagementKind.NoMatch import org.gradle.api.artifacts.Dependency @@ -89,15 +91,28 @@ private fun Dependency.hasVersionInVersionCatalog( versionsCatalogLibraries: Collection, versionsCatalogPlugins: Set = emptySet() ): Boolean { - if (this !is ExternalDependency) return false + when { + this::class.simpleName == "NpmDependency" -> { + return versionsCatalogLibraries.any { + val moduleId = npmModuleId() + it.module.group == (moduleId.group ?: "") && it.module.name == moduleId.name + && it.versionConstraint.tryExtractingSimpleVersion() == version + } + } - val matchingLib = versionsCatalogLibraries.any { - it.module.group == group && it.module.name == name && it.versionConstraint == versionConstraint - } - if (matchingLib) return true + this is ExternalDependency -> { + val matchingLib = versionsCatalogLibraries.any { + it.module.group == group && it.module.name == name + && it.versionConstraint == versionConstraint + } + if (matchingLib) return true - if (name.endsWith(".gradle.plugin").not()) return false + if (name.endsWith(".gradle.plugin").not()) return false - val pluginId = name.substringBeforeLast(".gradle.plugin") - return versionsCatalogPlugins.any { it.pluginId == pluginId && it.version == versionConstraint } + val pluginId = name.substringBeforeLast(".gradle.plugin") + return versionsCatalogPlugins.any { it.pluginId == pluginId && it.version == versionConstraint } + } + + else -> return false + } } diff --git a/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionsCatalogUpdater.kt b/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionsCatalogUpdater.kt index 6b612ab81..bbe99b218 100644 --- a/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionsCatalogUpdater.kt +++ b/plugins/core/src/main/kotlin/de/fayard/refreshVersions/core/internal/VersionsCatalogUpdater.kt @@ -51,7 +51,7 @@ internal class VersionsCatalogUpdater( }.mapNotNull { libOrPlugin -> dependenciesUpdates.firstOrNull { val moduleId = it.moduleId - (moduleId.name == libOrPlugin.name) && (moduleId.group == libOrPlugin.group) + (moduleId.name == libOrPlugin.name) && ((moduleId.group ?: "") == libOrPlugin.group) } }.firstOrNull() }