Skip to content

Commit 24ebc75

Browse files
committed
chore: reuse fetchNpmPackage
1 parent 386460d commit 24ebc75

1 file changed

Lines changed: 5 additions & 17 deletions

File tree

server/api/registry/license-change/[...pkg].get.ts

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,11 @@ interface LicenseChangeRecord {
33
to: string
44
}
55

6-
interface NpmRegistryVersion {
7-
version: string
8-
license?: string
9-
}
10-
11-
interface NpmRegistryResponse {
12-
time: Record<string, string>
13-
versions: Record<string, NpmRegistryVersion>
14-
}
15-
166
export default defineCachedEventHandler(
177
async event => {
188
// 1. Extract the package name from the catch-all parameter
19-
const rawPkg = getRouterParam(event, 'pkg')
20-
if (!rawPkg) {
9+
const packageName = getRouterParam(event, 'pkg')
10+
if (!packageName) {
2111
throw createError({
2212
statusCode: 400,
2313
statusMessage: 'Package name is required',
@@ -26,12 +16,10 @@ export default defineCachedEventHandler(
2616
const query = getQuery(event)
2717
const version = query.version || 'latest'
2818

29-
const packageName = decodeURIComponent(rawPkg).replace(/\/+$/, '').trim()
30-
3119
try {
3220
// 2. Fetch the "Packument" on the server
3321
// This stays on the server, so the client never downloads this massive JSON
34-
const data = await $fetch<NpmRegistryResponse>(`https://registry.npmjs.org/${packageName}`)
22+
const data = await fetchNpmPackage(packageName)
3523

3624
if (!data.versions || !data.time) {
3725
throw createError({
@@ -59,8 +47,8 @@ export default defineCachedEventHandler(
5947

6048
if (currentLicense !== previousLicense) {
6149
change = {
62-
from: previousLicense as string,
63-
to: currentLicense as string,
50+
from: previousLicense,
51+
to: currentLicense,
6452
}
6553
}
6654
return { change }

0 commit comments

Comments
 (0)