deno outdated
Güncel Olmayan Bağımlılıkları Kontrol Etme
outdated
alt komutu, deno.json
veya package.json
dosyalarında listelenen NPM ve JSR bağımlılıklarının yeni sürümlerini kontrol eder ve güncellenebilecek bağımlılıkları görüntüler. Çalışma alanları tamamen desteklenmektedir; bazı üyelerin package.json
kullandığı ve diğerlerinin deno.json
kullandığı çalışma alanları dahil.
Örneğin, bir deno.json
dosyasına sahip bir proje düşünelim:
{
"imports": {
"@std/fmt": "jsr:@std/fmt@^1.0.0",
"@std/async": "jsr:@std/async@1.0.1",
"chalk": "npm:chalk@4"
}
}
ve @std/fmt
sürümünün 1.0.0
olduğu bir kilit dosyası.
$ deno outdated
┌────────────────┬─────────┬────────┬────────┐
│ Paket │ Mevcut │ Güncelle│ Son Sürüm │
├────────────────┼─────────┼────────┼────────┤
│ jsr:@std/fmt │ 1.0.0 │ 1.0.3 │ 1.0.3 │
├────────────────┼─────────┼────────┼────────┤
│ jsr:@std/async │ 1.0.1 │ 1.0.1 │ 1.0.8 │
├────────────────┼─────────┼────────┼────────┤
│ npm:chalk │ 4.1.2 │ 4.1.2 │ 5.3.0 │
└────────────────┴─────────┴────────┴────────┘
Güncelle
sütunu en yeni semver-uyumlu sürümü, Son Sürüm
sütunu ise en son sürümü listeler.
jsr:@std/async
'ın listelendiğini, mevcut bir semver-uyumlu sürüm olmadığı halde, fark edin. Yalnızca yeni uyumlu sürümleri gösteren paketleri görüntülemek isterseniz --compatible
bayrağını geçebilirsiniz.
$ deno outdated --compatible
┌────────────────┬─────────┬────────┬────────┐
│ Paket │ Mevcut │ Güncelle│ Son Sürüm │
├────────────────┼─────────┼────────┼────────┤
│ jsr:@std/fmt │ 1.0.0 │ 1.0.3 │ 1.0.3 │
└────────────────┴─────────┴────────┴────────┘
jsr:@std/fmt
hala listeleniyor, çünkü 1.0.3
sürümüne uyumlu olarak güncellenebilirken, jsr:@std/async
artık gösterilmiyor.
Bağımlılıkları Güncelleme
outdated
alt komutu ayrıca --update
bayrağı ile bağımlılıkları güncelleyebilir. Varsayılan olarak, yalnızca bağımlılıkları semver-uyumlu sürümlere günceller (yani kırıcı bir sürüme güncellemez).
$ deno outdated --update
1 bağımlılık güncellendi:
- jsr:@std/fmt 1.0.0 -> 1.0.3
En son sürümlere güncellemek için (semver uyumlu olup olmadığına bakılmaksızın), --latest
bayrağını geçebilirsiniz.
$ deno outdated --update --latest
3 bağımlılık güncellendi:
- jsr:@std/async 1.0.1 -> 1.0.8
- jsr:@std/fmt 1.0.0 -> 1.0.3
- npm:chalk 4.1.2 -> 5.3.0
Paket Seçimi
outdated
alt komutu ayrıca hangi paketler üzerinde işlem yapacağınızı seçmenizi de destekler. Bu, --update
bayrağı ile veya olmadan çalışır.
$ deno outdated --update --latest chalk
1 bağımlılık güncellendi:
- npm:chalk 4.1.2 -> 5.3.0
Birden fazla seçici geçilebilir ve joker karakterler (*
) veya hariç tutmalar (!
) da desteklenir.
Örneğin, @std
kapsamındaki tüm paketleri güncellemek için, @std/fmt
hariç:
$ deno outdated --update --latest "@std/*" "!@std/fmt"
1 bağımlılık güncellendi:
- jsr:@std/async 1.0.1 -> 1.0.8
Eğer joker karakterler kullanıyorsanız, muhtemelen argümanı tırnak içinde çevrelemeniz gerekecek, bu da Shell'in bunları genişletmeye çalışmasını önler.
Belirli Sürümlere Güncelleme
Paketleri güncellemeyi seçmenin yanı sıra, --update
bayrağı ayrıca yeni sürümü seçmeyi de destekler; sürümü @
işaretinden sonra belirtin.
❯ deno outdated --update chalk@5.2 @std/async@1.0.6
2 bağımlılık güncellendi:
- jsr:@std/async 1.0.1 -> 1.0.6
- npm:chalk 4.1.2 -> 5.2.0
Çalışma Alanları
Bir çalışma alanı ortamında, varsayılan olarak outdated
yalnızca şu anki çalışma alanı üyesi üzerinde çalışır.
Örneğin, verilen bir çalışma alanı:
{
"workspace": ["./member-a", "./member-b"]
}
./member-a
dizininde
deno outdated
komutunu çalıştırmak, yalnızca ./member-a/deno.json
veya ./member-a/package.json
dosyasında listelenen güncel olmayan bağımlılıkları kontrol edecektir.
Tüm çalışma alanı üyelerini dahil etmek için, --recursive
bayrağını geçin (kısayol olarak -r
da kabul edilir).
deno outdated --recursive
deno outdated --update --latest -r