index.js 509 B

1234567891011121314151617181920212223242526
  1. var fs = require('fs')
  2. var path = require('path')
  3. module.exports = read
  4. function read(root, filter, files, prefix) {
  5. prefix = prefix || ''
  6. files = files || []
  7. filter = filter || noDotFiles
  8. var dir = path.join(root, prefix)
  9. if (fs.statSync(dir).isDirectory())
  10. fs.readdirSync(dir)
  11. .filter(filter)
  12. .forEach(function (name) {
  13. read(root, filter, files, path.join(prefix, name))
  14. })
  15. else
  16. files.push(prefix)
  17. return files
  18. }
  19. function noDotFiles(x) {
  20. return x[0] !== '.'
  21. }