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

Ontem o TypeScript 7 foi lançado oficialmente. Com o compilador nativo (tsgo) reescrito em Go, ele ficou cerca de 10 vezes mais rápido, mas todas as opções de compilador que estavam obsoletas no TS5/6 foram removidas, e o valor padrão de strict também passou a ser true — então projetos com tsconfig antigo simplesmente não conseguem fazer o upgrade.

Criei um codemod para automatizar essa parte mecânica.

npx ts6to7 --dry # prévia (não grava nada)
npx ts6to7 # aplica

O que ele faz:

  • modifica tsconfig*.json no lugar — edita com jsonc-parser, então comentários e formatação são preservados
  • converte opções removidas para equivalentes do TS7: target: es5ES2015, module: umd/amdESNext, moduleResolution: nodeNodeNext/Bundler, importsNotUsedAsValuesverbatimModuleSyntax etc.
  • incorpora baseUrl em paths
  • atualiza a dependência typescript para ^7.0.0
  • se strict não estiver definido, fixa como false — arquivos que herdam outra configuração via extends não são alterados, apenas recebem um aviso (porque a configuração base pode já definir strict)
  • itens que não podem ser convertidos automaticamente com segurança (runtime exclusivo de ES5, ferramentas baseadas na API antiga do compilador como ts-node/ts-jest, ausência do array types etc.) são exibidos como uma checklist "requer verificação manual" com escopo por arquivo

Também é possível migrar direto do TypeScript 5: não é preciso passar pelo 6. Ele também limpa opções da era TS5, como ignoreDeprecations, e prepend em project references.

Também oferece suporte a monorepo (faz varredura em todos os pacotes).

A versão atual é 0.2.0. Se houver casos em que o tsconfig seja convertido incorretamente, será de grande ajuda se você abrir uma issue anexando esse tsconfig.

Ainda não há comentários.

Ainda não há comentários.