UNPKG

agentsqripts

Version:

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

39 lines (33 loc) 976 B
/** * @file Code duplication detection * @description Identifies code duplication patterns */ /** * Identifies code duplication patterns * @param {string} content - File content * @returns {Object} Duplication analysis */ function identifyDuplication(content) { const lines = content.split('\n').map(line => line.trim()).filter(line => line.length > 0); let duplicateLines = 0; const duplicates = []; // Simple line-based duplication detection const lineMap = new Map(); lines.forEach((line, index) => { if (line.length < 10 || line.startsWith('//') || line.startsWith('/*')) return; if (lineMap.has(line)) { duplicateLines++; duplicates.push({ line: index + 1, content: line }); } else { lineMap.set(line, index); } }); return { score: lines.length > 0 ? duplicateLines / lines.length : 0, lines: duplicates, duplicateCount: duplicateLines }; } module.exports = { identifyDuplication };