UNPKG

query-registry

Version:

Query the npm registry for packuments, manifests, packages and download counts

38 lines (35 loc) 1.3 kB
import * as z from "zod"; import { fetchData } from "./fetch-data.js"; import { npmRegistryUrl } from "./npm-registry.js"; export const RegistryMetadata = z.object({ /** Database name, usually `registry` */ db_name: z.string().optional(), doc_count: z.number().optional(), doc_del_count: z.number().optional(), update_seq: z.number().optional(), purge_seq: z.number().optional(), compact_running: z.boolean().optional(), disk_size: z.number().optional(), data_size: z.number().optional(), instance_start_time: z.string().optional(), disk_format_version: z.number().optional(), committed_update_seq: z.number().optional(), compacted_seq: z.number().optional(), uuid: z.string().optional(), other: z.object({ data_size: z.number().optional() }).optional(), sizes: z .object({ file: z.number().optional(), active: z.number().optional(), external: z.number().optional(), }) .optional(), }); /** `getRegistryMetadata` returns the metadata describing the registry itself. @param registry - URL of the registry (default: npm registry) @see {@link RegistryMetadata} */ export async function getRegistryMetadata(registry = npmRegistryUrl) { return await fetchData(RegistryMetadata, registry); }