1 puan yazan doscm164 3 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş

Dün TypeScript 7 resmen yayımlandı. Go ile yeniden yazılan yerel derleyici (tsgo) sayesinde yaklaşık 10 kat hızlandı; ancak TS5/6'da deprecated olan derleyici seçeneklerinin tamamı kaldırıldı ve strict varsayılanı da true olarak değiştiği için — eski tsconfig kullanan projeler doğrudan yükseltilemiyor.

Bu mekanik kısmı otomatikleştiren bir codemod hazırladım.

npx ts6to7 --dry # önizleme (hiçbir şey yazmaz)
npx ts6to7 # uygula

Yaptıkları:

  • tsconfig*.json dosyalarını yerinde düzenler — jsonc-parser ile düzenlediği için yorumlar ve biçimlendirme aynen korunur
  • Kaldırılan seçenekleri TS7 eşdeğerlerine dönüştürür: target: es5 → ES2015, module: umd/amd → ESNext, moduleResolution: node → NodeNext/Bundler, importsNotUsedAsValues → verbatimModuleSyntax vb.
  • baseUrl, paths içine katlanır
  • typescript bağımlılığını ^7.0.0 sürümüne yükseltir
  • strict ayarlanmamışsa false olarak sabitler — extends ile başka config'leri devralan dosyaları değiştirmez, yalnızca uyarı verir (çünkü temel config zaten strict ayarlıyor olabilir)
  • Güvenli biçimde otomatik dönüştürülemeyen şeyleri (ES5'e özel runtime, ts-node/ts-jest gibi eski derleyici API'sine dayanan araçlar, eksik types dizileri vb.) dosya bazında kapsamı belirlenmiş bir "manuel kontrol gerekli" kontrol listesi olarak çıktı verir

TypeScript 5'ten de doğrudan geçiş mümkün: 6'dan geçmek gerekmez. TS5 dönemine ait ignoreDeprecations seçeneğini ve proje referanslarındaki prepend ayarını da birlikte temizler.

Monorepo da destekleniyor (tüm paketleri tarar).

Şu anda sürüm 0.2.0. tsconfig'in hatalı dönüştürüldüğü durumlar varsa, ilgili tsconfig eklenmiş bir issue açmanız çok yardımcı olurdu.

Henüz yorum yok.

Henüz yorum yok.