agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
45 lines (40 loc) ⢠1.79 kB
JavaScript
/**
* @file Format detailed file complexity analysis
* @description Single responsibility: Detailed file-level complexity output formatting
*/
/**
* Output detailed file complexity analysis
* @param {Object} analysis - File analysis results
*/
function formatComplexityDetailedFile(analysis) {
console.log('š FILE COMPLEXITY ANALYSIS\n');
console.log('=' .repeat(50));
console.log(`š File: ${analysis.file}`);
console.log(`š Overall Complexity: ${analysis.complexity}`);
console.log(`š Maintainability Index: ${analysis.maintainabilityIndex}/100\n`);
console.log('š Metrics:');
console.log(` Lines of Code: ${analysis.metrics.linesOfCode}`);
console.log(` Cyclomatic Complexity: ${analysis.metrics.cyclomaticComplexity}`);
console.log(` Number of Functions: ${analysis.metrics.functionCount}`);
console.log(` Number of Classes: ${analysis.metrics.classCount}\n`);
if (analysis.issues.length > 0) {
console.log(`ā ļø Issues Found: ${analysis.issues.length}`);
analysis.issues.forEach((issue, index) => {
console.log(`\n ${index + 1}. [${issue.severity}] ${issue.type}`);
console.log(` ${issue.description}`);
console.log(` Recommendation: ${issue.recommendation}`);
if (issue.location) {
console.log(` Location: Line ${issue.location.line}, Column ${issue.location.column}`);
}
});
} else {
console.log('ā
No complexity issues found!');
}
console.log('\nš” File 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 = formatComplexityDetailedFile;