Vite 8.0 Yayınlandı: Rolldown ile 30 Kat Daha Hızlı Geliştirme Deneyimi

Vite 8'in kararlı (stable) sürümünün yayınlandığını duyurmaktan büyük bir heyecan duyuluyor! Vite ilk piyasaya sürüldüğünde geliştirme aşamasındaki hız için esbuild'e, optimize edilmiş üretim (production) yapıları için ise Rollup'a pragmatik bir bahis yapmıştı. Bu yaklaşım yıllarca çok iyi hizmet etti. Ancak bugün, büyük bir evrimle karşı karşıyayız: Vite 8, Rolldown adındaki tek, birleşik, Rust tabanlı paketleyicisiyle geliyor. Bu devrimsel adım, tam eklenti uyumluluğunu korurken derleme sürelerini 10 ila 30 kat arasında hızlandırıyor. Bu yenilik, Vite 2'den bu yana yapılan en büyük mimari değişiklik olarak öne çıkıyor.
Vite şu anda haftada 65 milyon kez indiriliyor ve ekosistem her yeni sürümle birlikte büyümeye devam ediyor. Sürekli genişleyen eklenti (plugin) dünyasında geliştiricilere yardımcı olmak için artık npm veritabanından veri toplayan kapsamlı ve aranabilir bir dizin olan registry.vite.dev de hayata geçirildi.
Vite'ın Rolldown ile Güçlenen Yeni Altyapısı
Problem
İlk sürümlerinden bu yana Vite, farklı ihtiyaçları karşılamak için iki ayrı paketleyiciye (bundler) güveniyordu. esbuild, geliştirme sırasındaki hızlı derlemeyi (bağımlılık ön-paketleme ve TypeScript/JSX dönüşümleri) hallederek geliştirme deneyimini anlık hale getiriyordu. Rollup ise üretim paketleme, parçalama (chunking) ve optimizasyon gibi işlemleri üstleniyor, zengin eklenti API'si sayesinde Vite ekosisteminin can damarını oluşturuyordu.
Çift paketleyicili bu yaklaşım uzun yıllar boyunca harika iş çıkardı. Geliştirici deneyimine ve düzenlemeye (orchestration) odaklanılmasını sağladı. Fakat bazı tavizleri de beraberinde getirdi: İki ayrı dönüştürme işlem hattı, iki ayrı eklenti sistemi demekti. Bu iki hattı senkronize tutmak için giderek artan bir "tutkal koda" ihtiyaç duyuldu. Modül işlemedeki tutarsızlıklar zamanla birikti ve bir tarafta yapılan her düzeltme diğer tarafta farklar oluşturma riskini taşıyordu.
Çözüm
İşte Rolldown, bu zorlukları doğrudan çözmek üzere VoidZero ekibi tarafından inşa edilen Rust tabanlı bir paketleyicidir. Temel olarak üç ana amaca hizmet etmek üzere tasarlanmıştır:
1. Performans: Rust ile yazılan Rolldown, yerel (native) hızda çalışıyor. Karşılaştırmalarda esbuild'in performans düzeyini yakalayarak Rollup'a kıyasla 10-30 kat daha hızlı sonuç veriyor. 2. Uyumluluk: Rolldown, Rollup ve Vite ile aynı eklenti API'sini destekliyor. Mevcut çoğu Vite eklentisi Vite 8 ile kutudan çıktığı gibi sorunsuz çalışabiliyor. 3. Gelişmiş Özellikler: Tek bir birleşik paketleyici; tam paket modu (full bundle mode), daha esnek parçalama (chunk splitting), modül düzeyinde kalıcı önbelleğe alma (persistent caching) ve Module Federation desteği gibi önceden zor olan yeteneklerin kilidini açıyor.
Gerçek Dünya Performansı
rolldown-vite'nin önizleme ve beta aşamalarında birçok şirket üretim derleme sürelerinde ölçülebilir inanılmaz düşüşler rapor etti:
* Linear: Üretim derleme süresi 46 saniyeden 6 saniyeye düştü. * Ramp: Derleme süresinde %57 azalma. * Mercedes-Benz.io: %38'e varan derleme süresi azalması. * Beehiiv: Derleme süresinde %64 oranında bir kısalma.
Özellikle büyük ve karmaşık projelerde bu etki gözle görülür seviyelere çıkıyor. Rolldown gelişmeye devam ettikçe ilerleyen süreçte daha fazla iyileştirme bekleniyor.
Birleşik Bir Araç Zinciri
Vite 8 ile birlikte Vite, temel araç (Vite), paketleyici (Rolldown) ve derleyici (Oxc) şeklinde yakından işbirliği yapan ekiplerin yer aldığı uçtan uca (end-to-end) bir araç zincirinin ana giriş noktası haline geliyor. Bu güçlü uyumlaşma, kod ayrıştırmadan dönüştürme ve küçültmeye kadar tüm bileşenler arasında tutarlı bir davranış sağlıyor. JavaScript dilinde yaşanan yeni gelişmeleri artık çok daha hızlı şekilde entegre edebilecek.
Node.js Gereksinimi
Vite 8'in çalışabilmesi için Node.js 20.19+ veya 22.12+ sürümlerine ihtiyaç var. Daha alt sürümler desteklenmiyor. Bu aralık, Vite'in artık saf bir ESM (ECMAScript Modules) paketi olarak kolayca dağıtılmasına olanak tanıyan arka plandaki bayraksız require(esm) desteğini garanti ediyor.
Vite 8 İle Gelen Ek Özellikler
Rolldown entegrasyonu dışında Vite 8'in öne çıkan diğer özellikleri şunlar:
* Entegre Devtools: Vite 8, projelerinizde analiz yapmak ve hata ayıklamak için dev server ile doğrudan entegre olan Vite Devtools'u yerel olarak sunuyor.
* Dahili tsconfig paths desteği: TypeScript 'path alias' (yol takma isimleri) çözünürlüğünü destekler. Geliştiriciler resolve.tsconfigPaths değerini true yaparak bu imkanı sağlayabilir.
* emitDecoratorMetadata Desteği: Vite 8 artık TypeScript'in emitDecoratorMetadata özelliğini dahili olarak destekliyor, dış eklentilere ihtiyaç bırakmıyor.
* Wasm SSR Desteği: .wasm?init içe aktarım işlemleri (imports) artık Sunucu Taraflı Oluşturma (SSR) senaryolarında çalışabiliyor.
* Tarayıcı Konsolunu İletme (Console Forwarding): Vite 8, tarayıcıda oluşan konsol hatalarını ve çıktılarını terminal ortamına iletebiliyor. Özellikle yapay zeka kodlama araçlarıyla (Cursor, Copilot vb.) çalışan geliştiriciler için hayat kurtarıcı bir özellik. Eklenti, kodlama ajanı saptandığında bunu otomatik aktive ediyor.
* @vitejs/plugin-react v6: React projeleri için yayımlanan v6, React Refresh dönüşümü için Oxc altyapısını kullanıyor. Böylece Babel bağımlılığı ortadan kaldırılarak çok daha küçük bir kurulum boyutu (install size) sağlanıyor.
Kurulum Boyutundaki Değişim
Vite 8, geliştirilmiş özelliklerinden dolayı Vite 7'ye oranla yaklaşık 15 MB daha büyüktür. Bunun iki kaynağı var:
1. Lightningcss (~10 MB): Eskiden opsiyonel bir peer dependecy olan bu araç, artık daha iyi CSS minification işlemi için standart bağımlılık olarak paketle birlikte geliyor. 2. Rolldown (~5 MB): Performansı küçük dosya boyutu üretimine tercih ettiği için esbuild ve Rollup ikilisine göre biraz daha fazla yer tutuyor.
Geçiş Rehberi (Migration)
Pek çok proje için Vite 8 sürümüne güncelleme oldukça kolay olacaktır. Sisteme dâhil edilen uyumluluk katmanı (compatibility layer) sayesinde mevcut yapılandırmalar sorunsuzca Rolldown ve Oxc formatına aktarılır. Büyük bir proje yürütülüyorsa, geçişi yavaş yavaş ve kontrollü yapmak önerilmektedir.
Eskiden beri bu araca değer katan esbuild yazarından Rollup ekibine kadar herkese bir teşekkür olarak, Vite mimarisinin bugüne bürünmesindeki emekler yadsınamaz seviyede ve bu kod ekosisteminde tarih yazmaya devam ediyorlar.



