package.json中的自定义git hook与husky

时间:2018-04-23 11:56:40

标签: git package.json git-husky

我正在尝试在提交时验证提交消息。为此,我使用Husky和commit-msg钩子。

但是,由于我也在构建时提交消息验证,因此我希望验证代码可以在单独的JS文件中使用。所以我试图调用外部JS文件来执行我的提交验证。在我的package.json文件中,我有:

"commitmsg": "node validation.js"

但是,我无法正确执行验证。现在,validation.js看起来像这样:

console.log('Here');
const config = (a, b) => {
  console.log(a);
  console.log(b);
};

module.exports = config;
显示

Here,但不调用函数中的console.log

知道如何让我的函数被调用吗?另外,如何访问提交消息?

1 个答案:

答案 0 :(得分:1)

我很傻,我找到了解决办法。如果它在将来对其他人有用:

const myRegex = new RegExp('.*');
const commitMsg = require('fs').readFileSync(process.env.HUSKY_GIT_PARAMS, 'utf8');

if (!myRegex.test(commitMsg) ) {
  console.error(`Invalid commit message!`);
  process.exit(1);
}