رجیستری NPM بونرا برای نصبهای تمیزتر در npm، pnpm، yarn و CI
کندی نصب پکیجها معمولاً فقط چند ثانیه به نظر میرسد، اما در لپتاپ توسعهدهنده، runnerهای CI و ایمیج buildها بارها تکرار میشود. npm.bounera.com برای کنترل همین نقطه ساخته شده است.
روی راهاندازی لپتاپ، نصب monorepo، ساخت ایمیجهای Node.js و pipelineهای JS/TS اثر مستقیم دارد.
ثبت شفاف رجیستری در `.npmrc` و CI باعث میشود مسیر وابستگی تیم قابلفهمتر و استانداردتر شود.
npm.bounera.com
شروع سریع
اگر میخواهید سریع شروع کنید، رجیستری سراسری npm را روی نشانی بونرا تنظیم کنید و یک نصب واقعی بگیرید.
npm config set registry https://npm.bounera.com/ && npm installتنظیم دستی برای پروژه، CI و corepack
برای repoهای تیمی بهتر است رجیستری را داخل فایل پروژه یا config سراسری بهصورت شفاف ثبت کنید تا ورود اولیه و CI دقیقاً از همان مسیر استفاده کنند.
registry=https://npm.bounera.com/
strict-ssl=true
fetch-retries=5
fetch-timeout=120000corepack enable && pnpm config set registry https://npm.bounera.com/ && pnpm install --frozen-lockfilenpmRegistryServer: "https://npm.bounera.com/"
enableGlobalCache: true
checksumBehavior: "throw"printf 'registry=https://npm.bounera.com/\n' > .npmrc && npm civerify و troubleshooting اولیه
- با `npm config get registry` یا `pnpm config get registry` مطمئن شوید رجیستری واقعاً روی host جدید قرار گرفته است.
- اگر package private دارید، scope-specific config را جداگانه بررسی کنید تا با رجیستری عمومی تداخل نداشته باشد.
- در CI، `npm ci` یا `pnpm install --frozen-lockfile` را با حافظه پنهان روشن و خاموش مقایسه کنید تا رفتار واقعی را ببینید.
بازگشت کنترلشده
- اگر از `.npmrc` پروژه استفاده میکنید، بازگشت فقط با commit قبلی همان فایل انجام میشود.
- برای تنظیمات سراسری لپتاپ، مقدار قبلی رجیستری را قبل از تغییر ذخیره کنید تا بازگشت آسان بماند.
- اگر scope خاصی دارید، بازگشت را فقط برای همان scope اعمال کنید نه کل رجیستری.
سناریوهایی که بیشترین سود را میگیرند
monorepoهای بزرگ
وقتی dependency tree سنگین است، رجیستری سریعتر هم روی نصب اول و هم روی refreshهای بعدی اثر دارد.
CI runnerهای ephemeral
جایی که runnerها حافظه پنهان دائمی ندارند، کیفیت رجیستری بیشتر خودش را نشان میدهد.
ایمیج buildهای Node.js
وقتی در Dockerfile هر بار نصب پکیج تکرار میشود، این تغییر روی زمان build کاملاً محسوس میشود.