--- title: انتشار دو پکیج روی npm tags: ساقی خیام انتشار npm uuid: 97dd673a-5677-462d-8b03-b26762093c24 --- مدتها قبل [ساقی‌بات] و [رباعیات خیام] را منتشر کرده بودم. دستی به سر و روی هر دو کشیدم و روی npm منتشرشان کردم. نمی‌دانم چرا در گذشته به فکرم نرسیده بود که هر کاری انجام می‌دهم در پورتال‌های رسمی منتشر کنم. تابحال اسکریپت‌های زیادی نوشته‌ام که روی هاردهای قدیمی گم شده‌اند ولی می‌توانسته برای دیگران هم سودمند باشد. مهمترین دلیلش این بوده که کسی در اطرافم ندیده‌ام که مشغول اینکار باشد بنابراین به فکر من هم خطور نکرده است. بهرحال مدتی است این رویه را کنار گذاشته‌ام و هر پروژه‌ای که بنویسم سعی می‌کنم در قطعات کوچک و قابل استفاده مجدد در مخازن نرم‌افزاری کامیونیتی مربوط به آن زبان منتشر کنم. مهم نیست چقدر کوچک باشد، مهم این است که قابل استفاده مجدد باشد. مثلا [pypi] برای پایتون و [rubygems] برای روبی و [npm] برای جاواسکریپت و نود. اینبار هم ساقی‌بات و ۱۰۶ رباعی خیام را به صورت پکیج روی npm منتشر کردم. حسن اینکار اینست که اگر کسی دوست داشت یک رباعی خیام هم در وبسایت یا اپلیکیشنش نشان بدهد می‌تواند از این پکیج استفاده کند. نصب و استفاده هم ساده است. برای نصب ساقی‌بات: npm i -g saaghibot TELEGRAM_BOT_TOKEN= saaghibot و برای نصب رباعیات خیام: npm i khayyamjs // In JavaScript code var khayyam = require('khayyamjs') console.log(khayyam[0]) // or any other index up to khayyam.length - 1 پروسه انتشار هم کار ساده‌ ایست. کافی است یک اکانت روی npm داشته باشیم. با کمک ابزارهای npm یا yarn می‌توان همه کارها را انجام داد: npm login // login! npm init // create package.json file npm publish همین. کار دیگری لازم نیست. البته پرواضح است که باید محتوایی برای انتشار وجود داشته باشد. از قبیل اسکریپت کامند لاین، لایبرری و فایل‌های استاتیک. برای نمونه می‌توانید فایل‌های [ساقی] و [خیام] را ببینید. به امید آنکه برای کسی سودمند باشد. [npm]: https://www.npmjs.com/ [pypi]: https://pypi.python.org/ [rubygems]: http://rubygems.org/ [ساقی‌بات]: https://github.com/mehdisadeghi/SaaghiBot [رباعیات خیام]: https://github.com/mehdisadeghi/khayyam [ساقی]: https://github.com/mehdisadeghi/SaaghiBot/blob/master/package.json [خیام]: https://github.com/mehdisadeghi/khayyam/blob/master/package.json