قد أكون مخطئًا في هذا، لكن التخمين الأولي هو أننا لا نحدد قائمة المتصفحات، وبالتالي يستخدم المتصفح قائمة افتراضية (على الأرجح @babel/preset-env · Babel)، ولا يعتبر هذا الإصدار مدعومًا لدينا، ونتيجة لذلك لا يتم تحويله.
وهو أمر غريب بعض الشيء، فإصدار فايرفوكس 74 عمره سنة واحدة فقط، لكن نعم، عند النظر حاليًا إلى قائمة المتصفحات:
الآن، السؤال هو: @sam هل نريد دعم هذا الإصدار؟ على الرغم من أنه عمره سنة واحدة فقط، فإن إصدار فايرفوكس الحالي هو 89، مما يعني أن هذا الإصدار متأخر 15 إصدارًا. لست متأكدًا من ذلك، الأمر يعود لك. من المهم مراعاة أن دعم هذا الإصدار سيضيف وزنًا إلى حمولة الجميع، لأن عملية التحويل تعمل تقريبًا مثل polyfill (إضافة بعض الوظائف لدعم هذا الإصدار واستبدال بناء الجملة باستدعاءات الوظائف).
هناك العديد من الأسباب، ولكن في الغالب يجعل كل شيء أسهل للمطورين؛ فلا نضطر إلى التفكير كثيرًا في كل ما يمكننا استخدامه أو لا، ولدينا أساس حديث إلى حد ما.
أنا منفتح على إسقاط الدعم بشرط أن يكون لدينا بديل HTML جاهز.
ما لا يمكننا فعله بالتأكيد هو عرض صفحة ثابتة تعمل على IE9 وصفحة معطلة على Firefox عمره سنة واحدة.
أفضل فقط تجميع الكود (transpile) ليشمل Firefox/Chrome بمتوسط عمر 2-3 سنوات، لكنني سعيد بتفويض القرار لـ @eviltrout ولكم. يمكننا أن نكون أكثر عدوانية، لكننا لا نستطيع عرض صفحات معطلة.
تعديل: انظر إلى الارتباط الخلفي، قد تكون هذه مشكلة خطيرة جدًا على أندرويد الذي يميل إلى أن يكون له وتيرة تحديث متصفحات رديئة.
لم أتمكن من إعادة إنتاج المشكلة الأصلية في الميتا. جربت ذلك عبر Browserstack باستخدام Firefox 73 على نظام macOS و Firefox 68 على نظام Windows. @vige، هل يمكنك إعادة إنتاج المشكلة في الميتا؟
حسناً، صحّحني إذا كنت مخطئاً @pmusaraj، لكنني أعتقد أنه بما أننا لا نحدد preset-env، وبالتالي لا نحدد الأهداف، فإن كل الإضافات التي ندرجها تُستخدم. ونتيجة لذلك، يتم تطبيق proposal-optional-chaining بالتأكيد.
أعتقد أنني مرتاح لهذا، ربما نحتاج فقط إلى مراجعة كل إضافة سنوياً وإعادة النظر فيما إذا كانت لا تزال ضرورية؟
شكرًا جزيلاً لجميع المطورين المشاركين على إصلاح هذا بسرعة!
للتوضيح، وفقًا لاختباراتي، كان هذا الخطأ يؤثر أيضًا، في بعض الحالات، على أحدث إصدار من Microsoft Edge لنظام Android (والذي، حسب علمي، لا يعمل بـ Gecko).