Adds an .ignore method that parses .gitignore and converts the patterns from wildmatch to glob patterns, so they can then be passed to glob, minimatch, micromatch, gulp.src, glob-stream, etc
Install with npm:
$ npm install --save base-ignore
var ignore = require('base-ignore');
var Base = require('base');
var app = new Base();
// register plugin
app.use(ignore());
Example
var mm = require('micromatch');
var arr = ['node_modules/foo/index.js', 'foo.js', 'bar.txt'];
console.log(mm(arr, '**/*.js'));
//=> ['node_modules/foo/index.js', 'foo.js'];
var arr = ['node_modules/foo/index.js', 'foo.js', 'bar.txt'];
console.log(mm(arr, '**/*.js', {ignore: app.ignore()}));
//=> ['foo.js'];
Patterns in .gitignore are parsed and converted to glob patterns and the converted patterns are cached. This is useful in applications that need to potentially match against the same set of files repeatedly.
Get the .gitignore patterns for the current project. Also caches patterns on the app.cache.ignored[cwd] array.
Params
patterns {String|Array}options {Object}returns {Array}: Returns the array of patterns stored for the current working directoryExample
var gitignored = app.gitignore();
console.log(gitignored);
// or get the patterns from the cache
app.gitignore();
console.log(app.cache.ignored[process.cwd()]);
Add one or more ignore patterns to app.cache.ignored for the current working directory.
Params
patterns {String|Array}options {Object}returns {Array}: Returns the array of patterns stored for the current working directoryExample
app.ignore('foo');
console.log(app.cache.ignored[process.cwd()]);
Params
fp {String}options {String}: If app.ignore() and/or app.gitignore() have already been called, this will use the cached ignored patterns, but you can also/alternatively pass ignore patterns on options.ignorereturns {Boolean}: Returns true if the filepath is ignored.Example
console.log(app.isIgnored('.DS_Store'));
//=> true
console.log(app.isIgnored('index.js'));
//=> false
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb, v0.9.0, on July 27, 2016.