@hankei6km/rollup-plugin-nodebox-fs-files
Version:
Converts files to Nodebox files
16 lines (15 loc) • 532 B
JavaScript
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('/')];
}
}
}
}