UNPKG

scai

Version:

> AI-powered CLI tool for commit messages **and** pull request reviews — using local models.

30 lines (29 loc) 890 B
import fs from "fs/promises"; import path from "path"; export async function resolveTargetsToFiles(targets, exts) { const files = []; for (const target of targets) { const stat = await fs.stat(target); if (stat.isDirectory()) { files.push(...await collectFilesRecursive(target, exts)); } else { files.push(target); } } return files; } async function collectFilesRecursive(dir, exts) { const entries = await fs.readdir(dir, { withFileTypes: true }); const files = []; for (const entry of entries) { const fullPath = path.join(dir, entry.name); if (entry.isDirectory()) { files.push(...await collectFilesRecursive(fullPath, exts)); } else if (exts.includes(path.extname(entry.name))) { files.push(fullPath); } } return files; }