Узнайте, как улучшить качество кода с помощью двух мощных инструментов, таких как ESLint и Prettier.

вступление

В предыдущей статье мы показали, как интегрировать компонент React / TypeScript в Drupal 8. Но что, если мы хотим также Lint и отформатировать наш код?

Введите ESLint и Prettier.

ESLint

Как вы, возможно, уже знаете, ESLint — это линтер для кода Javascript, а точнее:

ESLint статически анализирует ваш код для быстрого поиска проблем.[…] Многие проблемы, обнаруженные ESLint, могут быть исправлены автоматически. Исправления ESLint учитывают синтаксис, поэтому вы не столкнетесь с ошибками, вызванными традиционными алгоритмами поиска и замены».

красивее

Prettier – это "уверенное средство форматирования кода" (так в оригинале), которое поможет нам убедиться, что наш код форматирует в соответствии со стандартными правилами, даже если с настраиваемыми параметрами.

В определение явно включено слово "утвержденный", потому что — даже в стандартах — есть варианты и предпочтения, поэтому мы можем тщательно выбирать, какие функции нам нужны в нашем коде ( точка с запятой в конце, одинарная или двойная кавычки, пробелы в скобках и т. д.), а затем убедитесь, что все, кто работает над проектом, будут создавать свой код соответствующим образом.

Требования

Итак, начнем с добавления необходимых пакетов в наш компонент.

Для Prettier:

Большинство из них говорят сами за себя, это в основном ESLint, Prettier, различные руководства по стилю и некоторые плагины, чтобы все они работали вместе с TypeScript.

Мы устанавливаем их как devDependencies (--save-dev), поскольку они нужны нам только при разработке нашего компонента, но мы не хотим, чтобы они включались в окончательную сборку.

Теперь пришло время создать файл .eslintrc.js и добавить в него некоторую конфигурацию.

Как видите, есть строка, которая ссылается на tsconfig.json, куда мы поместили конфигурацию для TypeScript (см. нашу предыдущую статью).

Наконец, мы должны указать нашему webpack включить загрузчики для ESLint, добавив следующие строки в файл webpack.config.js:

Это будет полный файл после этого:

Все очень даже сделано!

Еще одна необязательная вещь — настроить команду для нашей конфигурации npm для автоматического форматирования нашего кода, добавив новую строку в наш package.json в разделе scripts.

Теперь, когда мы запускаем команду $ npm run format, сценарий позаботится о просмотре и форматировании всех .ts и .tsx.

Последние мысли

Несмотря на то, что они не являются обязательными, очень часто используют такие инструменты, как ESLint и Prettier, в проектах Javascript. С одной стороны, они помогают нам поддерживать порядок и чистоту кода, с другой стороны, это хороший способ автоматически изучить стандарты кодирования и лучшие практики.