0Pricing
TypeScript Academy · Aula

Verificação de tipos na CI: estratégias e ferramentas

Execute verificações de tipos com eficiência em pipelines de integração contínua

Verificação de tipos na CI: estratégias e ferramentas é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 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.

Por que verificar tipos na integração contínua?

Executar verificações de tipos do TypeScript na integração contínua detecta erros de tipos que os desenvolvedores não percebem localmente, especialmente em equipes grandes, nas quais alterações em um pacote quebram outro.

# Simple CI type check step
npx tsc --noEmit

Sinalizador --noEmit

tsc --noEmit executa o verificador completo de tipos, mas ignora a saída JavaScript — perfeito para verificar tipos na integração contínua sem gerar arquivos.

# GitHub Actions step
- name: Type Check
  run: npx tsc --noEmit

Verificação incremental de tipos na integração contínua

Use --incremental com o cache da integração contínua para restaurar o arquivo .tsbuildinfo, de modo que somente os arquivos alterados sejam verificados novamente.

# Cache .tsbuildinfo in CI (GitHub Actions)
- uses: actions/cache@v3
  with:
    path: .tsbuildinfo
    key: tsc-${{ hashFiles('src/**/*.ts') }}

Referências de projeto na integração contínua

Em um monorrepositório, tsc --build --noEmit verifica os tipos de todos os pacotes, respeitando as dependências entre referências de projeto.

# Type-check all project references
npx tsc --build --noEmit

Verificação de tipos apenas dos itens afetados com Nx

O Nx pode detectar quais pacotes são afetados por um PR e verificar os tipos apenas deles, ignorando os pacotes inalterados.

# Only type-check affected projects
npx nx affected --target=typecheck --base=origin/main

Verificação de tipos com Turborepo

Adicione um script typecheck a cada pacote e execute-o pelo Turborepo com armazenamento em cache e paralelização.

// package.json
{ "scripts": { "typecheck": "tsc --noEmit" } }

// turbo.json pipeline
{ "typecheck": { "dependsOn": ["^typecheck"], "outputs": [] } }

// Run:
npx turbo typecheck

Paralelizando verificações de tipos

Para pacotes independentes, execute as verificações de tipos em paralelo com ferramentas como concurrently ou npm-run-all.

npx concurrently \
  "tsc -p packages/core/tsconfig.json --noEmit" \
  "tsc -p packages/ui/tsconfig.json --noEmit"

Fazendo a integração contínua falhar com erros de tipos

Garanta que a integração contínua falhe com qualquer erro do TypeScript verificando o código de saída. tsc --noEmit termina com o código 1 quando há erros.

# CI step — fails if tsc exits 1
- name: Type Check
  run: npx tsc --noEmit
  # No continue-on-error: true here

Verificação de tipos apenas em solicitações de pull

Use o GitHub Actions para executar verificações de tipos apenas nos arquivos alterados em um PR, reduzindo o tempo de integração contínua em repositórios grandes.

# Use ts-affected or custom script to detect changed TS files
# Then run tsc only for affected tsconfig projects

Relatando erros de tipos como comentários de PR

Ferramentas como danger-js podem analisar a saída do tsc e publicar erros de tipos como comentários de revisão de PR inseridos diretamente, para melhorar a visibilidade.

// dangerfile.ts
import { danger, fail } from "danger";
// Parse tsc --noEmit output and report errors inline

Recapitulação: verificação de tipos na integração contínua

Execute tsc --noEmit na integração contínua para garantir a correção. Use --incremental + cache para obter velocidade. Em monorrepositórios, use tsc --build, Turborepo ou a análise de itens afetados do Nx para minimizar o trabalho por PR.

Verificação rápida

Qual sinalizador do tsc verifica os tipos sem gerar nenhum arquivo de saída?

O que você aprendeu

A verificação de tipos na integração contínua usa tsc --noEmit para verificar a correção sem emitir arquivos. Combine-o com --incremental, referências de projeto e ferramentas de armazenamento em cache (Turborepo, Nx) para obter uma verificação de tipos rápida e escalável em monorrepositórios grandes.

Perguntas Frequentes

A aula “Verificação de tipos na CI: estratégias e ferramentas” é grátis?

Sim — o texto completo de “Verificação de tipos na CI: estratégias e ferramentas” é 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 “Verificação de tipos na CI: estratégias e ferramentas”?

Execute verificações de tipos com eficiência em pipelines de integração contínua 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 4 de 4.

Quanto tempo leva a aula “Verificação de tipos na CI: estratégias e ferramentas”?

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. Analisando o desempenho de compilações lentas do TypeScript
  2. Evitando operações de tipos dispendiosas
  3. skipLibCheck e declarações isoladas
  4. Verificação de tipos na CI: estratégias e ferramentas
← Voltar para TypeScript Academy