2 pontos por ken7890 3 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

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.

Ainda não há comentários.