get-files.ts 440 B

1234567891011121314
  1. import { once } from 'node:events';
  2. import * as walkdir from 'walkdir';
  3. export async function getFiles (directoryPath: string, { filter = null }: {filter?: ((file: string) => boolean) | null} = {}) {
  4. const files: string[] = [];
  5. const walker = walkdir(directoryPath, {
  6. no_recurse: true
  7. });
  8. walker.on('file', (file) => {
  9. if (!filter || filter(file)) { files.push(file); }
  10. });
  11. await once(walker, 'end');
  12. return files;
  13. }