Skip to content
Latchkey

npm Scripts vs Make: Executando Tarefas do Projeto

Os npm scripts definem tarefas em package.json dentro do ecossistema Node; o Make é uma ferramenta de build agnóstica de linguagem com rastreamento de dependências.

Os npm scripts ficam em package.json e são a forma natural de rodar comandos de build, teste e lint em projetos JavaScript, com acesso aos binários instalados localmente. O Make é neutro em relação à linguagem, rastreia dependências de arquivos e pode orquestrar tarefas entre muitas ferramentas e linguagens, mas sua sintaxe sensível a tabs e as diferenças de shell podem confundir iniciantes. Os npm scripts são convenientes para repositórios centrados em JS; o Make serve a projetos poliglotas ou com grafos de build pesados.

npm scriptsMake
Ficam empackage.jsonMakefile
EcossistemaNode / npmAgnóstico de linguagem
Rastreamento de dependênciasNenhumTimestamps de arquivos
Binários locaisAutomático no PATHCaminhos manuais
Melhor paraProjetos JS/TSPoliglota, grafos de build

No CI

Para um repositório JavaScript ou TypeScript, os npm scripts mantêm as tarefas junto das dependências e simplesmente funcionam no CI. O Make é melhor quando você orquestra múltiplas linguagens ou precisa de builds incrementais de verdade. Alguns times usam npm scripts como ponto de entrada JS e um Makefile ou task runner para coordenar o projeto mais amplo.

Acelere

Faça cache do node_modules (ou do store do gerenciador de pacotes) e de quaisquer saídas de build para que as tarefas comecem aquecidas. Ambos rodam em runners de CI; runners gerenciados mais rápidos encurtam as etapas de install, build e teste.

O veredito

Trabalhar em um projeto JavaScript ou TypeScript: os npm scripts são a escolha natural e conveniente. Orquestrar múltiplas linguagens ou precisar de builds cientes de dependências: Make. Muitos repositórios combinam os dois - npm scripts para tarefas JS, Make para a coordenação entre linguagens.

Guias relacionados