الموقع | تكوين ESLint | القواعد | المساهمة في ESLint | الإبلاغ عن الأخطاء | قواعد السلوك | تويتر | الخلاف | مستودون
ESLint هي أداة لتحديد الأنماط الموجودة في كود ECMAScript/JavaScript والإبلاغ عنها. في العديد من النواحي، فهو يشبه JSLint وJSHint مع بعض الاستثناءات:
المتطلبات الأساسية: إنشاء Node.js ( ^18.18.0
أو ^20.9.0
أو >=21.1.0
) بدعم SSL. (إذا كنت تستخدم توزيعة Node.js رسمية، فستكون طبقة المقابس الآمنة (SSL) مدمجة دائمًا.)
يمكنك تثبيت وتكوين ESLint باستخدام هذا الأمر:
npm init @eslint/config@latest
بعد ذلك، يمكنك تشغيل ESLint على أي ملف أو دليل مثل هذا:
npx eslint yourfile.js
يمكنك تكوين القواعد في ملفات eslint.config.js
كما في هذا المثال:
export default [
{
files : [ "**/*.js" , "**/*.cjs" , "**/*.mjs" ] ,
rules : {
"prefer-const" : "warn" ,
"no-constant-binary-expression" : "error"
}
}
] ;
الأسماء "prefer-const"
و "no-constant-binary-expression"
هي أسماء القواعد في ESLint. القيمة الأولى هي مستوى خطأ القاعدة ويمكن أن تكون إحدى هذه القيم:
"off"
أو 0
- قم بإيقاف تشغيل القاعدة"warn"
أو 1
- تشغيل القاعدة كتحذير (لا يؤثر على رمز الخروج)"error"
أو 2
- قم بتشغيل القاعدة كخطأ (رمز الخروج سيكون 1)تسمح لك مستويات الخطأ الثلاثة بالتحكم الدقيق في كيفية تطبيق ESLint للقواعد (لمزيد من خيارات التكوين والتفاصيل، راجع مستندات التكوين).
يوفر فريق ESLint الدعم المستمر للإصدار الحالي وستة أشهر من الدعم المحدود للإصدار السابق. يتضمن الدعم المحدود إصلاحات الأخطاء الهامة ومشكلات الأمان ومشكلات التوافق فقط.
تقدم ESLint الدعم التجاري لكل من الإصدارات الحالية والسابقة من خلال شركائنا، Tidelift وHeroDevs.
راجع دعم الإصدار لمزيد من التفاصيل.
تلتزم ESLint بقواعد السلوك الخاصة بمؤسسة OpenJS.
قبل تقديم مشكلة، يرجى التأكد من قراءة الإرشادات الخاصة بما تقوم بالإبلاغ عنه:
نعم، يدعم ESLint أصلاً تحليل بناء جملة JSX (يجب تمكين هذا في التكوين). يرجى ملاحظة أن دعم بناء جملة JSX ليس مثل دعم React. تطبق React دلالات محددة على بناء جملة JSX التي لا يتعرف عليها ESLint. نوصي باستخدام eslint-plugin-react إذا كنت تستخدم React وتريد دلالات React.
لا، ESLint وPrettier لهما وظائف مختلفة: ESLint عبارة عن أداة قياس (تبحث عن الأنماط الإشكالية) وPrettier هي منسق التعليمات البرمجية. يعد استخدام كلتا الأداتين أمرًا شائعًا، راجع وثائق Prettier لمعرفة كيفية تكوينهما للعمل بشكل جيد مع بعضهما البعض.
يتمتع ESLint بدعم كامل لـ ECMAScript 3 و5 وكل عام بدءًا من عام 2015 وحتى أحدث مواصفات المرحلة 4 (الافتراضي). يمكنك ضبط بناء جملة ECMAScript المطلوب والإعدادات الأخرى (مثل المتغيرات العامة) من خلال التكوين.
يدعم محلل ESLint رسميًا أحدث معايير ECMAScript النهائية فقط. سنقوم بإجراء تغييرات على القواعد الأساسية لتجنب الأعطال في مقترحات بناء جملة ECMAScript للمرحلة 3 (طالما تم تنفيذها باستخدام بناء جملة ESTree التجريبي الصحيح). قد نقوم بإجراء تغييرات على القواعد الأساسية للعمل بشكل أفضل مع امتدادات اللغة (مثل JSX، وFlow، وTypeScript) على أساس كل حالة على حدة.
في حالات أخرى (بما في ذلك إذا كانت القواعد تحتاج إلى التحذير بشأن حالات أكثر أو أقل بسبب بناء الجملة الجديد، بدلاً من مجرد عدم التعطل)، نوصيك باستخدام محللين و/أو مكونات إضافية للقواعد. إذا كنت تستخدم Babel، فيمكنك استخدام @babel/eslint-parser و@babel/eslint-plugin لاستخدام أي خيار متاح في Babel.
بمجرد اعتماد ميزة اللغة في معيار ECMAScript (المرحلة 4 وفقًا لعملية TC39)، سنقبل المشكلات وطلبات السحب المتعلقة بالميزة الجديدة، وفقًا لإرشادات المساهمة الخاصة بنا. وحتى ذلك الحين، يرجى استخدام المحلل اللغوي والمكونات الإضافية المناسبة لميزتك التجريبية.
يقوم ESLint بتحديث إصدارات Node.js المدعومة مع كل إصدار رئيسي من ESLint. في ذلك الوقت، يتم تحديث إصدارات Node.js المدعومة من ESLint لتكون:
ومن المتوقع أيضًا أن يعمل ESLint مع إصدارات Node.js التي تم إصدارها بعد إصدار Node.js الحالي.
ارجع إلى دليل البدء السريع للتعرف على إصدارات Node.js المدعومة رسميًا لإصدار ESLint محدد.
افتح مناقشة أو توقف عند خادم Discord الخاص بنا.
تعتبر ملفات القفل مثل package-lock.json
مفيدة للتطبيقات المنشورة. وهي تضمن اتساق التبعيات بين البيئات وعبر عمليات النشر.
الحزم مثل eslint
التي يتم نشرها في سجل npm لا تتضمن ملفات القفل. npm install eslint
حيث سيحترم المستخدم قيود الإصدار في ESLint's package.json
. سيتم تضمين ESLint وتبعياته في ملف القفل الخاص بالمستخدم إذا كان موجودًا، ولكن لن يتم استخدام ملف القفل الخاص بـ ESLint.
نحن لا نقفل الإصدارات التابعة عن عمد حتى يكون لدينا أحدث إصدارات التبعية المتوافقة قيد التطوير وCI التي يحصل عليها مستخدمونا عند تثبيت ESLint في المشروع.
تحتوي مدونة Twilio على نظرة أعمق لمعرفة المزيد.
لقد قمنا بجدولة الإصدارات كل أسبوعين يوم الجمعة أو السبت. يمكنك متابعة مشكلة الإصدار للحصول على تحديثات حول جدولة أي إصدار معين.
ESLint يأخذ الأمن على محمل الجد. نحن نعمل بجد للتأكد من أن ESLint آمن للجميع وأن المشكلات الأمنية تتم معالجتها بسرعة ومسؤولية. اقرأ السياسة الأمنية الكاملة.
يتبع ESLint الإصدارات الدلالية. ومع ذلك، نظرًا لطبيعة ESLint كأداة لجودة التعليمات البرمجية، فليس من الواضح دائمًا متى يحدث خلل في الإصدار الثانوي أو الرئيسي. للمساعدة في توضيح ذلك للجميع، قمنا بتحديد سياسة الإصدار الدلالي التالية لـ ESLint:
eslint:recommended
وسيؤدي إلى تقليل عدد أخطاء الفحص (على سبيل المثال، عمليات إزالة القواعد).eslint:recommended
وقد يؤدي إلى أخطاء فحص جديدة (على سبيل المثال، إضافات القواعد، وتحديثات معظم خيارات القاعدة). وفقًا لسياستنا، قد يُبلغ أي تحديث بسيط عن أخطاء فحص أكثر من الإصدار السابق (على سبيل المثال: من إصلاح الأخطاء). على هذا النحو، نوصي باستخدام التلدة ( ~
) في package.json
، على سبيل المثال "eslint": "~3.1.0"
لضمان نتائج إصداراتك.
يتم تجميد القواعد الأسلوبية وفقًا لسياستنا بشأن كيفية تقييم القواعد الجديدة وتغييرات القواعد. هذا يعنى:
هؤلاء الأشخاص يحافظون على تقدم المشروع وهم موارد للمساعدة.
الأشخاص الذين يديرون الإصدارات، ويراجعون طلبات الميزات، ويجتمعون بانتظام لضمان صيانة ESLint بشكل صحيح.