Ne oldu?
TypeScript’in derleyicisi (tsc) uzun yıllar TypeScript ile yazılmıştı ve Node.js üzerinde çalışıyordu. Microsoft bunu Go diline taşıdı ve 8 Temmuz 2026’da TypeScript 7.0 olarak yayınladı. Microsoft’a göre derlemeler çoğu projede 10 kat civarında hızlandı. Bunu Bun ve TypeScript 7 yazımızda anlatmıştık.
20 Ekim’de Cloudflare bir adım daha attı: Aynı derleyicinin Rust’a taşınmış hâli olan tsrs’i duyurdu. Projeyi Cloudflare, Vite ve Oxc’nin arkasındaki VoidZero ekibi ve Owner.com’dan Max Schwenk birlikte yürütüyor. VoidZero Haziran’da Cloudflare’e katılmıştı; tsrs de Rust ile yazılmış JavaScript araçları ailesi Oxc’nin çatısı altında geliştiriliyor. Syntax ekibi de haftalık haber videosunda konuya değindi.
Fork değil, birebir taşıma
Cloudflare bir noktanın altını özellikle çiziyor: tsrs bir fork değil. Yani TypeScript’in davranışını değiştirmiyor, yeni özellik eklemiyor. Dilin nereye gideceğine TypeScript ekibi karar vermeye devam ediyor; tsrs sadece aynı denetleyiciyi başka bir dilde çalıştırıyor. README’ye göre hedef, TypeScript 7 derleyicisinin ve dil sunucusunun (editöründeki hata altı çizgileri ve otomatik tamamlama) yerine doğrudan takılabilen bir sürüm olmak.
Neden bu kadar önemli? Bir tip denetleyicisinin aynı koda farklı hata vermesi, araçların birbirine güvenini bozar. tsrs varsayılan modunda Go sürümünün davranışını, hata mesajlarına kadar takip ediyor. Hâlâ farklar var, örneğin hataların hangi sırayla yazıldığı. Cloudflare bunları kararlı sürümden önce kapatmayı hedefliyor.
Rakamlar ve neden Rust?
Cloudflare’in kendi ölçümüne göre tsrs, aynı sayıda tip denetleme iş parçacığıyla TypeScript 7.0’dan 8 kata kadar hızlı ve yaklaşık %70 daha az bellek kullanıyor. Bunlar şirketin kendi benchmark’ları, ölçüm kodu depodaki bench klasöründe.
İşin ilginç yanı, rekabetin iki tarafa da yaraması. Cloudflare, tsrs’te bulunan bazı iyileştirmelerin Go sürümüne geri gönderildiğini söylüyor. Microsoft da aynı gün TypeScript 7.1 beta’yı duyurdu ve kendi ölçümlerinde 7.0’a göre 1,2 ile 1,9 kat arası hız, %16 ile %50 arası bellek kazancı gösterdi.
Rust seçiminin hızdan öte bir nedeni de var: WebAssembly. Go, WebAssembly’ye derlendiğinde kendi çöp toplayıcısını da pakete koymak zorunda. Rust’ta çöp toplayıcı yok, bu yüzden tarayıcıda çalışan derleyici daha küçük ve hafif oluyor. tsrs’in @tsrs/wasm adında bir WebAssembly paketi var. Cloudflare’in hayali, tam bir geliştirme ortamını tarayıcının içinde çalıştırmak. Çöp toplayıcısız bellek güvenliğinin neden bu kadar çok aracı Rust’a çektiğini yapay zekâ araçlarının Rust’a geçişi yazımızda anlatmıştık.
Asıl hikâye: Taşımayı ajanlar yaptı
Cloudflare’e göre güçlü yapay zekâ modelleri artık büyük ölçekli taşımaları günler içinde, neredeyse kendi başlarına yapabiliyor. Bu bir şirketin kendi iddiası, ama tek örnek de değil. Cloudflare aynı yöntemi Şubat’ta Next.js’i Vite üzerinde yeniden yazdığı vinext projesinde denemişti. Orada da sır modelde değil, takip edilecek hazır bir test paketindeydi. TypeScript’in kapsamlı bir test paketi ve birebir taşınacak bir Go kaynak kodu var. Bu, ajanın her adımda “doğru mu yaptım?” sorusunu kendi başına cevaplayabilmesi demek.
Bakım da aynı mantıkla kurulmuş. Her sabah ajanlar TypeScript deposundaki yeni değişiklikleri inceleyip Rust tarafına taşıyor, her gece bir uyumluluk tablosu yeniden üretiliyor.
Kullanmalı mısın?
Henüz değil, en azından üretimde. tsrs deneysel bir sürüm, kararlı sürüm TypeScript 7.1’e göre çıkacak. Denemek istersen tek komut yeterli: npx tsrs --noEmit. --fast bayrağı ek önbellekler ve uyarlanabilir iş parçacığı sayısıyla daha da hızlı bir mod açıyor. Lisans Apache-2.0. Kendi projende Go sürümüyle aynı hataları verip vermediğini karşılaştırmak, hem senin için hem de projeye hata bildirmek için iyi bir başlangıç.
Düşün
- Büyük projende tip kontrolü kaç saniye sürüyor? Bu süre 8’e bölünse çalışma şeklin değişir miydi, yoksa zaten CI’da mı bekliyorsun?
- Aynı derleyicinin iki ayrı dilde, iki ayrı ekip tarafından yaşaması uzun vadede güven verir mi, yoksa davranış farkları için bir risk mi?
Videoyu izle
Kaynaklar (5, İngilizce)
- Syntax: Reddit Closing it's Doors, Agent Desktop is Cool, CSS Tricks is Back (Syntax Weekly, video) (yeni sekmede açılır)
- Cloudflare Blog: Introducing tsrs: a Port of TypeScript to Rust (yeni sekmede açılır)
- GitHub: oxc-project/tsrs (yeni sekmede açılır)
- TypeScript Blog: Announcing TypeScript 7.1 Beta (yeni sekmede açılır)
- TypeScript Blog: Announcing TypeScript 7.0 (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.