Skip to content

Transforms .gitignore patterns to ones compatible with the glob package (used by Grunt & others)

License

Notifications You must be signed in to change notification settings

EE/gitignore-to-glob

Repository files navigation

gitignore-to-glob

Transforms .gitignore patterns to ones compatible with the glob package (used by Grunt & others)

Build Status Build status

Installation

To install the package and add it to your package.json, invoke:

npm install gitignore-to-glob --save-dev

Rationale

.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.

Usage

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.

Usage Examples

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.

Supported Node.js versions

This project aims to support all Node.js versions supported upstream (see Release README for more details).

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 npm test.

License

Copyright (c) 2014 Laboratorium EE. Licensed under the MIT license.

About

Transforms .gitignore patterns to ones compatible with the glob package (used by Grunt & others)

Resources

License

Stars

Watchers

Forks

Packages

No packages published