agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
32 lines (27 loc) • 1.25 kB
JavaScript
/**
* @file Complexity threshold checker
* @description Checks if analysis results exceed configured thresholds
*/
function checkForIssues(results, options) {
const thresholds = {
low: { cyclomaticComplexity: 5, maintainabilityIndex: 80 },
medium: { cyclomaticComplexity: 10, maintainabilityIndex: 60 },
high: { cyclomaticComplexity: 20, maintainabilityIndex: 40 }
};
const threshold = thresholds[options.threshold] || thresholds.medium;
if (results.fileAnalysis) {
return results.fileAnalysis.metrics.cyclomaticComplexity > threshold.cyclomaticComplexity ||
results.fileAnalysis.maintainabilityIndex < threshold.maintainabilityIndex;
} else if (results.projectAnalysis) {
return results.projectAnalysis.averageComplexityScore > threshold.cyclomaticComplexity ||
results.projectAnalysis.averageMaintainabilityIndex < threshold.maintainabilityIndex ||
results.projectAnalysis.overallComplexity === 'HIGH' ||
results.projectAnalysis.overallComplexity === 'CRITICAL';
} else if (results.debtAnalysis) {
return results.debtAnalysis.priority === 'HIGH' || results.debtAnalysis.priority === 'CRITICAL';
}
return false;
}
module.exports = {
checkForIssues
};