Sök…


Introduktion

TSLint utför statisk analys av kod och upptäcker fel och potentiella problem i kod.

Grundläggande tslint.json-installation

Detta är en grundläggande tslint.json installation som

  • förhindrar användning av any
  • kräver lockiga hängslen för if / else / for / do / while uttalanden
  • kräver dubbla citat ( " ) för att användas för strängar
{
    "rules": {
        "no-any": true,
        "curly": true,
        "quotemark": [true, "double"]
    }
}

Konfiguration för färre programmeringsfel

Detta tslint.json-exempel innehåller en uppsättning konfigurationer för att tvinga fram fler typ, fånga vanliga fel eller på annat sätt förvirra konstruktioner som är benägna att producera buggar och följa mer kodningsriktlinjerna för TypeScript-bidragsgivare .

För att verkställa dessa regler, inkludera tslint i din byggprocess och kontrollera din kod innan du sammanställer den med 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).
  }
}

Använda en fördefinierad regeluppsättning som standard

tslint kan utöka en befintlig regeluppsättning och levereras med standardvärden tslint:recommended och tslint:latest .

tslint:recommended är en stabil, något meningsfull uppsättning regler som vi uppmuntrar för allmän TypeScript-programmering. Den här konfigurationen följer semver, så den kommer inte att bryta ändringar i mindre eller patch-utgivningar.

tslint:latest utökar tslint: rekommenderas och uppdateras kontinuerligt för att inkludera konfiguration för de senaste reglerna i varje TSLint-utgåva. Att använda den här konfigureringen kan innebära brottförändringar i mindre utgåvor eftersom nya regler är aktiverade som orsakar luddfel i din kod. När TSLint når en större versionstump, kommer tslint: rekommenderas att uppdateras för att vara identisk med tslint: senaste.

Dokument och källkod för fördefinierade regleruppsättning

Så man kan helt enkelt använda:

{
  "extends": "tslint:recommended"
}

att ha en förnuftig startkonfiguration.

Man kan sedan skriva över regler från den förinställda via rules , t.ex. för nodutvecklare var det vettigt att ställa in no-console till false :

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

Installation och installation

För att installera kommandot tslint run

npm install -g tslint

Tslint konfigureras via filen tslint.json . För att initialisera standardkonfigurationen för körning

tslint --init

För att kontrollera filen för eventuella fel i filkörningskommandot

tslint filename.ts

Uppsättningar av TSLint-regler

Yeoman genearator stöder alla dessa förinställningar och kan också utvidgas:



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow