@@ -2,6 +2,8 @@ package de.fayard.refreshVersions.core.internal
22
33import de.fayard.refreshVersions.core.ModuleId
44import de.fayard.refreshVersions.core.extensions.gradle.moduleId
5+ import de.fayard.refreshVersions.core.extensions.gradle.npmModuleId
6+ import de.fayard.refreshVersions.core.extensions.gradle.tryExtractingSimpleVersion
57import de.fayard.refreshVersions.core.internal.VersionManagementKind.Match
68import de.fayard.refreshVersions.core.internal.VersionManagementKind.NoMatch
79import org.gradle.api.artifacts.Dependency
@@ -89,15 +91,28 @@ private fun Dependency.hasVersionInVersionCatalog(
8991 versionsCatalogLibraries : Collection <MinimalExternalModuleDependency >,
9092 versionsCatalogPlugins : Set <PluginDependencyCompat > = emptySet()
9193): Boolean {
92- if (this !is ExternalDependency ) return false
94+ when {
95+ this ::class .simpleName == " NpmDependency" -> {
96+ return versionsCatalogLibraries.any {
97+ val moduleId = npmModuleId()
98+ it.module.group == (moduleId.group ? : " <unscoped>" ) && it.module.name == moduleId.name
99+ && it.versionConstraint.tryExtractingSimpleVersion() == version
100+ }
101+ }
93102
94- val matchingLib = versionsCatalogLibraries.any {
95- it.module.group == group && it.module.name == name && it.versionConstraint == versionConstraint
96- }
97- if (matchingLib) return true
103+ this is ExternalDependency -> {
104+ val matchingLib = versionsCatalogLibraries.any {
105+ it.module.group == group && it.module.name == name
106+ && it.versionConstraint == versionConstraint
107+ }
108+ if (matchingLib) return true
98109
99- if (name.endsWith(" .gradle.plugin" ).not ()) return false
110+ if (name.endsWith(" .gradle.plugin" ).not ()) return false
100111
101- val pluginId = name.substringBeforeLast(" .gradle.plugin" )
102- return versionsCatalogPlugins.any { it.pluginId == pluginId && it.version == versionConstraint }
112+ val pluginId = name.substringBeforeLast(" .gradle.plugin" )
113+ return versionsCatalogPlugins.any { it.pluginId == pluginId && it.version == versionConstraint }
114+ }
115+
116+ else -> return false
117+ }
103118}
0 commit comments