Кастомный git hook в package.json с лайкой

Я пытаюсь проверить сообщение коммита при коммите. Для этого я использую 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.logs в функции не вызываются.

Любая идея, как я могу заставить свою функцию вызываться? Кроме того, как я могу получить доступ к сообщению фиксации?

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);
}
Другие вопросы по тегам