I create accessible, user-friendly web applications with the best efficient solutions and best practices of the frontend world for SAAS projects. I`m currently working @smartgift
Download
Node.js packageslerinde en güzel şey kesinlikle packageler için version numaralandırma sürümlerinde semantic versioning kullanmaları diyebiliriz.
Semantic Versioning konsepti oldukça basittir. Bütün version sadece 3 digit yani sayıdan oluşur: x.y.z
.
- İlk sayı yani x, major version
- İkinci sayı yani y, minor version
- Üçüncü sayı yani z, patch version
Yeni bir sürüm çıkmak istediğinizde istediğiniz gibi bir sayıyı arttırmazsınız. Bazı kurallar dahilinde bu sayıları arttırırız.
- API’da eskiye göre uyumsuz önemli değişikliklerde MAJOR versionu arttırırız
- Geriye dönük uyumlu bir şekilde çıkarttığımız yeni özellik ve functionalitylerde MINOR versionu arttırırız
- Geriye dönük uyumlu bir şekilde bug fixlerde veya küçük düzeltmelerde veya typolarda PATCH versionu arttırırız
The convention is adopted all across programming languages, and it is very important that every npm
package adheres to it, because the whole system depends on that.
Bu yapı bütün proğramlanma dillerinde bu şekilde benimsenmiştir. Ve npm packagelerininde bu kurallara bağlı kalması hem bizim hem de sistem için çok önemlidir. Çünkü bütün sistem ucunda buna bağlıdır.
Why is that so important?
Çünkünpm
bazı kurallar ayarlar ve biz bu kurallara göre package versionlarını ayarlarız uygulamamızın[package.json](https://flaviocopes.com/package-json/)
içinde. Ve bu packagelerimize bazı ruleslar ekleriz [package.json](https://flaviocopes.com/package-json/)
içinde. Bu rullara göre npm update
yaptığımızda düzgünce yüklemelerimizi gerçekleştiririz.
The rules use those symbols:
^
~
>
>=
<
<=
=
-
||
Let’s see those rules in detail:
^
: Eğer version number olarak bir packageye^0.13.0
yazarsanıznpm update
yaptığımızda eğer bu packagenin yeni minor veya patch releasesi (0.13.1
,0.14.0
gibi) paylaşılmışsa bu paylaşılan yeni versionları yükler, eğer yoksa yazılmış versionu yükler.~
: Eğer version number olarak bir packageye~0.13.0
yazarsanıznpm update
yaptığımızda eğer bu packagenin yeni patch releasesi (0.13.1
gibi) paylaşılmışsa bu paylaşılan yeni versionları yükler, eğer yoksa yazılmış versionu yükler.>
: Herhangi bir yüksek versionu kabul eder.>=
: Herhangi bir yüksek veya eşit versionu kabul eder<=
: Herhangi bir düşük veya eşit versionu kabul eder<
: Herhangi bir düşük versionu kabul eder.=
: Tam olarak belirttiğimiz versionu kabul eder-
: Belirlik bir aralıkta ki versionu kabul eder. Example:2.1.0 - 2.6.2
||
: Birden fazla rule set ederiz pipelarla. Example:< 2.1 || > 2.6
Yukarıdaki formuüllerden bir kaçını kullanarak kendinize özeli kurallarda ayarlayabilirziniz, for example use 1.0.0 || >=1.1.0 <1.2.0
to either use 1.0.0 or one release from 1.1.0 up, but lower than 1.2.0.
Başka kurallarda var:
- no symbol: Her hangi bir işaret koymazsak sadece belirttiğimiz versionu yüklemesini istediğimizi söyleriz. Bir nevi
=
işareti gibi. (1.2.1
) latest
: packagenin latest yani en son sürümü hangisi ise onu kullanmak istediğimizi söyleriz.
About semantic versioning | npm Docs
*To keep the JavaScript ecosystem healthy, reliable, and secure, every time you make significant updates to an npm…*docs.npmjs.com