Tslint: La règle du point-virgule doit signaler les points-virgules inutiles sur les fonctions membres de la classe

Créé le 11 août 2016  ·  8Commentaires  ·  Source: palantir/tslint

Nous avons modifié le comportement de la règle du point-virgule pour permettre l'omission du point-virgule final après les fonctions membres de classe liées :

class Foo {
  public renderFoo = () => {
    return null;
  }
   ^ right here
}

Je propose que nous _bannions_ les points-virgules à cet endroit dans TSLint 4.0. Nous pouvons prendre en charge l'ancienne fonctionnalité avec une nouvelle option allow-bound-class-methods .

Easy P2 Fixed Breaking Change Enhancement

Commentaire le plus utile

Pour les personnes venant sur ce fil à la recherche de la bonne configuration tslint (comme je l'ai fait) - la syntaxe correcte pour cela serait:
"point-virgule": [vrai, "toujours", "ignore-bound-class-methods"]

Voir : https://palantir.github.io/tslint/rules/semicolon/

Tous les 8 commentaires

Je ne suis pas convaincu que ce soit nécessaire pour 4.0, mais cela ne ferait pas de mal de l'intégrer non plus. Cela semble être une option un peu minute cependant, je ne suis pas entièrement convaincu que cela vaut la complexité supplémentaire

Tout comme un élément de rétroaction (vous ne savez pas si c'est le bon endroit ?), Nous sommes tombés dessus par hasard et nous en avons été très surpris.

Je ne comprends probablement pas très bien la logique derrière cela, mais en particulier que tslint signale les points-virgules comme inutiles dans cette position (c'est-à-dire n'accepte pas simplement de les laisser de côté) semble déroutant.

Vous pouvez récupérer l'ancien comportement avec l'option ignore-bound-class-methods . Nous voulions être un peu plus avisés avec la configuration par défaut et faire en sorte que les méthodes de classe liées ressemblent à des méthodes de classe normales dans la plupart des codes TS.

Ouais, j'ai tellement pensé. Je me serais attendu à ce que tslint nécessite ce point-virgule prêt à l'emploi, pécher par excès de cohérence ou ignorer le problème, mais ajouter cette option fonctionne pour nous.

J'ai essayé d'obtenir ceci pour arrêter de lancer des erreurs dans intellij

J'ai essayé de supprimer le point-virgule derrière les fonctions de flèche de classe, puis j'obtiens cet avertissement :
image

J'ai essayé d'activer l'option comme ceci:
image

Mais j'obtiens ce résultat :
image

J'ai essayé d'activer l'option comme ceci:
image

Mais ensuite, il arrête de vérifier les points-virgules tous ensemble.

version tslint : 4.4.2
version ts : 2.1.5
version intelligente : 2016.3
Système d'exploitation : Windows 10 x64

Pour les personnes venant sur ce fil à la recherche de la bonne configuration tslint (comme je l'ai fait) - la syntaxe correcte pour cela serait:
"point-virgule": [vrai, "toujours", "ignore-bound-class-methods"]

Voir : https://palantir.github.io/tslint/rules/semicolon/

@popstr Oui, c'est aussi ce que j'utilise.

"semicolon": [true, "always", "ignore-bound-class-methods"]

J'ai créé #3216 car ignorer est une mauvaise idée en termes de cohérence, et la règle sans l'option ignore-bound-class-methods est toujours boguée comme je l'ai découvert.

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