HeadlinesBriefing favicon HeadlinesBriefing.com

مترجم Rust React أصلي في Vite

Hacker News •
×

بعد إصدار فريق oxc للدعم الرسمي لمترجم Rust React في 4 أغسطس 2026، قمنا بتحويل قاعدة كود React Router المكونة من 1,036 ملفًا (Outlyne، أداة إنشاء مواقع الويب) إليه وشهدنا تسارعًا بنحو 17.6× في جزء المترجم من بناءنا. جلب إصدار v6.1.0 من @vitejs/plugin-react "دعمًا تجريبيًا أصليًا لمترجم React"، والذي يمكنك الاشتراك فيه عن طريق تمرير { compiler: true } إلى المكون الإضافي في إعداد Vite الخاص بك. وبالنسبة لأولئك غير القادرين على استخدام مكون Vite React الإضافي (على سبيل المثال، إذا كنت، مثلنا، تستخدم React Router في وضع الإطار)، فإن @acusti/vite-plugin-react-compiler هو مكون إضافي بسيط لـ Vite لتجميع قاعدة الكود الخاصة بك باستخدام React بغض النظر عن بقية خط أنابيب البناء.

عمليات بناء أسرع = مطورون أسعد + CI أرخص. الميزة الرئيسية هي التسارع. وفقًا لـ Boshen، قائد مشروع oxc: إنه أسرع بأكثر من 10 مرات من Babel في معيارنا الأولي. شهدنا تسارعًا بأكثر من 17×، حيث انتقلت 1,036 ملفًا من 14.3 ثانية عند البناء باستخدام Babel إلى 0.81 ثانية بشكل أصلي (أحادي الخيط). هذا ضخم بالنسبة لنا لأنه مع تطوير البرمجيات بمساعدة الوكلاء، أصبح استخدام CI ودقائق GitHub Actions مركز تكلفة حقيقيًا. لاحظ أن هذه التسريعات تنطبق فقط على جزء المترجم؛ تحسن وقت البناء الإجمالي بنحو 2.4× (22.1 ثانية → 9.3 ثانية).

على الرغم من أن السرعة هي العنوان الرئيسي، إلا أنني أكثر حماسًا لفوائد استخدام أحدث مترجم React، الذي أصلح قيودًا كبيرة في دعم JavaScript، بما في ذلك المنطق الشرطي في كتل try/catch، وإعادة تعيين الخصائص المفككة المستخدمة في الإغلاقات المتداخلة، ومفاتيح خصائص الكائن المحسوبة. تعمل هذه الإصلاحات على توسيع توافق المترجم بسبع وظائف إضافية. ومع ذلك، لا تزال هناك قيود: الرمي من داخل كتلة try وعوامل الإسناد المنطقية (??=، &&=، ||=) تسبب تخطيًا، لكن مترجم Rust سيحصل على هذه الإصلاحات عندما تصل.

أخيرًا، تستخدم أدواتي الكاملة الآن نفس إصدار مترجم React مع دعم ميزات مكافئ، مما يتجنب فجوات التغطية بعد اعتماد دعم مترجم React من Oxlint.

الكيانات الرئيسية: الشركات: oxc، Outlyne، Vite، Babel | الأشخاص: Boshen