Sha256: 40f8643bc15bf1bc341f24729ab19fb6aeba7e90e96f9414d1e8dd2ae1406a1e

Contents?: true

Size: 1.42 KB

Versions: 3

Compression:

Stored size: 1.42 KB

Contents

var path = require('path')

module.exports = function(fs, ready) {
  var global_files = {}

  var recurse = function(dir, okay) {
    fs.readdir(dir, function(err, dir_files) {
      var countdown = 0
        , files = []
        , dirs  = []
        , checked = 0
      dir_files.forEach(function(file, idx, all) {
        fs.stat(path.join(dir, file), function(err, stat) {
          if(stat.isDirectory() && !/node_modules/g.test(dir)) {
            dirs.push(file)
          } else if(/\.js$/g.test(file)) {
            files.push(file)
          }

          if(++checked >= dir_files.length)
            recurse_dirs()
        })
      })

      function recurse_dirs() {
        var total = 0
        dirs.forEach(function(this_dir) {
          recurse(path.join(dir, this_dir), function(err, data) {
            if(++total >= dirs.length)
              recurse_files() 
          })
        })

        if(!dirs.length)
          recurse_files()
      }

      function recurse_files() {
        var total = 0
        files.forEach(function(file) {
          fs.readFile(path.join(dir, file), 'utf8', function(err, src) {
            global_files[path.join(dir, file)] = src
            ++total >= files.length &&
              okay(null, global_files)
          })
        })

        if(!files.length)
          okay(null, global_files)
      }

      if(!dir_files.length)
        okay(null, global_files)
    })
  }

  recurse('.', ready)
}


Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
trans-0.5.10 template/node_modules/grunt-contrib-nodeunit/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/test/fail/src.js
trans-0.5.9 template/node_modules/grunt-contrib-nodeunit/node_modules/nodeunit/node_modules/tap/node_modules/runforcover/node_modules/bunker/node_modules/burrito/test/fail/src.js
holmes-0.0.1 lib/holmes/node_modules/detective/node_modules/burrito/test/fail/src.js