سهم ESM در برابر CJS تو npm: دادهها حرکت به سمت ماژولها رو نشون میدن
خلاصهٔ کاملتر
تو این ریپازیتوری اومده که هدفش جمعآوری دادههای تاریخی دربارهٔ سهم ESM در برابر CJS روی رجیستری عمومی npm هست. دادهها فقط روی پکیجهای پرطرفدار یا به قول خودشون high-impact تمرکز دارن و دستهبندی میکنن که هر پکیج کدش رو چطوری عرضه میکنه.
چهار دستهٔ اصلی اینهان: ESM که مثلاً تو package.json فیلد type: 'module' داره، dual یا دوگانه که هم شرط import و هم require رو تو export map داره، faux ESM که فقط فیلد module رو تو package.json داره و بعضی باندلرهای قدیمی پشتیبانیش میکنن، و CJS که هر چیز دیگهایه (بهجز پکیجهای @types/* که فیلتر میشن).
نویسنده میگه این دادهها برای یه دید کلی از پیشرفت گذار به ESM خوبن، ولی صادقانه میگه بینقص نیستن. خود اعداد روند جالبی نشون میدن: از آگوست ۲۰۲۱ تا ژوئن ۲۰۲۶ تعداد پکیجهای دوگانه از حدود ۹۵ تا به نزدیک ۳۵۷۰ رسیده، ESMهای خالص از ۳۴۱ به حدود ۲۵۹۰، و CJS هرچند هنوز بزرگترین دستهست (حدود ۸۳۷۰ از کل ۱۶۲۳۱) ولی سهم نسبیش داره کم میشه. مشخصه که رویکرد dual یعنی پشتیبانی همزمان از هر دو فرمت داره به مسیر غالب تبدیل میشه.
چند تا هشدار مهم هم دربارهٔ خود دادهها هست. کرال 2025-12-04 منبعش رو از libraries.io به ecosyste.ms عوض کرده که لیست بزرگتری از پکیجهای پرطرفدار میده و برای همین پرش بزرگی تو تعداد کل دیده میشه. همینطور کرال 2024-05-27 چند پکیج رو که قبلاً اشتباهاً دوگانه دستهبندی شده بودن اصلاح کرده. نویسنده اضافه میکنه که شمارش دانلود قابل دستکاریه و گاهی یه فورک از webpack اشتباهاً خود webpack شناخته میشه، پس دادهها false-positive دارن.
خود ریپو اسکریپتهایی هم داره: script/crawl.js فایلهای package.json آخرین نسخهٔ پکیجهای high-impact رو تحلیل میکنه (به یه NPM_TOKEN نیاز داره و حدود ۱۵ دقیقه طول میکشه)، و script/analyze.js از روی دادهها فایلهای SVG و CSV میسازه. جمعبندی اینه که دادهها بیشتر برای حس کلی از سرعت گذار به ماژولها مفیدن تا یه آمار دقیق و قطعی.
نکات کلیدی:
- دادهها سهم ESM، CJS، dual و faux ESM رو بین پکیجهای پرطرفدار npm دنبال میکنن
- روند ۲۰۲۱ تا ۲۰۲۶ رشد قوی پکیجهای دوگانه (dual) رو نشون میده؛ از حدود ۹۵ به نزدیک ۳۵۷۰
- CJS هنوز بزرگترین دستهست ولی سهم نسبیش داره کم میشه
- تغییر منبع کرال در دسامبر ۲۰۲۵ باعث پرش بزرگ تو تعداد کل پکیجها شده
- نویسنده تأکید میکنه دادهها false-positive دارن و فقط برای دید کلی مناسبن نه آمار دقیق




