depsweep
Version:
🌱 Automated intelligent dependency cleanup with environmental impact reporting
86 lines (85 loc) • 4.39 kB
TypeScript
import type { DependencyContext, EnvironmentalImpact } from "./interfaces.js";
export declare function isConfigFile(filePath: string): boolean;
export declare function parseConfigFile(filePath: string): Promise<unknown>;
export declare function isTypePackageUsed(dependency: string, installedPackages: string[], unusedDependencies: string[], context: DependencyContext, sourceFiles: string[]): Promise<{
isUsed: boolean;
supportedPackage?: string;
}>;
export declare function scanForDependency(object: unknown, dependency: string): boolean;
export declare function isDependencyUsedInFile(dependency: string, filePath: string, context: DependencyContext): Promise<boolean>;
export declare function getMemoryUsage(): {
used: number;
total: number;
};
export declare function generatePatternMatcher(dependency: string): RegExp[];
export declare function matchesDependency(importSource: string, dependency: string): boolean;
export declare function processResults(batchResults: PromiseSettledResult<{
result: string | null;
hasError: boolean;
}>[]): {
validResults: string[];
errors: number;
};
interface InstallMetrics {
installTime: number;
diskSpace: number;
errors?: string[];
}
export declare function formatSize(bytes: number): string;
export declare function formatTime(seconds: number): string;
export declare function formatNumber(n: number): string;
export declare function safeExecSync(command: string[], options: {
cwd: string;
stdio?: "inherit" | "ignore";
timeout?: number;
}): void;
export declare function detectPackageManager(projectDirectory: string): Promise<string>;
export declare function createTemporaryPackageJson(package_: string): Promise<string>;
export declare function measurePackageInstallation(packageName: string): Promise<InstallMetrics>;
export declare function getDownloadStatsFromNpm(packageName: string): Promise<number | null>;
export declare function getParentPackageDownloads(packageJsonPath: string): Promise<{
name: string;
downloads: number;
repository?: {
url: string;
};
homepage?: string;
} | null>;
export declare function getYearlyDownloads(packageName: string, months?: number): Promise<{
total: number;
monthsFetched: number;
startDate: string;
} | null>;
export declare function calculateImpactStats(diskSpace: number, installTime: number, monthlyDownloads: number | null, yearlyData: {
total: number;
monthsFetched: number;
startDate: string;
} | null): any;
export declare function displayImpactTable(impactData: Record<string, {
installTime: string;
diskSpace: string;
}>, totalInstallTime: number, totalDiskSpace: number): void;
export declare function calculateEnvironmentalImpact(diskSpace: number, installTime: number, monthlyDownloads: number | null, options?: {
region?: "NA" | "EU" | "AP" | "GLOBAL";
processingComplexity?: number;
accessFrequency?: number;
averageLatency?: number;
buildComplexity?: number;
buildFrequency?: number;
teamSize?: number;
}): EnvironmentalImpact;
export declare function validateInputs(diskSpace: number, installTime: number, monthlyDownloads: number | null): void;
export declare function calculateTransferEnergy(diskSpaceGB: number): number;
export declare function calculateNetworkEnergy(diskSpaceMB: number): number;
export declare function calculateStorageEnergy(diskSpaceGB: number): number;
export declare function calculateEwasteEnergy(diskSpaceGB: number): number;
export declare function calculateEfficiencyEnergy(installTimeHours: number): number;
export declare function calculateServerEfficiencyEnergy(diskSpaceGB: number): number;
export declare function aggregateEnergySavings(energies: number[]): number;
export declare function createZeroEnvironmentalImpact(): EnvironmentalImpact;
export declare function calculateCumulativeEnvironmentalImpact(impacts: EnvironmentalImpact[]): EnvironmentalImpact;
export declare function formatEnvironmentalImpact(impact: EnvironmentalImpact): Record<string, string>;
export declare function displayEnvironmentalImpactTable(impact: EnvironmentalImpact, title?: string): void;
export declare function generateEnvironmentalRecommendations(impact: EnvironmentalImpact, packageCount: number): string[];
export declare function displayEnvironmentalHeroMessage(impact: EnvironmentalImpact): void;
export {};