Prettier + Airbnb Конфигурация ESLint

Недавно я начал использовать код Visual Studio для своего редактора и нашел форматировщик Prettier-JavaScript. Я думаю, что это отличный плагин, потому что он помогает мне сохранять хороший код.

Я настроил конфигурацию Airbnb ESLint и нашел, что это очень полезно.

Вот улов. Конфигурация Airbnb ESLint, которую я сейчас запускаю, не очень приятна с Prettier. Например, для строки JavaScript Prettier отформатирован для включения двойных тиков и Airbnb ESLint, например, одиночных тиков. Когда я форматирую код с помощью Prettier, Airbnb ESLint не согласен.

Я знаю, что Кент Доддс проделал некоторую работу с конфигурациями ESLint, среди прочих, примером здесь.

Но я не могу найти решение, которое позволяет мне использовать волшебство Prettier для форматирования моего кода для Airbnb ESLint.

Ответы

Ответ 1

Я думаю, что eslint-config-prettier был создан именно для этой цели: https://prettier.io/docs/en/eslint.html#turn-off-eslint-s-formatting-rules

В основном это отключает все правила, которые должны делать с кодом стайлинга, потому что prettier будет заботиться о нем так или иначе.

Поэтому вы просто устанавливаете этот плагин вместе с любым другим желаемым плагином eslint (например, eslint-config-airbnb), а в конфигурации eslint вы просто добавляете его в поле extends. Например:

{
  "extends": ["airbnb", "prettier"]
}

Ответ 2

Вот несколько способов сделать это в порядке рекомендации. Я бы предпочел первый подход, так как вам никогда не придется беспокоиться о других правилах, которые могут в будущем конфликтуют.

i) Установите eslint-config-prettier .eslintrc его в .eslintrc. Выполнение этого отключает некоторые из правил, связанных с форматированием, в ESLint, которые могут конфликтовать с Prettier:

{
  "extends": [
    "airbnb",
    "prettier"
  ]
}

ii) Добавление "singleQuote": true для .prettierrc конфигурации .prettierrc:

{
  "singleQuote": true,
  ...
}

iii) Добавление опции командной строки --single-quote при вызове Prettier:

$ prettier --single-quote ...

iv) Отключите правило quotes ESLint в .eslintrc конфигурации .eslintrc (и, возможно, другие конфликтующие конфликты):

{
  "rules": {
    "quotes": "off",
    ...
  }
}

Ответ 3

Итак, у вас есть файл.eslintrc с свойством "extends": "airbnb" Добавить другое свойство, правила и правила, которые вы напишете, будут перезаписывать те, которые унаследованы от airbnb

"extends": "airbnb",
"rules": {
    "eqeqeq": 2,
    "comma-dangle": 1,
}

Теперь я просто переписываю два случайных правила, вам нужно искать тот, который вам нужен :)

Или я неправильно понял ваш вопрос?