Як ігнорувати певний каталог або файл для tslint?


135

Використовуваний IDE - це WebStorm 11.0.3, tslint налаштований і працює, але він завис, оскільки він намагається розібрати великі файли * .d.ts бібліотеки.

Чи є спосіб ігнорувати певний файл чи каталог?

Відповіді:


200

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

Як згадував Saugat Acharya , тепер ви можете оновити параметри CLI 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
JeB

4
Варто також зазначити, що шаблони tslint.json
глобулів

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.
Saugat


7

Мені довелося використовувати синтаксис ** / *, щоб виключити файли в папці:

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

5

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


3

Можна підтвердити, що у версії tslint 5.11.0 він працює, змінюючи скрипт lint у package.json, визначаючи аргумент виключення:

"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.