// Point method at path and return a list of all the files in the directory recursively import { readdirSync, statSync } from 'node:fs' export function getRecursiveFileList(path: string): string[] { const ignore = ['.git', '.github', '.idea', '.next', '.vercel', '.vscode', 'coverage', 'dist', 'node_modules'] const files: string[] = [] const items = readdirSync(path) items.forEach((item) => { if (ignore.includes(item)) { return } // Check out if it's a directory or a file const isDir = statSync(`${path}/${item}`).isDirectory() if (isDir) { // If it's a directory, recursively call the method files.push(...getRecursiveFileList(`${path}/${item}`)) } else { // If it's a file, add it to the array of files files.push(`${path}/${item}`) } }) return files.filter((file) => { // Remove package.json from the root directory return path === '.' ? file !== './package.json' : true }) }