jam-my-stack/src/file-utils.js

25 lines
685 B
JavaScript

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
}