Lançado TypeScript 5.0: o que o desenvolvedor precisa saber
A equipe do TypeScript apresentou o lançamento da versão 5.0 — a primeira grande atualização no novo sistema de numeração. Em vez das habituais 4.x, os desenvolvedores decidiram migrar para a 5.0, destacando a magnitude das mudanças internas. A novidade trouxe várias funcionalidades muito aguardadas, além de acelerar significativamente o trabalho do compilador. Vamos analisar as principais mudanças que valem a pena implementar em seus projetos ainda hoje.
Principais novidades do TypeScript 5.0
- Decoradores (compatíveis com ECMAScript) — agora o TypeScript suporta decoradores padrão, de acordo com a proposta do TC39. Os antigos decoradores experimentais permanecem para compatibilidade reversa, mas novos projetos são recomendados a migrar para a nova sintaxe.
- const type parameters — agora é possível declarar genéricos com o modificador
const. Isso permite inferir tipos literais com mais precisão, especialmente ao trabalhar com arrays e tuplas. Por exemplo,const tuple = <const T,>(...args: T) => argspreservará o comprimento exato da tupla. - Melhoria de desempenho — o TypeScript 5.0 ficou mais rápido devido à otimização das estruturas de dados internas e à redução da carga no garbage collector. Em alguns projetos, a velocidade de compilação aumentou de 10 a 25%.
- Suporte a múltiplas configurações em um único projeto — agora é possível especificar vários
tsconfig.jsonna seçãoreferencessem duplicar configurações. Isso simplifica monorepositórios e arquiteturas de microsserviços. - Trabalho aprimorado com enums — todos os valores de enum agora são uniões de tipos literais. Isso melhora a verificação de tipos e o autocompletar em editores de código.
- JSDoc imports — em arquivos JavaScript que usam
@typee@param, agora é possível importar tipos de outros arquivos através deimport('./types').SomeType. Isso torna a tipagem com JSDoc significativamente mais poderosa.
O que mudou na sintaxe e na compatibilidade
O lançamento do TypeScript 5.0 não contém mudanças disruptivas para código escrito em TypeScript 4.9. No entanto, vale a pena prestar atenção a alguns pontos:
- O suporte ao sistema antigo de decoradores foi removido (a menos que você use a flag experimental
experimentalDecorators). - Arquivos com extensão
.tsagora podem conter exportação padrão para funções assíncronas sem wrappers adicionais. - A integração com Node.js ESM foi melhorada — o TypeScript 5.0 processa corretamente as extensões
.mtse.cts.
Como atualizar para o TypeScript 5.0
A atualização não requer esforços significativos. Basta executar no terminal:
npm install typescript@latest --save-devApós a instalação, é recomendável verificar o projeto quanto a erros usando o comando tsc --noEmit. Se você usa decoradores antigos, adicione a flag "experimentalDecorators": true no tsconfig.json para manter a compatibilidade.
Conclusão
TypeScript 5.0 é um passo significativo para o ecossistema. Os novos decoradores, const type parameters e o desempenho aprimorado fazem dele uma das versões mais importantes