Как игнорировать конкретный каталог или файл для 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"
Ура !!