TypeScript 7 aday sürümü geldi: Go tabanlı derleyici 10 kat hız vaadediyor
Microsoft'un Go dilinde yeniden yazdığı TypeScript 7 aday sürümü yayınlandı. VS Code ekibinin geçiş deneyimi, paralel derleme ve performans kazanımları inceleniyor.
Microsoft, TypeScript'i Go dilinde yazılmış yeni bir native çalışma zamanına taşıma planını bir yıl önce duyurmuştu; şimdi bu çalışmanın aday sürümü (release candidate) yayınlandı. Yeni derleyici, npm üzerinden kurulabiliyor ve önceki sürümlerle aynı şekilde çalışıyor: tip kontrolü yapıyor, ECMAScript uyumlu motorlarda çalışacak koda derliyor. VS Code için native bir dil sunucusu önizlemesi de mevcut ve geçiş sürecine yardımcı oluyor.
Hız artışının temelinde, Go ile yazılan native derleyicinin paralelleştirmeye izin vermesi yatıyor. Büyük kod tabanlarında bağımsız çalışan checker worker'lar ve monorepo'lar için builder worker'lar kullanılıyor; ancak bunların sayısı bellek ve CPU kullanımıyla dengelenmeli. TypeScript 6, TypeScript 5 ile 7 arasında bir köprü görevi görüyor ve aynı dil değişikliklerini içerdiği için geçiş denemeleri için ideal bir araç sunuyor.
VS Code ekibinin kendi kod tabanını TypeScript 7'ye taşıma süreci önemli bir vaka çalışması oluşturuyor. Ekip, günlük derlemelerle hataları erken tespit etti, TypeScript 6'yı yedek olarak kullandı ve webpack yerine esbuild'in bundler'ına geçerek ek hız kazanımları elde etti. Sonuçta tüm kod tabanının tip kontrolü 7 kat hızlandı, derleme süresi 80 saniyeden 20 saniyeye, dil sunucusu yükleme süresi ise bir dakikadan 10 saniyeye indi.
TypeScript 7.0 üretime hazır olacak ancak tam programatik API'si TypeScript 7.1 ile gelecek. Bu ara dönemde Microsoft, @typescript/typescript6 uyumluluk paketiyle tsc6 komutunu sunarak geliştiricilerin TypeScript 6 ve 7'yi yan yana kullanmasına imkan tanıyor; bu da mühendislerin mevcut araç zincirlerini bozmadan kademeli geçiş yapmasını sağlıyor.