Monorepo nedir?
- React Native kursu
- Uzman
- Ders 19/47
- 5 dk
Monorepo kavramını öğrenirsin.
Monorepo nedir?
Monorepo, birden fazla paketin ya da uygulamanın tek bir Git deposunda yaşamasıdır. Her paket kendi package.json'una sahiptir; ortak bağımlılıklar kök dizinden yönetilir. Çoklu depo (polyrepo) ile karşılaştırılır.
Avantajları: kod paylaşımı kolay, değişiklik tek commit'te, sürüm senkronu. Dezavantajları: depo büyür, build daha karmaşık. Bu yüzden Turborepo gibi araçlar kullanılır.
Monorepo yapısı
Tipik bir monorepo kök dizini şunları içerir: apps/ (uygulamalar), packages/ (paylaşılan kütüphaneler), package.json (kök) ve turbo.json (build ayarları). Her alt paket kendi package.json'una sahiptir.
Kök package.json, workspaces ayarı ile alt paketleri tanımlar. Bu sayede npm install tek komutla tüm bağımlılıkları kurar; çakışan sürümler tek yerde çözülür.
Uygulama Workspaces ayarı ekle
Bir kök package.json'a workspaces alanı ekle. apps/* ve packages/* dizinlerini içersin.
Başlangıç kodu
{
"name": "my-monorepo",
"private": true
// workspaces alanını buraya ekle
}Örnek çözüm
{
"name": "my-monorepo",
"private": true,
"workspaces": ["apps/*", "packages/*"]
}Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Monorepo neyi tek yerde tutar?
- Yalnızca belgeleri
- Tek paketi birden çok depoda
- Birden çok paketi tek depoda Doğru cevap
- Yalnızca testleri
Açıklama: Monorepo birden çok paketi tek depoda tutar.
2 Uygulamalar klasörü adı
Monorepo kökünde uygulamalar genelde ____/ klasöründe toplanır.
Monorepo kökünde uygulamalar genelde apps/ klasöründe toplanır.
Açıklama: apps/ klasörü uygulamaları içerir.
3 Monorepo parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
apps/ |
Uygulamalar |
packages/ |
Paylaşılan kütüphane |
package.json |
Kök bağımlılık |
turbo.json |
Build ayarı |