ignore-check

1.1.7 • Public • Published

ignore-check

A simple CLI utility to make sure certain patterns are present in a project's .gitignore file.

npm version Downloads

Install

> npm install --global ignore-check

or you can use npx to run it on the fly without installing it

> npx ignore-check

Usage

$ npx ignore-check

  Usage
    $ ignore-check -p "**.data.json" -p "node_modules"

  Options
    -p, --pattern=<gitignore pattern entry> (multiple) The patterns that need to present in the .gitignore
    -d, --cwd=<directory>  Working directory, if not set, it will automatically try to find .gitignore files in parent directories recursively.
    -c, --comment=<comment> The comment you want surrounding the added lines.
    -f, --force Forces the creationg of a .gitignore in the current directory if one does not   exist already or cannot be found while checking parent directories.
    -s, --silent Silences all logs.
    --dry-run Does not change any files, just outputs logs.

For library maintainers

If you are developing a library that has specific sensitive file formats, you can add this script to your package.json as an install command.

For example, in open-wa, there is a super sensitive file which always ends with .data.json.

As the maintainer, I want to make sure that these files never get commited to repos and end up being leaked publicly. So I've added the following line to my package.json for that library.

//package.json
{
    ...
    "scripts": {
        ...
        "install": "npm_config_yes=true npx ignore-check -p \"**data.json\" -f --comment \"managed by open-wa\""
        ...
    }
}

This will now result in the ignore-check running every time someone installs or updates the library via npm.

Your users can bypass this check by either:

  1. Running npm install your-lib with the --ignore-scripts flag. The disadvantage of doing this is that it will ignore scripts from other dependencies also.
  2. Set SKIP_GITIGNORE_CHECK=true as an environmental variable.

Acknowledgements & Inspirations

License

ISC © Mohammed Shah

Readme

Keywords

none

Package Sidebar

Install

npm i ignore-check

Weekly Downloads

1,703

Version

1.1.7

License

ISC

Unpacked Size

11.7 kB

Total Files

6

Last publish

Collaborators

  • smashah