[READ-ONLY] a fast, modern browser for the npm registry
at main 30 lines 903 B view raw
1import type { ModuleFormat, TypesStatus, CreatePackageInfo } from '#shared/utils/package-analysis' 2import type { DevDependencySuggestion } from '#shared/utils/dev-dependency' 3 4export interface PackageAnalysisResponse { 5 package: string 6 version: string 7 moduleFormat: ModuleFormat 8 types: TypesStatus 9 devDependencySuggestion: DevDependencySuggestion 10 engines?: { 11 node?: string 12 npm?: string 13 } 14 createPackage?: CreatePackageInfo 15} 16 17/** 18 * Composable for fetching package analysis data (module format, types info, etc.) 19 */ 20export function usePackageAnalysis( 21 packageName: MaybeRefOrGetter<string>, 22 version?: MaybeRefOrGetter<string | null | undefined>, 23) { 24 return useLazyFetch<PackageAnalysisResponse>(() => { 25 const name = toValue(packageName) 26 const ver = toValue(version) 27 const base = `/api/registry/analysis/${name}` 28 return ver ? `${base}/v/${ver}` : base 29 }) 30}