MCPcopy Index your code
hub / github.com/npmx-dev/npmx.dev / resolveVersion

Function resolveVersion

server/utils/dependency-resolver.ts:69–94  ·  view source on GitHub ↗
(range: string, versions: string[])

Source from the content-addressed store, hash-verified

67 * Resolve a semver range to a specific version from available versions.
68 */
69export function resolveVersion(range: string, versions: string[]): string | null {
70 if (versions.includes(range)) return range
71
72 // Handle npm: protocol (aliases)
73 if (range.startsWith('npm:')) {
74 const atIndex = range.lastIndexOf('@')
75 if (atIndex > 4) {
76 return resolveVersion(range.slice(atIndex + 1), versions)
77 }
78 return null
79 }
80
81 // Handle URLs, git refs, etc. - we can't resolve these
82 if (
83 range.startsWith('http://') ||
84 range.startsWith('https://') ||
85 range.startsWith('git://') ||
86 range.startsWith('git+') ||
87 range.startsWith('file:') ||
88 range.includes('/')
89 ) {
90 return null
91 }
92
93 return maxSatisfying(versions, range)
94}
95
96/** Resolved package info */
97export interface ResolvedPackage {

Callers 2

resolveDependencyTreeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected