Pular para o conteúdo

TypeScript 7.1 Beta traz uma nova API e mapeadores de conteúdo

O TypeScript 7.1 Beta traz de volta uma API programática para ferramentas presas na 6.0, adiciona mapeadores de conteúdo para arquivos .vue e checa tipos até 1,9 vez mais rápido que o 7.0.

Por Tech AI Wire Team

3 min de leitura

XLinkedIn
The TypeScript 7.1 Beta pre-release page on GitHub, tagged v7.1-beta, linking the announcement and listing 24 download assets.

Em números

faster type-checking on mui-docs than TypeScript 7.0
1.9x
less memory on the same codebase
49.6%
the npm version to test
7.1.0-beta

A Microsoft lançou o TypeScript 7.1 Beta em 20 de outubro de 2026. Sua principal tarefa é trazer de volta uma API programática, o ponto de conexão que plugins de editor e linters usam para conversar com o compilador. O TypeScript 7.0 saiu sem ela, o que deixou muitas ferramentas populares presas no TypeScript 6.0.

Por que a API importa

O TypeScript 7.0, lançado em 8 de julho de 2026, foi uma reescrita do compilador na linguagem de programação Go. A Microsoft diz que ele é “algo em torno de 10 vezes” mais rápido que o TypeScript 6. Mas ele saiu sem a API sobre a qual outras ferramentas são construídas.

Essa lacuna travou ferramentas como o Volar, que dá suporte ao Vue nos editores, o serviço de linguagem do Svelte, o typescript-eslint e o verificador de templates do Angular, segundo o NT Compatible. Seus usuários tiveram de ficar no TypeScript 6.0.

A API do 7.1 é dividida em pontos de entrada como typescript/sync, typescript/async, typescript/fs e typescript/ast, segundo o anúncio da Microsoft. Ela usa snapshots para acompanhar mudanças e um sistema de arquivos virtual. Agora, os programas precisam ser fechados explicitamente quando uma ferramenta termina de usá-los. Cada ferramenta ainda precisa da sua própria atualização antes que as equipes possam deixar a 6.0 para trás.

Mapeadores de conteúdo para Vue, Svelte e Astro

Muitos frameworks guardam código em tipos de arquivo próprios, como os arquivos .vue, que misturam HTML, JavaScript e CSS. Um mapeador de conteúdo é um plugin que transforma esse tipo de arquivo em TypeScript virtual, com um mapa de volta para as linhas originais. Assim, o editor pode checar tipos e pular para definições dentro dele.

Os mapeadores são listados no tsconfig.json, em contentMappers. Como são programas que o TypeScript executa, eles só funcionam com a flag --runExternalCode. No VS Code, também exigem um workspace confiável e a configuração js/ts.contentMappers.enabled. O post traz links para os primeiros mapeadores para Vue, Svelte, Astro, MDX, Ember e CSS Modules.

Novos recursos da linguagem

A beta também adiciona recursos de novos padrões do JavaScript:

RecursoO que faz
Atributos de importação em módulos ambientesdeclare module "*" with { type: "css" } tipa uma importação pelo seu atributo, não pelo nome do arquivo
Importações na fase de código-fonteimport source carrega um módulo sem executá-lo, como um WebAssembly.Module
Alvo e lib es2026Adiciona Math.sumPrecise(), Error.isError(), Array.fromAsync(), Map.prototype.getOrInsert() e métodos base64 e hexadecimais em Uint8Array
Novos métodos esnextPromise.allKeyed, Iterator.zip e Iterator.prototype.chunks, entre outros

Duas mudanças podem quebrar código existente. As checagens de tipos condicionais distributivos estão mais rígidas, o que pode gerar erros como “Type 'B' does not satisfy the constraint 'A'.” Definições de tipos do DOM atualizadas também podem mudar resultados.

Velocidade e memória em relação ao 7.0

A Microsoft mediu cinco bases de código reais com quatro threads de checagem de tipos e sem arquivos de saída. Todas rodaram mais rápido e usaram menos memória do que no TypeScript 7.0:

Base de códigoTempo no 7.0Tempo no 7.1 BetaMemória economizada
mui-docs22,2 s11,9 s49,6%
t3code-server26,5 s19,1 s24,6%
sentry19,6 s15,1 s20,8%
vscode21,6 s17,7 s17,2%
bluesky4,48 s3,89 s15,8%

Instale com npm install -D typescript@beta. A release no GitHub lista a versão do npm como 7.1.0-beta. A Microsoft planeja um release candidate em “cerca de um mês” e a versão final logo depois. O NT Compatible aponta as datas previstas de 10 e 24 de novembro. O Bun seguiu outro caminho neste mês: sua versão 1.4.3 adicionou o bun check, seu próprio verificador de tipos para TypeScript.

O que isso significa para desenvolvedores

Para muitas equipes, o 7.1 é a versão que torna possível sair do TypeScript 6.

  • Acompanhe os fornecedores das suas ferramentas. Se o Volar, o serviço de linguagem do Svelte, o typescript-eslint ou o Angular mantêm você na 6.0, siga os issue trackers deles para ver o suporte à API do 7.1. A sua atualização depende da deles.
  • Rode a beta em um branch agora. Instale typescript@beta e faça a checagem de tipos do seu projeto. Procure novos erros causados pelas regras mais rígidas de tipos condicionais antes da versão final.
  • Trate --runExternalCode como uma decisão de dependência. Mapeadores de conteúdo executam código durante a checagem de tipos. Ative a flag só para pacotes de mapeadores em que você confia e revise essa flag na CI.
  • Meça o seu próprio ganho de velocidade. Os ganhos de 1,2 a 1,9 vez vêm de cinco bases de código. Cronometre o tsc --noEmit no seu projeto antes e depois.

Fontes

  1. Announcing TypeScript 7.1 Beta - Microsoft DevBlogs
  2. TypeScript 7.1 Beta - GitHub
  3. TypeScript 7.1 Beta Released: New API Unblocks Vue, Svelte, and Angular Tooling - NT Compatible

Artigos relacionados