UNPKG

@onereach/orest-input-cli

Version:

The tool for creating, serving, and publishing OREST Inputs

26 lines (21 loc) 670 B
const fs = require('fs'); const path = require('path'); function getFileList(item, filePaths = []) { return new Promise((resolve, reject) => { fs.lstat(item, function (err, stats) { if (err) return reject(err); if (!stats.isDirectory()) { return resolve([...filePaths, item]); } fs.readdir(item, function (err, files) { if (err) return reject(err); Promise.all( files.map(file => getFileList(path.join(item, file), filePaths)) ).then(filePaths => { resolve(filePaths.reduce((items, acc) => [...acc, ...items], [])); }); }); }); }); } module.exports = getFileList;