Zoeken…


Invoering

TSLint voert statische analyse van code uit en detecteert fouten en potentiële problemen in code.

Basisinstellingen tslint.json

Dit is een standaard tslint.json opstelling die

  • voorkomt het gebruik van any
  • vereist accolades voor if / else / for / do / while instructies
  • vereist dat dubbele aanhalingstekens ( " ) worden gebruikt voor tekenreeksen
{
    "rules": {
        "no-any": true,
        "curly": true,
        "quotemark": [true, "double"]
    }
}

Configuratie voor minder programmeerfouten

Dit tslint.json-voorbeeld bevat een set van configuratie om meer typen af te dwingen, veelvoorkomende fouten op te vangen of anderszins verwarrende constructen die gevoelig zijn voor het produceren van fouten en het volgen van meer de coderingsrichtlijnen voor TypeScript-bijdragers .

Om deze regels af te dwingen, neemt u tslint op in uw bouwproces en controleert u uw code voordat u deze compileert met tsc.

{
  "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).
  }
}

Standaard een vooraf gedefinieerde regelset gebruiken

tslint kan een bestaande regelset uitbreiden en wordt geleverd met de standaardwaarden tslint:recommended en tslint:latest .

tslint:recommended is een stabiele, ietwat eigenzinnige set regels die we aanmoedigen voor algemene TypeScript-programmering. Deze configuratie volgt op semver, dus er zijn geen onderbrekende wijzigingen in kleinere of patch-releases.

tslint:latest uitbreiding tslint: aanbevolen en wordt continu bijgewerkt om configuratie voor de nieuwste regels in elke TSLint-release op te nemen. Als u deze configuratie gebruikt, kan dit leiden tot het doorbreken van wijzigingen in kleinere releases wanneer nieuwe regels worden ingeschakeld die pluisfouten in uw code veroorzaken. Wanneer TSLint een grote versie tegenkomt, wordt tslint: aanbevolen bijgewerkt om identiek te zijn aan tslint: laatste.

Documenten en broncode van vooraf gedefinieerde regelset

Men kan dus eenvoudig gebruiken:

{
  "extends": "tslint:recommended"
}

om een verstandige startconfiguratie te hebben.

Je kunt dan regels van die preset overschrijven via rules , bijvoorbeeld voor knooppuntontwikkelaars was het logisch om no-console op false :

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

Installatie en configuratie

Om de opdracht tslint te installeren

npm install -g tslint

Tslint wordt geconfigureerd via het bestand tslint.json . Om de standaardconfiguratie uit te voeren, voert u de opdracht uit

tslint --init

Bestand controleren op mogelijke fouten in opdracht voor uitvoeren van bestand

tslint filename.ts

Sets van TSLint-regels

Yeoman genearator ondersteunt al deze presets en kan ook worden uitgebreid:



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow