CodeBlanks Logo Icon CodeBlanks

Semver

Semver ve ^/~ version aralıklarını öğrenirsin.

Semver

semver (semantic versioning), sürüm numaralarının anlamını tanımlar. Bir sürüm major.minor.patch biçimindedir; örneğin 4.18.0.

major değişince geriye dönük uyumsuzluk, minor artınca yeni özellik, patch artınca hata düzeltmesi demektir. package.json'da sürüm aralığı verirken iki yaygın sembol kullanırsın: ^ (caret) aynı major içindeki güncellemelere izin verir; ~ (tilde) yalnız patch seviyesine izin verir. Örneğin ^4.18.0 4.x içindeki tüm sürümleri kabul eder; ~4.18.0 yalnız 4.18.x'i kabul eder. Böylece güncellemeler güvenli biçimde alınır.

Tam sürüm sabitleme

Bazen bir paketin tam sürümünü sabitlemek istersin. ^ veya ~ olmadan yalnız 4.18.0 yazarsan npm yalnız bu sürümü yükler; güncelleme olmaz.

Bu, tekrarlanabilir derlemeler için önemlidir; her kurulumda aynı sürüm kullanılır. Ama güvenlik güncellemelerini de engeller. 1.x veya 1.2.x gibi joker karakterler de kullanabilirsin: 1.x 1 ile 2 arası (2 hariç) tüm sürümleri kabul eder. Hangi aralığı seçeceğin, güvenlik ve kararlılık arasındaki tercihe bağlıdır. Genellikle ^ önerilir; ama kritik sistemlerde sabitleme daha güvenlidir.

Uygulama Major sürümü yazdır

version adında bir dize tanımla; değeri "4.18.0" olsun. .split(".")[0] ile major kısmını al ve console.log ile yazdır.

Başlangıç kodu

index.js
// Sürüm dizesini tanımla
// split ile noktalardan böl
// İlk parçayı (major) yazdır
// buraya yaz

Örnek çözüm

index.js
const version = "4.18.0";
const major = version.split(".")[0];
console.log(major);

Beklenen çıktı

4

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 ^4.18.0 sürüm aralığı neye izin verir?

index.js
^4.18.0
  • 4.x (4.18.0 ve üzeri 4.x) Doğru cevap
  • 4.x ve 5.x
  • Yalnız 4.18.0
  • Herhangi bir sürüm

Açıklama: ^ aynı major içindeki güncellemelere izin verir.

2 caret aralığını tamamla

Soru
"____4.18.0"
Cevap
"^4.18.0"

Açıklama: ^4.18.0 aynı major içinde güncellemelere izin verir.

3 Aralığı davranışına eşle

Kavram Anlamı
^1.2.3 minor ve patch'e izin verir
~1.2.3 yalnızca patch'e izin verir
1.2.3 tam sürümü sabitler
1.x minor ailesi

Orta seviye bölümündeki tüm dersler