TypeScript
TSLint - säkerställa kodkvalitet och konsistens
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: