const path = require("node:path"); const discovery = require("./discovery.js"); const ignoreRules = require("./ignoreRules.js"); const { isBinaryFile } = require("./binary.js"); const { aggregateFileContents } = require("./aggregate.js"); // Backward-compatible signature; delegate to central loader async function parseGitignore(gitignorePath) { return await ignoreRules.parseGitignore(gitignorePath); } async function discoverFiles(rootDir) { try { // Delegate to discovery module which respects .gitignore and defaults return await discovery.discoverFiles(rootDir, { preferGit: true }); } catch (error) { console.error("Error discovering files:", error.message); return []; } } async function filterFiles(files, rootDir) { const { filter } = await ignoreRules.loadIgnore(rootDir); const relativeFiles = files.map((f) => path.relative(rootDir, f)); const filteredRelative = relativeFiles.filter((p) => filter(p)); return filteredRelative.map((p) => path.resolve(rootDir, p)); } module.exports = { parseGitignore, discoverFiles, isBinaryFile, aggregateFileContents, filterFiles, };