UNPKG

depsweep

Version:

🌱 Automated intelligent dependency cleanup with environmental impact reporting

86 lines (85 loc) • 4.39 kB
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 {};