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 ?
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
!
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'optionallow-type-parameters
dansprefer-array-literal
: