TypeScript 5.5, a versão mais recente da variante JavaScript fortemente tipada da Microsoft, passou para o estágio de release candidate (RC). A atualização, que traz melhorias que vão desde otimizações de desempenho e tamanho até verificação de expressões regulares, adicionou recentemente suporte para os novos métodos Set do ECMAScript.
O release candidate do TypeScript 5.5 foi lançado em 6 de junho e pode ser acessado por meio do Nuget ou do seguinte comando: npm -D typescript@rc
. Uma versão beta foi lançada em 25 de abril e a versão final está planejada para 18 de junho.
Desde a versão beta, o TypeScript 5.5 adicionou suporte para os novos métodos Set propostos para JavaScript. Alguns desses métodos, como union
, intersection
e difference
pegue outro Set
e devolver um novo Set
como resultado. Outros métodos, como isSubsetOf
pegue outro Set
e devolver um boolean
.
Também novidade no release candidate, a verificação de expressões regulares do TypeScript tornou-se um pouco mais branda, ao mesmo tempo que ainda apresenta erros em escapes questionáveis que são permitidos apenas pelo Anexo B do ECMAScript. O TypeScript 5.5 (RC) também apresenta mais otimizações de desempenho, incluindo verificação ignorada transpileModule
e otimizações na filtragem de tipos contextuais que podem levar a tempos de construção e iteração mais rápidos.
O TypeScript 5.5 inclui inúmeras outras melhorias que estavam disponíveis anteriormente na versão beta. Para desempenho e tamanho, o trabalho de monomorfização foi realizado para o serviço de linguagem e para a API pública. Com o monomorfismo, a experiência do editor e as ferramentas de construção usando a API TypeScript ficarão mais rápidas, disseram os autores do TypeScript. Este foi o mesmo trabalho feito anteriormente para objetos Node e Symbol no TypeScript 5.0 para garantir que eles tivessem um conjunto consistente de propriedades com uma ordem de inicialização consistente.
O TypeScript 5.5 também apresenta uma redução significativa no tamanho geral do pacote. A área ocupada pelo disco foi reduzida de 30,2 MB para 20,4 MB e o tamanho compactado de 5,5 MB para 3,7 MB. Como parte do trabalho para permitir isolatedDeclarations
a Microsoft melhorou a frequência com que o TypeScript pode copiar diretamente o código-fonte de entrada ao produzir arquivos de declaração.
TypeScript 5.5 introduz verificação de sintaxe básica em expressões regulares. Até agora, o TypeScript normalmente ignorava a maioria das expressões regulares no código, porque as expressões regulares tecnicamente têm uma gramática extensível e o TypeScript nunca fez um esforço para compilar expressões regulares para versões anteriores do JavaScript. Isso significava que problemas comuns não seriam descobertos nas expressões regulares.
Com o TypeScript 5.5, o TypeScript agora inferirá que uma função retorna um predicado de tipo sob certas condições. E com o estreitamento do fluxo de controle para acessos indexados constantes, o TypeScript agora é capaz de restringir expressões em for obj(key)
quando ambos obj
e key
são efetivamente constantes.
O TypeScript 5.5 facilita o consumo de API de módulos ECMAScript. Anteriormente, se um desenvolvedor estivesse escrevendo um módulo ECMAScript em Node.js, as importações nomeadas não estavam disponíveis no typescript
pacote. Isso foi corrigido. TypeScript agora também oferece suporte a um novo @import
tag de comentário que possui a mesma sintaxe das importações ECMAScript.
TypeScript 5.5 também adiciona emranspileDeclaration
API, que é projetada para gerar um único arquivo de declaração com base no texto fonte de entrada. A API é semelhante a transpileModule
para compilar um único arquivo de código TypeScript.
O TypeScript 5.5 segue o TypeScript 5.4, que se tornou disponível em março e trouxe estreitamento preservado nos fechamentos de funções.