Iniciando a migração: allowJs e checkJs
Habilite a verificação do TypeScript em um projeto JavaScript
Iniciando a migração: allowJs e checkJs é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 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.
O desafio da migração
Migrar uma base de código grande de JavaScript para TypeScript de uma só vez é arriscado. O caminho incremental consiste em habilitar TypeScript gradualmente, arquivo por arquivo, mantendo o projeto funcionando.
# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc typesEtapa 1: Instalar TypeScript
Adicione TypeScript ao projeto e crie um tsconfig mínimo, inicialmente sem o modo estrito.
npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: trueallowJs: true
Com allowJs: true, TypeScript inclui arquivos .js na compilação. A verificação de tipos é permissiva — a maioria dos códigos JavaScript será compilada sem erros.
{
"compilerOptions": {
"allowJs": true,
"outDir": "./dist",
"target": "ES2020"
},
"include": ["src"]
}checkJs: true
checkJs: true habilita a verificação de tipos para arquivos JavaScript usando tipos inferidos e anotações JSDoc. Isso revela erros óbvios sem exigir a conversão de .ts.
{
"compilerOptions": {
"allowJs": true,
"checkJs": true
}
}Suprimindo erros com @ts-nocheck
Adicione // @ts-nocheck no início dos arquivos JS problemáticos para suprimir todos os erros de TypeScript enquanto você trabalha na migração de forma incremental.
// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }Supressão de erros por linha
Use // @ts-ignore para suprimir o erro de uma única linha sem desabilitar o arquivo inteiro.
const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressedmaxNodeModuleJsDepth
Por padrão, TypeScript verifica arquivos JS apenas no seu projeto. Defina maxNodeModuleJsDepth para controlar até que profundidade ele verifica JS em node_modules.
{
"compilerOptions": {
"maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
}
}Compilando JS para a saída
Com allowJs, o compilador TypeScript também pode transcompilar arquivos JS — útil para aplicar polyfills e direcionar o código uniformemente para ambientes mais antigos.
tsc
# Compiles both .ts and .js files to dist/Medindo o progresso
Acompanhe o progresso da migração contando os arquivos .js e .ts. Defina uma meta para a porcentagem convertida a cada sprint.
find src -name "*.ts" | wc -l # TypeScript files
find src -name "*.js" | wc -l # JavaScript files remainingEvitando regressões de tipos
Mantenha noImplicitAny: false inicialmente para que os arquivos JS existentes não sejam inundados por erros. Habilite essa opção depois de converter cada arquivo para TypeScript.
{
"compilerOptions": {
"allowJs": true,
"noImplicitAny": false // Relax for JS files; enable per .ts file
}
}Recapitulação: iniciando a migração
Inicie a migração com allowJs: true e checkJs: true, use @ts-nocheck nos arquivos que ainda não estão prontos e acompanhe o progresso pela quantidade de arquivos. Essa abordagem mantém o projeto compilando enquanto você converte os arquivos de forma incremental.
Verificação rápida
O que checkJs: true faz sem exigir a conversão de .js para .ts?
O que você aprendeu
Inicie a migração de JS→TS com allowJs: true e, opcionalmente, checkJs: true. Use @ts-nocheck para silenciar arquivos que ainda não estão prontos e converta os arquivos de forma incremental, acompanhando o progresso pela quantidade de arquivos.
Perguntas Frequentes
A aula “Iniciando a migração: allowJs e checkJs” é grátis?
Sim — o texto completo de “Iniciando a migração: allowJs e checkJs” é 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 “Iniciando a migração: allowJs e checkJs”?
Habilite a verificação do TypeScript em um projeto JavaScript 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 1 de 4.
Quanto tempo leva a aula “Iniciando a migração: allowJs e checkJs”?
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