depsweep
Version:
🌱 Automated intelligent dependency cleanup with environmental impact reporting
144 lines (143 loc) • 4.18 kB
TypeScript
export declare class OptimizedCache<T extends {}> {
private cache;
private hitCount;
private missCount;
constructor(maxSize?: number, ttl?: number);
get(key: string): T | undefined;
set(key: string, value: T): void;
has(key: string): boolean;
clear(): void;
getStats(): {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
}
export declare class OptimizedFileReader {
private static instance;
private fileCache;
private readQueue;
private isProcessing;
private readonly BATCH_SIZE;
private readonly MAX_CONCURRENT_READS;
static getInstance(): OptimizedFileReader;
readFile(filePath: string): Promise<string>;
private processQueue;
private chunkArray;
clearCache(): void;
getCacheStats(): {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
}
export declare class OptimizedDependencyAnalyzer {
private static instance;
private analysisCache;
private dependencyGraphCache;
private filePatternCache;
static getInstance(): OptimizedDependencyAnalyzer;
getCompiledPatterns(dependency: string): RegExp[];
isDependencyUsedInFile(dependency: string, filePath: string, context: any): Promise<boolean>;
processFilesInBatches(files: string[], dependency: string, context: any, onProgress?: (processed: number, total: number) => void): Promise<string[]>;
clearCaches(): void;
getCacheStats(): {
analysis: {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
dependencyGraph: {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
filePatterns: {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
};
}
export declare class StringOptimizer {
private static readonly STRING_POOL;
private static readonly MAX_POOL_SIZE;
static intern(str: string): string;
static clearPool(): void;
static getPoolStats(): {
size: number;
maxSize: number;
};
}
export declare class OptimizedFileSystem {
private static instance;
private dirCache;
private statCache;
static getInstance(): OptimizedFileSystem;
readDirectory(dirPath: string): Promise<string[]>;
getFileStats(filePath: string): Promise<any>;
clearCaches(): void;
getCacheStats(): {
directories: {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
stats: {
hitRate: number;
hitCount: number;
missCount: number;
size: number;
};
};
}
export declare class PerformanceMonitor {
private static instance;
private metrics;
private startTimes;
static getInstance(): PerformanceMonitor;
startTimer(operation: string): void;
endTimer(operation: string): number;
getMetrics(): Map<string, {
count: number;
totalTime: number;
avgTime: number;
}>;
reset(): void;
logSummary(): void;
}
export declare class MemoryOptimizer {
private static instance;
private gcThreshold;
private lastGcTime;
private readonly GC_INTERVAL;
static getInstance(): MemoryOptimizer;
checkMemoryUsage(): {
used: number;
total: number;
shouldGC: boolean;
};
optimizeForLargeProjects(): void;
getMemoryStats(): {
heapUsed: number;
heapTotal: number;
external: number;
rss: number;
arrayBuffers: number;
};
}
export declare const optimizations: {
OptimizedCache: typeof OptimizedCache;
OptimizedFileReader: typeof OptimizedFileReader;
OptimizedDependencyAnalyzer: typeof OptimizedDependencyAnalyzer;
StringOptimizer: typeof StringOptimizer;
OptimizedFileSystem: typeof OptimizedFileSystem;
PerformanceMonitor: typeof PerformanceMonitor;
MemoryOptimizer: typeof MemoryOptimizer;
};