cnpmcore
Version:
Private NPM Registry for Enterprise
44 lines (43 loc) • 1.6 kB
TypeScript
import { HttpClientRequestOptions, HttpClientResponse } from 'egg';
import type { PackageManifestType } from '../../repository/PackageRepository.ts';
type HttpMethod = HttpClientRequestOptions['method'];
export type RegistryResponse<T = any> = {
method: HttpMethod;
} & HttpClientResponse<T>;
export declare class NPMRegistry {
private readonly logger;
private readonly httpClient;
private config;
private timeout;
registryHost: string;
get registry(): string;
setRegistryHost(registryHost?: string): void;
getFullManifests(fullname: string, optionalConfig?: {
retries?: number;
remoteAuthToken?: string;
}): Promise<RegistryResponse<PackageManifestType>>;
getFullManifestsBuffer(fullname: string, optionalConfig?: {
retries?: number;
remoteAuthToken?: string;
}): Promise<RegistryResponse<Buffer>>;
createSyncTask(fullname: string, optionalConfig?: {
remoteAuthToken?: string;
}): Promise<RegistryResponse>;
getSyncTask(fullname: string, id: string, offset: number, optionalConfig?: {
remoteAuthToken?: string;
}): Promise<RegistryResponse<{
ok: true;
syncDone: boolean;
log?: string;
logUrl?: string;
error?: string;
}>>;
getDownloadRanges(registry: string, fullname: string, start: string, end: string, optionalConfig?: {
remoteAuthToken?: string;
}): Promise<RegistryResponse>;
private requestJSON;
private requestBuffer;
private request;
genAuthorizationHeader(remoteAuthToken?: string): string;
}
export {};