UNPKG

agentsqripts

Version:

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

44 lines (37 loc) 1.24 kB
/** * @file Detect synchronous database queries * @description Single responsibility: Identify blocking synchronous database operations */ const { iterateLines } = require('../../../utils/patternDetector'); function detectSyncQueries(lines, filePath) { const issues = []; iterateLines(lines, (line, lineNumber, trimmed, i) => { // Synchronous database operations const syncPatterns = [ /\.findSync\s*\(/, /\.querySync\s*\(/, /db\.execSync\s*\(/, /\.execSync\s*\(/ ]; syncPatterns.forEach(pattern => { if (pattern.test(trimmed)) { issues.push({ type: 'sync_database_query', severity: 'HIGH', category: 'Database', location: `${filePath}:${lineNumber}`, line: lineNumber, code: trimmed, description: 'Synchronous database operation blocks event loop', summary: 'Synchronous database operation', recommendation: 'Use async equivalent with await or callbacks', effort: 2, impact: 'Prevents event loop blocking', estimatedSavings: 'unblocks event loop' }); } }); }); return issues; } module.exports = detectSyncQueries;