Controllo dei tipi in CI: strategie e strumenti
Esegua i controlli dei tipi in modo efficiente nelle pipeline di integrazione continua.
Controllo dei tipi in CI: strategie e strumenti è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.
Perché eseguire il controllo dei tipi in CI?
Eseguire i controlli dei tipi di TypeScript in CI rileva gli errori di tipo che gli sviluppatori non individuano localmente, soprattutto nei team numerosi in cui le modifiche a un pacchetto possono causare problemi in un altro.
# Simple CI type check step
npx tsc --noEmitFlag --noEmit
tsc --noEmit esegue il controllo completo dei tipi, ma salta l'output JavaScript: è ideale per il controllo dei tipi in CI senza generare file.
# GitHub Actions step
- name: Type Check
run: npx tsc --noEmitControllo incrementale dei tipi in CI
Utilizzi --incremental con la cache di CI per ripristinare il file .tsbuildinfo, così vengono ricontrollati solo i file modificati.
# Cache .tsbuildinfo in CI (GitHub Actions)
- uses: actions/cache@v3
with:
path: .tsbuildinfo
key: tsc-${{ hashFiles('src/**/*.ts') }}Riferimenti ai progetti in CI
In un monorepo, tsc --build --noEmit controlla i tipi di tutti i pacchetti rispettando le dipendenze tra i riferimenti ai progetti.
# Type-check all project references
npx tsc --build --noEmitControllo dei soli tipi interessati con Nx
Nx può rilevare quali pacchetti sono interessati da una PR e controllare i tipi solo di quelli, saltando i pacchetti invariati.
# Only type-check affected projects
npx nx affected --target=typecheck --base=origin/mainControllo dei tipi con Turborepo
Aggiunga uno script typecheck a ogni pacchetto ed esegua lo script tramite Turborepo con caching e parallelizzazione.
// package.json
{ "scripts": { "typecheck": "tsc --noEmit" } }
// turbo.json pipeline
{ "typecheck": { "dependsOn": ["^typecheck"], "outputs": [] } }
// Run:
npx turbo typecheckEseguire i controlli dei tipi in parallelo
Per i pacchetti indipendenti, esegua i controlli dei tipi in parallelo con strumenti come concurrently o npm-run-all.
npx concurrently \
"tsc -p packages/core/tsconfig.json --noEmit" \
"tsc -p packages/ui/tsconfig.json --noEmit"Interrompere la CI in presenza di errori di tipo
Si assicuri che la CI fallisca in presenza di qualsiasi errore TypeScript controllando il codice di uscita. tsc --noEmit termina con il codice 1 quando sono presenti errori.
# CI step — fails if tsc exits 1
- name: Type Check
run: npx tsc --noEmit
# No continue-on-error: true hereControllare i tipi solo nelle pull request
Utilizzi GitHub Actions per eseguire i controlli dei tipi solo sui file modificati in una PR, riducendo il tempo di CI nei repository di grandi dimensioni.
# Use ts-affected or custom script to detect changed TS files
# Then run tsc only for affected tsconfig projectsSegnalare gli errori di tipo nei commenti delle PR
Strumenti come danger-js possono analizzare l'output di tsc e pubblicare gli errori di tipo come commenti inline nella revisione della PR, migliorandone la visibilità.
// dangerfile.ts
import { danger, fail } from "danger";
// Parse tsc --noEmit output and report errors inlineRiepilogo: controllo dei tipi in CI
Esegua tsc --noEmit in CI per garantire la correttezza. Utilizzi --incremental e la cache per aumentare la velocità. Nei monorepo utilizzi tsc --build, Turborepo o l'analisi degli elementi interessati di Nx per ridurre al minimo il lavoro per ogni PR.
Verifica rapida
Quale flag di tsc esegue il controllo dei tipi senza generare file di output?
Che cosa ha imparato
Il controllo dei tipi in CI utilizza tsc --noEmit per verificare la correttezza senza generare file. Lo combini con --incremental, i riferimenti ai progetti e gli strumenti di caching, come Turborepo e Nx, per controlli dei tipi veloci e scalabili nei monorepo di grandi dimensioni.
Domande Frequenti
La lezione «Controllo dei tipi in CI: strategie e strumenti» è gratuita?
Sì — il testo completo di «Controllo dei tipi in CI: strategie e strumenti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.
Cosa imparerò in «Controllo dei tipi in CI: strategie e strumenti»?
Esegua i controlli dei tipi in modo efficiente nelle pipeline di integrazione continua. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare TypeScript Academy?
Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Controllo dei tipi in CI: strategie e strumenti»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?
Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Profilazione della compilazione lenta di TypeScript
- Come evitare operazioni costose sui tipi
- skipLibCheck e dichiarazioni isolate
- Controllo dei tipi in CI: strategie e strumenti