Skip to content

Commit c12f507

Browse files
committed
feat: update
1 parent 6e6bbcb commit c12f507

File tree

3 files changed

+8
-38
lines changed

3 files changed

+8
-38
lines changed

app/pages/package/[[org]]/[name]/versions.vue

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ interface NpmWebsiteVersionDownload {
2323
}
2424
2525
interface NpmWebsiteVersionsResponse {
26-
weeklyDownloads?: number
2726
versions: NpmWebsiteVersionDownload[]
2827
}
2928

server/api/registry/npmjs-versions/[...pkg].get.ts

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,11 @@ export default defineCachedEventHandler(
1111
const packageName = decodeURIComponent(pkgParam)
1212

1313
try {
14-
const parsed = await fetchNpmVersionDownloadsFromApi(packageName)
15-
16-
if (parsed.versions.length === 0) {
17-
throw createError({
18-
statusCode: 502,
19-
message: 'Failed to fetch version download data',
20-
})
21-
}
14+
const versions = await fetchNpmVersionDownloadsFromApi(packageName)
2215

2316
return {
2417
packageName,
25-
source: 'npm-api',
26-
sourceUrl: `https://api.npmjs.org/versions/${encodePackageName(packageName)}/last-week`,
27-
fetchedAt: new Date().toISOString(),
28-
weeklyDownloads: parsed.weeklyDownloads,
29-
versions: parsed.versions,
18+
versions,
3019
}
3120
} catch (error: unknown) {
3221
handleApiError(error, {

server/utils/npm-website-versions.ts

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,16 @@ export interface NpmWebsiteVersionDownload {
33
downloads: number
44
}
55

6-
export interface NpmWebsiteVersionsData {
7-
weeklyDownloads?: number
8-
versions: NpmWebsiteVersionDownload[]
9-
}
10-
116
interface NpmApiVersionDownloadsResponse {
127
downloads: Record<string, number>
138
}
149

15-
interface NpmApiWeeklyDownloadsResponse {
16-
downloads: number
17-
}
18-
1910
export async function fetchNpmVersionDownloadsFromApi(
2011
packageName: string,
21-
): Promise<NpmWebsiteVersionsData> {
12+
): Promise<NpmWebsiteVersionDownload[]> {
2213
const encodedName = encodePackageName(packageName)
2314

24-
const [versionsResponse, weeklyDownloadsResponse] = await Promise.all([
25-
fetch(`https://api.npmjs.org/versions/${encodedName}/last-week`),
26-
fetch(`https://api.npmjs.org/downloads/point/last-week/${encodedName}`),
27-
])
15+
const versionsResponse = await fetch(`https://api.npmjs.org/versions/${encodedName}/last-week`)
2816

2917
if (!versionsResponse.ok) {
3018
if (versionsResponse.status === 404) {
@@ -41,15 +29,9 @@ export async function fetchNpmVersionDownloadsFromApi(
4129
}
4230

4331
const versionsData = (await versionsResponse.json()) as NpmApiVersionDownloadsResponse
44-
const weeklyDownloadsData = weeklyDownloadsResponse.ok
45-
? ((await weeklyDownloadsResponse.json()) as NpmApiWeeklyDownloadsResponse)
46-
: null
4732

48-
return {
49-
weeklyDownloads: weeklyDownloadsData?.downloads,
50-
versions: Object.entries(versionsData.downloads).map(([version, downloads]) => ({
51-
version,
52-
downloads,
53-
})),
54-
}
33+
return Object.entries(versionsData.downloads).map(([version, downloads]) => ({
34+
version,
35+
downloads,
36+
}))
5537
}

0 commit comments

Comments
 (0)