Tslint: Array-Typ vs Preferred-Array-Literal

Erstellt am 23. Juni 2017  ·  3Kommentare  ·  Quelle: palantir/tslint

Fehlerbericht

  • __TSLint-Version__: 5.4.3
  • __TypeScript-Version__: 2.3.4
  • __TSLint ausführen über__: WebStorm

TypeScript-Code wird linted

Ich möchte, dass values ein gemischtes Array von entweder einem object oder einem number .

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

mit tslint.json Konfiguration:

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

Wie kann ich meinen Code schreiben, damit ich nicht gegen beide Regeln verstoße? Stehen diese beiden im Widerspruch zueinander und ich muss eine Regel aufgeben?

External

Hilfreichster Kommentar

Für alle, die über die Google-Suche hierher gelangen, kann dies auch behoben werden, ohne die Regel array-type zu ändern und die Array-Nutzung neu zu formatieren. Aktivieren Sie die Option allow-type-parameters in prefer-array-literal :

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

Alle 3 Kommentare

Es scheint, dass prefer-array-literal einfach nicht mit der Standardkonfiguration für die Regel array-type kompatibel ist. Diese Regel wird nicht von tslint verwaltet, sondern ist Teil von tslint-microsoft-contrib . Sie können die Option "array" auf array-type , damit sie zusammenarbeiten. Möglicherweise möchten Sie diesbezüglich ein Problem bei tslint-config-airbnb melden.

Für alle, die über die Google-Suche hierher gelangen, kann dies auch behoben werden, ohne die Regel array-type zu ändern und die Array-Nutzung neu zu formatieren. Aktivieren Sie die Option allow-type-parameters in prefer-array-literal :

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

Schließen als extern. Zögern Sie nicht, ein Problem auf tslint-microsoft-contrib zu posten!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen