cnpmcore
Version:
Private NPM Registry for Enterprise
51 lines (50 loc) • 1.56 kB
TypeScript
import { Type, type Static } from '@eggjs/typebox-validate/typebox';
import { Context } from 'egg';
import type { PackageJson, Simplify } from 'type-fest';
import { AbstractController } from '../AbstractController.ts';
type PackageVersion = Simplify<PackageJson.PackageJsonStandard & {
name: 'string';
version: 'string';
deprecated?: 'string';
readme?: 'string';
dist?: {
shasum: string;
integrity: string;
[key: string]: string | number;
};
}>;
declare const FullPackageRule: Type.TObject<{
name: Type.TString;
versions: Type.TOptional<Type.TAny>;
_attachments: Type.TOptional<Type.TAny>;
description: Type.TOptional<Type.TString>;
'dist-tags': Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
readme: Type.TOptional<Type.TString>;
}>;
type FullPackage = Omit<Static<typeof FullPackageRule>, 'versions' | '_attachments'> & {
versions: {
[key: string]: PackageVersion;
};
} & {
_attachments: {
[key: string]: {
content_type: string;
data: string;
length: number;
};
};
};
export declare class SavePackageVersionController extends AbstractController {
private readonly packageManagerService;
private readonly registryManagerService;
private readonly cacheAdapter;
save(ctx: Context, fullname: string, pkg: FullPackage): Promise<{
ok: boolean;
} | {
ok: boolean;
rev: string;
}>;
private saveDeprecatedVersions;
private validateNpmCommand;
}
export {};