Suche…


Einführung

TSLint führt eine statische Analyse des Codes durch und erkennt Fehler und mögliche Probleme im Code.

Grundlegendes tslint.json-Setup

Dies ist ein grundlegendes tslint.json Setup welches

  • Verwendung verhindert any
  • erfordert geschweifte Klammern für if / else / for / do / while Anweisungen
  • erfordert Anführungszeichen ( " ) für Zeichenfolgen
{
    "rules": {
        "no-any": true,
        "curly": true,
        "quotemark": [true, "double"]
    }
}

Konfiguration für weniger Programmierfehler

Dieses tslint.json-Beispiel enthält eine Reihe von Konfigurationen, um weitere Typisierungen zu erzwingen, häufig auftretende Fehler oder anderweitig verwirrende Konstrukte zu erkennen, die dazu neigen, Fehler zu erzeugen, und folgen den Codierrichtlinien für TypeScript-Mitwirkende .

Um diese Regeln durchzusetzen, schließen Sie tslint in Ihren Buildprozess ein und überprüfen Sie Ihren Code, bevor Sie ihn mit tsc kompilieren.

{
  "rules": {
     // TypeScript Specific
     "member-access": true, // Requires explicit visibility declarations for class members.
     "no-any": true, // Diallows usages of any as a type declaration.
     // Functionality
     "label-position": true, // Only allows labels in sensible locations.
     "no-bitwise": true, // Disallows bitwise operators.
     "no-eval": true, // Disallows eval function invocations.
     "no-null-keyword": true, // Disallows use of the null keyword literal.
     "no-unsafe-finally": true, // Disallows control flow statements, such as return, continue, break and throws in finally blocks.
     "no-var-keyword": true, // Disallows usage of the var keyword.
     "radix": true, // Requires the radix parameter to be specified when calling parseInt.
     "triple-equals": true, // Requires === and !== in place of == and !=.
     "use-isnan": true, // Enforces use of the isNaN() function to check for NaN references instead of a comparison to the NaN constant.
     // Style
     "class-name": true, // Enforces PascalCased class and interface names. 
     "interface-name": [ true, "never-prefix" ], // Requires interface names to begin with a capital ‘I’
     "no-angle-bracket-type-assertion": true, // Requires the use of as Type for type assertions instead of <Type>.
     "one-variable-per-declaration": true, // Disallows multiple variable definitions in the same declaration statement.
     "quotemark": [ true, "double", "avoid-escape" ], // Requires double quotes for string literals.
     "semicolon": [ true, "always" ], // Enforces consistent semicolon usage at the end of every statement.
     "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"] // Checks variable names for various errors. Disallows the use of certain TypeScript keywords (any, Number, number, String, string, Boolean, boolean, undefined) as variable or parameter. Allows only camelCased or UPPER_CASED variable names. Allows underscores at the beginning (only has an effect if “check-format” specified).
  }
}

Standardmäßig einen vordefinierten Regelsatz verwenden

tslint kann einen vorhandenen Regelsatz erweitern und wird mit den tslint:recommended und tslint:latest .

tslint:recommended ist ein stabiler, etwas meinungsstarker Satz von Regeln, den wir für die allgemeine TypeScript-Programmierung tslint:recommended . Diese Konfiguration folgt Semver, so dass keine Änderungen in Nebenversionen oder Patch-Releases vorgenommen werden.

tslint:latest erweitert tslint: empfohlen und wird fortlaufend aktualisiert, um die Konfiguration für die neuesten Regeln in jeder TSLint-Version zu enthalten. Die Verwendung dieser Konfiguration kann zu grundlegenden Änderungen in kleineren Releases führen, da neue Regeln aktiviert werden, die zu Flusenfehlern in Ihrem Code führen. Wenn TSLint einen Hauptversions-Bump erreicht, wird tslint: Recommended aktualisiert, um identisch mit tslint: latest zu sein.

Text & Tabellen und Quellcode predfined ruleset

So kann man einfach verwenden:

{
  "extends": "tslint:recommended"
}

eine sinnvolle Startkonfiguration haben.

Man kann dann Regeln aus dieser Voreinstellung über rules überschreiben, z. B. war es für Knotenentwickler sinnvoll, no-console auf false :

{
  "extends": "tslint:recommended",
  "rules": {
    "no-console": false
  }
}

Installation und Einrichtung

Um den Befehl tslint run zu installieren

npm install -g tslint

Tslint wird über die Datei tslint.json konfiguriert. Um den Standard-Konfigurationsbefehl zu initialisieren

tslint --init

So prüfen Sie die Datei auf mögliche Fehler im Dateibetriebsbefehl

tslint filename.ts

Sätze von TSLint-Regeln

Yeoman Genearator unterstützt alle diese Presets und kann auch erweitert werden



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow