Spec-Zone.ru › ESLint

Способы расширения ESLint

ESLint обладает высокой степенью подключаемости и настраиваемости. Существует множество способов расширить функциональность ESLint.

Эта страница объясняет способы расширения ESLint и как эти расширения взаимодействуют друг с другом.

Плагины

Плагины позволяют добавлять собственные пользовательские правила и обработчики в проект ESLint. Вы можете опубликовать плагин в качестве npm-модуля.

Плагины полезны, потому что ваш проект может потребовать некоторые настройки ESLint, которые не включены в основной eslint пакет. Например, если вы используете фронтенд-библиотеку JavaScript, такую как React, или фреймворк, такой как Vue, эти инструменты имеют некоторые функции, для которых требуются пользовательские правила, выходящие за рамки основных правил ESLint.

Часто плагин сочетается с конфигурацией ESLint, которая применяет набор функций из плагина к проекту. Также можно включать конфигурации в плагин.

Например, eslint-plugin-react — это плагин ESLint, который включает правила, специфичные для проектов React. Правила включают в себя такие вещи, как обеспечение согласованного использования циклов жизни компонентов React и требование использования свойств key при рендеринге динамических списков.

Чтобы узнать больше о создании расширений, которые можно включить в плагин, обратитесь к следующей документации:

  • Пользовательские правила
  • Пользовательские обработчики
  • Конфигурации в плагинах

Чтобы узнать больше о сборке этих расширений в плагин, обратитесь к Плагинам.

Разделяемые конфигурации

Разделяемые конфигурации ESLint — это предварительно определённые конфигурации для ESLint, которые вы можете использовать в своих проектах. Они объединяют правила и другие настройки в npm-пакете. Всё, что вы можете поместить в файл конфигурации, можно поместить в разделяемую конфигурацию.

Вы можете опубликовать разделяемую конфигурацию независимо или в составе плагина.

Например, популярная разделяемая конфигурация — eslint-config-airbnb, которая содержит различные правила, помимо некоторых параметров парсера. Это набор правил для ESLint, предназначенный для соответствия руководству по стилю JavaScript Airbnb JavaScript style guide. Используя eslint-config-airbnb разделяемую конфигурацию, вы можете автоматически применять руководство по стилю Airbnb в своём проекте, не настраивая каждое правило вручную.

Чтобы узнать больше о создании разделяемой конфигурации, обратитесь к Настройке конфигураций.

Пользовательские форматировщики

Пользовательские форматировщики принимают результаты проверки ESLint и выводят результаты в формате, который вы определяете. Пользовательские форматировщики позволяют отображать результаты проверки в формате, который лучше всего подходит для ваших потребностей, будь то в определённом формате файла, определённом стиле отображения или формате, оптимизированном для конкретного инструмента. Вам нужно создавать пользовательский форматировщик только в том случае, если встроенные форматировщики не подходят для вашего случая использования.

Например, пользовательский форматировщик eslint-formatter-gitlab может использоваться для отображения результатов ESLint в отчётах о качестве кода GitLab.

Чтобы узнать больше о создании пользовательского форматировщика, обратитесь к Пользовательским форматировщикам.

Пользовательские парсеры

Пользовательские парсеры ESLint — это способ расширения ESLint для поддержки проверки новых языковых возможностей или пользовательского синтаксиса в вашем коде. Парсер отвечает за преобразование вашего кода в абстрактное синтаксическое дерево (AST), которое затем ESLint может проанализировать и проверить.

ESLint поставляется со встроенным парсером JavaScript (Espree), но пользовательские парсеры позволяют проверять другие языки или расширять возможности проверки встроенного парсера.

Например, пользовательский парсер @typescript-eslint/parser расширяет ESLint для проверки кода TypeScript.

Пользовательские парсеры нельзя включать в плагин, в отличие от других типов расширений.

Чтобы узнать больше о создании пользовательского парсера, обратитесь к Пользовательским парсерам.

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/extend/ways-to-extend

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API