npx-scope-finder
Version:
A tool to find executable (npx-compatible) packages within a specific npm scope
92 lines (91 loc) • 2.3 kB
TypeScript
export 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;
}
export interface SearchResponse {
objects: Array<{
package: {
name: string;
scope: string;
version: string;
description: string;
keywords: string[];
date: string;
};
}>;
total: number;
time: string;
}
export interface PackageInfo {
name: string;
"dist-tags": {
latest: string;
[tag: string]: string;
};
versions: {
[version: string]: {
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;
}>;
};
};
time?: {
created: string;
modified: string;
[version: string]: string;
};
readme?: string;
_id?: string;
_rev?: string;
}
export interface NpxFinderOptions {
timeout?: number;
retries?: number;
retryDelay?: number;
}