O Futuro do TypeScript é Nativo: Microsoft Revela Avanços do 'Project Corsa'

Se você, desenvolvedor, já sentiu que o tempo de build do seu projeto TypeScript competia com a duração de um filme épico, prepare-se para uma atualização que parece ter saído diretamente de um roteiro de ficção científica. A Microsoft acaba de pisar fundo no acelerador do futuro com o 'Project Corsa', a iniciativa monumental para reescrever o compilador e o language service do TypeScript em código nativo. O resultado? O vindouro TypeScript 7.0, que, segundo o comunicado oficial de Daniel Rosenwasser, Gerente de Produto Principal da equipe, já entrega melhorias de performance de até 10 vezes. Isso não é uma otimização, é um salto quântico.

Uma Nova Era de Velocidade: O Que é o Project Corsa?

Pense no Project Corsa não como um simples patch de atualização, mas como a troca completa do motor de um foguete em pleno voo. A equipe do TypeScript está migrando a base de código de JavaScript/TypeScript para uma implementação nativa. O objetivo é claro: explorar o máximo de performance bruta, otimizar o uso de memória e, principalmente, abraçar o paralelismo de forma agressiva. Em um mundo onde os projetos front-end se assemelham a sistemas operacionais complexos, essa mudança é a resposta para a escalabilidade que o ecossistema tanto pedia.

O Futuro Já Está no Seu Editor: Testando no VS Code

A melhor parte dessa revolução não é que ela está vindo; é que ela já chegou, ao menos em versão de testes. A Microsoft disponibilizou uma prévia nativa do TypeScript através de uma extensão no Visual Studio Code Marketplace. E não se trata de um protótipo limitado. A equipe garante que a experiência já é rápida, estável e pronta para o uso diário. A maioria das funcionalidades que os desenvolvedores amam e dependem já foi portada e está funcionando a todo vapor. De acordo com a publicação, a lista de recursos disponíveis inclui:

  • Code Completions (com auto-imports!)
  • Go-to-Definition e suas variações
  • Find-All-References
  • Rename
  • Quick Info (tooltips de hover)
  • Signature Help
  • Formatação de código
  • E muitas outras ferramentas essenciais.

A arquitetura foi redesenhada para ser mais robusta, aproveitando paralelismo com memória compartilhada. Ou seja, aqueles 'crashs' esporádicos que algumas equipes enfrentavam em nome da velocidade devem se tornar relíquias do passado. A promessa é de um editor mais responsivo, com tempos de carregamento menores e menor consumo de memória.

'tsgo': O Novo Comando para Builds na Velocidade da Luz

Para a linha de comando, o futuro atende pelo nome de tsgo. O novo compilador nativo está disponível no pacote @typescript/native-preview e pode ser instalado lado a lado com a versão atual. A pergunta que não quer calar: é seguro usar para validar um build? A Microsoft responde com um sonoro 'sim'. A compatibilidade da checagem de tipos é altíssima. Dos 20.000 testes de compilador, a nova versão se comporta de forma idêntica à versão 6.0 em quase todos os casos. As poucas exceções são intencionais, relacionadas a funcionalidades ainda em desenvolvimento ou a mudanças planejadas.

A verdadeira magia, no entanto, está na velocidade. Os benchmarks divulgados pela Microsoft são de tirar o fôlego. Projetos de código aberto massivos viram seus tempos de build despencarem. Por exemplo:

  • Sentry: de 133 segundos para 16,25 segundos (8.19x mais rápido)
  • Visual Studio Code: de 89 segundos para 8,74 segundos (10.2x mais rápido)
  • TypeORM: de 15,8 segundos para 1,06 segundo (9.88x mais rápido)

Esses números, mesmo sem o uso da flag --incremental, demonstram o poder bruto do código nativo combinado com o paralelismo. O tempo de esperar o build terminar para tomar um café pode estar com os dias contados.

A Evolução Exige Sacrifícios: As Mudanças Que Vão Quebrar Seu Código

Toda grande evolução tecnológica exige que deixemos algumas coisas para trás. Com o TypeScript 7.0 não será diferente. A Microsoft já sinaliza uma série de 'breaking changes', ou mudanças que quebrarão a compatibilidade, para modernizar a ferramenta e estabelecer padrões mais robustos. Entre as principais, destacam-se:

  • A flag --strict será habilitada por padrão.
  • O alvo de compilação padrão (--target) será o mais recente estável, como es2025.
  • O suporte para --target es5 será removido; o mínimo passará a ser es2015.
  • As flags --baseUrl e --moduleResolution node10 serão removidas em favor de opções mais modernas como bundler e nodenext.

Além disso, a API do compilador será totalmente nova, o que significa que ferramentas como linters e formatters que dependem da API atual (codinome 'Strada') precisarão ser adaptadas. A equipe está ciente dos desafios e já experimenta com uma ferramenta, a ts5to6, para ajudar a automatizar a migração dos arquivos de configuração.

TypeScript 6.0: A Ponte para a Hipervelocidade

Nesse cenário de transição, qual o papel do TypeScript 6.0? Segundo a Microsoft, ele será a última versão baseada na codebase JavaScript. Ele funcionará como uma ponte, introduzindo as depreciações que se tornarão padrão no 7.0 e garantindo um caminho de migração mais suave. Após seu lançamento, todo o foco da equipe será direcionado para finalizar o Project Corsa. Isso significa que não haverá um TypeScript 6.1, apenas possíveis patches de segurança ou correções de regressões graves.

Para o desenvolvedor, o futuro parece um episódio de 'Black Mirror' com final feliz. A chegada do TypeScript 7.0 representa mais do que builds rápidos; ela simboliza a maturidade de uma ferramenta que agora pode sustentar projetos de uma complexidade que antes parecia impensável no universo JavaScript. É a fundação sobre a qual a próxima geração de aplicações web será construída, com mais agilidade, robustez e uma experiência de desenvolvimento que, finalmente, parece instantânea. Preparem seus teclados, a dobra espacial no mundo do desenvolvimento está prestes a ser ativada.