O NestJS versão 12 foi lançado como uma atualização maior que reorganiza a arquitetura fundamental do framework. A transição para ESM (ECMAScript Modules) representa a mudança mais significativa, embora com abordagem pragmática: os pacotes core migram para ESM, mas aplicações CommonJS continuam funcionando através do suporte nativo Node.js require(esm). A compatibilidade exige Node.js 20.19+ ou 22.12+.
O comando nest new agora oferece escolha entre gerar projetos CJS ou ESM. Projetos novos em ESM adotam Vitest e oxlint como ferramentas padrão, enquanto Rspack substitui webpack como bundler de monorepo. Segundo benchmarks do desenvolvedor Anton Chapala, a mudança para ESM não trouxe ganhos mensuráveis em tempo de inicialização ou consumo de memória. A importância da transição reside em "limpeza massiva de débito técnico de tooling e configuração", conforme conclusão dos testes.
A validação recebeu reformulação substancial. Decoradores de rota como @Body(), @Query() e @Param() agora aceitam opção schema compatível com Standard Schema, permitindo que Zod, Valibot e ArkType funcionem sem wrappers de terceiros após registrar o novo pipe. O class-validator permanece como opção documentada padrão. A abordagem baseada em especificação mantém flexibilidade aos desenvolvedores ao remover boilerplate, embora tipos ainda requeiram anotação manual devido à dependência de decoradores TypeScript legados.
O novo @nestjs/observe introduz observabilidade nativa através de integração ao lifecycle do NestJS via opção instrument, relatando traces em termos de controllers e providers em vez de efetuar patching do servidor HTTP. A Scout Monitoring alertou que o SDK é específico de NestJS, carece de cross-stack correlation nativa e apresenta risco de "vendor lock-in no nível do framework". O novo comando nest deploy encaminha para a plataforma Mau, indicando direcionamento similar.
A atualização de v11 requer instalar a CLI mais recente (npm i -g @nestjs/cli@latest) e executar nest upgrade. Este processo move todos os pacotes @nestjs/* para v12, atualiza TypeScript para v6 e aplica mudanças mecânicas como substituição de GraphQL Playground por GraphiQL e upgrade do cliente NATS para v3. O comando propositalmente não converte automaticamente projetos para ESM, Vitest ou oxlint.
Problemas relatados incluem path aliases quebrados em ESM e exceções de middleware Fastify que causam travamento. AWS Lambda runtimes requerem flag --experimental-require-module. A versão 12.1 subsequente adicionou suporte built-in a cookies, proteção CSRF e security headers.
O anúncio do criador Kamil Myśliwiec na rede X alcançou mais de 1.100 likes e 66.000 visualizações. NestJS permanece como framework MIT-licensed open-source que combina arquitetura inspirada em Angular com suporte Express e Fastify, mantendo mais de 76.000 stars no repositório GitHub.










