TypeScript Academy · Lektion

Typkontroll i CI: strategier och verktyg

Kör typkontroller effektivt i pipelines för kontinuerlig integration

Lektion 4 av 413 steg

Typkontroll i CI: strategier och verktyg är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för TypeScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i TypeScript Academy innehåller totalt 4 lektioner.

Varför typkontrollera i CI?

Typkontroller i CI upptäcker typfel som utvecklare missar lokalt, särskilt i stora team där ändringar i ett paket kan orsaka fel i ett annat.

# Simple CI type check step
npx tsc --noEmit

Flaggan --noEmit

tsc --noEmit kör hela typkontrollen men hoppar över JavaScript-utdata – perfekt för typkontroll i CI utan att filer genereras.

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

Inkrementell typkontroll i CI

Använd --incremental tillsammans med cachelagring i CI för att återställa filen .tsbuildinfo, så att endast ändrade filer kontrolleras igen.

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

Projektreferenser i CI

I ett monorepo typkontrollerar tsc --build --noEmit alla paket och tar hänsyn till beroenden mellan projektreferenser.

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

Typkontroll av påverkade paket med Nx

Nx kan identifiera vilka paket som påverkas av en PR och typkontrollera endast dessa, medan oförändrade paket hoppas över.

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

Typkontroll med Turborepo

Lägg till ett typecheck-skript i varje paket och kör det via Turborepo med cachelagring och parallellisering.

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

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

// Run:
npx turbo typecheck

Parallellisera typkontroller

För oberoende paket kan ni köra typkontroller parallellt med verktyg som concurrently eller npm-run-all.

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

Låt CI misslyckas vid typfel

Säkerställ att CI misslyckas vid alla TypeScript-fel genom att kontrollera processens avslutskod. tsc --noEmit avslutas med kod 1 när det finns fel.

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

Typkontroll endast av pull requests

Använd GitHub Actions för att köra typkontroller endast på ändrade filer i en PR och därmed minska CI-tiden för stora kodarkiv.

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

Rapportera typfel som PR-kommentarer

Verktyg som danger-js kan tolka utdata från tsc och publicera typfel som infogade kommentarer i PR-granskningen, vilket ger bättre överblick.

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

Sammanfattning: Typkontroll i CI

Kör tsc --noEmit i CI för korrekthet. Använd --incremental tillsammans med cachelagring för högre hastighet. I monorepon kan ni använda tsc --build, Turborepo eller Nx:s analys av påverkade paket för att minimera arbetet per PR.

Snabbkontroll

Vilken tsc-flagga typkontrollerar utan att generera några utdatafiler?

Det här har ni lärt er

Typkontroll i CI använder tsc --noEmit för korrekthetskontroller utan att generera filer. Kombinera detta med --incremental, projektreferenser och cachelagringsverktyg som Turborepo och Nx för snabb och skalbar typkontroll i stora monorepon.

Gratis att börja

Lär dig TypeScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
101
Lektioner
352

Vanliga frågor

Är lektionen ”Typkontroll i CI: strategier och verktyg” gratis?

Ja – hela texten till ”Typkontroll i CI: strategier och verktyg” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i TypeScript Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i TypeScript Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Typkontroll i CI: strategier och verktyg”?

Kör typkontroller effektivt i pipelines för kontinuerlig integration Ni övar på TypeScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig TypeScript Academy?

Du behöver inga förkunskaper. Utbildningen i TypeScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Typkontroll i CI: strategier och verktyg”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här TypeScript Academy-lektionen?

Ja. Varje TypeScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Profilera långsam TypeScript-kompilering
  2. Undvik kostsamma typoperationer
  3. skipLibCheck och Isolated Declarations
  4. Typkontroll i CI: strategier och verktyg
← Tillbaka till TypeScript Academy