https://github.com/brikcss/git-hooks
Useful git hooks to make developers' lives easier. Includes a pre-commit linter, a commit message branch stamper, and a pre-push stage checker (all optional).
https://github.com/brikcss/git-hooks
git-hooks husky prettier standard-js stylelint
Last synced: 2 months ago
JSON representation
Useful git hooks to make developers' lives easier. Includes a pre-commit linter, a commit message branch stamper, and a pre-push stage checker (all optional).
- Host: GitHub
- URL: https://github.com/brikcss/git-hooks
- Owner: brikcss
- Created: 2018-03-22T07:12:22.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-29T04:25:45.000Z (about 5 years ago)
- Last Synced: 2025-03-15T05:46:34.566Z (3 months ago)
- Topics: git-hooks, husky, prettier, standard-js, stylelint
- Language: JavaScript
- Homepage:
- Size: 764 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Git Hooks
> Set of useful Git hooks to make developer's lives easier.
## Environment support
| Node | CLI | UMD | Browser |
| :--- | :-: | :-- | :------ |
| 𐄂 | ✔ | 𐄂 | 𐄂 |## Install
```sh
npm install -D @brikcss/git-hooks
```## Setup
1. Configure `.lintstagedrc.js` to run your desired linters and formatters. See [lint-staged documentation](https://www.npmjs.com/package/lint-staged).
2. Configure `.huskyrc.js` to run your desired git hooks. See [husky documentation](https://github.com/typicode/husky). For example:
```js
module.exports = {
hooks: {
'pre-commit': 'lint-staged',
'commit-msg':
'commitlint -e $HUSKY_GIT_PARAMS && . ./node_modules/.bin/commit-msg-stamp-branch $HUSKY_GIT_PARAMS',
'pre-push': '. ./node_modules/.bin/pre-push-check-stage && echo "\n[ok] Pushing code..."',
},
};
```### lint-staged
lint-staged allows you to easily lint and format _staged files_. This negates the need to lint files during a watch/build process. See [lint-staged documentation](https://www.npmjs.com/package/lint-staged) for configuration options.
### `commit-msg-stamp-branch`
This hook appends the source branch name to the commit message. No configuration necessary, just add to husky's configuration as shown above.
### `pre-push-check-stage`
This hook ensures stage is not "dirty" prior to running `git push`. No configuration necessary, just add to husky's configuration as shown above.
### `github-zip`
This hook is intended for use with [Travis](http://travis-ci.org) or similar continuous integration build tools. It grabs files recently published to NPM and compresses them into both a `.zip` and `.tgz` file. This allows you to release the same exact files to GitHub as were released on NPM.