UNPKG

agentsqripts

Version:

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

27 lines (23 loc) 753 B
/** * @file Calculate file-level metrics * @description Single responsibility: Calculate WET code metrics for a single file */ /** * Calculate file-level metrics */ function calculateFileMetrics(content, blocks, duplicateGroups) { const lines = content.split('\n').length; const duplicateLines = duplicateGroups.reduce((sum, group) => sum + group.blocks.reduce((s, b) => s + b.lineCount, 0), 0 ); const wetScore = lines > 0 ? Math.round((duplicateLines / lines) * 100) : 0; return { linesOfCode: lines, duplicateLines, duplicateRatio: lines > 0 ? duplicateLines / lines : 0, wetScore, blocksAnalyzed: blocks.length, duplicateGroups: duplicateGroups.length }; } module.exports = calculateFileMetrics;