@rayburst/sharity
Version:
Analyze shared package usage across monorepos - calculate symbol sharing percentages, track exclusive imports, and identify unused exports
45 lines • 1.64 kB
TypeScript
/**
* Line counter - calculate lines of code for symbols and packages
*/
import { ExportedSymbol, SymbolAnalysis } from './types';
/**
* Calculate total lines for a set of symbols
*/
export declare function calculateTotalLines(symbols: ExportedSymbol[]): number;
/**
* Calculate lines breakdown by usage type
*/
export declare function calculateLinesBreakdown(analyses: SymbolAnalysis[]): {
sharedLines: number;
exclusiveLines: number;
unusedLines: number;
};
/**
* Calculate lines for symbols used exclusively by a consumer
*/
export declare function calculateExclusiveLinesForConsumer(analyses: SymbolAnalysis[], consumerName: string): number;
/**
* Get exclusive symbol names for a consumer
*/
export declare function getExclusiveSymbolNames(analyses: SymbolAnalysis[], consumerName: string): string[];
/**
* Count total symbols imported by a consumer
*/
export declare function countSymbolsForConsumer(analyses: SymbolAnalysis[], consumerName: string): number;
/**
* Count exclusive symbols for a consumer
*/
export declare function countExclusiveSymbolsForConsumer(analyses: SymbolAnalysis[], consumerName: string): number;
/**
* Count shared symbols for a consumer
*/
export declare function countSharedSymbolsForConsumer(analyses: SymbolAnalysis[], consumerName: string): number;
/**
* Calculate percentage safely (avoid division by zero)
*/
export declare function calculatePercentage(part: number, total: number): number;
/**
* Count lines in a file, excluding empty lines and comments
*/
export declare function countCodeLines(filePath: string): number;
//# sourceMappingURL=line-counter.d.ts.map