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 scripts
blocos no package.json onde podemos declarar comandos ou scripts que serão executados em um evento específico, por exemplo install
, postinstall
ou uninstall
.
Portanto, em nosso caso, queremos copiar um arquivo de pré-confirmação de nosso projeto para a .git/hooks
pasta. 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"
}