Home

Awesome

npm version Downloads CircleCI Coverage Status Join the chat at https://gitter.im/ajafff/tslint-consistent-codestyle Greenkeeper badge

Purpose

The rules in this package can be used to enforce consistent code style.

Usage

Install from npm to your devDependencies (https://www.npmjs.com/package/tslint-consistent-codestyle)

npm install --save-dev tslint-consistent-codestyle

With TSLint

Configure tslint to use tslint-consistent-codestyle:

This package provides an empty configuration preset that just contains the rulesDirectory. That means you can easily use the rules in this package, but don't get any predefined configuration. To use it, just add it to the extends array in your tslint.json:

{
   "extends": ["tslint-consistent-codestyle"]
   "rules": {
     ...
   }
}

As of tslint@5.2.0 you can also use tslint-consistent-codestyle as rulesDirectory:

{
   "rulesDirectory": ["tslint-consistent-codestyle"]
   "rules": {
     ...
   }
}

Now configure some of the new rules.

With Wotan

This package provides all rules for both TSLint and Wotan.

To use rules from this package, add the following to your .wotanrc.yaml file:

extends:
  - tslint-consistent-codestyle # makes rules from the package available with the 'tcc/' prefix
rules: # now configure the rules you want to use, remember to use the 'tcc/' prefix
  tcc/no-collapsible-if: error
  tcc/no-unused:
    options: 'ignore-parameters'

Rules

RuleDescription
const-parametersDeclare parameters as const with JsDoc /** @const */
early-exitRecommends to use an early exit instead of a long if block.
ext-curlyEnforces where to consistently use curly braces where not strictly necessary.
naming-conventionFine grained configuration to enforce consistent naming for almost everything. E.g. variables, functions, classes, methods, parameters, enums, etc.
no-as-type-assertionPrefer <Type>foo over foo as Type.
no-accessor-recursionDon't use get foo() { return this.foo; }. This is most likely a typo.
no-collapsible-ifIdentifies nested if statements that can be combined into one.
no-else-after-returnLike no-else-return from eslint.
no-return-undefinedJust return; instead of return undefined;.
no-static-thisBan the use of this in static methods.
no-unnecessary-elseLike no-else-after-return but better.
no-unnecessary-type-annotationFinds type annotations that can safely be removed.
no-unusedFind dead code and unused declarations.
no-var-before-returnChecks if the returned variable is declared right before the return statement.
object-shorthand-properties-firstShorthand properties should precede regular properties.
parameter-propertiesConfigure how and where to declare parameter properties.
prefer-const-enumPrefer const enum where possible.
prefer-whilePrefer a while loop instead of a for loop without initializer and incrementer.