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,
}
Теперь я просто переписываю два случайных правила, вам нужно искать тот, который вам нужен :)
Или я неправильно понял ваш вопрос?