Как игнорировать определенный каталог или файл для tslint?


135

Используемая среда IDE - WebStorm 11.0.3, tslint настроен и работает, но зависает, поскольку пытается проанализировать большие файлы библиотеки * .d.ts.

Есть ли способ игнорировать определенный файл или каталог?

Ответы:


200

Обновление для tslint v5.8.0

Как упомянул Саугат Ачарья , теперь вы можете обновить параметры интерфейса командной строки tslint.json :

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "lib/*generated.js"
      ]
  }
}

Больше информации в этом запросе .


Эта функция была введена в tslint 3.6

tslint \"src/**/*.ts\" -e \"**/__test__/**\"

Теперь вы можете добавить --exclude (или -e) увидеть PR здесь.

CLI

usage: tslint [options] file ...

Options:

-c, --config          configuration file
--force               return status code 0 even if there are lint errors
-h, --help            display detailed help
-i, --init            generate a tslint.json config file in the current working directory
-o, --out             output file
-r, --rules-dir       rules directory
-s, --formatters-dir  formatters directory
-e, --exclude         exclude globs from path expansion
-t, --format          output format (prose, json, verbose, pmd, msbuild, checkstyle)  [default: "prose"]
--test                test that tslint produces the correct output for the specified directory
-v, --version         current version

вы смотрите на использование

-e, --exclude         exclude globs from path expansion

Вы знаете, как исключить несколько путей?
Хуан Хенао

4
повторите аргумент исключения несколько раз
Маркус Вагнер

4
Небольшая поправка к обновлению: оно должно быть , linterOptionsа неcliOptions
Джеб

4
Также стоит упомянуть, что шаблоны glob внутри каталога exclude должны быть относительноtslint.json
JeB

64

В настоящее время используется код Visual Studio и команда для отключения tslint

/* tslint:disable */

работал на меня. Проверьте эту страницу, примерно на 3/4 пути вниз есть несколько команд отключения https://c9.io/lijunle/tslint

Нечто на заметку. Выключение выше отключает ВСЕ правила tslint на этой странице. Если вы хотите отключить определенное правило на полпути вниз, есть список правил. Таким образом, вы можете отключить определенные вещи, такие как

/* tslint:disable comment-format */

1
из всех ответов, это единственный, который работал. Спасибо!
Оз Лодригес

27

В дополнение к ответу Майкла рассмотрим второй способ: добавление linterOptions.exclude в tslint.json

Например, вы можете иметь tslint.jsonследующие строки:

{
  "linterOptions": {
    "exclude": [
      "someDirectory/*.d.ts"
    ]
  }
}

17

Начиная с, tslint v5.8.0вы можете установить excludeсвойство под вашим linterOptionsключом в вашем tslint.jsonфайле:

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "**/__test__",
          "lib/*generated.js"
      ]
  }
}

Подробнее об этом здесь .


2
Это должно быть помечено как правильный (и обновленный ноябрь-2017) ответ.
Андрес Элизондо

Правильный способ сделать это - заменить cliOptionsна linterOptions.
Саугат


7

Мне пришлось использовать синтаксис ** / *, чтобы исключить файлы в папке:

    "linterOptions": {
        "exclude": [
          "src/auto-generated/**/*",
          "src/app/auto-generated/**/*"
        ]
    },

5

linterOptions в настоящее время обрабатывается только CLI. Если вы не используете CLI, то в зависимости от используемой кодовой базы вам нужно будет установить игнорирование где-то еще. webpack, tsconfig и т. д.


3

Можно подтвердить, что в версии tslint 5.11.0 он работает, изменив скрипт lint в package.json, определив аргумент exclude:

"lint": "ng lint --exclude src/models/** --exclude package.json"

Ура !!


1
Вы имели в виду какой-то другой ответ или просто хотели дать альтернативный ответ на вопрос?
Дхарман

1

Как дополнение

Отключить все правила для следующей строки // tslint:disable-next-line

Чтобы отключить определенные правила для следующей строки :// tslint:disable-next-line:rule1 rule2...

Чтобы отключить все правила для текущей строки :someCode(); // tslint:disable-line

Чтобы отключить определенные правила для текущей строки :someCode(); // tslint:disable-line:rule1

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.