Package Exports
- validate-git-commit-msg
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (validate-git-commit-msg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Validate Git Commit Msg
Validate commit messages according to various presets
Install
yarn add validate-git-commit-msg -D
Features
Even though there are a couple of other packages that do this, this one has a few quality of life changes.
- Lets you decide how to validate the commit messages (see here)
- It validate commit files coming from both strings and files
- Supports the following presets:
- Supports ignore patterns
- Uses chalk module to color messages
- Logging can be muted via SILENT environment variable
Usage
With Husky
E.g., using Husky.
"scripts": {
"commitmsg": "validate-git-commit-msg"
}
From CLI
validate-git-commit-msg 'chore(package): some message'
validate-git-commit-msg -p eslint 'New: Awesome feature'
validate-git-commit-msg -p ember '[DOC beta] Update CONTRIBUTING.md'
validate-git-commit-msg -p jshint '[[DOCS]] Awesome JS docs'
...
When a wrong commit message is given it outputs an explaination.
validate-git-commit-msg 'unknown(something): wrong'
# 'unknown' is not an allowed type!
# Valid types are: feat, fix, docs, style, refactor, perf, test, chore, revert
However you can mute it:
validate-git-commit-msg -s 'unknown(something): wrong'
Validate a commit with .git directory in another location
validate-git-commit-msg --mf ../../some/.git/module/COMMIT_EDITMSG
Within node
var validateCommit = require('validate-git-commit-msg').validateMessage;
validateCommit('chore(package): some message'); // > true
validateCommit('New: Awesome', { preset: 'eslint' }); // > true
validateCommit('Unk: Awesome', { preset: 'eslint' }); // > false
// > The word "Unk" is not an allowed tag.
// > Valid types are: Fix, Update, Breaking, Docs, Build, New, Upgrade.
process.env.SILENT = true;
validateCommit('Unk: Awesome', { preset: 'eslint' }); // > false
API
JavaScript
validateMessage(message: string, ?options: object)
validateMessageFromFile(file: string, ?options: object)
CLI
This module, like many others, installs an executable in ./node_modules/.bin.
~./node_modules/.bin./validate-git-commit-msg
Usage: validate-git-commit-msg [options] [command]
Commands:
validate-git-commit-msg <message> validate a message
help [cmd] display help for [cmd]
Validate commit messages according to various presets
Options:
-h, --help output usage information
-V, --version output the version number
-p, --preset <preset> specify a preset (angular|atom|eslint|ember|jquery|jshint) [angular]
-s, --silent mute log messages [false]
--mf --msgfile relative path to COMMIT_EDITMSG file
Development
yarn install
License
Apache-2.0 © Joaquin Briceno