كيفية تشغيل ESLint باستخدام ربط ما قبل الالتزام

تحديث: هناك طريقة أفضل لإضافة ربط مسبق إلى مشروعك. الخروج أجش. يمكنك اتباع البرنامج التعليمي الموضح أدناه لمعرفة كيفية إضافة السنانير المسبقة الالتزام يدويًا.

قبل أن نمضي قدمًا ، أود تقديم خلفية صغيرة عن خطاف الالتزام المسبق ESLint و Git. إذا كنت معتادًا عليها ، فيمكنك تخطي القسمين التاليين.

ESLint

مصدر الصورة: https://libraries.io/atom/linter-plus-eslint

يميل المطورون إلى ارتكاب الأخطاء أثناء الترميز. على سبيل المثال ، قد تنسى إغلاق قوس أو قد ينتهي بك الأمر إلى إنشاء متغير موجود بالفعل. ولكن ، قد تؤدي مثل هذه الأخطاء إلى كسر تطبيقك أو موقعك. قد ندفع رمز الأكواد عربات التي تجرها الدواب إلى مستودع سحابة أو قد يستغرق الأمر وقتًا طويلاً لحل المشكلات الناجمة عن مثل هذه الأخطاء. إذا كان يتم مراجعة الكود الخاص بك ، فسوف يستهلك المراجعون وقتًا للعثور على مثل هذه الأخطاء القاسية أو قد يفوتونها تمامًا.

هذا هو المكان الذي يأتي لينت في الصورة. Linting هي عملية تشغيل برنامج يقوم بتحليل التعليمات البرمجية للأخطاء المحتملة. لنسج مثل هذه الأخطاء المحتملة ، ونحن نستخدم Linters.

تساعد Linters في جعل المطور يكتب رمزًا نظيفًا. قد يكون لدى كل لغة أدوات خاصة بها لترميز الشفرة الخاصة بها. فيما يلي رابط أعجبني وقد أدرج بعض الوبر الجيد لكتابة رمز نظافة:
https://github.com/showcases/clean-code-linters

من بين هؤلاء ، سنتحدث على وجه التحديد عن ESLint وهي أداة الوبر الحديثة لربط JavaScript / ECMAScript 6. حسب الوصف الموجود على موقع الويب الخاص بهم ،

ESLint هي أداة مساعدة مفتوحة المصدر لجافا سكريبت تم إنشاؤها أصلاً بواسطة Nicholas C. Zakas في يونيو 2013. تعتبر شفرة الشفرة نوعًا من التحليل الثابت الذي يتم استخدامه بشكل متكرر للعثور على أنماط أو تعليمات برمجية إشكالية لا تلتزم بإرشادات نمطية معينة.

بكلمات بسيطة ، يتم استخدامه للتحقق من صحة ملفات JavaScript الخاصة بك ضد الأخطاء المحتملة. يشير مصطلح "ES" في ESLint إلى ECMAScript. يمكنك إنشاء ملف تكوين .eslintrc وتحديد القواعد التي تريد التحقق من صحة رمزك. يمكنك تنسيق الشفرة أثناء التنقل في المحرر الذي تريده (تحقق مما إذا كان هناك مكون إضافي / واجهة برمجة تطبيقات لدمج ESLint مع المحرر الخاص بك) أو يمكنك استخدامه في أدوات سطر الأوامر. الخيار لك. أنا أفضل الوبر على ذبابة.

بوابة قبل الالتزام هوك

مصدر الصورة: http://www.sterlinghamilton.com/git-hook-pre-commit-for-debug-comments/

أثناء مناقشة حول ESLint ، أعطيت مثالًا يذكر أن مطورًا قد ينتهي به الأمر إلى دفع رمز عربات التي تجرها الدواب حتى لو كان الرمز غير صالح. حتى إذا قمت بإعداد linter ، فقد يحميك من رمز غير صالح ولكن لا يمكن أن يحميك من دفع هذا الرمز غير الصحيح إلى الريبو. نحتاج إلى آلية لإيقاف دفع هذا الرمز إلى الريبو.

هذا هو المكان بوابة هوك قبل الالتزام. سيحظر على المطور الالتزام بالكود إذا لم يجتاز القواعد التي حددتها الخطافات المتوفرة في .git / hooks. هذه السنانير من المفترض أن تكون قابلة للتنفيذ.

يرجى ملاحظة أنه يمكن استخدام ربط Git pre-الالتزام لأكثر من مجرد التحقق من صحة الكود. للحصول على معلومات حول Git Hooks ، يرجى زيارة https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks

ESLint Git قبل الالتزام هوك

سأستخدم برنامج نصي حاليًا https://gist.github.com/linhmtran168/2286aeafe747e78f53bf

فيما يلي الخطوات التي اتبعتها لنت JavaScript / ES6 قبل الالتزام:

  1. إذا لم تكن قد بدأت بتهيئة بوابة الريبو الخاصة بك ، فقم بذلك عن طريق تشغيل الأمر:
    بوابة الحرف الأول
  2. يجب أن تشاهد مجلد .git تم إنشاؤه في مجلد المشروع.
  3. انتقل إلى. جيت / السنانير. سترى ملفًا باسم pre-conf.sample
  4. إعادة تسمية هذا الملف إلى ما قبل الالتزام
  5. إزالة رمز عينة موجود.
  6. لقد عدّلت النص https://gist.github.com/linhmtran168/2286aeafe747e78f53bf وفقًا لتعليق iamjochem في Gist وأنشأت Gist الخاص بي لاستخدامه مع ESLint.
    https://gist.github.com/rashtay/328da46a99a9d7c746636df1cf769675
  7. قم بتشغيل chmod + x .git / hooks / pre-لجعله ملفًا قابلاً للتنفيذ.
  8. فويلا!

أحب أن أسمع تعليقات / اقتراحات للتحسين.