Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 2.08 KB

README.md

File metadata and controls

47 lines (31 loc) · 2.08 KB

Node Glob, Whatever

A quick and dirty synchronous file globbing utility based on minimatch.

Why another file globbing library?

I wanted to make grunt work on Windows. Unfortunately, node-glob doesn't work on Windows, and miniglob isn't synchronous. And this needed to be synchronous.

Any issues?

This library works with any path that minimatch supports, and is the core of the grunt wildcard globbing methods.

To be fair, this library isn't terribly efficient. But that's ok, because it's mainly used with relatively small folder structures. Maybe someone will help improve this library (patches welcome!). Or maybe even write a better library, and then I'll use that instead. But for now, this works just fine.

Getting Started

First, install the module with: npm install glob-whatev

var globsync = require('glob-whatev');

// Relative patterns are matched against the current working directory.
globsync.glob('foo/**/*.js').forEach(function(filepath) {
  // do stuff with `filepath`
});

// Basically, it works like this.
globsync.glob(globPattern [, minimatchOptions])

// Also, minimatch is exposed in case you just want to match patterns, eg.
var isJS = globsync.minimatch(file, '*.js', {matchBase: true});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using grunt.

Release History

  • 2012/03/25 - v0.1.3 - Updated to minimatch 0.2.2+. Minimatch is now exposed as exports.minimatch.
  • 2012/02/14 - v0.1.2 - Fixed an issue with nonexistent directories.
  • 2012/01/23 - v0.1.1 - Fixed an issue with stat and locked files.
  • 2012/01/11 - v0.1.0 - First official release.

License

Copyright (c) 2012 "Cowboy" Ben Alman
Licensed under the MIT license.
http://benalman.com/about/license/