diff --git a/app/composables/npm/useOutdatedDependencies.ts b/app/composables/npm/useOutdatedDependencies.ts index 37ee65c6e..12914a46e 100644 --- a/app/composables/npm/useOutdatedDependencies.ts +++ b/app/composables/npm/useOutdatedDependencies.ts @@ -99,10 +99,19 @@ export function useOutdatedDependencies( const data = versionMap.get(name) if (!data) continue - const latestTag = data.distTags.latest - if (!latestTag) continue + let latestStable = data.distTags.latest + if (!latestStable) continue + + // If latest tag is a prerelease, find the latest stable version instead. Take note that this + // overrides the latest distTag. + if (prerelease(latestStable)) { + const stableVersions = data.versions.filter(v => !prerelease(v)) + if (stableVersions.length > 0) { + latestStable = maxSatisfying(stableVersions, '*') ?? latestStable + } + } - const info = resolveOutdated(data.versions, latestTag, constraint) + const info = resolveOutdated(data.versions, latestStable, constraint) if (info) { results[name] = info }