logo

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

Bu sefer NPM’de package publishing yaparken yaptığım hatalar, karşılaştığım sorunlar ve bulduğum çözümleri anlattığım bir yazı yazmak istiyorum. Aslında burada anlatacaklarımın bir çoğunu sizde merak edip araştırıp düşünmek ve challenge yaşamak zorunda kalacaksınız eğer günün birince bu işe deep dive girişecek olursanız.

Yaptığım hatalar

Özel isimle publish etmek & Version numarası kullanmak

Diyelim ki icon-generator diye özel ve güzel bir isime sahip bir library oluşturacağım. Bu libraryi npm’e direk olarak bu isimle pushlamak yerine daha sıradan icon-test-generator adıyla göndermek daha doğru olurdu. Ve ayrıca ben 1.0.0 gibi bir version numarası kullanmıştım package.json içinde. Buda bu özel isimle oluşturduğum packagenin bir daha asla bu version numarası ile yeniden publish edemeyeceğim anlamına geliyordu. Yani eğer oluşturduğunuz packageA kütüphanesini npm’e 1.0.0 version numarasıyla veya herhangi bir version numarası ile npm’e gönderirseniz bir daha bu packageyi npmden silseniz dahi aynı version numarası ile npme publish edemeyeceğiniz anlamına gelir. Yani version numarasını değişip tekrar publish etmeliyiz demek oluyor bu. :(

Test publishleri npm üzerinde yapmak

Evet buda işin bir diğer acı tarafı. Test publishlerimi aşağıdaki şu toolu bilene kadar hep npm üzerinde yaptım buda bana fazlaca maliyetli oldu nihayetinde. Siz bu hatayı yapmayın ve Verdaccio isimli local npm publish toolunu kullanarak oluşturduğunuz packageleri önce localde publsih edip sonuçlarını gözlemleyin.

Alpha - Beta - RC Releaseleri Yapmamak

İlla paketinizi npm’e veya bir bulut ortamına publish edecekseniz paketlerinizin çalışırlığından emin olmadan önce paketlerinizi kesinlikle alpha, beta, rc gibi stabil olmayan sürümlerle çıkartmalısınız. Bu hem bu sürümlerin halen test edildiğini hem bazı özelliklerinin çalışmıyor olabileceğini anlattığı için yanlış publishlerde bu versionlarla birlikte sorun olmayacaktır. Tabi ki eğer ufak tefek buglar yoksa major problemler varsa stabil veya fix versionları çıktıktan sonra bu sürümleri unpublish yapın yapamıyorsanızda deprecated yapın.

npm-version | npm Docs
*Prevents throwing an error when npm version is used to set the new version to the same value as the current version…*docs.npmjs.com

Summary

Notes & Important Things