У вас когда-нибудь возникала неприятная проблема в вашем редакторе, когда ваш линтинг просто внезапно прекращался, и вам приходилось перезапускать текстовый редактор, чтобы он снова заработал? У меня определенно была эта проблема в VSCode несколько раз, позже я подумал, что это конфликт между ESLint и Prettier по поводу того, кто будет форматировать мой код.

Неудивительно, что я не одинок, я наткнулся на твит от друга Auwal, в котором он недоволен тем же самым. 👇🏿

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

Если вы запутались здесь:
* ESLint заботится о качестве кода и его форматировании. В нем есть правила, которые позволяют выявлять ошибки и применять передовые методы. Чтобы подробнее узнать о преимуществах, ознакомьтесь с этим постом.
* Prettier - это средство форматирования кода, нажмите Сохранить и нажмите кнопку Бум, ваш код отформатирован так, как вы хотите. Думаю, это видео подробно все объясняет.

Быстрый пример, у вас может быть такая функция 👇🏿

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne(), noWayYouGottaBeKiddingMe());

… А затем сразу же щелкнув по кнопке «Сохранить», вы можете лучше отформатировать свой код примерно так 👇🏿

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne(),
  noWayYouGottaBeKiddingMe()
);

Изучив мои краткие определения, мы можем обнаружить проблему: как ESLint, так и Prettier имеют дело с форматированием кода. Дело в том, что Prettier делает это намного лучше, в то время как ESLint имеет дело с качеством кода и шаблонами, которые более симпатичны не важны. Поскольку они оба могут форматировать код, иногда они могут иметь конфликтующие стили, а затем конфликтовать.

Наша цель здесь - настроить их таким образом, чтобы Prettier имел дело с форматированием кода, а ESLint - с качеством кода.

В моей настройке я не установил prettier в качестве плагина редактора (я использую VSCode), но в моем редакторе установлен ESLint. Так что вы можете удалить Prettier и из своего.

Установить ESLint

Если у вас еще не установлен ESLint, вы можете установить ESLint глобально или локально в своем проекте. Чтобы узнать, как установить ESLint, посетите документацию.

После того, как вы настроили ESLint, вам нужно будет добавить Prettier в качестве правила ESLint, используя eslint-plugin-prettier.

yarn add --dev eslint-plugin-prettier

в вашем файле .eslintrc.json добавьте Prettier в качестве плагина и добавьте красивее в свой объект правил, вы можете добавить свои более красивые правила в поле красивее / красивее, как показано ниже в строках с 7 по 9. Вы можете увидеть полный список Более красивые варианты здесь

Отключить правила форматирования ESLint

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

Чтобы отключить конфликтующие правила, соблюдая другие правила, которые Prettier не заботятся. Мы добавим eslint-config-prettier в качестве зависимости разработчика.

yarn add --dev eslint-config-prettier

затем в нашем файле .eslintrc.json добавьте

{   
  extends: ['plugin:prettier/recommended'] 
}

Теперь все должно быть в порядке.

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