Transforms .gitignore patterns to ones compatible with the glob package (used by Grunt & others)
To install the package and add it to your package.json
, invoke:
npm install gitignore-to-glob --save-dev
.gitignore
uses a different format than the glob
package used, among others, by Grunt. Sometimes it's desirable
to exclude files excluded by .gitignore
in a glob pattern so a transformation function is needed.
Once the package has been installed, it may be used via:
require('gitignore-to-glob')(pathToGitignore, dirsToCheck);
where pathToGitignore
is '.gitignore'
by default and dirsToCheck
is an optional array of directories where we
assume all files matched by the glob pattern exist. The parameter is optional but may be passed for performance reasons.
The rationale is that .gitignore
patterns not starting with /
are treated as if a glob pattern started with **/
and that would be expensive as some directories like node_modules
usually contain a lot of files so excluding them
all manually would be slow.
The most basic usage:
require('gitignore-to-glob')();
This will convert files from the main '.gitignore'
.
require('gitignore-to-glob')('app/.gitignore', ['app', 'test']);
This will convert the 'app/.gitignore'
file but will omit patterns outside directories app
and test
.
This project aims to support all Node.js versions supported upstream (see Release README for more details).
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 npm test
.
Copyright (c) 2014 Laboratorium EE. Licensed under the MIT license.