Saya baru-baru ini mulai mengembangkan proyek di Node.js. Tentu saja, saat ini paket yang saya gunakan cukup baru karena saya mulai dari awal dan menggunakan versi terbaru, tetapi ada tingkat pergantian versi yang cukup tinggi untuk sebagian besar paket Node.js dan seringkali fitur tertentu akan menjadi usang atau jatuh, dan tentu saja kerentanan keamanan akan diperbaiki.
Karena sebagian besar paket saya ditentukan menggunakan sintaksis versi semantik ^1.2.3
(tetap pada nomor versi utama yang diberikan untuk menghindari perubahan), setiap pembaruan penting di luar versi utama saat ini akan hilang.
Apa cara yang bijaksana untuk memastikan bahwa Anda tetap terbarui dengan ketergantungan Anda? Apakah perlu untuk melakukan, katakanlah, cek mingguan untuk pembaruan dependensi Anda ke dalam alur kerja Anda untuk memastikan Anda tidak ketinggalan? Dan untuk alasan ini, apakah itu ide yang baik untuk mencoba dan meminimalkan dependensi untuk meminimalkan rasa sakit karena berurusan dengan perubahan ketika Anda perlu memperbarui ke versi utama yang lebih baru?
npm outdated
perintah? Tidak pernah menggunakan diriku sendiri tetapi mereka terlihat seperti awal.Jawaban:
Ini adalah alur kerja yang saat ini saya gunakan untuk proyek dengan rilis bulanan.
Tujuannya bukan untuk memiliki pembaruan otomatis sama sekali. Mereka mungkin merusak sistem Anda dengan cara yang tidak Anda harapkan dan sangat mungkin ketika Anda membuat perubahan lain, yang tidak akan membantu dalam mencari tahu apa masalahnya.
Memperbarui dependensi harus menjadi proses yang disadari, dan jika ada yang merusak sistem Anda, Anda harus mengetahui yang mana.
Pembaruan kecil yang rusak dan tidak diperhatikan kemungkinan akan diambil dalam sprint pengembangan atau pengujian Anda, dan inilah mengapa Anda melakukannya setelah rilis, karena Anda ingin waktu yang banyak untuk mendeteksinya dan bereaksi terhadap masalah itu sebelum ditayangkan.
Perhatikan bahwa saya benar-benar menggunakan proses ini pada proyek dependensi .NET + Nuget, tetapi cukup banyak berlaku untuk Node dan npm / bower, Rails + bundle dll.
Akhirnya, Anda dapat menggunakan perintah yang bagus yang akan membantu Anda dalam membekukan / menghentikan ketergantungan, bahkan menambahkannya ke repo Anda. Lihat
npm shrinkwrap
.sumber
Saya menggunakan solusi lain dengan pendekatan berbeda https://uptodatenpm.com, ia mengirimkan Anda buletin mingguan dengan informasi versi baru dari dependensi proyek Anda sehingga Anda dapat memutuskan deps mana yang akan diperbarui.
sumber