TypeScript Academy · Ders

CI'da Tür Denetimi: Stratejiler ve Araçlar

Sürekli entegrasyon işlem hatlarında tür denetimlerini verimli biçimde çalıştırın

4. ders / 413 adım

CI'da Tür Denetimi: Stratejiler ve Araçlar, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 4 dersten oluşur.

CI'da Neden Tür Denetimi Yapılır?

TypeScript tür denetimlerini CI'da çalıştırmak, geliştiricilerin yerel olarak gözden kaçırdığı tür hatalarını yakalar; bu, özellikle bir paketteki değişikliklerin başka bir paketi bozabildiği büyük ekiplerde önemlidir.

# Simple CI type check step
npx tsc --noEmit

--noEmit Bayrağı

tsc --noEmit, tam tür denetleyicisini çalıştırır ancak JavaScript çıktısını atlar; dosya oluşturmadan CI tür denetimi yapmak için idealdir.

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

CI'da Artımlı Tür Denetimi

--incremental seçeneğini CI önbelleğe almayla birlikte kullanarak .tsbuildinfo dosyasını geri yükleyin; böylece yalnızca değişen dosyalar yeniden denetlenir.

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

CI'da Proje Başvuruları

Bir monorepoda tsc --build --noEmit, proje başvurusu bağımlılıklarını dikkate alarak tüm paketlerde tür denetimi yapar.

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

Nx ile Yalnızca Etkilenenlerin Tür Denetimi

Nx, bir PR'dan hangi paketlerin etkilendiğini algılayabilir ve yalnızca bunlarda tür denetimi yaparak değişmemiş paketleri atlayabilir.

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

Turborepo ile Tür Denetimi

Her pakete bir typecheck betiği ekleyin ve bunu önbelleğe alma ile paralel yürütmeyi kullanarak Turborepo üzerinden çalıştırın.

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

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

// Run:
npx turbo typecheck

Tür Denetimlerini Paralel Yürütme

Bağımsız paketler için tür denetimlerini concurrently veya npm-run-all gibi araçlarla paralel çalıştırın.

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

Tür Hatalarında CI'ı Başarısız Kılma

Çıkış kodunu denetleyerek CI'ın herhangi bir TypeScript hatasında başarısız olmasını sağlayın. Hata olduğunda tsc --noEmit, 1 koduyla çıkar.

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

Yalnızca Çekme İsteklerinde Tür Denetimi

Büyük depolarda CI süresini azaltmak için bir PR'da yalnızca değişen dosyalarda tür denetimi çalıştırmak üzere GitHub Actions kullanın.

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

Tür Hatalarını PR Yorumları Olarak Bildirme

danger-js gibi araçlar, tsc çıktısını ayrıştırabilir ve daha iyi görünürlük sağlamak için tür hatalarını satır içi PR inceleme yorumları olarak yayımlayabilir.

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

Özet: CI Tür Denetimi

Doğruluk için CI'da tsc --noEmit çalıştırın. Hız için --incremental ve önbelleği birlikte kullanın. Monorepolarda PR başına yapılan işi en aza indirmek için tsc --build, Turborepo veya Nx'in etkilenenleri analiz etme özelliğini kullanın.

Hızlı Kontrol

Hangi tsc bayrağı çıktı dosyası oluşturmadan tür denetimi yapar?

Öğrendikleriniz

CI tür denetimi, dosya üretmeden doğruluk denetimleri yapmak için tsc --noEmit kullanır. Büyük monorepolarda hızlı ve ölçeklenebilir tür denetimi için bunu --incremental, proje başvuruları ve önbelleğe alma araçlarıyla (Turborepo, Nx) birleştirin.

Başlamak ücretsiz

Yapay zeka eğitmeniyle TypeScript öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
101
Dersler
352

Sıkça Sorulan Sorular

“CI'da Tür Denetimi: Stratejiler ve Araçlar” dersi ücretsiz mi?

Evet — “CI'da Tür Denetimi: Stratejiler ve Araçlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 4 dersten oluşur.

“CI'da Tür Denetimi: Stratejiler ve Araçlar” dersinde ne öğreneceğim?

Sürekli entegrasyon işlem hatlarında tür denetimlerini verimli biçimde çalıştırın TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“CI'da Tür Denetimi: Stratejiler ve Araçlar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Yavaş TypeScript Derlemesinin Profilini Çıkarma
  2. Maliyetli Tür İşlemlerinden Kaçınma
  3. skipLibCheck ve Yalıtılmış Bildirimler
  4. CI'da Tür Denetimi: Stratejiler ve Araçlar
← TypeScript Academy Sayfasına Dön