packagist-api-client
Version:
Packgist (PHP Package Repository) API client in JavaScript.
103 lines (102 loc) • 2.42 kB
TypeScript
interface IPackagistPackageSource {
type: string;
url: string;
reference: string;
shasum?: string;
}
interface IPackagistPackageVersionDetails {
name: string;
description: string;
time: string;
keywords: [string];
homepage: string;
version: string;
version_normalzed: string;
license: [string];
authors: [{
name: string;
email: string;
homepage?: string;
role?: string;
}];
source: IPackagistPackageSource;
dist: IPackagistPackageSource;
type: string;
uid: number;
autoload?: {
[key: string]: {
[key: string]: string;
};
};
require?: {
[key: string]: string;
};
'require-dev'?: {
[key: string]: string;
};
suggest?: {
[key: string]: string;
};
extra?: {
[key: string]: string;
};
provide?: {
[key: string]: string;
};
[key: string]: any;
}
interface IPackagistMetadataResponse {
packages?: {
[packageName: string]: {
[version: string]: IPackagistPackageVersionDetails;
};
};
}
declare type VendorPackageInput = string | {
vendor: string;
package: string;
};
export declare function getPackageMetadata(vp: VendorPackageInput, ifModifiedSince?: string): Promise<{
data: IPackagistMetadataResponse;
lastModified: string;
}>;
interface IPackagistPackageDetails {
name: string;
description: string;
time: string;
maintainers: {
name: string;
avatar_url: string;
};
versions: {
[version: string]: IPackagistPackageVersionDetails;
};
type: string;
repository: string;
github_starts?: number;
github_watchers?: number;
github_forks?: number;
github_open_issues?: number;
language?: string;
dependents: number;
suggesters: number;
downloads: {
total: number;
monthly: number;
daily: number;
};
favers: number;
}
interface IPackagistPackageDetailResponse {
package: IPackagistPackageDetails;
}
export declare function getPackageDetails(vp: VendorPackageInput): Promise<IPackagistPackageDetailResponse>;
interface IPackagistStatistics {
totals: {
downloads: number;
packages: number;
version: number;
};
}
export declare function getPackagistStats(): Promise<IPackagistStatistics>;
export {};