kist
Version:
Lightweight Package Pipeline Processor with Plugin Architecture
47 lines • 1.49 kB
TypeScript
import { AbstractProcess } from "../abstract/AbstractProcess.js";
interface BuildCacheOptions {
cacheDir?: string;
maxCacheSize?: number;
ttl?: number;
}
interface CacheLookupResult {
found: boolean;
outputFiles?: string[];
restored?: boolean;
}
export declare class BuildCache extends AbstractProcess {
private static instance;
private cacheIndex;
private cacheDir;
private maxCacheSize;
private ttl;
private indexPath;
private initialized;
private fileCache;
private stats;
private constructor();
static getInstance(options?: BuildCacheOptions): BuildCache;
static resetInstance(): void;
initialize(): Promise<void>;
lookup(actionName: string, inputFiles: string[], config?: Record<string, any>): Promise<CacheLookupResult>;
store(actionName: string, inputFiles: string[], outputFiles: string[], config?: Record<string, any>, buildDuration?: number): Promise<void>;
invalidateAction(actionName: string): void;
clear(): Promise<void>;
save(): Promise<void>;
getStats(): typeof this.stats & {
size: number;
hitRate: string;
};
private computeCacheKey;
private computeInputHash;
private computeConfigHash;
private verifyOutputFiles;
private storeArtifacts;
private restoreFromArtifacts;
private loadIndex;
private cleanupIfNeeded;
private evictEntry;
private getDirectorySize;
}
export {};
//# sourceMappingURL=BuildCache.d.ts.map