Node.js 22 foi lançado: visão geral das principais novidades
Em 22 de abril de 2024, ocorreu o lançamento oficial do Node.js 22 — a nova versão estável da popular plataforma de servidor JavaScript. Esta atualização traz muitas melhorias de desempenho, segurança e facilidade de desenvolvimento. Vamos analisar o que há de mais interessante.
Principais mudanças no Node.js 22
1. Motor V8 atualizado para a versão 12.4
O Node.js 22 é baseado no novo motor V8 12.4, já utilizado no Chrome 124. Entre as principais melhorias:
- Otimização do trabalho com arrays — o novo
Array.fromAsyncpermite criar arrays a partir de iteradores assíncronos sem promessas desnecessárias. - Análise sintática acelerada — graças ao compilador JIT aprimorado, a velocidade de execução do código aumentou em média 5–10%.
- Novos métodos para RegExp — adicionado suporte ao sinalizador
vpara uma sintaxe mais flexível de expressões regulares.
2. WebSocket tornou-se estável (sem sinalizador)
Anteriormente, o WebSocket no Node.js era experimental e exigia execução com o sinalizador --experimental-websocket. Na versão 22, ele finalmente recebeu o status de API estável. Agora você pode usar o WebSocket integrado sem configurações adicionais:
const ws = new WebSocket('ws://example.com');ws.onmessage = (event) => console.log(event.data);Isso simplifica a criação de aplicações em tempo real (real-time) — chats, rastreadores, jogos.
3. Módulos ESM por padrão para scripts
A partir do Node.js 22, se você executar um script com a extensão .mjs ou se no package.json estiver especificado "type": "module", o sistema de módulos CommonJS não será mais usado por padrão. Este é um passo importante para padronizar o ecossistema em torno dos módulos ES.
- Simplificação de importação — agora
import/exportfunciona nativamente sem transpiladores. - Suporte a top-level await — é possível aguardar promessas no nível superior do módulo.
4. Trabalho aprimorado com streams
Foram adicionados novos métodos para trabalhar com streams:
ReadableStream.from()— permite criar streams legíveis a partir de qualquer iterador (por exemplo, de Set ou Map).WritableStream.getWriter()— simplifica a gravação de dados em streams sem encapsulamentos desnecessários.
5. Segurança aprimorada
No Node.js 22, as políticas de segurança foram reforçadas:
- Escapamento automático ao exibir dados no console através de
console.log()para prevenir injeções. - Proibição do uso de algoritmos criptográficos obsoletos por padrão (por exemplo, SHA-1 para assinaturas).
O que isso significa para os desenvolvedores?
Node.js 22 não é apenas mais um lançamento, mas um marco importante na evolução da plataforma. Os principais benefícios para os desenvolvedores:
- Menos dependências — WebSocket integrado e ESM estável permitem dispensar pacotes de terceiros (por exemplo,
wsouesm). - Maior desempenho — graças às otimizações