/** * This has to be required *after* using Bluebird's promisifyAll() on fs */ var fs = require('fs'); if(typeof fs.readdirAsync !== 'function') { console.error("scandir module requires promisifying fs with Bluebird's Promise.promisifyAll()"); } function scandir(path, excludes) { excludes = excludes || []; return fs.readdirAsync(path) .then(dirContent => { excludes.forEach(file => { var idxInContent = dirContent.indexOf(file); if(idxInContent !== -1) { dirContent.splice(idxInContent, 1); } }); return dirContent; }) } module.exports = scandir;