npm: توکنی که نمیتونه مستقیم منتشر کنه
خلاصهٔ کاملتر
گیتهاب اعلام کرده وقتی یه granular access token برای npm میسازی، حالا میتونی سطح دسترسی «Read and write (stage only)» رو انتخاب کنی. با این توکن، ورکفلو خودکارت نسخهٔ جدید رو با دستور npm stage publish فقط ثبت میکنه (یعنی نسخه میره تو صف بررسی، نه مستقیم روی رجیستری)، و بعد یکی از نگهدارندههای پکیج با تأیید دومرحلهای (2FA) آزادش میکنه.
نکتهٔ اصلی اینه که npm تلاش برای npm publish مستقیم با این توکن رو رد میکنه، حتی اگه توکن رو طوری تنظیم کرده باشی که 2FA رو برای اتوماسیون دور بزنه. پس اگه توکن CI لو بره، مهاجم نمیتونه سرخود یه نسخهٔ آلوده منتشر کنه. ولی حواست باشه بقیهٔ دسترسیهای نوشتن سر جاشه: با همین توکن میشه dist-tag جابهجا کرد یا نسخهای رو deprecate کرد، پس باید مثل هر توکن نوشتنی دیگه ازش مراقبت کنی.
تو اعلان اومده که این قابلیت اختیاریه و توکنهای فعلی و توانایی انتشار مستقیمشون دستنخورده میمونه. ولی npm گفته هدفش اینه که تا ژانویهٔ ۲۰۲۷ انتشار مستقیم با توکنهای دورزنندهٔ 2FA رو کلاً برداره. راه پیشنهادی اصلی همون trusted publishing هست و اگه فعلاً نمیتونی بری سراغش، توکن stage-only یه مسیر مهاجرت برات باز میکنه.
نکات کلیدی:
- سطح دسترسی جدید «Read and write (stage only)» فقط اجازهٔ npm stage publish میده و npm publish مستقیم رو میبنده
- آزادسازی نهایی نسخه دست نگهدارندهٔ پکیجه و با تأیید دومرحلهای انجام میشه
- توکن stage-only همچنان میتونه dist-tag جابهجا کنه و نسخه deprecate کنه
- حداقل نیازها: npm CLI نسخهٔ 11.15.0 و Node.js نسخهٔ 22.14.0 به بالا، بهعلاوهٔ فعال بودن 2FA روی حساب
- npm قصد داره ژانویهٔ ۲۰۲۷ انتشار مستقیم با توکنهای دورزنندهٔ 2FA رو حذف کنه




