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

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

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

Ответ 1

Обновление для 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

Ответ 2

Я использую код Visual Studio и это

/* tslint:disable */

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

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

/* tslint:disable comment-format */

Ответ 3

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

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

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

Ответ 4

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

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

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

Ответ 5

Здесь другие, которые столкнулись с проблемой. К сожалению, есть только открытая проблема для исключения файлов: https://github.com/palantir/tslint/issues/73

Итак, я боюсь, что ответ отрицательный.

Ответ 6

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

Ответ 7

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

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

Ответ 8

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

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

Ура !!