From eae1e4b1cb572fc6ef8d1f04255f6775f7490997 Mon Sep 17 00:00:00 2001 From: "guo.xu" Date: Fri, 29 Jan 2021 09:29:25 +0800 Subject: [PATCH] =?UTF-8?q?commit-lint=E6=94=AF=E6=8C=81gitHooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/constants.ts | 1 + .../cli-plugin-command-commit-lint/src/index.ts | 14 +++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/cli-plugin-command-commit-lint/src/constants.ts b/packages/cli-plugin-command-commit-lint/src/constants.ts index 76fed42..4df4c56 100644 --- a/packages/cli-plugin-command-commit-lint/src/constants.ts +++ b/packages/cli-plugin-command-commit-lint/src/constants.ts @@ -1,4 +1,5 @@ export const HuskyGitParamsEnv = 'HUSKY_GIT_PARAMS' +export const GitParamsEnv = 'GIT_PARAMS' export const commitRE = /^(revert: )?(fix|feat|docs|perf|test|types|style|build|chore|refactor|ci|wip|breaking change)(\(.+\))?: .{1,50}/ export const mergeRE = /Merge / diff --git a/packages/cli-plugin-command-commit-lint/src/index.ts b/packages/cli-plugin-command-commit-lint/src/index.ts index 31f9612..3800c3c 100644 --- a/packages/cli-plugin-command-commit-lint/src/index.ts +++ b/packages/cli-plugin-command-commit-lint/src/index.ts @@ -1,5 +1,5 @@ import type { IPluginAPI } from '@xus/cli' -import { HuskyGitParamsEnv, commitRE, mergeRE } from './constants' +import { HuskyGitParamsEnv, GitParamsEnv, commitRE, mergeRE } from './constants' import { readFileSync } from 'fs-extra' import chalk from 'chalk' @@ -11,12 +11,16 @@ export default function (api: IPluginAPI): void { desc: 'help you to validate commit message' }, () => { - const gitParams = api.EnvManager.getEnv(HuskyGitParamsEnv) - if (gitParams) { - const commitMsg = readFileSync(gitParams, 'utf-8').trim() + const gitMsgPath = api.EnvManager.getEnv(GitParamsEnv) + const huskyMsgPath = api.EnvManager.getEnv(HuskyGitParamsEnv) + const msgPath = gitMsgPath || huskyMsgPath + if (msgPath) { + const commitMsg = readFileSync(msgPath, 'utf-8') + .trim() + .replace(/# .*/, ' ') if (!commitRE.test(commitMsg) && !mergeRE.test(commitMsg)) { console.info(`invalid commit message: - "${chalk.red(commitMsg)}". +"${chalk.red(commitMsg)}". Proper commit message format is required for automated changelog generation.