Ana içeriğe geç

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.

bilgi

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.

ipucu

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