---
title: "تجاهل الـ gems المجمّعة في Rubocop وESLint ضمن GitHub Actions"
description: "غالبًا ما تثبّت مشاريع Rails الـ gems في مجلد vendor ضمن GitHub Actions، كي نتمكن من تخزينها مؤقتًا للتشغيلات المتتالية."
canonical: https://oozou.com/til/ignore-bundled-gems-for-rubocop-and-eslint-in-github-actions-154
locale: ar
date: 2022-01-19
topic: ruby-on-rails
---

# تجاهل الـ gems المجمّعة في Rubocop وESLint ضمن GitHub Actions

> غالبًا ما تثبّت مشاريع Rails الـ gems في مجلد vendor ضمن GitHub Actions، كي نتمكن من تخزينها مؤقتًا للتشغيلات المتتالية.

Published: 2022-01-19 · Topic: [ruby on rails](https://oozou.com/ar/til-topics/ruby-on-rails) ([markdown](https://oozou.com/ar/til-topics/ruby-on-rails.md))

غالبًا ما تثبّت مشاريع Rails الـ gems في مجلد vendor ضمن GitHub Actions، كي نتمكن من تخزينها مؤقتًا للتشغيلات المتتالية.

إذا كنتم تستخدمون أدوات فحص الكود (linters) ضمن الـ action، فعليكم استبعاد `vendor/bundle/\*` لتجنّب النتائج الإيجابية الخاطئة  

في ESLint يمكن ضبط ذلك عبر ignorePatterns

```json
// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}
```

وفي Rubocop يمكنكم الاستبعاد عبر إعداد AllCops

```yaml
# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'
```

# أهمية تجاهل الـ gems المجمّعة في أدوات فحص الكود

في تطوير البرمجيات، يُعد الحفاظ على جودة عالية للكود أمرًا أساسيًا. وأدوات فحص الكود وسيلة تساعد على تحقيق ذلك عبر إجراء تحليل ثابت للكود، يمكنه اكتشاف الأخطاء المحتملة وفرض أسلوب كتابة متسق. لكن عند استخدام هذه الأدوات في بيئة تكامل مستمر مثل GitHub Actions، من الضروري ضبطها بشكل صحيح لتجنّب النتائج الإيجابية الخاطئة.

الـ gems المجمّعة، التي تُخزَّن غالبًا في مجلد vendor، هي اعتماديات كود خارجية قد تُبلغ عنها أدوات الفحص إن لم تُستبعد بشكل صحيح. وبتجاهل هذه المجلدات، تضمنون أن تركّز أداة الفحص على الكود المصدري الخاص بكم بدلًا من المكتبات الخارجية، فتحافظون على سلامة تحليل الكود.

# ضبط أدوات الفحص لاستبعاد الـ gems المجمّعة

في مشاريع JavaScript التي تستخدم ESLint، يمكنكم ضبط الأداة لتجاهل المجلد vendor/bundle/\* عبر الإعداد ignorePatterns في ملف .eslintrc.json. يضمن ذلك فحص الكود الخاص بكم فقط، مما يحسّن جودة الكود دون تشتيت غير ضروري.

```
// ./.eslintrc.json
{
  "ignorePatterns": [
    "vendor/bundle/*"
  ]
}
```

وبالمثل، في مشاريع Ruby التي تستخدم Rubocop، يمكنكم استبعاد مجلد vendor بإضافة قاعدة Exclude تحت AllCops في ملف الإعداد .rubocop.yml. يساعد ذلك على تركيز التحليل الثابت على الكود المصدري الفعلي.

```
# ./.rubocop.yml
AllCops:
  Exclude:
    - 'vendor/**/*'
```

بضبط أدوات فحص الكود لاستبعاد الـ gems المجمّعة، يمكنكم الحفاظ على مستوى عالٍ من جودة الكود مع تجنّب النتائج الإيجابية الخاطئة في التحليل الثابت.  

[#RUBY-ON-RAILS](https://oozou.com/til-topics/ruby-on-rails)

---

Contact OOZOU: hello@oozou.com · +66 2544 0000 · https://oozou.com/ar/contact

More for AI agents: https://oozou.com/llms.txt · every page has a markdown twin at its URL plus ".md"
