.gitignore
generator
Handy Check handy-gi-cli for the command line version
A package that automatically generates a suitable .gitignore
string that fits your needs by detecting the directory contents, OS, Text editors and so on ...etc.
It utilizes official GitHub’s collection .gitignore
templates.
Installation
$ npm install --save handy-gi
How it works
Handy-gi simply runs a bunch of checkers (called matchers) against the given directory, a matcher is a simple JavaScript code that tries to infer whether the contents of that directory matches its specification or not. Take a look at the Node.js as an example:
// a couple of imports ... const info = name: 'Node.js' // A humanized name template: 'Node' // must match the file name (with ext) of the official // GitHub's collection. global: false // whether or not the .gitignore file lives inside // 'templates/Global' folder const match = async { // The pattern we test against const pattern = '**/package.json' // Try to find 'package.json' ? const matches = files // Did we? return matcheslength > 0}
See! very simple
NOTE: matchers can also perform other checks, such as OS, available editors ..etc
After finding all matches, Handy-gi then will build the final .gitignore
string for you :)
Usage
var gi = ignore gi
Supported templates
See templates folder to see which of the GitHub's collection templates are currently supported.
Modules
generate
Iterate over a list of template pairs to generate a string containing all corrspondent .gitignore files contents
Parameters
tempaltesList
Array of {name, template} pairs of target templates
Examples
// outputs the following string// ### Node.js ###// # Logs// logs// .log// ...
Returns Promise with the full .gitignore string
match
Asynchronously matches the given files list against all available matchers
Parameters
files
Array to match against
Examples
// outputs: [{name: 'Node.js', template: 'Node'}]
Returns Promise with an array of { name, tempalte} of the corresponding matchers
License
MIT © Ahmed Tajelsir