Package Exports
- glob-fs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (glob-fs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
glob-fs 
node.js file globber.
TODO
- Multiple pattern support
- Negation patterns (might not do this, since it can be handled in middleware)
- middleware
- middleware handler
- externalize middleware to modules (prs welcome!)
- events
- sync iterator
- async iterator
- stream iterator
- promise iterator
- glob.readdir (async)
- glob.readdirSync
- glob.readdirStream
- glob.readdirPromise
Install
Install with npm
$ npm i glob-fs --save
Usage
var glob = require('glob-fs');
API
.readdir
Asynchronously glob files or directories that match the given pattern
.
Params
pattern
{String}: Glob patternoptions
{Object}cb
{Function}: Callback
Example
var glob = require('glob-fs')({ gitignore: true });
glob.readdir('*.js', function (err, files) {
//=> do stuff with `files`
});
.readdirSync
Synchronously glob files or directories that match the given pattern
.
Params
pattern
{String}: Glob patternoptions
{Object}returns
{Array}: Returns an array of files.
Example
var glob = require('glob-fs')({ gitignore: true });
var files = glob.readdirSync('*.js');
//=> do stuff with `files`
.readdirStream
Stream files or directories that match the given glob pattern
.
Params
pattern
{String}: Glob patternoptions
{Object}returns
{Stream}
Example
var glob = require('glob-fs')({ gitignore: true });
glob.readdirStream('*.js')
.on('data', function (file) {
console.log(file.path);
})
.on('error', console.error)
.on('end', function () {
console.log('end');
});
Glob
Optionally create an instance of Glob
with the given options
.
Params
options
{Object}
Example
var Glob = require('glob-fs').Glob;
var glob = new Glob();
.exclude
Thin wrapper around .use()
for easily excluding files or directories that match the given pattern
.
Params
pattern
{String}options
{Object}
Example
var gitignore = require('glob-fs-gitignore');
var dotfiles = require('glob-fs-dotfiles');
var glob = require('glob-fs')({ foo: true })
.exclude(/\.foo$/)
.exclude('*.bar')
.exclude('*.baz');
var files = glob.readdirSync('**');
.use
Add a middleware to be called in the order defined.
Params
fn
{Function}returns
{Object}: Returns theGlob
instance, for chaining.
Example
var gitignore = require('glob-fs-gitignore');
var dotfiles = require('glob-fs-dotfiles');
var glob = require('glob-fs')({ foo: true })
.use(gitignore())
.use(dotfiles());
var files = glob.readdirSync('*.js');
Related projects
- braces: Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces… more
- fill-range: Fill in a range of numbers or letters, optionally passing an increment or multiplier to… more
- is-glob: Returns
true
if the given string looks like a glob pattern. - micromatch: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. Just… more
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Middleware conventions
- Naming: any middleware published to npm should be prefixed with
glob-fs-
, as in:glob-fs-dotfiles
. - Keywords: please add
glob-fs
to the keywords array in package.json - Options: all middleware should return a function that takes an
options
object, as in the below Middleware Example - Return
file
: all middleware should return thefile
object after processing.
Middleware example
All middleware runs synchronously in the order in which it's defined by the user.
// `notests` middleware to exclude any file in the `test` directory
function tests(options) {
return function(file) {
if (/^test\//.test(file.dirname)) {
file.exclude = true;
}
return file;
};
}
// usage
var glob = glob({ gitignore: true })
.use(tests())
// get files
glob.readdirStream('**/*')
.on('data', function (file) {
console.log(file.path);
})
Author
Jon Schlinkert
License
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on July 07, 2015.