Tslint: array-type vs prefer-array-literal

Créé le 23 juin 2017  ·  3Commentaires  ·  Source: palantir/tslint

Rapport d'erreur

  • __Version TSLint__ : 5.4.3
  • __TypeScript version__ : 2.3.4
  • __Exécution de TSLint via__ : WebStorm

Code TypeScript en train d'être lint

Je veux que values soit un tableau mixte d'un object ou d'un number .

// Violates 'array-type' rule
const values: (object | number)[] = []
// Violates 'prefer-array-literal' rule
const values: Array<object | number> = []

avec la configuration tslint.json :

{
  "extends": [
    "tslint:latest",
    "tslint-eslint-rules",
    "tslint-config-airbnb"
  ]
}

Comment puis-je écrire mon code pour ne pas enfreindre les deux règles ? Ces deux-là sont-ils en conflit et je dois abandonner une règle ?

External

Commentaire le plus utile

Pour tous ceux qui arrivent ici à partir de la recherche Google, cela peut également être corrigé sans modifier la règle array-type et reformater les utilisations des tableaux. Activez l'option allow-type-parameters dans prefer-array-literal :

{
  "rules": {
    "prefer-array-literal": [true, { "allow-type-parameters": true }]
  }
}

Tous les 3 commentaires

Il semble que prefer-array-literal ne soit tout simplement pas compatible avec la configuration par défaut de la règle array-type . Cette règle n'est pas maintenue par tslint, elle fait partie de tslint-microsoft-contrib . Vous pouvez définir l'option "array" sur array-type pour les faire travailler ensemble. Vous voudrez peut-être signaler un problème sur tslint-config-airbnb à ce sujet.

Pour tous ceux qui arrivent ici à partir de la recherche Google, cela peut également être corrigé sans modifier la règle array-type et reformater les utilisations des tableaux. Activez l'option allow-type-parameters dans prefer-array-literal :

{
  "rules": {
    "prefer-array-literal": [true, { "allow-type-parameters": true }]
  }
}

Fermeture en extérieur. N'hésitez pas à poster un numéro sur tslint-microsoft-contrib !

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