UNPKG

@hankei6km/rollup-plugin-nodebox-fs-files

Version:
16 lines (15 loc) 532 B
import { opendir } from 'fs/promises'; import { join } from 'node:path'; export async function* walk(filesFilter, dir, filePathInFiles = []) { for await (const d of await opendir(dir)) { const entry = join(dir, d.name); if (filesFilter(entry)) { if (d.isDirectory()) { yield* walk(filesFilter, entry, [...filePathInFiles, d.name]); } else if (d.isFile()) { yield [entry, [...filePathInFiles, d.name].join('/')]; } } } }