Skip to content

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

Notifications You must be signed in to change notification settings

brikcss/git-hooks

Repository files navigation

Git Hooks

Set of useful Git hooks to make developer's lives easier.

NPM version NPM downloads per month Travis branch NPM version JavaScript Style Guide code style: prettier semantic release Commitizen friendly License Greenkeeper badge

Environment support

Node CLI UMD Browser
𐄂 𐄂 𐄂

Install

npm install -D @brikcss/git-hooks

Setup

  1. Configure .lintstagedrc.js to run your desired linters and formatters. See lint-staged documentation.
  2. Configure .huskyrc.js to run your desired git hooks. See husky documentation. For example:
    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 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 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.

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published