Tslint: Предупреждение отображается для поддерживаемого правила `no-unused-variable`

Созданный на 13 сент. 2017  ·  3Комментарии  ·  Источник: palantir/tslint

Сообщение об ошибке

  • __TSLint версия__:
$ $(yarn bin)/tslint --version
5.7.0
  • __TypeScript version__:
$ $(yarn bin)/tsc --version
Version 2.5.2
  • __ Запуск TSLint через__: CLI

Фактическое поведение

Я использую tslint поверх существующей базы кода.

В моем проекте установлен набор правил no-unused-variable (за счет использования предустановленного пакета).

В моем проекте также включены параметры компилятора noUnusedLocals и noUnusedParameters для TypeScript (в отличие от использования предустановленного пакета).

Время от времени я обновляю свои правила и запускаю параметр tslint --fix чтобы автоматически исправить мой код.

Это включает в себя использование функции автоматического исправления правила no-unused-variable .

Пример вывода при запуске tslint --fix на моей базе кода:

$ $(yarn bin)/tslint --project tsconfig.json --config tslint.json --fix src/**/*.ts
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.
WARNING: 'no-unused-variable' lint rule does not need to be set if the 'no-unused-locals' and 'no-unused-parameters' compiler options are enabled.

Ожидаемое поведение

Как отмечалось здесь, правило no-unused-variable не является устаревшим, потому что пользователи (включая меня) извлекают выгоду из функции автоматического исправления.

Однако предупреждение подразумевает, что я вообще не должен использовать правило, и вызывает много ненужного вывода на консоль, что может скрыть другую важную информацию, такую ​​как неустранимые проблемы в коде.

Я считаю, что было бы хорошо удалить предупреждение.

P3 Accepting PRs Bug

Самый полезный комментарий

@destroyerofbuilds, который звучит как хороший no-unused-variable первую очередь для функции автоматического исправления, поэтому предупреждение не имеет значения. Думаю, надо убрать предупреждение (прием PR). Было бы неплохо также обновить документы правил, чтобы описать этот шаблон использования.

Все 3 Комментарий

Для меня no-unused-variable просто ничего не делает; (
Версия 5.7.0

Это мой конфиг

{
    "extends": [
        "tslint:latest",
        "tslint-react",
        "tslint-config-prettier"
    ],
    "rules": {
        "ban-types": false,
        "interface-name": null,
        "interface-over-type-literal": false,
        "jsx-boolean-value": null,
        "jsx-no-lambda": null,
        "max-classes-per-file": [],
        "member-access": false,
        "no-namespace": null,
        "no-unused-expression": [false],
        "no-unused-variable": true,
        "no-var-requires": false,
        "object-literal-shorthand": false,
        "object-literal-sort-keys": false,
        "only-arrow-functions": null,
        "ordered-imports": null,
        "prefer-const": false,
        "variable-name": false,
        "no-invalid-template-strings": false,
        "no-submodule-imports": false
    }
}

@destroyerofbuilds, который звучит как хороший no-unused-variable первую очередь для функции автоматического исправления, поэтому предупреждение не имеет значения. Думаю, надо убрать предупреждение (прием PR). Было бы неплохо также обновить документы правил, чтобы описать этот шаблон использования.

@tomitrescak, как у вас TSLint? Это звучит как отдельная проблема от исходного сообщения; Я бы посоветовал вам открыть еще один вопрос, если вы еще этого не сделали.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги