const { existsSync, mkdirSync } = require("fs"); const { resolve } = require('path'); const fs = require('fs').promises; // https://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search async function getFiles(dir) { const dirents = await fs.readdir(dir, { withFileTypes: true }); const files = await Promise.all(dirents.map((dirent) => { const res = resolve(dir, dirent.name); return dirent.isDirectory() ? getFiles(res) : res; })); return Array.prototype.concat(...files); } function createIfNotExists(dir) { if(!existsSync(dir)) { mkdirSync(dir, { recursive: true }) } } module.exports = { getFiles, createIfNotExists }