Files
smart-rgb/scripts/release-manager/types.ts
2025-10-16 01:46:14 -05:00

55 lines
976 B
TypeScript

export interface Checksums {
sha256: string;
sha512: string;
md5: string;
}
export type FileType = 'appimage' | 'deb' | 'rpm' | 'dmg' | 'app' | 'exe' | 'msi';
export interface ReleaseFile {
type: FileType;
url: string;
filename: string;
size: number;
checksums: Checksums;
}
export type Platform =
| 'linux-x86_64'
| 'linux-aarch64'
| 'macos-x86_64'
| 'macos-aarch64'
| 'windows-x86_64'
| 'windows-aarch64';
export type PlatformFiles = {
[K in Platform]?: {
files: ReleaseFile[];
};
};
export interface Version {
version: string;
released: string;
visible: boolean;
platforms: PlatformFiles;
}
export type DisplayMode = 'latest_only' | 'all' | 'recent_n';
export interface Manifest {
latest: string;
display_mode: DisplayMode;
recent_n?: number;
versions: Version[];
}
export interface ArtifactMapping {
artifactName: string;
platform: Platform;
expectedFiles: {
glob: string;
type: FileType;
}[];
}