A evolução natural do processo de desenvolvimento nos levou a patamares bastante interessantes, atualmente quando se pensa em aplicações web já é possível ser suportado por uma gama razoável de ferramentas, padrões, enfim; inúmeros recursos visando a qualidade.
Nesse turbilhão de possibilidades surgiu o Grunt, uma ferramenta em linha de comando para automatização de tarefas; criado por Ben Alman, e que já conta com uma comunidade bastante ativa.
Recentemente na ISPM conversamos justamente sobre o Grunt e de como esta ferramenta pode tornar-se importante no processe de desenvolvimento. Abaixo um pequeno resumo da nossa conversa. Maiores detalhes sobre o Grunt podem ser visto na sua excelente documentação (oficial), e o melhor ponto de partida é o documento getting started.
O Grunt foi construído usando o Node e naturalmente ele e o seu gerenciador de pacotes, o NPM, são pré-requisitos.
Podemos transformar nosso projeto em um pacote NPM, criando um arquivo chamado package.json, o que pode ser bastante útil.
Precisamos colocar o Grunt no system path para que possamos usá-lo à partir de qualquer diretório, o comando abaixo se encarrega disso.
npm install -g grunt-cli
Após a instalação do CLI, precisamos à partir da raiz do projeto, finalmente instalar o Grunt. O parâmetro –save-dev inclui o Grunt na lista de dependências no arquivo package.json
npm install grunt --save-dev
O Gruntfile abriga as definições/configurações para as nossas tarefas, um exemplo bem detalhada pode ser visto aqui
Após estes detalhes ajustados, para executar qualquer tarefa basta rodar o comando abaixo, por exemplo:
grunt uglify