crapifyme
Version:
Ultra-fast developer productivity CLI tools - remove comments, logs, and more
70 lines • 2.01 kB
TypeScript
import { BundleAnalysis, DependencyInfo } from './types';
interface PackageSize {
name: string;
size: {
raw: number;
gzip: number;
formatted: {
raw: string;
gzip: string;
};
};
treeshakeable: boolean;
sideEffects: boolean;
}
export declare class BundleAnalyzer {
private cache;
private cacheTimeout;
private requestTimeout;
constructor(cacheTimeout?: number, requestTimeout?: number);
analyzeBundleSize(dependencies: Map<string, DependencyInfo>): Promise<BundleAnalysis>;
getPackageSize(packageName: string, version?: string): Promise<PackageSize>;
private fetchFromNpmRegistry;
private formatPackageSize;
estimateProjectBundleSize(dependencies: Map<string, DependencyInfo>): Promise<{
estimated: {
raw: number;
gzip: number;
};
breakdown: Array<{
name: string;
size: {
raw: number;
gzip: number;
};
percentage: number;
}>;
}>;
comparePackageSizes(packages: string[]): Promise<Array<{
name: string;
size: {
raw: number;
gzip: number;
};
formatted: {
raw: string;
gzip: string;
};
treeshakeable: boolean;
sideEffects: boolean;
}>>;
getSizeDifference(currentSize: number, newSize: number): {
absolute: number;
percentage: number;
formatted: string;
};
identifyHeavyPackages(dependencies: Map<string, DependencyInfo>, threshold?: number): Promise<string[]>;
generateSizeReport(analysis: BundleAnalysis): string;
private parseVersion;
private formatSize;
private estimateBundleSize;
private parsePackageAlias;
private delay;
clearCache(): void;
getCacheStats(): {
size: number;
entries: string[];
};
}
export {};
//# sourceMappingURL=bundle-analyzer.d.ts.map