استخدام Baseline مع Browserslist

تاريخ النشر: 7 مايو 2025، تاريخ آخر تعديل: 17 سبتمبر 2025

Browserslist هي إحدى الأدوات الأكثر شيوعًا لضبط الحد الأدنى لإصدارات المتصفحات المتوافقة في قواعد رموز الواجهة الأمامية. يضيف المطوّرون طلب بحث browserslist إلى ملف package.json (أو نقطة إعداد أخرى في Browserslist، مثل ملف .browserslistrc)، وتعرِض Browserslist قائمة بالمتصفّحات التي يمكن استخدامها كحدّ أدنى. يمكن استخدام Browserslist مع مجموعة كبيرة من أدوات التدقيق والتعبئة والتغليف الشائعة، بما في ذلك:

الاستهدافات الأساسية

عندما تقرّر استخدام Baseline، عليك مراعاة قاعدة المستخدمين وتحديد مجموعة ميزات Baseline التي تريد استهدافها:

  • يتضمّن Baseline Widely available جميع ميزات الويب التي كانت مجموعة المتصفّحات الأساسية Baseline الأساسية توفّرها بالكامل قبل 30 شهرًا أو أكثر.
  • تتضمّن مجموعات ميزات السنة الأساسية، مثل السنة الأساسية 2020، جميع الميزات التي كانت متاحة حديثًا في نهاية السنة المحدّدة.

استنادًا إلى قاعدة المستخدمين، قد تتمكّن من استهداف Baseline Widely available، أو قد تحتاج إلى استهداف سنة Baseline أقدم. راجِع الإحصاءات أو أدوات مراقبة تجربة المستخدم الحقيقية (RUM) لمعرفة إصدارات المتصفحات التي يستخدمها جمهورك.

كيفية استهداف "الخطة الأساسية" أو "الخطة الأساسية الجديدة" أو "الخطة الأساسية المتاحة على نطاق واسع"

تتوفّر ميزة Baseline في Browserslist من خلال بعض طلبات البحث المختلفة. إذا كنت تريد استهداف متصفّحات Baseline Newly available، جرِّب تحديد baseline newly available في إعدادات Browserslist:

{
  ...
  "browserslist": [
    "baseline newly available"
   ]
  ...
}

يمكنك أيضًا تحديد baseline widely available كطلب بحث:

{
  ...
  "browserslist": [
    "baseline widely available"
   ]
  ...
}

كيفية استهداف سنوات "خط الأساس"

إذا كنت تريد استهداف مجموعة ميزات سنة الأساس، عليك تحديد السنة في طلب بحث، مثل baseline 2024 إذا كنت تريد استهداف مجموعة ميزات 2024:

"browserslist": "baseline 2024"

يمكنك تحديد سنوات من baseline 2015 إلى السنة الحالية.

كيفية تحديد المتصفّحات التابعة

تتضمّن مجموعة المتصفّحات الأساسية Baseline كلاً من Chrome وEdge وFirefox وSafari. تستند المتصفّحات الأخرى إلى رمز المصدر المفتوح نفسه الذي يستند إليه Chrome وEdge، وهو Chromium، ومن المفترض أن تتوافق مع مجموعة الميزات نفسها التي يتضمّنها أي إصدار من Chromium يتم استخدامه. لتضمين هذه المتصفّحات في إعدادات Baseline، أضِف with downstream بعد طلب بحث Baseline. على سبيل المثال، لاستهداف المتصفّحات ذات الإصدارات الأقدم كجزء من Baseline Widely available، حدِّد baseline widely available with downstream:

"browserslist": "baseline widely available with downstream"

baseline newly available with downstream هو استعلام صالح آخر، كما هو الحال عند إضافة with downstream إلى الأهداف السنوية:

"browserslist": "baseline 2024 with downstream"

أمثلة على طلبات البحث الأساسية أثناء التنفيذ

في أدوات الحزم

يمكن أن يكون لاستخدام طلبات Baseline التي يوفّرها Browserslist في مشروعك تأثير فوري. ‫Babel هي أداة إنشاء شائعة لتجميع حِزم JavaScript. في حال استخدام الإعدادات التلقائية لحزمة @babel/preset-env، سيتم استبدال العديد من واجهات برمجة التطبيقات وطُرق JavaScript الحديثة بالصيغة الأكثر تفصيلاً التي تتطلّبها المتصفّحات القديمة:

جلسة طرفية توضّح أنّه تم تنفيذ الأمر npm run build على ملف JavaScript يُسمى test.js.  يبلغ حجم ملف الإخراج 12 كيلوبايت.

ومع ذلك، يؤدي استخدام طلب بحث baseline 2020 لاستهداف مجموعة ميزات 2020 في مثال المشروع نفسه إلى تقليل حجم الناتج من JavaScript بشكل كبير، لأنّه لا يلزم إجراء سوى عدد قليل من عمليات تحويل التركيب:

جلسة طرفية ثانية تعرض أنّ الأمر npm run build قد أنشأ الآن ملفًا بحجم 1.5 كيلوبايت عند ضبط Babel على استهداف Baseline 2020.

يمكنك تجربة ذلك بنفسك باستخدام رمز المثال في مستودع baseline-demos ضمن Google Chrome Labs.

في أدوات التدقيق

تعمل بعض أدوات التدقيق اللغوي حاليًا مع Browserslist، أو يمكن إعدادها للعمل مع Browserslist باستخدام وحدة توافق. على سبيل المثال، يمكن أن يستهلك stylelint إعدادات browserslist باستخدام الوحدة stylelint-browser-compat. اضبط ملف stylelint.config.js لاستخدام طلب البحث الأساسي الذي تختاره:

module.exports = {
  plugins: ['stylelint-browser-compat'],
  rules: {
    'plugin/browser-compat': [
      true,
      {
        browserslist: ['baseline widely available'],
      },
    ],
  },
};

سيحدّد Stylelint الآن رموز CSS التي لا تشكّل حاليًا جزءًا من Baseline Widely available:

قائمة بالتحذيرات من Stylelint تسلّط الضوء على رمز CSS الذي لا يعمل على المتصفحات القديمة

توفّر Stylelint أيضًا مكوّنًا إضافيًا يتيح لك ضبط قواعد Baseline مباشرةً، ولكن إذا كنت تستخدم Browserslist حاليًا للتعامل مع الإعدادات، سيكون استخدام طلبات البحث المضمّنة في Baseline التي يوفّرها Browserslist حلاً مناسبًا.