Node.js 22 Promovido a LTS - Resumo das Principais Novas Funcionalidades

2025.12.15

Node.js 22 Promovido a LTS

Em 29 de outubro de 2024, o Node.js 22 foi promovido a versão LTS (Long Term Support). As versões LTS têm garantia de suporte por 30 meses.

Upgrade recomendado: O Node.js 18 terá seu suporte encerrado em abril de 2025. Planeje sua migração para o Node.js 22.

Principais Novas Funcionalidades

1. Suporte a require(esm)

Agora é possível carregar módulos ES diretamente com require() a partir de módulos CommonJS. Isso facilita a coexistência de CommonJS e ESM.

// Carregar ESM a partir de CommonJS
const esModule = require('./esm-module.mjs');

2. API de Cliente WebSocket

A classe WebSocket compatível com navegadores agora está disponível por padrão. Comunicação WebSocket é possível sem bibliotecas externas.

const ws = new WebSocket('wss://example.com/socket');

ws.addEventListener('open', () => {
    ws.send('Hello Server!');
});

ws.addEventListener('message', (event) => {
    console.log('Recebido:', event.data);
});

3. Suporte Experimental a TypeScript

Com a flag --experimental-strip-types, agora é possível executar arquivos TypeScript diretamente.

# Executar arquivo TypeScript diretamente
node --experimental-strip-types app.ts

4. Upgrade do Motor V8

Atualizado para V8 12.4, disponibilizando as seguintes novas funcionalidades:

  • Array.fromAsync() - Gerar arrays a partir de iteradores assíncronos
  • Novos métodos de Set - union(), intersection(), etc.
  • Flag /v para expressões regulares

5. Carregamento de Variáveis de Ambiente de Arquivo

Arquivos .env podem ser carregados com a flag --env-file.

# Carregar arquivo .env e executar
node --env-file=.env app.js

Mudanças Quebradas

  • url.parse() está deprecado (use o construtor URL)
  • fs.exists() foi removido
  • Protocolos SSL/TLS antigos desabilitados por padrão

Resumo

O Node.js 22 adiciona funcionalidades que melhoram significativamente a experiência de desenvolvimento, incluindo melhor compatibilidade entre ESM e CommonJS, padronização do WebSocket e execução direta de TypeScript. Antes de aplicar em produção, verifique o impacto das mudanças quebradas.

← Voltar para a lista