Yarn workspaces
- React Native kursu
- Uzman
- Ders 20/47
- 5 dk
Yarn workspaces ile monorepo öğrenirsin.
Yarn workspaces
Yarn workspaces, Yarn'ın gömülü monorepo desteğidir. Kök package.json'a workspaces alanı eklenince Yarn tüm alt paketleri tek bir node_modules'de toplar. Bu, diskten tasarruf sağlar.
Bir alt paket diğerini kullanıyorsa "my-utils": "*" ile bağlanır; Yarn sembolik link kurar. yarn workspaces run build tüm paketlerde build çalıştırır.
Tek node_modules
Yarn workspaces, tüm bağımlılıkları kök node_modules'de toplar (hoisting). Her paket kendi node_modules'ünü tutmaz; bu disk ve kurulum süresi kazandırır.
Bir paket özgül bir sürüm gerekiyorsa kendi node_modules'ünde tutulur; kök sürümle çakışırsa Yarn yerel kopyayı kullanır. Bu, otomatik sürüm çözümü sağlar.
Uygulama Yarn workspace bağımlılık ekle
Bir apps/mobile paketinin package.json'ında, @my/ui paketini bağımlılık olarak ekle. Sürüm "*" olsun. dependencies alanı altında olsun.
Başlangıç kodu
{
"name": "@my/mobile",
"version": "1.0.0",
"dependencies": {
"react": "18.2.0"
// @my/ui bağımlılığını buraya ekle
}
}Örnek çözüm
{
"name": "@my/mobile",
"version": "1.0.0",
"dependencies": {
"react": "18.2.0",
"@my/ui": "*"
}
}Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yarn ile paket çalıştırma komutu
yarn ____ run build
yarn workspaces run build
Açıklama: 'yarn workspaces run build' tüm paketlerde çalışır.
2 Yarn workspaces bağımlılıkları nerede toplar?
- Kök node_modules'de
- Yalnızca GitHub'da
- Yalnızca cache'te
- Her paketin kendi node_modules'inde Doğru cevap
Açıklama: Yarn kök node_modules'e toplar (hoisting).
3 Yarn workspaces parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
workspaces alanı |
package.json'da |
hoisting |
Kök node_modules |
symlink |
Paketler arası bağ |
yarn workspaces run |
Tüm paketlerde komut |