Tslint: Warnung wird für unterstützte `no-unused-variable`-Regel angezeigt

Erstellt am 13. Sept. 2017  ·  3Kommentare  ·  Quelle: palantir/tslint

Fehlerbericht

  • __TSLint-Version__:
$ $(yarn bin)/tslint --version
5.7.0
  • __TypeScript-Version__:
$ $(yarn bin)/tsc --version
Version 2.5.2
  • __TSLint ausführen über__: CLI

Tatsächliches Verhalten

Ich führe tslint über eine vorhandene Codebasis aus.

Mein Projekt hat den Regelsatz no-unused-variable (durch die Verwendung eines voreingestellten Pakets).

In meinem Projekt sind auch die Compileroptionen noUnusedLocals und noUnusedParameters für TypeScript aktiviert (im Gegensatz dazu durch die Verwendung eines voreingestellten Pakets).

Ich aktualisiere gelegentlich meine Regeln und führe die Option --fix tslint , um meinen Code automatisch zu korrigieren.

Dazu gehört auch, von der Auto-Fix-Funktion der no-unused-variable Regel zu profitieren.

Beispielausgabe beim Ausführen von tslint --fix auf meiner Codebasis:

$ $(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.

Erwartetes Verhalten

Wie hier erwähnt, war die Regel no-unused-variable nicht mehr veraltet, da Benutzer (einschließlich mir) von der automatischen Korrekturfunktion profitieren.

Die Warnung impliziert jedoch, dass ich die Regel überhaupt nicht verwenden sollte, und verursacht eine Menge unnötiger Ausgaben an der Konsole, die andere wichtige Informationen wie nicht behebbare Probleme im Code verschleiern können.

Ich glaube, es wäre in Ordnung, die Warnung zu entfernen.

P3 Accepting PRs Bug

Hilfreichster Kommentar

@destroyerofbuilds das klingt nach einem guten Punkt - Sie verwenden no-unused-variable hauptsächlich für die Auto-Fix-Funktionalität, daher ist die Warnung irrelevant. Ich denke, wir sollten die Warnung entfernen (Annahme von PRs). Es wäre schön, auch die Regeldokumente zu aktualisieren, um dieses Verwendungsmuster zu beschreiben.

Alle 3 Kommentare

Für mich macht die no-unused-variable einfach nichts ;(
Version 5.7.0

Das ist meine Konfiguration

{
    "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 das klingt nach einem guten Punkt - Sie verwenden no-unused-variable hauptsächlich für die Auto-Fix-Funktionalität, daher ist die Warnung irrelevant. Ich denke, wir sollten die Warnung entfernen (Annahme von PRs). Es wäre schön, auch die Regeldokumente zu aktualisieren, um dieses Verwendungsmuster zu beschreiben.

@tomitrescak wie läuft TSLint? Das klingt wie ein separates Problem aus dem ursprünglichen Beitrag; Ich würde Sie ermutigen, ein anderes Thema zu eröffnen, wenn Sie es noch nicht getan haben.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen