Как да стартирате ESLint с помощта на кука за предварително записване

Актуализация: Има по-добър начин да добавите куки за предварително записване към вашия проект. Поръчка хъски. Можете да следвате урока по-долу, за да научите как ръчно да добавяте куки за предварително записване.

Преди да продължим, бих искал да предоставя малко справка за ESLint и Git кука за предварително ангажиране. Ако сте запознати с тях, можете да пропуснете следващите два раздела.

ESLint

Източник на изображения: https://libraries.io/atom/linter-plus-eslint

Разработчиците са склонни да допускат грешки при кодирането. Например, може да забравите да затворите скобата или да завършите създаването на променлива, която вече съществува. Но грешки като тази може да доведат до счупване на приложението или сайта ви. Можем да избутаме този бъги код в облачно хранилище или може да отнеме значително време, за да разрешим проблемите, причинени поради такива грешки. Ако вашият код се преглежда, това ще отнеме на вашите рецензенти време да намерят такива помия грешки или може да го пропуснат напълно.

Това е мястото, където облицовката влиза в картината. Линирането е процес на стартиране на програма, която ще анализира код за потенциални грешки. За свързване на такива потенциални грешки използваме Linters.

Линтерите помагат на програмиста да напише чист код. Всеки език може да има свои линтери, за да влезе в кода. Ето линк, който ми хареса, в който са изброени някои добри линтери за писане на по-чист код:
https://github.com/showcases/clean-code-linters

Сред тях ще говорим конкретно за ESLint, който е съвременен инструмент за свързване на JavaScript / ECMAScript 6. Съгласно описанието на уебсайта им,

ESLint е помощна програма за отваряне на JavaScript с отворен код, създадена първоначално от Nicholas C. Zakas през юни 2013 г.

С прости думи, той се използва за валидиране на вашите JavaScript файлове срещу потенциални грешки. „ES“ в ESLint означава ECMAScript. Можете да създадете конфигурационен файл .eslintrc и да определите правилата, спрямо които искате да валидирате кода си. Можете да обличате кода си в движение в желания от вас редактор (проверете дали има плъгин / API за интегриране на ESLint с вашия редактор) или можете да го обличате с помощта на инструментите на командния ред. Изборът е твой. Предпочитам облицовка в движение.

Git кука предварително ангажиране

Източник на изображение: http://www.sterlinghamilton.com/git-hook-pre-commit-for-debug-comments/

Докато обсъждах ESLint, дадох пример, споменавайки, че един програмист може да избута бъги код, дори ако кодът не е валиден. Дори ако сте настроили линтер, той може да ви предпази от невалиден код, но не може да ви предпази от натискане на този невалиден код към репо. Имаме нужда от механизъм, който да спре да натиска такъв код към репо.

Това е мястото, където Git предварително ангажира куката. Това ще блокира програмиста да извърши кода, ако не премине правилата, определени от куките, налични в .git / куки. Предполага се, че тези куки са изпълними.

Моля, обърнете внимание, че куката с Git преди ангажиране може да се използва за повече от просто валидиране на вашия код. За информация относно Git Hooks, моля, посетете https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks

ESLint Git кука за предварително записване

Бих използвал съществуващ скрипт https://gist.github.com/linhmtran168/2286aeafe747e78f53bf

По-долу са стъпките, които следвах, за да оближа JavaScript / ES6, преди да се ангажирам:

  1. Ако не сте инициализирали git за вашето репо, тогава направете това, като изпълните командата:
    git init
  2. Трябва да видите .git папка, създадена в папката на вашия проект.
  3. Отидете на .git / куки. Ще видите файл с име pre-commit.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 / предварително ангажиране, за да го направите изпълним файл.
  8. Voila!

Бих искал да чуя отзиви / предложения за подобрение.