@remcostoeten/fync
Version:
A unified TypeScript library for easy access to popular APIs (GitHub, Spotify, GitLab, etc.)
198 lines • 4.96 kB
TypeScript
import type { TNpmBugs, TNpmDependencies, TNpmDistInfo, TNpmEngines, TNpmMaintainer, TNpmPerson, TNpmRepository, TNpmScripts } from "./npm-common";
type TNpmPackageVersion = {
name: string;
version: string;
description?: string;
keywords?: string[];
homepage?: string;
bugs?: TNpmBugs;
license?: string;
author?: TNpmPerson;
contributors?: TNpmPerson[];
maintainers?: TNpmMaintainer[];
repository?: TNpmRepository;
main?: string;
module?: string;
types?: string;
exports?: Record<string, unknown>;
scripts?: TNpmScripts;
dependencies?: TNpmDependencies;
devDependencies?: TNpmDependencies;
peerDependencies?: TNpmDependencies;
optionalDependencies?: TNpmDependencies;
engines?: TNpmEngines;
os?: string[];
cpu?: string[];
files?: string[];
bin?: Record<string, string> | string;
directories?: Record<string, string>;
publishConfig?: Record<string, unknown>;
dist: TNpmDistInfo;
_id: string;
_nodeVersion: string;
_npmVersion: string;
_hasShrinkwrap?: boolean;
_shasum: string;
_resolved?: string;
_integrity?: string;
_from?: string;
};
type TNpmPackageInfo = {
_id: string;
_rev: string;
name: string;
description?: string;
"dist-tags": Record<string, string>;
versions: Record<string, TNpmPackageVersion>;
maintainers: TNpmMaintainer[];
time: Record<string, string>;
author?: TNpmPerson;
repository?: TNpmRepository;
users?: Record<string, boolean>;
homepage?: string;
keywords?: string[];
contributors?: TNpmPerson[];
bugs?: TNpmBugs;
license?: string;
readme?: string;
readmeFilename?: string;
};
type TNpmSearchResult = {
package: {
name: string;
scope?: string;
version: string;
description?: string;
keywords?: string[];
date: string;
links: {
npm?: string;
homepage?: string;
repository?: string;
bugs?: string;
};
author?: TNpmPerson;
publisher: TNpmPerson;
maintainers: TNpmMaintainer[];
};
score: {
final: number;
detail: {
quality: number;
popularity: number;
maintenance: number;
};
};
searchScore: number;
flags?: {
unstable?: boolean;
};
};
type TNpmSearchResponse = {
objects: TNpmSearchResult[];
total: number;
time: string;
};
type TNpmDownloadsPoint = {
downloads: number;
day: string;
};
type TNpmDownloadsResponse = {
downloads: TNpmDownloadsPoint[];
start: string;
end: string;
package: string;
};
type TNpmDownloadCount = {
downloads: number;
start: string;
end: string;
package: string;
};
type TNpmUser = {
_id: string;
_rev: string;
name: string;
email?: string;
fullname?: string;
homepage?: string;
freenode?: string;
twitter?: string;
github?: string;
created: string;
updated: string;
};
type TNpmOrganization = {
_id: string;
_rev: string;
name: string;
description?: string;
size: number;
created: string;
updated: string;
};
type TNpmVulnerability = {
id: number;
title: string;
module_name: string;
publish_date: string;
update_date: string;
author: TNpmPerson;
vulnerable_versions: string;
patched_versions: string;
overview: string;
recommendation: string;
references: string[];
access: string;
severity: string;
cwe: string;
cves: string[];
};
type TNpmAuditResponse = {
actions: {
action: string;
module: string;
target: string;
isMajor?: boolean;
resolves: TNpmVulnerability[];
}[];
advisories: Record<string, TNpmVulnerability>;
metas: {
vulnerabilities: {
info: number;
low: number;
moderate: number;
high: number;
critical: number;
};
dependencies: number;
devDependencies: number;
optionalDependencies: number;
totalDependencies: number;
};
runId: string;
};
type TNpmPackageSize = {
size: number;
gzip: number;
files: number;
};
type TNpmDeprecation = {
versions: string[];
message: string;
time: string;
};
type TNpmDistTags = Record<string, string> & {
latest: string;
beta?: string;
alpha?: string;
canary?: string;
next?: string;
};
type TNpmCollaborator = {
name: string;
email: string;
access: "read" | "write" | "admin";
};
export type { TNpmPackageVersion, TNpmPackageInfo, TNpmSearchResult, TNpmSearchResponse, TNpmDownloadsPoint, TNpmDownloadsResponse, TNpmDownloadCount, TNpmUser, TNpmOrganization, TNpmVulnerability, TNpmAuditResponse, TNpmPackageSize, TNpmDeprecation, TNpmDistTags, TNpmCollaborator, };
//# sourceMappingURL=npm-package.d.ts.map