UNPKG

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
/** * @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 };