Instale git commit hooks após npm install usando grunt

Se você estiver trabalhando em equipes maiores, é uma boa ideia executar algumas ferramentas de qualidade de código antes de algum commit. Isso pode ser feito por um gancho de pré-confirmação. Mas como garantir que todos tenham o mesmo gancho no projeto. Podemos copiá-los diretamente após a construção de um projeto npm install. Existem scriptsblocos no package.json onde podemos declarar comandos ou scripts que serão executados em um evento específico, por exemplo install, postinstallou uninstall.

Portanto, em nosso caso, queremos copiar um arquivo de pré-confirmação de nosso projeto para a .git/hookspasta. O arquivo mínimo grunt seria assim:

module.exports = function(grunt) {

grunt
.initConfig({
"copy": {
"hooks": {
"files": {
// copy the pre-commit file from the hooks folder in the project into the .git/hooks folder
".git/hooks/pre-commit": "hooks/pre-commit"
}
}
}
});
grunt
.loadNpmTasks('grunt-contrib-copy');
}

e no arquivo package.json adicionamos uma seção de scripts com um script de pós-instalação que apenas chama a tarefa grunt:

"scripts": {
"postinstall": "grunt copy:hooks"
}