UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

35 lines (30 loc) 895 B
/** * @file Identify files with most duplication * @description Single responsibility: Find top files with duplicate code */ /** * Identify files with most duplication */ function identifyTopOffenders(duplicateGroups) { const fileStats = new Map(); duplicateGroups.forEach(group => { group.blocks.forEach(block => { if (!fileStats.has(block.file)) { fileStats.set(block.file, { file: block.file, duplicateBlocks: 0, totalDuplicateLines: 0, groups: [] }); } const stats = fileStats.get(block.file); stats.duplicateBlocks++; stats.totalDuplicateLines += block.lineCount; stats.groups.push(group); }); }); return Array.from(fileStats.values()) .sort((a, b) => b.totalDuplicateLines - a.totalDuplicateLines) .slice(0, 10); } module.exports = identifyTopOffenders;