UNPKG

npx-scope-finder

Version:

A tool to find executable (npx-compatible) packages within a specific npm scope

105 lines 2.22 kB
//#region src/types.d.ts interface NPMPackage { name: string; description?: string; version: string; bin?: Record<string, string>; dependencies?: Record<string, string>; scripts?: Record<string, string>; keywords?: string[]; links?: { npm?: string; repository?: string; homepage?: string; }; original?: PackageInfo; } interface SearchResponse { objects: Array<{ package: { name: string; scope: string; version: string; description: string; keywords: string[]; date: string; }; }>; total: number; time: string; } interface PackageInfo { name: string; "dist-tags": { latest: string; [tag: string]: string; }; versions: { [version: string]: LatestVersionInfo; }; time?: { created: string; modified: string; [version: string]: string; }; readme?: string; _id?: string; _rev?: string; } interface LatestVersionInfo { name: string; version: string; description?: string; bin?: Record<string, string>; scripts?: Record<string, string>; dependencies?: Record<string, string>; devDependencies?: Record<string, string>; keywords?: string[]; repository?: { type: string; url: string; }; homepage?: string; author?: { name?: string; email?: string; url?: string; }; license?: string; dist: { shasum: string; tarball: string; integrity?: string; fileCount?: number; unpackedSize?: number; "npm-signature"?: string; }; _id?: string; _npmVersion?: string; _npmUser?: { name: string; email: string; }; maintainers?: Array<{ name?: string; email?: string; url?: string; }>; } type Logger = { error: (...args: unknown[]) => void; }; interface NpxFinderOptions { timeout?: number; retries?: number; retryDelay?: number; concurrency?: number; maxPages?: number; includeOriginal?: boolean; logger?: Logger; } //#endregion //#region src/index.d.ts declare function npxFinder(scope: string, options?: NpxFinderOptions): Promise<NPMPackage[]>; //#endregion export { type LatestVersionInfo, type Logger, type NPMPackage, type NpxFinderOptions, type PackageInfo, type SearchResponse, npxFinder };