Skip to content

ajafff/tslint-consistent-codestyle

Repository files navigation

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

Rule Description
const-parameters Declare parameters as const with JsDoc /** @const */
early-exit Recommends to use an early exit instead of a long if block.
ext-curly Enforces where to consistently use curly braces where not strictly necessary.
naming-convention Fine grained configuration to enforce consistent naming for almost everything. E.g. variables, functions, classes, methods, parameters, enums, etc.
no-as-type-assertion Prefer <Type>foo over foo as Type.
no-accessor-recursion Don't use get foo() { return this.foo; }. This is most likely a typo.
no-collapsible-if Identifies nested if statements that can be combined into one.
no-else-after-return Like no-else-return from eslint.
no-return-undefined Just return; instead of return undefined;.
no-static-this Ban the use of this in static methods.
no-unnecessary-else Like no-else-after-return but better.
no-unnecessary-type-annotation Finds type annotations that can safely be removed.
no-unused Find dead code and unused declarations.
no-var-before-return Checks if the returned variable is declared right before the return statement.
object-shorthand-properties-first Shorthand properties should precede regular properties.
parameter-properties Configure how and where to declare parameter properties.
prefer-const-enum Prefer const enum where possible.
prefer-while Prefer a while loop instead of a for loop without initializer and incrementer.