var fs = require('graceful-fs'); var readdir = fs.readdir.bind(fs); var readdirSync = fs.readdirSync.bind(fs); module.exports = fs; module.exports.readdir = function (dir, callback) { fs.stat(dir, function (err, stats) { if (err) return callback(err); if (stats.isDirectory()) { return readdir(dir, callback); } else { var error = new Error('ENOTDIR, not a directory \'' + dir + '\''); error.code = 'ENOTDIR'; error.path = dir; error.errono = -20; return callback(error); } }); }; module.exports.readdirSync = function (dir) { var stats = fs.statSync(dir); if (stats.isDirectory()) { return readdirSync(dir); } else { var error = new Error(); error.code = 'ENOTDIR'; throw error; } };