Кастомный 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.log
s в функции не вызываются.
Любая идея, как я могу заставить свою функцию вызываться? Кроме того, как я могу получить доступ к сообщению фиксации?
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);
}