web-ext؛ ابزار خط فرمان موزیلا برای افزونههای مرورگر
خلاصهٔ کاملتر
پروژهٔ web-ext یه ابزار خط فرمانه که موزیلا برای ساخت، اجرا و تست افزونههای مرورگر (WebExtensions) نگه میداره. تو معرفیش اومده که هدف نهایی، پشتیبانی از افزونههای مرورگر به شکل استاندارد، قابلحمل و چندسکوییه، ولی در قدم اول تجربهٔ توسعهٔ افزونههای فایرفاکس رو روونتر کرده.
کل کار با پنج دستور جمع میشه: run افزونه رو اجرا میکنه، lint سورس رو اعتبارسنجی میکنه، sign امضاش میکنه تا بشه تو فایرفاکس نصبش کرد، build از سورس یه بستهٔ قابلانتشار میسازه و docs مستندات رو تو مرورگر باز میکنه. هر کدوم --help خودشون رو هم دارن.
نصبش از npm انجام میشه — یا سراسری روی سیستم، یا بهعنوان devDependency پروژه که به گفتهٔ مستندات کمک میکنه نسخهٔ web-ext بین اعضای تیم یکسان بمونه. یه فرمول Homebrew هم هست که جامعه نگهش میداره و رسمی نیست. نصب از سورس هم برای کسی که میخواد روی خود ابزار کار کنه توضیح داده شده.
جدا از خط فرمان، میشه web-ext رو از داخل کد نود جیاس هم صدا زد. مستندات صراحتاً هشدار میدن که این مسیر پشتیبانی محدودی داره و ممکنه تو نسخههای مینور و پچ هم تغییرات ناسازگار بیاره — یعنی برای اسکریپتهای داخلی خوبه، نه برای وابستگی سنگین:
import webExt from 'web-ext';
webExt.cmd.run(
{
firefox: '/path/to/Firefox-executable',
sourceDir: '/path/to/your/extension/source/',
},
{ shouldExitProgram: false },
);از نسخهٔ 7.0.0 به بعد پکیج فقط ماژولهای نیتیو ES رو اکسپورت میکنه، پس اگه پروژهت CommonJS باشه باید سراغ dynamic import بری. از همین API میشه سطح لاگ رو وربوز کرد، ورودی استاندارد رو غیرفعال کرد، یا با webExt.cmd.sign() برای یه پوشهٔ سورس درخواست فایل xpi امضاشده داد.
تو بخش پرسشوپاسخ به این سؤال جواب داده شده که اصلاً چرا با وجود امکانات داخلی مرورگرها به یه ابزار خط فرمان نیاز داریم. دو نمونهای که آورده: نظارت روی تغییر فایلها برای اجرای خودکار دستورها (مثل تست و نصب)، و اتصال به سرویسهای موزیلا مثل لینت و امضای افزونهها.
دربارهٔ اینکه ارزش استفاده داره یا نه، جواب مستندات مثبته: این پلتفرم از فایرفاکس ۴۸ (آوریل ۲۰۱۶) پایدار شده و web-ext همون ابزاریه که با اون میشه افزونه رو ساخت و منتشر کرد. پروژه هنوز فعالانه توسعه داده میشه و برای مشارکت هم راههای مشخصی معرفی کرده.
نکات کلیدی:
- ابزار خط فرمان موزیلا برای ساخت، اجرا و تست افزونههای مرورگر
- پنج دستور اصلی: run، lint، sign، build و docs
- نصب سراسری یا بهعنوان devDependency برای یکسان نگه داشتن نسخه تو تیم
- API نود جیاس با پشتیبانی محدود؛ از نسخهٔ ۷.۰.۰ فقط ES Modules
- دلیل وجودش: نظارت روی فایلها و اتصال به سرویسهای لینت و امضای موزیلا




