A linter for the TypeScript language.
bitwise
disallows bitwise operators.classname
enforces PascalCased class and interface names.curly
enforces braces forif
/for
/do
/while
statements.debug
disallowsdebugger
statements.dupkey
disallows duplicate keys in object literals.eofline
enforces the file to end with a newline.eqeqeq
enforces === and !== in favor of == and !=.evil
disallowseval
function invocations.forin
enforces afor ... in
statement to be filtered with anif
statement.*indent
enforces consistent indentation levels (currently disabled).labelpos
enforces labels only on sensible statements.label-undefined
checks that labels are defined before usage.maxlen
sets the maximum length of a line.noarg
disallows access toarguments.callee
.noconsole
disallows access to the specified properties onconsole
. Rule options are properties to ban on the console variable.noconstruct
disallows access to the constructors ofString
,Number
, andBoolean
.nounreachable
disallows unreachable code afterbreak
,catch
,throw
, andreturn
statements.noempty
disallows empty blocks.oneline
enforces the specified tokens to be on the same line as the expression preceding it. Rule options:"check-catch"
checks thatcatch
is on the same line as the closing brace fortry
"check-else"
checks thatelse
is on the same line as the closing brace forif
"check-open-brace"
checks that an open brace falls on the same line as its preceding expression."check-whitespace"
checks preceding whitespace for the specified tokens.
quotemark
enforces consistent single or double quoted string literals.radix
enforces the radix parameter ofparseInt
semicolon
enforces semicolons at the end of every statement.sub
disallows object access via string literals.trailing
disallows trailing whitespace at the end of a line.varname
allows only camelCased or UPPER_CASED variable names.whitespace
enforces spacing whitespace. Rule options:"check-branch"
checks branching statements (if
/else
/for
/while
) are followed by whitespace"check-decl"
checks that variable declarations have whitespace around the equals token"check-operator"
checks for whitespace around operator tokens"check-separator"
checks for whitespace after separator tokens (,
/;
)"check-type"
checks for whitespace before a variable type specification
sudo npm install tslint -g
npm install tslint
Please first ensure that the TypeScript source files compile correctly.
usage: tslint
Options:
-c, --config configuration file
-f, --file file to lint [required]
-o, --out output file
-t, --format output format (prose, json) [default: "prose"]
By default, configuration is loaded from .tslintrc
or tslint.json
, if either exists in the current path.
var options = {
formatter: "json",
configuration: configuration
};
var Linter = require("tslint");
var ll = new Linter(fileName, contents, options);
var result = ll.lint();
git clone [email protected]:palantir/tslint.git
cd tslint
git submodule init
git submodule update
npm install
grunt
- Add more rules from jshint
- Disallow variables referenced outside of their scope definition
- Disallow unused variables
- Support pluggable formatters