← Radar

Konu: Kodlama3 dk okuma

tsrs: Cloudflare, TypeScript derleyicisini yapay zekâyla Rust'a taşıdı

Bu neden önemli?

Tip kontrolünü beklemek, büyük TypeScript projelerinde her gün kaybedilen zaman. Ama tsrs'in asıl dersi hız değil: Elinde iyi bir test paketi ve takip edilecek net bir kaynak kod varsa, derleyici büyüklüğünde bir yazılımı başka bir dile taşımak artık günler sürebiliyor. Bakımı da ajanlara devredilebiliyor.

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

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (5, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Kodlama4 dkVideo: Syntax

GitHub Universe 2026: Ajan trafiğine göre yeniden kurulan Git, Copilot Fusion ve zamanlanmış ajanlar

GitHub'da bir yılda push sayısı neredeyse üç katına çıktı, Eylül'de açılan pull request'lerin %40'tan fazlası bir ajanın taslağıyla başladı. Universe'te GitHub bu yükü taşımak için Git altyapısını nasıl değiştirdiğini anlattı, birden fazla modeli birlikte çalıştıran Copilot Fusion'ı ve kendi kendine çalışan ajanlar için Automations'ı gösterdi.

Konu: Kodlama3 dkVideo: Better Stack

Worktrunk: Git worktree'lerini dal adıyla yöneten komut satırı aracı

Worktrunk, birden fazla kodlama ajanını aynı depoda ayrı worktree'lerde çalıştırmayı kolaylaştıran açık kaynak bir Rust aracı. Worktree açmak, hepsini tek listede görmek ve biten işi ana dala geri almak birer komut. Yeni klasöre node_modules gibi ağır dosyaları neredeyse yer kaplamadan kopyalayabiliyor.