Lançado Node.js 22: visão geral das principais novidades e mudanças
A comunidade de desenvolvedores JavaScript recebeu um evento importante — o lançamento oficial do Node.js 22. Esta versão traz muitas melhorias que afetarão tanto desenvolvedores backend quanto criadores de ferramentas de linha de comando. Vamos analisar as mudanças mais significativas que todos que trabalham com Node.js devem conhecer.
Motor V8 12.4: velocidade e novos recursos
O coração do Node.js 22 é o motor V8 atualizado para a versão 12.4. Não é apenas uma atualização cosmética — ele traz novos recursos do JavaScript que já podem ser usados em produção:
- Array.fromAsync — método estático para criação assíncrona de arrays a partir de objetos iteráveis. Simplifica o trabalho com fluxos de dados.
- Métodos de Set — chamadas diretas de
intersection(),union(),difference()para trabalhar com conjuntos sem bibliotecas externas. - Iterator Helpers — métodos muito aguardados para trabalhar com iteradores (map, filter, take e outros) agora disponíveis "nativamente".
require() estável para módulos ESM
Uma das mudanças mais discutidas — a flag --experimental-require-module agora está habilitada por padrão. Isso significa que você pode usar require() para carregar módulos ESM (com extensão .mjs ou com "type": "module" no package.json).
O que isso significa para o desenvolvedor:
- Transição gradual de CommonJS para ESM sem reescrever todo o código.
- Possibilidade de conectar pacotes ESM modernos em projetos antigos.
- Simplificação da migração para grandes bases de código.
WebSocket aprimorado e trabalho com rede
Node.js 22 inclui um cliente WebSocket integrado (anteriormente experimental). Agora, para criar aplicações em tempo real, não é necessário instalar ws ou socket.io — tudo está disponível através do objeto global WebSocket.
Também vale destacar as melhorias no cliente HTTP: o suporte a HTTP/2 está habilitado por padrão, e agora é possível usar fetch() com detecção automática de proxy a partir de variáveis de ambiente.
Mudanças no trabalho com sistema de arquivos
Desenvolvedores que trabalham com arquivos apreciarão os novos métodos no módulo fs:
- fs.cp — agora estável e funciona mais rápido que alternativas.
- fs.openAsBlob() — criação de Blob a partir de um arquivo sem carregá-lo inteiramente na memória.
- Suporte aprimorado para links simbólicos no Windows.
O que foi descontinuado e removido
Como em qualquer grande atualização, algumas funções foram marcadas como obsoletas ou removidas:
- O módulo
punycodefoi removido definitivamente (useURLou o pacotepunycodedo npm). - Os argumentos de linha de comando
--experimental-loadere--experimental-specifier-resolutionforam declarados obsoletos. - A opção
--no-experimental-fetchnão funciona mais — fetch agora está integrado permanentemente.
Como atualizar
Node.js 22 está disponível para download no site oficial nodejs.org. Recomenda-se atualizar através de um gerenciador de versões (nvm ou fnm) para, se necessário, reverter rapidamente.