Estratégia de conversão arquivo por arquivo
Renomeie .js para .ts gradualmente sem quebrar nada
Estratégia de conversão arquivo por arquivo é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.
A abordagem incremental
A conversão arquivo por arquivo renomeia um .js para .ts de cada vez, corrigindo os erros de tipos à medida que você avança. Isso mantém o projeto compilando em todas as etapas.
# Step 1: rename
mv src/utils.js src/utils.ts
# Step 2: fix errors
npx tsc --noEmit
# Step 3: commit and repeatEscolhendo por onde começar
Comece pelos módulos folha — arquivos sem importações de outros arquivos do projeto. Assim, não há dependências de TypeScript posteriores que precisem ser atendidas primeiro.
# Find files with fewest imports from other project files:
grep -r "from './" src --include="*.js" | sort | uniq -c | sort -n
# Convert lowest-count files firstLidando com erros de any implícito
Quando um arquivo JS é renomeado para .ts, os parâmetros sem tipos se tornam erros de any implícito se noImplicitAny: true estiver habilitado. Adicione tipos explícitos ou use any temporariamente.
// Before: JS
function process(data) { return data.value; }
// After: TS (add annotation)
function process(data: { value: string }) { return data.value; }
// Or temporarily:
function process(data: any) { return data.value; }Suprimindo erros temporariamente
Use // @ts-ignore nas linhas difíceis de corrigir e acompanhe-as como TODOs para que não sejam esquecidas.
// TODO: type this properly in follow-up PR
// @ts-ignore
const result = complexLegacyFunction(x);Atualizando instruções de importação
Quando um arquivo se torna .ts, os arquivos que o utilizam podem precisar de importações atualizadas. TypeScript resolve arquivos .ts automaticamente sem extensões de arquivo nos caminhos de importação.
// No extension needed — TypeScript finds .ts
import { process } from "./utils";Convertendo chamadas de terceiros
Substitua chamadas require de CommonJS pela sintaxe de módulos ES import durante a conversão, para corresponder à resolução de módulos de TypeScript.
// Before: CommonJS
const fs = require("fs");
// After: ES module
import fs from "fs";Progressão do modo estrito
Habilite as opções estritas gradualmente por arquivo, usando comentários // @ts-strict-ignore por arquivo ou migrando para um tsconfig separado com o modo estrito habilitado.
// tsconfig.strict.json — points to converted files only
{
"extends": "./tsconfig.json",
"compilerOptions": { "strict": true },
"include": ["src/converted/**/*"]
}Acompanhando os arquivos restantes
Mantenha uma lista de verificação ou use um script para contar os arquivos .js restantes e acompanhar o progresso da migração ao longo do tempo.
find src -name "*.js" | wc -l # remaining JS files
find src -name "*.ts" | wc -l # converted TS filesEvitando PRs grandes
Converta um arquivo por PR para manter as revisões sob controle. Migrações grandes para TypeScript são mais fáceis de revisar e reverter quando limitadas a arquivos individuais.
# Good: one file per PR
# Bad: 50 files renamed in one PRExecutando testes após cada conversão
Execute o conjunto de testes após a conversão de cada arquivo para detectar regressões em tempo de execução que o verificador de tipos de TypeScript talvez não identifique.
npm test
# Ensure all tests pass after each .js → .ts renameRecapitulação: estratégia arquivo por arquivo
Converta primeiro os arquivos folha, corrija ou suprima os erros, mantenha o projeto compilando em todas as etapas, acompanhe os arquivos JS restantes e envie um arquivo por PR para manter as revisões sob controle.
Verificação rápida
Quais arquivos você deve converter primeiro para TypeScript em uma migração arquivo por arquivo?
O que você aprendeu
Migração arquivo por arquivo: comece pelos módulos folha, renomeie para .ts, corrija ou suprima os erros, mantenha o projeto compilando e acompanhe o progresso. Conversões pequenas por PR tornam a migração segura e fácil de revisar.
Perguntas Frequentes
A aula “Estratégia de conversão arquivo por arquivo” é grátis?
Sim — o texto completo de “Estratégia de conversão arquivo por arquivo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.
O que vou aprender em “Estratégia de conversão arquivo por arquivo”?
Renomeie .js para .ts gradualmente sem quebrar nada Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Estratégia de conversão arquivo por arquivo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Iniciando a migração: allowJs e checkJs
- Anotações de tipos JSDoc como ponte
- Estratégia de conversão arquivo por arquivo
- Lidando com bibliotecas de terceiros sem tipos