Novo lançamento

Node.js 23.0 é lançado com suporte experimental a TypeScript

Node.js 23.0 chega com suporte experimental a TypeScript e diversas melhorias, como o uso de módulos ESM via "require()", suporte ao SQLite e Web Storage, além da remoção da versão de 32 bits do Windows.

Logotipo do Node.js com elementos gráficos em verde conectando pontos em uma rede sobre um fundo escuro

A equipe de desenvolvimento do Node.js anunciou o lançamento da versão 23.0, trazendo novidades significativas para desenvolvedores que utilizam essa plataforma amplamente conhecida para a criação de aplicativos de rede com JavaScript. Classificado como uma versão intermediária, o Node.js 23.0 terá suporte oficial até junho de 2025. Enquanto isso, o Node.js 22, que será promovido a LTS no final de outubro, receberá atualizações de longo prazo até abril de 2027.

Suporte ao TypeScript

Logotipo do TypeScript com uma linha do horizonte estilizada de Seattle ao fundo, incluindo a roda gigante e o Space Needle.

Entre os destaques dessa versão, está o suporte experimental para TypeScript, uma adição importante para os desenvolvedores que preferem o uso de tipos explícitos em suas aplicações. A funcionalidade pode ser habilitada com as opções --experimental-strip-types e --experimental-transform-types. A primeira opção remove as declarações de tipos do TypeScript, sem realizar a verificação de tipos, enquanto a segunda converte algumas estruturas de TypeScript para JavaScript, como enumerações e namespaces.

Outra novidade relevante é a habilitação do uso de módulos ESM (ECMAScript Modules) via require() por padrão. Essa funcionalidade, anteriormente experimental, agora está mais acessível, facilitando a integração de módulos compatíveis com navegadores diretamente em aplicações Node.js. Embora ainda em fase de testes, os desenvolvedores podem relatar problemas e ajustar a funcionalidade conforme necessário.

Suporte ao Web Storage

Data center com ícones digitais representando armazenamento em nuvem, música, mensagens e outros serviços, simbolizando conectividade e tecnologia em rede.

Além disso, a versão 23.0 também adiciona suporte experimental ao Web Storage, um API popular em navegadores para armazenar dados em cache (localStorage) ou temporários (sessionStorage). Essa implementação exige a ativação de uma flag experimental e a indicação de um arquivo para armazenamento. A plataforma também passou a incluir o SQLite como uma de suas dependências principais, permitindo que bases de dados sejam manipuladas diretamente com comandos SQL.

Outras melhorias notáveis incluem a estabilização da funcionalidade node --run, a remoção do suporte para sistemas Windows de 32 bits e um aumento significativo no desempenho de operações com buffers e do sistema de arquivos.

O motor V8, central para a execução do JavaScript no Node.js, também foi atualizado para a versão 12.9, trazendo mais melhorias de performance e compatibilidade com os padrões mais recentes do C++20, o que exige agora o uso do GCC 12 ou superior para compilar o Node.js.

Essas e outras melhorias consolidam o Node.js 23.0 como uma versão robusta, preparando o terreno para o desenvolvimento de aplicativos de rede mais rápidos e eficientes, com maior flexibilidade e compatibilidade com padrões modernos.