Tslint: Avertissement affiché pour la règle « no-unused-variable » prise en charge

Créé le 13 sept. 2017  ·  3Commentaires  ·  Source: palantir/tslint

Rapport d'erreur

  • __Version TSLint__ :
$ $(yarn bin)/tslint --version
5.7.0
  • __TypeScriptversion__ :
$ $(yarn bin)/tsc --version
Version 2.5.2
  • __Exécution de TSLint via__ : CLI

Comportement réel

J'exécute tslint sur une base de code existante.

Mon projet a le jeu de règles no-unused-variable (grâce à l'utilisation d'un package de type prédéfini).

Mon projet a également les options de compilateur noUnusedLocals et noUnusedParameters activées pour TypeScript (par contre, via l'utilisation d'un package de type prédéfini).

Mettre à jour de temps en temps mes règles et exécuter tslint de --fix option d'auto-fix mon code.

Cela inclut de bénéficier de la fonction de correction automatique de la règle no-unused-variable .

Exemple de sortie lors de l'exécution de tslint --fix sur ma base de code :

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

Comportement prévisible

Comme indiqué ici, la règle no-unused-variable n'était pas obsolète car les utilisateurs (y compris moi-même) bénéficient de la fonction de correction automatique.

Cependant, l'avertissement implique que je ne devrais pas du tout utiliser la règle et provoque beaucoup de sorties inutiles sur la console, ce qui peut masquer d'autres informations importantes telles que des problèmes non réparables dans le code.

Je pense que ce serait bien de supprimer l'avertissement.

P3 Accepting PRs Bug

Commentaire le plus utile

@destroyerofbuilds qui semble être un bon point -- vous utilisez no-unused-variable principalement pour la fonctionnalité de correction automatique, donc l'avertissement n'est pas pertinent. Je pense que nous devrions supprimer l'avertissement (accepter les PR). Ce serait bien de mettre également à jour la documentation des règles pour décrire ce modèle d'utilisation.

Tous les 3 commentaires

Pour moi, la variable non inutilisée ne fait tout simplement rien ;(
Version 5.7.0

C'est ma config

{
    "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 qui semble être un bon point -- vous utilisez no-unused-variable principalement pour la fonctionnalité de correction automatique, donc l'avertissement n'est pas pertinent. Je pense que nous devrions supprimer l'avertissement (accepter les PR). Ce serait bien de mettre également à jour la documentation des règles pour décrire ce modèle d'utilisation.

@tomitrescak comment

Cette page vous a été utile?
0 / 5 - 0 notes