UNPKG

agentsqripts

Version:

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

42 lines (36 loc) 1.42 kB
/** * @file Main React pattern analyzer * @description Single responsibility: Orchestrate React performance pattern analysis */ const isReactFile = require('./isReactFile'); const detectRenderOptimization = require('./detectRenderOptimization'); const detectInlineObjectCreation = require('./detectInlineObjectCreation'); const detectUseEffectIssues = require('./detectUseEffectIssues'); const detectStateUpdates = require('./detectStateUpdates'); const detectUnmemoizedCallbacks = require('./detectUnmemoizedCallbacks'); const detectKeyPropIssues = require('./detectKeyPropIssues'); /** * Analyze React performance patterns * @param {string} content - File content * @param {string} filePath - File path * @returns {Array} React performance issues */ function analyzeReactPatterns(content, filePath) { // Only analyze files that appear to be React components if (!isReactFile(content)) { return []; } const issues = []; const lines = content.split('\n'); // Detect various React performance issues const reactIssues = [ detectRenderOptimization(lines, filePath, content), detectInlineObjectCreation(lines, filePath), detectUseEffectIssues(lines, filePath), detectStateUpdates(lines, filePath), detectUnmemoizedCallbacks(lines, filePath), detectKeyPropIssues(lines, filePath) ]; return issues.concat(...reactIssues); } module.exports = analyzeReactPatterns;