{"componentChunkName":"component---src-templates-blog-post-js","path":"/git-hooks-com-husky-entendendo-configurando-e-aplicando/","result":{"data":{"markdownRemark":{"fields":{"slug":"/git-hooks-com-husky-entendendo-configurando-e-aplicando/"},"frontmatter":{"title":"Git Hooks com Husky: entendendo, configurando e aplicando.","description":"Neste post abordarei as funcionalidades do Husky, um biblioteca de Git Hooks que sou fã de carteirinha.","date":"18 de novembro de 2020","thumbnail":"/assets/img/githusky.png"},"html":"<h1>Introdução</h1>\n<p>Fala galerinha, tudo joia? Post novo quentinho para vocês, e dessa vez sobre o meu amado Husky (estou animado em finalmente lançar um post sobre Git Hooks por aqui, hehehe). Bora lá?</p>\n<h1>Git Hooks?</h1>\n<blockquote>\n<p>Mas Gian, do que se trata?</p>\n</blockquote>\n<p>Pois bem jovem padawan, Git Hooks são scripts predeterminados que executam automaticamente toda vez que você realiza uma ação em particular no seu repositório Git.</p>\n<p>Você pode adicionar triggers customizados e mudar o comportamento interno do Git para aceitar certa ação apenas se o script definido anteriormente rodar sem nenhum erro. Mágico né?</p>\n<h1>Husky</h1>\n<p>o que o Husky faz é criar Git Hooks em ambientes Node/npm de uma maneira super fácil! Sério, melzinho na chupeta!<br>\n<br>\nPrimeiro vamos instalar a lib:</p>\n<div class=\"gatsby-highlight\" data-language=\"powershell\"><pre class=\"language-powershell\"><code class=\"language-powershell\">$ npm install husky <span class=\"token operator\">--</span><span class=\"token function\">save-dev</span></code></pre></div>\n<p>Após instalado, podemos ir até o arquivo <code class=\"language-text\">package.json</code> onde esta localizado a parte de scripts e adicionar seus hooks customizados, se liga no exemplo:</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token comment\">// package.json</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"husky\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">\"hooks\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">{</span>\n      <span class=\"token property\">\"pre-commit\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"npm test\"</span><span class=\"token punctuation\">,</span>\n      <span class=\"token property\">\"pre-push\"</span><span class=\"token operator\">:</span> <span class=\"token string\">\"npm test\"</span>\n    <span class=\"token punctuation\">}</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"powershell\"><pre class=\"language-powershell\"><code class=\"language-powershell\">$ git commit <span class=\"token operator\">-</span>m <span class=\"token string\">'Keep calm and commit'</span></code></pre></div>\n<p>O que nós criamos foram duas configurações que rodam o script <code class=\"language-text\">npm test</code> toda vez que executarmos um commit ou push, só liberando o comando caso o script execute sem nenhum erro. Então não tem mais mais desculpas para subir código quebrado, né? Hehe.</p>\n<h1>Conclusão</h1>\n<p>Então é isto por hoje meus caros, post bem rápido e simples. Espero que tenham curtido o conteúdo, até porque depois que eu descobri essa ferramenta nunca mais parei de usar, haha. Fala sério, que coisa útil! <br>\n<br>\nLembrando: fique a vontade para usar a área de comentários! </p>\n<p>Nos vemos semana que vem! :D</p>","timeToRead":1}},"pageContext":{"slug":"/git-hooks-com-husky-entendendo-configurando-e-aplicando/","previousPost":{"frontmatter":{"title":"Novas features do ES2021/ES12."},"fields":{"slug":"/novas-features-do-es2021-es12/"}},"nextPost":{"fields":{"slug":"/clonar-um-site-não-te-torna-um-desenvolvedor-front-end/"},"frontmatter":{"title":"Clonar um site NÃO te torna um Desenvolvedor Front-end!"}}}},"staticQueryHashes":["1246478059","1873617545","764694655"]}