انتشار مرحلهای پکیجهای npm
خلاصهٔ کاملتر
Staged Publishing یه ویژگی جدید npm هست که یه مرحله بررسی و تأیید رو بین «آمادهسازی پکیج» و «انتشار عمومی» اضافه میکنه. به جای اینکه npm publish بزنی و پکیج بلافاصله روی رجیستری زنده بشه، اول پکیج رو به یه ناحیه موقت (staging area) میفرستی و تا وقتی یه maintainer تأییدش نکنه، در دسترس عموم نمیشه.
برای استفاده از این قابلیت چند پیشنیاز داری: باید دسترسی publish به پکیج داشته باشی، پکیج از قبل روی npm رجیستری وجود داشته باشه (پکیج کاملاً جدید رو نمیشه stage کرد)، و حساب کاربریت 2FA فعال داشته باشه. از نظر نسخه هم به npm CLI نسخه ۱۱.۱۵.۰ یا بالاتر و Node.js نسخه 22.14.0 یا بالاتر نیاز داری.
فرایند کار سه مرحله داره. اول پکیج رو stage میکنی — این مرحله 2FA نمیخواد:
npm stage publishبعد میشه پکیج stage شده رو بررسی کرد. از طریق CLI میتونی لیست پکیجهای staged رو ببینی، جزئیات یه stage-id خاص رو چک کنی، یا حتی tarball پکیج رو دانلود کنی. روی سایت npmjs.com هم یه تب Staged Packages داری که همین کارها رو بهت میده.
آخرین مرحله تأییده که حتماً با 2FA انجام میشه — چه از CLI با npm stage approve چه از طریق دکمه Approve روی سایت. این مرحلهایست که پکیج رو واقعاً روی رجیستری عمومی منتشر میکنه.
این قابلیت با Trusted Publishing (OIDC) هم کار میکنه. اگه از CI/CD برای انتشار خودکار استفاده میکنی، میتونی اون pipeline رو طوری تنظیم کنی که پکیج رو فقط stage کنه و یه maintainer انسانی تأیید نهایی رو انجام بده — نه اینکه کل فرایند خودکار باشه.
نکات کلیدی:
- npm stage publish پکیج رو به staging area میفرسته، نه مستقیم روی رجیستری
- تأیید نهایی حتماً با 2FA انجام میشه
- پکیجهای کاملاً جدید (first publish) قابل stage شدن نیستن
- از npm CLI نسخه ۱۱.۱۵.۰ و Node 22.14.0 به بالا پشتیبانی میشه
- با Trusted Publishing در CI/CD هم سازگاره




