Turborepo Nedir?
Turborepo, monorepo projeleri için geliştirilmiş akıllı bir build sistemidir. Önbellekleme ve paralel çalıştırma sayesinde build sürelerini önemli ölçüde azaltır. Vercel tarafından geliştirilmektedir.
Yapay zeka ile optimize edilmiş pipeline'lar ve dependency graph analizi sayesinde yalnızca değişen paketleri yeniden build eder.
Temel Kavramlar
Turborepo'da workspaces (çalışma alanları), pipeline (iş hattı) ve cache (önbellek) temel kavramlardır. Pipeline tanımı ile paketlerinizin build, test ve lint sırasını belirlersiniz.
Her pipeline görevi, girdi ve çıktıların hash'ine göre önbelleğe alınır ve tekrar kullanılır.
Önbellekleme Stratejileri
Turborepo'nun en güçlü özelliği remote caching sistemidir. Build çıktılarını bulutta saklayarak, CI ortamında bile önbelleklenmiş sonuçları kullanabilirsiniz. Bu, takımınızın build sürelerini dakikalardan saniyelere düşürür.
Yerel önbellek ile hızlı build Remote cache ile CI optimizasyonu Akıllı dependency graph analizi Paralel task çalıştırma
Yapılandırma
Turborepo, turbo.json dosyası ile yapılandırılır. Bu dosyada pipeline tanımları, önbellek ayarları ve bağımlılık ilişkileri belirtilir. Outputs ve dependsOn alanları kritik yapılandırma seçenekleridir.
Monorepo Best Practices
Başarılı bir monorepo için paketlerinizi mantıksal olarak ayırın, net bağımlılık kuralları belirleyin ve kod paylaşımını teşvik edin. Turborepo, bu süreçleri otomatikleştirerek ekip verimliliğini artırır.