JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8453
  • Score
    100M100P100Q126415F
  • License MIT

file globbing, for node.js.

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 NPM version

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 pattern
  • options {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 pattern
  • options {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 pattern
  • options {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 the Glob 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');
  • 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 the file 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.