[build] add lint for commit-msg (#4164)

This commit is contained in:
neverland 2019-08-20 19:27:21 +08:00 committed by GitHub
parent 89a980466f
commit 8dcf1c1139
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 1 deletions

34
build/lint-commit-msg.js Normal file
View File

@ -0,0 +1,34 @@
const fs = require('fs');
const signale = require('signale');
const gitParams = process.env.HUSKY_GIT_PARAMS;
const commitMsg = fs.readFileSync(gitParams, 'utf-8').trim();
const commitRE = /^(revert: )?\[(fix|feat|docs|perf|test|types|build|chore|refactor|breaking change)\].{1,50}/;
if (!commitRE.test(commitMsg)) {
signale.error(`Error: invalid commit message format.
Proper commit message format is required for automated changelog generation.
Examples:
[fix] Button: incorrect style
[feat] Button: add color prop
[dosc] Button: fix typo
Allowed Types:
- fix
- feat
- docs
- perf
- test
- types
- build
- chore
- refactor
- breaking change
`);
process.exit(1);
}

View File

@ -28,7 +28,8 @@
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
"pre-commit": "lint-staged",
"commit-msg": "node build/lint-commit-msg.js"
}
},
"lint-staged": {