12345678910111213141516171819202122232425262728 |
- // 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);
- for (const item of items) {
- if (!ignore.includes(item)) {
- // 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;
- });
- }
|