UNPKG

agentsqripts

Version:

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

38 lines (33 loc) 989 B
/** * @file Code duplication detection * @description Detects code duplication within files */ /** * Find code duplication within a single file */ function findIntraFileDuplication(content) { const lines = content.split('\n').map(line => line.trim()).filter(line => line.length > 5); const duplicates = []; const lineMap = new Map(); // Optimized line-based duplication detection with for loop for (let index = 0; index < lines.length; index++) { const line = lines[index]; if (line.startsWith('//') || line.startsWith('/*')) continue; if (lineMap.has(line)) { duplicates.push({ line: index + 1, content: line, originalLine: lineMap.get(line) + 1 }); } else { lineMap.set(line, index); } } return { score: lines.length > 0 ? duplicates.length / lines.length : 0, duplicates: duplicates.slice(0, 10) // Limit to first 10 for brevity }; } module.exports = { findIntraFileDuplication };