Dependencyها را یکجا نپر؛ ارتقای مرحلهای برای پیدا کردن شکست
بعد از یک upgrade بزرگ دهها خطا داری و معلوم نیست کدام dependency یا تغییر API ریشه هر مشکل است.
نسخههای major را دستهای و کور بالا نبر. تغییرات breaking را بخوان، یک لایه را ارتقا بده و اثر را قبل از مرحله بعد بررسی کن.
چطور دقیقتر به موضوع نگاه کنیم؟
- فهرست dependencyهای مستقیم و نسخههای major عقبمانده را جدا کن.
- changelog و migration guide نسخه هدف را برای breaking changeهای مرتبط بخوان.
- یک dependency یا گروه نزدیک را ارتقا بده و تغییر کد لازم را همانجا ثبت کن.
- بعد از پایدارشدن مرحله، lockfile و commit مستقل بساز تا اگر مرحله بعد شکست خورد نقطه سالم روشن باشد.
چرا این موضوع مهم است؟
ارتقای همزمان چند جزء فضای علتها را بزرگ میکند و rollback را سختتر میسازد.
سؤالهایی که معمولاً بعدش پیش میآید
همیشه latest نصب کنم؟
نه؛ سازگاری، پشتیبانی و ریسک تغییر مهماند. نسخه هدف را آگاهانه انتخاب کن.
lockfile چرا مهم است؟
نسخه دقیق dependencyهای نصبشده را پایدارتر و build قابل تکرارتر میکند.
