Created
March 21, 2019 02:59
-
-
Save Jesseyx/8cd4a301d80469dc8b8bc17139b216a3 to your computer and use it in GitHub Desktop.
verify-commit-msg.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const chalk = require('chalk') | |
const msgPath = process.env.GIT_PARAMS | |
const msg = require('fs').readFileSync(msgPath, 'utf-8').trim() | |
const commitRE = /^(revert: )?(feat|fix|polish|docs|style|refactor|perf|test|workflow|ci|chore|types|build)(\(.+\))?: .{1,50}/ | |
if (!commitRE.test(msg)) { | |
console.log() | |
console.error( | |
` ${chalk.bgRed.white(' ERROR ')} ${chalk.red(`invalid commit message format.`)}\n\n` + | |
chalk.red(` Proper commit message format is required for automated changelog generation. Examples:\n\n`) + | |
` ${chalk.green(`feat(compiler): add 'comments' option`)}\n` + | |
` ${chalk.green(`fix(v-model): handle events on blur (close #28)`)}\n\n` + | |
chalk.red(` See .github/COMMIT_CONVENTION.md for more details.\n`) + | |
chalk.red(` You can also use ${chalk.cyan(`npm run commit`)} to interactively generate a commit message.\n`) | |
) | |
process.exit(1) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment