Есть ли способ программно подавлять все ошибки ESLint построчно? - PullRequest
5 голосов
/ 11 марта 2020

Если я добавлю любое заданное правило ESLint, например, no-param-reassign в существующую кодовую базу, я могу получить много нарушений.

Есть ли хороший способ программно добавить построчно основывает подавление всех существующих нарушений?

В примере:

// eslint-diable-next-line no-param-reassign
param = foo;

Для уточнения

I do хочу правило в моем проекте, охраняющее весь новый код, который мы пишем. Я не хочу исправить весь старый код, который генерирует нарушения вручную (я хочу, чтобы скрипт делал это для меня или, если возможно, исключал себя). Вот почему я хотел бы пресечь все существующие нарушения, но уважать все новые нарушения. Моя главная цель - как можно быстрее выполнить новое правило, чтобы получить из него значение для всего нового кода. Я не возражаю против старых затянувшихся нарушений.

Ответы [ 4 ]

0 голосов
/ 11 марта 2020

Если вы не хотите go файл за файлом, добавляя эти директивы, вы можете использовать ESLint overrides . В .eslintrc:

{
  /*
    Main set of properties here
    ...
  */
  overrides: [
    {
      files: [
        /*
          List of glob patterns matching files that should have
          some rules overwritten
        */
      ],
      rules: [
        /* 
          Add the common rules here, otherwise they'll be overwritten.
          After that, add the ones you want to disable:
        */
        no-param-reassign: 0,
      ]
    },
  ],
}

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

// eslint-disable-nex-line <rule name>

Наконец, если вы хотите чтобы отключить правило во многих строках кода, вы можете использовать:

// eslint-disable <rule name>

// Code on which the rule shouldn't be applied
// ...

// eslint-enable <rule name>
0 голосов
/ 11 марта 2020

Чтобы выполнить sh, что вы хотите, вы должны отключить eslint для тех старых файлов, которые вы хотите, чтобы ESLint полностью игнорировал. Добавьте это в начало ваших старых файлов:

/* eslint-disable */

Вот еще несколько способов выполнения sh различных отключений:

0 голосов
/ 11 марта 2020

Для отдельной строки:

// eslint-disable-next-line

Для блока

/* eslint-disable */
// liniting issues here
/* eslint-enable */

Без eslint-disable linting будет отключено для остальной части файла

0 голосов
/ 11 марта 2020

Вы можете удалить конкретное правило, которое вам не нужно в вашем проекте, изменив файл .eslintrc.* или поле eslintConfig в пакете. json файл. Как они отвечают за правила в вашем проекте. Если вы удалите какое-либо правило из них, ваш редактор перестанет искать это нарушение.

Если вы все еще хотите использовать это правило для дальнейшей разработки, не изменяйте свой файл конфигурации правил, вместо этого есть две вещи, которые вы можете сделать,

  1. Подавить старый код, нарушающий правила.

  2. Исправить их. (рекомендуется)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...