تا به حال هر توضیحی که درباره قابلیت مشاهده و سطوح دسترسی و امکانات npm و پکیجهایش دادهایم، مربوط به رجیستری عمومی(public registry) آن بود. یعنی همانکه اکثر ما با آن سر و کار داریم و بصورت عمومی در اختیار همه قرار دارد. اما npm این امکان را به سازمانها میدهد که رجیستری مخصوص به خود را به میزبانی سرورهای npm ایجاد کنند. به این ترتیب یک سازمان می تواند پکیج های خود را روی آن منتشر کند و یا از آنجا دانلود نماید. سازمانها برای ایجاد این رجیستری باید امتیاز enterprise را خریداری نمایند.(توجه شود این چیزی غیر از حساب org است که پیشتر درباره آن صحبت شد)
برای ایجاد چنین امکانی، نیاز به استفاده از نسخه 4.4.x به بعد آن وجود دارد.
خرید این امتیاز قابلیتها و امکانات فراوانی را در اختیار یک سازمان قرار میدهد. امکان delegated authentication، گزارش audit با امکانات بیشتر، پیادهسازی پکیج بصورت امن، امکان ایجاد org و اسکوپ بصورت نامحدود و ... . بعلاوه، یک سازمان می تواند طبق سیاست های خود، پکیج های public ای که امکان ورود به رجیستری enterprise آن ارگان را دارند محدود کند و به این ترتیب، آن ارگان می تواند یک رجیستری شامل پکیج های public مورد نظرش و نیز پکیج های private خودش داشته باشد و بهتر آنها را مدیریت کند. این موضوع زمانی مهم تر می شود که یک ارگان به دلیل محدودیت های امنیتی، یا به دلیل حضور firewall و یا حتی در دسترس نداشتن اینترنت، نخواهد و یا نتواند مستقیماً به npm registry دسترسی داشته باشد. برای کسب اطلاعات بیشتر در این باره می توانید به مستندات npm مراجعه کنید:
https://docs.npmjs.com/enterprise
https://docs.npmjs.com/configuring-your-registry-settings-as-an-npm-enterprise-user
خوب است بدانیم قابلیت مشاهده پکیجها وقتی یک سازمان از npm enterprise استفاده میکند با حالت معمولی متفاوت است. برای مشاهده این تفاوت و نیز جدول visibility در این حالت میتوانید به آدرس زیر مراجعه کنید:
https://docs.npmjs.com/package-scope-access-level-and-visibility#npm-enterprise