Skip to content

Commit 4164058

Browse files
committed
address coderabbit's feedback
1 parent 62f2eae commit 4164058

File tree

1 file changed

+29
-31
lines changed

1 file changed

+29
-31
lines changed

app/composables/usePackageComparison.ts

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export interface PackageComparisonData {
1616
/** Package's own unpacked size (from dist.unpackedSize) */
1717
packageSize?: number
1818
/** Direct dependencies count */
19-
directDeps: number
19+
directDeps: number | null
2020
/** Install size data (fetched lazily) */
2121
installSize?: {
2222
selfSize: number
@@ -113,9 +113,6 @@ export function usePackageComparison(packageNames: MaybeRefOrGetter<string[]>) {
113113
),
114114
])
115115

116-
const pkg = usePackage(name, latestVersion)
117-
const requestedVersion = pkg.data.value?.requestedVersion
118-
119116
const versionData = pkgData.versions[latestVersion]
120117
const packageSize = versionData?.dist?.unpackedSize
121118

@@ -146,7 +143,7 @@ export function usePackageComparison(packageNames: MaybeRefOrGetter<string[]>) {
146143
},
147144
downloads: downloads?.downloads,
148145
packageSize,
149-
directDeps: getDependencyCount(requestedVersion ?? null),
146+
directDeps: versionData ? getDependencyCount(versionData) : null,
150147
installSize: undefined, // Will be filled in second pass
151148
analysis: analysis ?? undefined,
152149
vulnerabilities: {
@@ -263,40 +260,40 @@ function computeFacetValue(
263260
t: (key: string, params?: Record<string, unknown>) => string,
264261
): FacetValue | null {
265262
switch (facet) {
266-
case 'downloads':
263+
case 'downloads': {
267264
if (data.downloads === undefined) return null
268265
return {
269266
raw: data.downloads,
270267
display: formatCompactNumber(data.downloads),
271268
status: 'neutral',
272269
}
273-
274-
case 'packageSize':
270+
}
271+
case 'packageSize': {
275272
if (!data.packageSize) return null
276273
return {
277274
raw: data.packageSize,
278275
display: formatBytes(data.packageSize),
279276
status: data.packageSize > 5 * 1024 * 1024 ? 'warning' : 'neutral',
280277
}
281-
282-
case 'installSize':
278+
}
279+
case 'installSize': {
283280
if (!data.installSize) return null
284281
return {
285282
raw: data.installSize.totalSize,
286283
display: formatBytes(data.installSize.totalSize),
287284
status: data.installSize.totalSize > 50 * 1024 * 1024 ? 'warning' : 'neutral',
288285
}
289-
290-
case 'moduleFormat':
286+
}
287+
case 'moduleFormat': {
291288
if (!data.analysis) return null
292289
const format = data.analysis.moduleFormat
293290
return {
294291
raw: format,
295292
display: format === 'dual' ? 'ESM + CJS' : format.toUpperCase(),
296293
status: format === 'esm' || format === 'dual' ? 'good' : 'neutral',
297294
}
298-
299-
case 'types':
295+
}
296+
case 'types': {
300297
if (data.isBinaryOnly) {
301298
return {
302299
raw: 'binary',
@@ -317,8 +314,8 @@ function computeFacetValue(
317314
: t('compare.facets.values.types_none'),
318315
status: types.kind === 'included' ? 'good' : types.kind === '@types' ? 'info' : 'bad',
319316
}
320-
321-
case 'engines':
317+
}
318+
case 'engines': {
322319
const engines = data.metadata?.engines
323320
if (!engines?.node) {
324321
return { raw: null, display: t('compare.facets.values.any'), status: 'neutral' }
@@ -328,8 +325,8 @@ function computeFacetValue(
328325
display: `Node ${engines.node}`,
329326
status: 'neutral',
330327
}
331-
332-
case 'vulnerabilities':
328+
}
329+
case 'vulnerabilities': {
333330
if (!data.vulnerabilities) return null
334331
const count = data.vulnerabilities.count
335332
const sev = data.vulnerabilities.severity
@@ -345,8 +342,8 @@ function computeFacetValue(
345342
}),
346343
status: count === 0 ? 'good' : sev.critical > 0 || sev.high > 0 ? 'bad' : 'warning',
347344
}
348-
349-
case 'lastUpdated':
345+
}
346+
case 'lastUpdated': {
350347
if (!data.metadata?.lastUpdated) return null
351348
const date = new Date(data.metadata.lastUpdated)
352349
return {
@@ -355,8 +352,8 @@ function computeFacetValue(
355352
status: isStale(date) ? 'warning' : 'neutral',
356353
type: 'date',
357354
}
358-
359-
case 'license':
355+
}
356+
case 'license': {
360357
const license = data.metadata?.license
361358
if (!license) {
362359
return { raw: null, display: t('compare.facets.values.unknown'), status: 'warning' }
@@ -366,17 +363,17 @@ function computeFacetValue(
366363
display: license,
367364
status: 'neutral',
368365
}
369-
370-
case 'dependencies':
371-
if (!data.directDeps) return null
366+
}
367+
case 'dependencies': {
368+
if (data.directDeps == null) return null
372369
const depCount = data.directDeps
373370
return {
374371
raw: depCount,
375372
display: String(depCount),
376373
status: depCount > 10 ? 'warning' : 'neutral',
377374
}
378-
379-
case 'deprecated':
375+
}
376+
case 'deprecated': {
380377
const isDeprecated = !!data.metadata?.deprecated
381378
return {
382379
raw: isDeprecated,
@@ -385,19 +382,20 @@ function computeFacetValue(
385382
: t('compare.facets.values.not_deprecated'),
386383
status: isDeprecated ? 'bad' : 'good',
387384
}
388-
385+
}
389386
// Coming soon facets
390-
case 'totalDependencies':
387+
case 'totalDependencies': {
391388
if (!data.installSize) return null
392389
const totalDepCount = data.installSize.dependencyCount
393390
return {
394391
raw: totalDepCount,
395392
display: String(totalDepCount),
396393
status: totalDepCount > 50 ? 'warning' : 'neutral',
397394
}
398-
399-
default:
395+
}
396+
default: {
400397
return null
398+
}
401399
}
402400
}
403401

0 commit comments

Comments
 (0)