Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A quick and dirty file globbing utility based on minimatch.

tree: f01e4181c3

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE-MIT
Octocat-spinner-32 README.md
Octocat-spinner-32 grunt.js
Octocat-spinner-32 package.json
README.md

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/04/13 - v0.1.6 - Added options.cwd option to allow searching from a different base directory than process.cwd(). Added options.maxDepth unit tests.
  • 2012/04/10 - v0.1.5 - Fixed an issue where using the matchBase minimatch option with simple patterns would fail.
  • 2012/03/26 - v0.1.4 - Fixed a minor issue with absolute paths on Windows.
  • 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/

Something went wrong with that request. Please try again.