UNPKG

@zkochan/pnpm

Version:

A fast implementation of npm install

81 lines (52 loc) 3.11 kB
# validate-commit-msg [![travis build](https://img.shields.io/travis/kentcdodds/validate-commit-msg.svg?style=flat-square)](https://travis-ci.org/kentcdodds/validate-commit-msg) [![codecov coverage](https://img.shields.io/codecov/c/github/kentcdodds/validate-commit-msg.svg?style=flat-square)](https://codecov.io/github/kentcdodds/validate-commit-msg) [![version](https://img.shields.io/npm/v/validate-commit-msg.svg?style=flat-square)](http://npm.im/validate-commit-msg) [![downloads](https://img.shields.io/npm/dm/validate-commit-msg.svg?style=flat-square)](http://npm-stat.com/charts.html?package=validate-commit-msg&from=2015-08-01) [![MIT License](https://img.shields.io/npm/l/validate-commit-msg.svg?style=flat-square)](http://opensource.org/licenses/MIT) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/semantic-release/semantic-release) [![Donate][donate-badge]][donate] This provides you a binary that you can use as a githook to validate the commit message. I recommend [ghooks](http://npm.im/ghooks). You'll want to make this part of the `commit-msg` githook. Validates that your commit message follows this format: ``` <type>(<scope>): <subject> ``` ## Usage ### options You can specify options in `package.json` ```javascript { "config": { "validate-commit-msg": { "types": ["feat", "fix", "docs", "style", "refactor", "perf", "test", "chore", "revert"], // default "warnOnFail": false, // default "maxSubjectLength": 100, // default "subjectPattern": ".+", // default "subjectPatternErrorMsg": 'subject does not match subject pattern!', // default "helpMessage": "" //default } } } ``` #### types These are the types that are allowed for your commit message. If omitted, the value is what is shown above. You can also specify: `"types": "*"` to indicate that you don't wish to validate types #### warnOnFail If this is set to `true` errors will be logged to the console, however the commit will still pass. #### maxSubjectLength This will control the maximum length of the subject. #### subjectPattern Optional, accepts a RegExp to match the commit message subject against. #### subjectPatternErrorMsg If `subjectPattern` is provided, this message will be displayed if the commit message subject does not match the pattern. #### helpMessage If provided, the helpMessage string is displayed when a commit message is not valid. This allows projects to provide a better developer experience for new contributors. The `helpMessage` also supports interpoling a single `%s` with the original commit message. ### Other notes If the commit message begins with `WIP` then none of the validation will happen. ## Credits This was originally developed by contributors to [the angular.js project](https://github.com/angular/angular.js). I pulled it out so I could re-use this same kind of thing in other projects. [donate-badge]: https://img.shields.io/badge/$-support-green.svg?style=flat-square [donate]: http://kcd.im/donate