A versão RC do TypeScript 7.0 foi lançada.
(devblogs.microsoft.com)Título: Anúncio do TypeScript 7.0 RC - reescrito em Go e cerca de 10x mais rápido
Texto:
A Microsoft anunciou o Release Candidate do TypeScript 7.0. O ponto central é a migração, ao longo do último ano, da base de código existente de TypeScript (a base bootstrap que era compilada para JS) para Go.
A combinação de velocidade de código nativo com processamento paralelo em memória compartilhada entrega desempenho cerca de 10 vezes superior ao TypeScript 6.0.
Pode ser instalado imediatamente com npm install -D typescript@rc.
Compatibilidade & estabilidade
Não foi um rewrite do zero, mas sim uma migração sistemática da implementação existente, então a lógica de verificação de tipos é estruturalmente igual à da 6.0.
Foi validado com a enorme suíte de testes acumulada ao longo de 10 anos e já está em uso em bases de código com milhões de linhas, dentro e fora da Microsoft.
Empresas como Bloomberg, Canva, Figma, Google, Linear, Notion, Slack e Vercel testaram builds preliminares por mais de um ano, e a maior parte do feedback foi positiva, com grande redução no tempo de build.
Controle de paralelização
Parsing/type checking/emit são executados em paralelo. A flag --checkers ajusta o número de workers do type checker (padrão: 4), a flag --builders paraleliza builds com project references (útil em monorepos), e --singleThreaded pode forçar o modo single-thread.
Modo --watch aprimorado
O file-watcher do bundler Parcel foi portado para Go, melhorando bastante o desempenho de monitoramento de arquivos em múltiplas plataformas.
Uso em paralelo com a 6.0 (Side-by-Side)
A API programática estável só deve ser oferecida na 7.1 (daqui a alguns meses).
O pacote de compatibilidade @typescript/typescript6 fornece o executável tsc6, permitindo usar 6.0 e 7.0 juntas sem conflito. Recomenda-se usar alias do npm.
Principais mudanças de padrão / Breaking Changes
strict agora tem valor padrão true, module agora tem valor padrão esnext, e stableTypeOrdering passa a ser ativado obrigatoriamente.
Várias opções deprecated, como target: es5, downlevelIteration, moduleResolution: node/node10/classic, module: amd/umd/systemjs e baseUrl, passam a gerar erro fatal.
Tipos de template literal agora tratam naturalmente pontos de código Unicode ("😀abc" → ["😀", "abc"]).
O suporte a JavaScript (baseado em JSDoc) foi retrabalhado para ficar mais consistente com a forma como arquivos .ts são analisados.
Experiência no editor
Foi disponibilizada a extensão TypeScript Native Preview para VS Code, baseada em LSP e com uso de multithreading. Segundo a Microsoft, os comandos do language server que falham caíram mais de 20 vezes em relação à 6.0.
Cronograma: a versão final 7.0 deve ser lançada dentro de cerca de um mês. A equipe está pedindo ativamente feedback de testes em projetos reais.
Ainda não há comentários.