Facetpack: جایگزین بابل که Metro رو خیلی سریعتر میکنه
خلاصهٔ کاملتر
Facetpack یه پکیج تازه برای ریاکت نیتیوئه که موتور ترنسفورم کد بابل رو توی Metro (باندلر پیشفرض ریاکت نیتیو و اکسپو) با OXC عوض میکنه؛ OXC یه مجموعهابزار جاوااسکریپتـه که به زبان Rust نوشته شده و به همین خاطر خیلی سریعتر از ابزارهای نوشتهشده به جاوااسکریپته. نصبش یه خط کوده، همین:
const { withFacetpack } = require('@ecrindigital/facetpack')
module.exports = withFacetpack(
require('expo/metro-config').getDefaultConfig(__dirname)
)طبق بنچمارک خود پروژه روی مکبوک M3 Max، زمان ترنسفورم هر فایل از حدود ۲.۵ میلیثانیه با بابل به حدود ۶۴ میکروثانیه با Facetpack رسیده و زمان resolve هم از ۳۱.۶ میلیثانیه به ۱۰.۸ میلیثانیه کم شده. برای پکیجهایی که هنوز از Flow (سیستم تایپ قدیمی متا) استفاده میکنن، Facetpack خودکار به بابل برمیگرده تا چیزی نشکنه. یه CLI هم به اسم Doctor داره که مشکلات رایج تنظیمات رو پیدا و در حد امکان خودکار درست میکنه؛ برای دیباگ هم میشه با متغیر محیطی FACETPACK_DEBUG=1 اجراش کرد. پروژه با لایسنس MIT منتشر شده.
نکات کلیدی:
- موتور ترنسفورم بابل تو Metro رو با OXC نوشتهشده به Rust عوض میکنه
- طبق بنچمارک پروژه: ترنسفورم از ۲.۴۷ میلیثانیه به ۶۴ میکروثانیه و resolve از ۳۱.۶ به ۱۰.۸ میلیثانیه
- نصب با یه خط تغییر تو metro.config.js، بدون تنظیمات اضافه
- برای پکیجهای Flow خودکار به بابل برمیگرده
- شامل یه CLI به اسم Doctor برای پیدا و رفع خودکار مشکلات تنظیمات




