Novidade: TypeScript 5.0 reconstruído para usar módulos ECMAScript

TypeScript 5.0 reconstruído para usar módulos ECMAScript
AdsTerra, Junte-se ao AdsTerra

Com o TypeScript 5.0, a equipe de desenvolvimento do TypeScript reestruturou todo o código para usar módulos ECMAScript, reduzindo o tamanho do pacote e melhorando o desempenho.

O TypeScript 5.0, que tem previsão de lançamento pela Microsoft como uma versão final em 16 de março, foi reestruturado em torno do uso de módulos ECMAScript, uma grande mudança na infraestrutura para a variante do JavaScript com tipagem forte.

Os usuários do TypeScript 5.0, que atualmente está em estágio de candidato a lançamento, precisarão executar o Node.js 12 como mínimo. Em troca, as instalações do npm prometem ser executadas um pouco mais rápido e ocupar menos espaço, com o pacote typescript reduzido em aproximadamente 46%, informou a Microsoft em um boletim em 9 de março. O TypeScript também será mais rápido, com tempos de construção reduzidos em 10% a 25%. Os consumidores da API do TypeScript provavelmente não serão afetados.

O TypeScript ainda não enviará sua API como módulos ES. Uma API com autoria CommonJS ainda será fornecida e scripts de construção existentes ainda funcionarão.

Fornecendo informações de fundo sobre a transição, a Microsoft afirmou que o atual código base do TypeScript antecede os módulos ECMAScript, que foram padronizados em 2015. Não sabendo quão compatíveis os módulos ES seriam com outros sistemas de módulo, como o CommonJS, e não vendo um grande benefício para autoria em módulos na época, o TypeScript usou namespaces, anteriormente chamados de módulos internos.

Embora namespaces tivessem recursos úteis, como escopos que poderiam mesclar arquivos, tornando fácil dividir um projeto em arquivos e expô-lo como uma única variável, a maioria do código moderno JavaScript e TypeScript é escrito usando módulos. Portanto, ao usar namespaces, os construtores do TypeScript não estavam usando o TypeScript da maneira como a maioria de seus usuários estava fazendo e perdendo essa experiência. Os namespaces também trouxeram problemas de desempenho em tempo de execução.

Mudar para módulos permite que os construtores do TypeScript fechem a lacuna de experiência com seus usuários, acelerem o desenvolvimento do TypeScript e tornem o TypeScript mais rápido, afirmou a Microsoft. No entanto, embora o TypeScript agora seja escrito com módulos, os arquivos JS reais não mudaram de formato. As bibliotecas ainda agem como CommonJS quando executadas em um ambiente CommonJS.

AdsTerra, Junte-se ao AdsTerra