0Pricing
TypeScript Academy · Aula

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 types

Etapa 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: true

allowJs: 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 suppressed

maxNodeModuleJsDepth

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 remaining

Evitando 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

  1. Iniciando a migração: allowJs e checkJs
  2. Anotações de tipos JSDoc como ponte
  3. Estratégia de conversão arquivo por arquivo
  4. Lidando com bibliotecas de terceiros sem tipos
← Voltar para TypeScript Academy