Tslint: Certains messages d'erreur affichés semblent hors de propos

Créé le 19 nov. 2017  ·  3Commentaires  ·  Source: palantir/tslint

Rapport d'erreur

  • __TSLint version__ : 5.8.0
  • __TypeScript version__ : 2.6.1
  • __Exécution de TSLint via__ : API CLI / Node.js / VSCode

Code TypeScript en train d'être lint

(function () {
    console.log('Hello World!');
})();

Comportement réel

sans configuration tslint.json , il affiche le message d'erreur :

> tslint test.ts

Could not find implementations for the following rules specified in the configuration:
    label-undefined
    no-duplicate-key
    no-trailing-comma
    no-unreachable
    use-strict
Try upgrading TSLint and/or ensuring that you have all necessary custom rules installed.
If TSLint was recently upgraded, you may have old rules configured which need to be cleaned up.

Warning: The 'no-unused-variable' rule requires type information.
Warning: The 'no-use-before-declare' rule requires type information.

ERROR: test.ts[1, 11]: expected call-signature to have a typedef
ERROR: test.ts[2, 17]: ' should be "

Pourquoi se plaint-il de ne pas pouvoir trouver d'implémentations pour les règles label-undefined , no-duplicate-key , no-trailing-comma , no-unreachable , use-strict spécifiés dans la configuration ? Comme il n'y a pas de règles personnalisées définies, pas de règles étendues non plus, cela devrait provenir de TSLint, mais j'ai recherché dans le package TSLint téléchargé à partir de npm, à part qu'ils ont été mentionnés dans CHANGELOG.md , nulle part ailleurs n'a été défini/référencé dans Source TSLint. Alors d'où viennent-ils ?

Mais avec tslint.json configuration de

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:recommended"
    ],
    "jsRules": {},
    "rules": {},
    "rulesDirectory": []
}

Comportement attendu

sans configuration tslint.json , il ne devrait pas se plaindre de ne pas pouvoir trouver des implémentations pour ces règles.

Not A Bug

Commentaire le plus utile

Vous avez un tslint.json obsolète dans un répertoire parent ou votre répertoire personnel.

Tous les 3 commentaires

Vous avez un tslint.json obsolète dans un répertoire parent ou votre répertoire personnel.

@ajafff Merci, tu as raison. d'une manière ou d'une autre, dans mon dossier utilisateur, il y a déjà un \Users\<MyUserName>\tslint.json avant d'installer TSLint cette fois. Alors ferme-la.

D'une manière ou d'une autre, quelque chose a également créé un tslint.json dans mon dossier personnel et causé ce problème. Ce serait bien si tslint avait la possibilité de ne pas aller pêcher dans le répertoire personnel de l'utilisateur. Ou si le message d'erreur indiquait d'où venaient les règles répertoriées. Merci pour le conseil @ajafff ​​! Je me cognais la tête sur cette erreur.

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