recoder-code
Version:
🚀 AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!
97 lines (96 loc) • 2.65 kB
TypeScript
/**
* PackageVersion Entity
* Represents a specific version of a plugin package
*/
import { Package } from './Package';
import { User } from './User';
export declare enum VersionStatus {
ACTIVE = "active",
DEPRECATED = "deprecated",
YANKED = "yanked"
}
export declare class PackageVersion {
id: string;
version: string;
description?: string;
dependencies?: Record<string, string>;
dev_dependencies?: Record<string, string>;
peer_dependencies?: Record<string, string>;
optional_dependencies?: Record<string, string>;
bundled_dependencies?: string[];
engine_node?: string;
engines?: Record<string, string>;
os?: string[];
cpu?: string[];
scripts?: Record<string, string>;
bin?: Record<string, string>;
files?: string[];
main?: string;
module?: string;
types?: string;
exports?: any;
changelog?: string;
dist: {
tarball: string;
shasum: string;
integrity?: string;
size: number;
unpacked_size?: number;
};
status: VersionStatus;
deprecation_message?: string;
yank_reason?: string;
download_count: number;
security_scan: {
scan_date: string;
vulnerabilities: any[];
status: 'clean' | 'warning' | 'critical';
scanner: string;
version: string;
};
quality_analysis: {
size_score: number;
dependencies_score: number;
maintenance_score: number;
popularity_score: number;
quality_score: number;
details: any;
};
build_info: {
platform: string;
node_version: string;
npm_version: string;
build_time: string;
git_commit?: string;
};
npm_metadata: {
_id: string;
_nodeVersion: string;
_npmVersion: string;
_npmUser: any;
_hasShrinkwrap: boolean;
_from?: string;
_resolved?: string;
};
created_at: Date;
published_at?: Date;
deprecated_at?: Date;
yanked_at?: Date;
package: Package;
package_id: string;
published_by?: User;
published_by_id?: string;
addDownload(): void;
deprecate(message?: string): void;
undeprecate(): void;
yank(reason?: string): void;
unyank(): void;
updateSecurityScan(scan: PackageVersion['security_scan']): void;
updateQualityAnalysis(analysis: PackageVersion['quality_analysis']): void;
getDependencyCount(): number;
getAllDependencies(): Record<string, string>;
isPrerelease(): boolean;
satisfiesNodeVersion(nodeVersion: string): boolean;
toNpmFormat(): any;
toApiFormat(): any;
}