agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
43 lines (38 loc) ⢠1.95 kB
JavaScript
/**
* @file Format detailed project complexity analysis
* @description Single responsibility: Detailed project-level complexity output formatting
*/
/**
* Output detailed project complexity analysis
* @param {Object} analysis - Project analysis results
*/
function formatComplexityDetailedProject(analysis) {
console.log('\nš PROJECT COMPLEXITY ANALYSIS\n');
console.log('=' .repeat(50));
console.log(`š Project Path: ${analysis.projectPath}`);
console.log(`š Total Files: ${analysis.totalFiles}`);
console.log(`š Analyzed Files: ${analysis.analyzedFiles}`);
console.log(`š Overall Complexity: ${analysis.overallComplexity}`);
console.log(`š Average Maintainability Index: ${Math.round(analysis.averageMaintainabilityIndex)}/100`);
console.log(`š§® Average Complexity Score: ${Math.round(analysis.averageComplexityScore * 100) / 100}\n`);
console.log('š Complexity Breakdown:');
console.log(` Low: ${analysis.complexityBreakdown.low} files`);
console.log(` Medium: ${analysis.complexityBreakdown.medium} files`);
console.log(` High: ${analysis.complexityBreakdown.high} files`);
console.log(` Critical: ${analysis.complexityBreakdown.critical} files\n`);
if (analysis.topComplexFiles.length > 0) {
console.log('š„ Most Complex Files:');
for (let index = 0; index < Math.min(5, analysis.topComplexFiles.length); index++) {
const file = analysis.topComplexFiles[index];
console.log(` ${index + 1}. ${file.file}`);
console.log(` Complexity: ${file.complexity}, Maintainability: ${file.maintainabilityIndex}`);
}
}
console.log('\nš” Project Recommendations:');
analysis.recommendations.forEach((rec, index) => {
console.log(` ${index + 1}. [${rec.priority}] ${rec.title}`);
console.log(` ${rec.description}`);
console.log(` Action: ${rec.action}`);
});
}
module.exports = formatComplexityDetailedProject;