1
0
mirror of https://gitee.com/dromara/go-view.git synced 2025-04-06 03:58:04 +08:00
go-view/scripts/verify-commit.js
2024-11-21 17:35:18 +08:00

23 lines
874 B
JavaScript

// @ts-check
import pico from 'picocolors'
import { readFileSync } from 'node:fs'
import path from 'node:path'
const msgPath = path.resolve('.git/COMMIT_EDITMSG')
const msg = readFileSync(msgPath, 'utf-8').trim()
const commitRE =
/^(revert: )?(feat|fix|docs|dx|style|refactor|perf|test|workflow|build|ci|chore|types|wip|release)(\(.+\))?: .{1,50}/
if (!commitRE.test(msg)) {
console.log()
console.error(
` ${pico.white(pico.bgRed(' ERROR '))} ${pico.red(`invalid commit message format.`)}\n\n` +
pico.red(` Proper commit message format is required for automated changelog generation. Examples:\n\n`) +
` ${pico.green(`feat(compiler): add 'comments' option`)}\n` +
` ${pico.green(`fix(v-model): handle events on blur (close #28)`)}\n\n` +
pico.red(` See .github/commit-convention.md for more details.\n`)
)
process.exit(1)
}