MCPcopy
hub / github.com/npmx-dev/npmx.dev / getHref

Function getHref

server/utils/code-highlight.ts:173–194  ·  view source on GitHub ↗
(moduleSpecifier: string)

Source from the content-addressed store, hash-verified

171 const { dependencies, resolveRelative } = options ?? {}
172
173 const getHref = (moduleSpecifier: string): string | null => {
174 const cleanSpec = moduleSpecifier.replace(/^['"]|['"]$/g, '').trim()
175
176 // Try relative import resolution first
177 if (cleanSpec.startsWith('.') && resolveRelative) {
178 return resolveRelative(moduleSpecifier)
179 }
180
181 // Not a relative import - check if it's an npm package
182 if (!isNpmPackage(moduleSpecifier)) {
183 return null
184 }
185
186 const packageName = getPackageName(moduleSpecifier)
187 const dep = dependencies?.[packageName]
188 if (dep) {
189 // Link to code browser with resolved version
190 return `/package-code/${packageName}/v/${dep.version}`
191 }
192 // Fall back to package page if not a known dependency
193 return `/package/${packageName}`
194 }
195
196 // Match: from keyword span followed by string span containing module specifier
197 // Pattern: <span style="...">from</span><span style="..."> 'module'</span>

Callers 1

linkifyModuleSpecifiersFunction · 0.85

Calls 2

isNpmPackageFunction · 0.85
getPackageNameFunction · 0.70

Tested by

no test coverage detected