streaming extended glob
JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
.travis.yml
LICENSE
README.md
bin.js
example.js
index.js
package.json

README.md

pull-glob

streaming extended glob.

use with pull-stream

examples

var pull = require('pull-stream')
var glob = require('pull-glob')

function glob_log (name, pattern) {
  pull(glob(pattern), pull.collect(function (err, ary) {
    if(err) throw err
    console.log('name:', name, 'pattern:', pattern)
    console.log(ary)
  })
}


glob_log('current dir', '.')
glob_log('js in current dir', '*.js')
glob_log('everything under current dir', '**')
glob_log('all js under current dir', '**/*.js')
glob_log('parent directories', '...')
glob_log('hidden files', '.../.*')
glob_log('available modules', '.../node_modules/*')
glob_log('local package files', '.../{package,component}.json')

stopping early

because this module uses pull-streams, it's lazy, so you can do queries like the following:

//find the first package.json in a parent directory.
pull(glob('.../package.json'), pull.take(1), log())

And you will retrive only the first item, and will not do any extra IO. This is hugely useful when doing a large traversal...

collect node_module tree

pull(
  glob('**/node_modules/*/package.json'),
  pull.collect(function (e, arr) {
    console.log(arr)
  })
)

License

MIT