Tooling e Build
TL;DR
O ecossistema completo de tooling JS/TS, em 3 fases. A tese: tooling existe pra fechar o gap entre o que você escreve (ESM, TS, JSX, CSS moderno, deps de terceiros) e o que roda (JS compatível, otimizado, empacotado). O eixo é o pipeline resolver → transpilar → empacotar → otimizar → servir, mais a camada de dependências e qualidade ao redor.
Da gestão de dependências aos bundlers, passando por transpilação, qualidade (lint/format), monorepos e o futuro (Rust/Go, IA). A linguagem vive em JavaScript e TypeScript; aqui é a maquinaria que transforma esse código em algo que roda.
🟢 Iniciado — motivo, dependências, módulos e o pipeline
- 01 - Por que tooling e build existem — o gap source↔runtime e o pipeline
- 02 - A evolução do tooling JS - de script ao bundler moderno — a narrativa: por que cada geração nasceu
- 03 - Package managers - npm, pnpm, yarn e Bun — node_modules, store do pnpm, escolha
- 04 - Gerenciando versões de Node — nvm/fnm/Volta/mise, corepack
- 05 - Semver e o grafo de dependências — ranges, lockfiles, resolução
- 06 - ESM e CJS e o sistema de módulos — interop, exports, resolução pro bundler
- 07 - O grafo de módulos e o que é bundling — o coração conceitual
- 08 - Transpilação e targets — Babel/SWC/esbuild/tsc, downleveling, polyfills
- 09 - Dev server e HMR — dev × prod, ESM nativo, Hot Module Replacement
🟡 Adepto — as ferramentas (legadas e modernas) e a qualidade
- 10 - Ferramentas legadas - Grunt, Gulp, Bower, Browserify e RequireJS — o que eram, estado hoje, por que caíram
- 11 - webpack - o veterano — entry/output/loaders/plugins; Module Federation
- 12 - Create React App e a era dos scaffolders — a morte de um padrão (CRA sunset 2025)
- 13 - Vite a fundo — o padrão moderno; dois motores → Rolldown
- 14 - Rollup, esbuild e Rolldown — bundlers de baixo nível e pra libs
- 15 - Turbopack, Rspack e a corrida Rust-Go — bundlers nativos e o porquê da migração
- 16 - Linting, formatting e git hooks — ESLint/Prettier/Biome/oxlint + Husky/lint-staged
- 17 - Otimização de bundle — tree-shaking, code splitting, lazy loading
- 18 - O runtime como ferramenta de DX — —watch, —env-file, TS nativo, tsx
- 19 - Test runner nativo (node-test) e o cenário de testes — node:test, Vitest, Jest, Bun
- 20 - Bun como runtime e toolkit all-in-one — o toolkit unificado
🔴 Magus — escala, produção, futuro
- 21 - Monorepos - workspaces, Turborepo, Nx e changesets — workspaces, caching de tasks, release com changesets
- 22 - Single Executable Apps (SEA) e empacotamento — empacotar um app num binário único (Node/Bun/Deno)
- 23 - Build em produção, CI e determinismo — build reprodutível, cache de CI, source maps em prod
- 24 - Supply chain e segurança de dependências — integridade, provenance, typosquatting, dependency confusion
- 25 - IA no tooling e build — agentes, codegen, MCP no dev loop; o que muda e o que não
- 26 - Decision tree, futuro e entrevista — capstone: que ferramenta pra que projeto + revisão + entrevista
Referência
- Biblioteca de Tooling e Build — recursos externos curados (docs, State of JS, blogs)
Veja também
- JavaScript · TypeScript
- Node · React
- Compiladores e Linguagens — a teoria por trás da transpilação