Teknoloji

TypeScript 7.0, 10 kat daha hızlı — Vue, Svelte ve Angular beklemeye devam

Adrian Kessler

VS Code içindeki TypeScript derleyicisi, editörün kendi kod tabanının taze bir kopyasını kontrol etmek için eskiden 125 saniye harcıyordu. TypeScript 7.0 ise aynı işi 10,6 saniyede tamamlıyor. Microsoft eski kodu optimize etmedi — tüm derleyici çalışma zamanını JavaScript’ten Go’ya taşıdı ve bir JavaScript motorunun sağlayamadığı çok çekirdekli paralelliğin önünü açtı.

Bu taşıma işlemi sıfırdan bir yeniden yazım değil. Microsoft mühendisleri, tip denetleme mantığının TypeScript 6.0 ile yapısal olarak aynı olduğunu — aynı kurallar, aynı davranış — ancak iş yükünü CPU çekirdeklerine dağıtabilen bir dile çevrildiğini belirtti. Ekip Go’yu seçti çünkü orijinal, fonksiyon ağırlıklı JavaScript kodu, Go deyimleriyle neredeyse birebir eşleşiyor. Yeni çalışma zamanı ayrıca belirgin paralellik kontrolü için bayraklar sunuyor: modern bir iş istasyonunda –checkers 8 parametresi kullanıldığında VS Code derlemesi TypeScript 6.0’a kıyasla 16,7 kat iyileşme sağlıyor. Slack’in CI tip denetimi 7,5 dakikadan 1,25 dakikaya düştü. Bluesky’ın derlemesi 24,3 saniyeden 2,8 saniyeye indi. Bu örüntü tüm kod tabanlarında geçerli: proje boyutu büyüdükçe kazanımlar katlanarak artıyor çünkü artık tavan donanım, çalışma zamanı değil.

TypeScript 7.0, herhangi bir genel programatik API olmadan geliyor — yani derleyiciyi kendi kodları içinden çağıran derleme araçlarının kullandığı arayüz henüz mevcut değil. Her büyük web framework’ünün şablon tip denetleyicisi bu API’ye bağımlı. Vue’un Volar aracı, Svelte’in dil servisi, MDX, Angular’ın şablon denetleyicisi: hiçbiri TypeScript 7.0 ile çalışmıyor. Yeniden düzenleme ve test için TypeScript derleyici iç yapılarını açığa çıkaran ts-morph ve ts-jest gibi araçlar da bozuk. Microsoft, yedek API’nin Ekim ayında çıkması beklenen TypeScript 7.1 için planlandığını doğruladı. Bu framework’leri veya araçları kullanan projeler henüz yükseltme yapmamalı.

Eski proje yapılandırmaları ise ayrı bir dizi sert engelle karşı karşıya. TypeScript 7.0, 6.0 sürümünün kullanımdan kaldırdığı seçenekleri doğrudan derleme hatasına dönüştürüyor: ES5 derleme hedefleri, AMD ve SystemJS modül biçimleri, klasik modül çözümlemesi ve import deyimlerindeki assert anahtar sözcüğü, derlemenin tamamen başarısız olmasına yol açıyor. Yeni varsayılan tsconfig.json artık @types paketlerini otomatik olarak yüklemiyor; bu, tip bağımlılıklarını açıkça bildirmeden ortam tip keşfine güvenen projelerin import anında sessizce başarısız olacağı anlamına geliyor. Microsoft, yeni derleyicinin yanında TS6 araçlarını çalıştırması gereken projeler için typescript@npm:@typescript/typescript6 uyumluluk shim’ini sağlıyor.

Bu engelleri aşan projeler — düz Node.js veya Deno uygulamaları, framework şablon sistemine dayanmayan tarayıcı uygulamaları ve programatik API bağımlılığı olmayan kütüphaneler — tek bir package.json değişikliğiyle yükseltme yapabilir. Editör desteği de aynı bölünmeyi izliyor: VS Code için şu anda kullanılabilen özel bir TypeScript 7 eklentisi var ve yerleşik destek, eski TSServer tasarımının yerini alan Dil Sunucu Protokolü’ne geçişini tamamlıyor. TSServer’a da bağımlı olan WebStorm ve diğer editörler bu geçiş üzerinde hâlâ çalışıyor.

Şu anda Ekim 2026 için hedeflenen TypeScript 7.1, Vue, Svelte, Angular ve MDX araçlarının geçiş yapabilmesi için ihtiyaç duyduğu yeni derleyici API’sini sunacak. O geldiğinde, 15 aylık Go taşıma sürecinin performans kazanımları tüm ekosisteme ulaşacak. O zamana kadar Volar, SvelteKit ve Angular’ın proje sayfaları TypeScript 6.0.x sürümünde kalınmasını öneriyor.

Etiketler: , , ,

Tartışma

S kadar yorum var.