UNPKG

loqatevars

Version:

Locate JavaScript files with 'const' or 'process.env' usage in LLM-generated codebases

47 lines (40 loc) 1.16 kB
const fs = require('fs'); const path = require('path'); function walk(dir) { const entries = fs.readdirSync(dir, { withFileTypes: true }); let files = []; for (const entry of entries) { const full = path.join(dir, entry.name); if (entry.isDirectory()) { files = files.concat(walk(full)); } else { files.push(full); } } return files; } function globbySync(patterns, options = {}) { const cwd = options.cwd || process.cwd(); const ignore = options.ignore || []; const exts = patterns.map(p => p.replace('**/*', '')); const allFiles = walk(cwd).filter(f => exts.some(ext => f.endsWith(ext))); return allFiles.filter(f => !ignore.some(pat => { const clean = pat.replace(/\*\*\//g, '').replace(/\*\*/g, ''); return f.includes(clean); })); } function globbyStream(patterns, options = {}) { const files = globbySync(patterns, options); async function* generator() { for (const file of files) { yield file; } } return generator(); } function globby() {} globby.stream = jest.fn(globbyStream); module.exports = { __esModule: true, default: globby, globbySync, stream: globby.stream, };