UNPKG

agentsqripts

Version:

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

51 lines (45 loc) • 1.88 kB
/** * @file Format detailed technical debt analysis * @description Single responsibility: Detailed debt analysis output formatting */ const path = require('path'); /** * Output detailed technical debt analysis * @param {Object} analysis - Debt analysis results */ function formatComplexityDetailedDebt(analysis) { console.log('\nšŸ’ø TECHNICAL DEBT ANALYSIS\n'); console.log('=' .repeat(50)); console.log(`šŸ“Š Debt Score: ${analysis.debtScore}/100 (${analysis.priority} priority)`); console.log(`šŸ“Š Debt Category: ${analysis.category}`); console.log(`šŸ” Issues Found: ${analysis.issues.length}\n`); if (analysis.todoItems.length > 0) { console.log(`šŸ“ TODO Items: ${analysis.todoItems.length}`); const highPriorityTodos = analysis.todoItems.filter(todo => todo.priority === 'HIGH'); if (highPriorityTodos.length > 0) { console.log(' High Priority TODOs:'); highPriorityTodos.forEach(item => { console.log(` - ${item.type} in ${path.basename(item.file)}:${item.line}`); console.log(` ${item.description}`); }); } console.log(); } if (analysis.codeSmells.length > 0) { console.log(`šŸ‘ƒ Code Smells: ${analysis.codeSmells.length}`); for (const smell of analysis.codeSmells) { console.log(` - ${smell.type} in ${path.basename(smell.file)} (${smell.count} occurrences, ${smell.severity})`); } console.log(); } if (analysis.recommendations.length > 0) { console.log('šŸ’” Debt Recommendations:'); for (let index = 0; index < analysis.recommendations.length; index++) { const rec = analysis.recommendations[index]; console.log(` ${index + 1}. [${rec.priority}] ${rec.type}`); console.log(` ${rec.description}`); console.log(` Action: ${rec.action}\n`); } } } module.exports = formatComplexityDetailedDebt;