verify-commit.ts 802 B

1234567891011121314151617181920212223
  1. const chalk = require("chalk");
  2. const msgPath = process.env.HUSKY_GIT_PARAMS;
  3. const msg = require("fs").readFileSync(msgPath, "utf-8").trim();
  4. const commitRE = /^(revert: )?(feat|fix|polish|docs|style|refactor|perf|test|workflow|ci|chore|types)(\(.+\))?: .{1,50}/;
  5. if (!commitRE.test(msg)) {
  6. console.log();
  7. console.error(
  8. ` ${chalk.bgRed.white(" ERROR ")} ${chalk.red(
  9. "不合法的 commit 消息格式"
  10. )}\n\n` +
  11. chalk.red(" 请使用正确的提交格式:\n\n") +
  12. ` ${chalk.green("feat: add 'comments' option")}\n` +
  13. ` ${chalk.green("fix: handle events on blur (close #28)")}\n\n` +
  14. chalk.red(
  15. " 请查看 git commit 提交规范:https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md \n"
  16. )
  17. );
  18. process.exit(1);
  19. }