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

Function fetchAllPackageVersions

app/utils/npm/api.ts:44–63  ·  view source on GitHub ↗
(packageName: string)

Source from the content-addressed store, hash-verified

42 * @see https://github.com/antfu/fast-npm-meta
43 */
44export async function fetchAllPackageVersions(packageName: string): Promise<PackageVersionInfo[]> {
45 const cached = allVersionsCache.get(packageName)
46 if (cached) return cached
47
48 const promise = (async () => {
49 const data = await getVersions(packageName, { metadata: true })
50
51 return Object.entries(data.versionsMeta)
52 .map(([version, meta]) => ({
53 version,
54 time: meta.time,
55 hasProvenance: meta.provenance === 'trustedPublisher' || meta.provenance === true,
56 deprecated: meta.deprecated,
57 }))
58 .sort((a, b) => compare(b.version, a.version))
59 })()
60
61 allVersionsCache.set(packageName, promise)
62 return promise
63}

Callers 1

doLoadFunction · 0.90

Calls 2

getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected