caniname: چک کردن آزاد بودن اسم پروژه تو NPM و Netlify
خلاصهٔ کاملتر
Bramus، توسعهدهندهٔ فرانتاند و عضو تیم Chrome DevRel گوگل، میگه هر بار که یه ابزار یا custom element جدید میسازه، یه کار تکراری دستی داره: باید چک کنه اسم پکیج روی NPM هنوز آزاده و زیردامنهٔ .netlify.app هم کسی برنداشته باشه. معمولاً هم تازه موقع انتشار میفهمی اسم گرفته شده. برای همین ابزاری به اسم caniname ساخته که این بررسی رو خودکار میکنه.
لازم نیست چیزی رو global نصب کنی و میشه مستقیم با npx اجراش کرد:
npx caniname my-fancy-new-projectمیشه چند تا اسم رو با هم بهش داد. برای هر اسم نشون میده زیردامنهٔ Netlify و پکیج NPM آزاده (✔) یا گرفته شده (✖) و اگه گرفته شده باشه، لینک سایت یا پکیج موجود رو هم میده. برای استفاده تو اسکریپت یا CI هم فلگ --json (یا -j) خروجی ساختاریافته میده. یعنی میتونی نتیجه رو راحت تو یه pipeline بخونی. اگه هم بخوای از داخل Node.js صداش بزنی، میتونی تابعهای checkName و checkNames رو مستقیم import کنی.
فعلاً فقط NPM و Netlify چک میشن، ولی به گفتهٔ نویسنده اضافه کردن سرویس جدید سادهست. هر بررسی تو یه فایل جدا داخل پوشهٔ src/checks/ هست و خودکار شناسایی میشه، و نویسنده از PR برای سرویسهای دیگه استقبال میکنه. یه نکتهٔ بامزه هم داره: اسم اولیهٔ ابزار namecheck بوده، ولی وقتی خود ابزار رو روی همین اسم اجرا کرده، دیده هم روی NPM و هم روی Netlify گرفته شده. آخرش با خود ابزار اسم آزاد caniname رو پیدا کرده.
نکات کلیدی:
- caniname بدون نصب با npx caniname اجرا میشه و چند اسم رو با هم قبول میکنه.
- فعلاً آزاد بودن اسم پکیج NPM و زیردامنهٔ netlify.app رو بررسی میکنه.
- فلگ --json یا -j خروجی JSON برای اسکریپت و CI میده.
- تو Node.js میشه checkName و checkNames رو مستقیم import کرد.
- هر سرویس یه فایل جدا تو src/checks/ داره و اضافه کردن سرویس جدید سادهست.




