https://github.com/smashah/ignorecheck
A simple CLI/utility to ensure certain patterns are present in a project's .gitignore - Be sure to 🌟 this repository for updates!
https://github.com/smashah/ignorecheck
gitignore gitignore-cli security-tools
Last synced: 6 months ago
JSON representation
A simple CLI/utility to ensure certain patterns are present in a project's .gitignore - Be sure to 🌟 this repository for updates!
- Host: GitHub
- URL: https://github.com/smashah/ignorecheck
- Owner: smashah
- Created: 2021-05-02T20:17:46.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-05-09T00:22:47.000Z (over 4 years ago)
- Last Synced: 2025-03-26T01:51:07.870Z (7 months ago)
- Topics: gitignore, gitignore-cli, security-tools
- Language: TypeScript
- Homepage:
- Size: 352 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
# ignore-check
> A simple CLI utility to make sure certain patterns are present in a project's .gitignore file.
>[](https://www.npmjs.com/package/ignore-check)
[](https://www.npmjs.com/package/ignore-check)## Install
```bash
> npm install --global ignore-check
```or you can use npx to run it on the fly without installing it
```bash
> npx ignore-check
```## Usage
```
$ npx ignore-checkUsage
$ ignore-check -p "**.data.json" -p "node_modules"Options
-p, --pattern= (multiple) The patterns that need to present in the .gitignore
-d, --cwd= Working directory, if not set, it will automatically try to find .gitignore files in parent directories recursively.
-c, --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](https://github.com/open-wa/wa-automate-nodejs), 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.
```javascript
//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
- [ensure-gitignore](https://github.com/seek-oss/ensure-gitignore)
- [find-up](https://github.com/sindresorhus/find-up)## License
ISC © [Mohammed Shah](https://github.com/smashah)