A linter for the TypeScript language.
bitwisedisallows bitwise operators.classnameenforces PascalCased class and interface names.curlyenforces braces forif/for/do/whilestatements.debugdisallowsdebuggerstatements.dupkeydisallows duplicate keys in object literals.eoflineenforces the file to end with a newline.eqeqeqenforces === and !== in favor of == and !=.evildisallowsevalfunction invocations.forinenforces afor ... instatement to be filtered with anifstatement.*indentenforces consistent indentation levels (currently disabled).labelposenforces labels only on sensible statements.label-undefinedchecks that labels are defined before usage.maxlensets the maximum length of a line.noargdisallows access toarguments.callee.noconsoledisallows access to the specified properties onconsole. Rule options are properties to ban on the console variable.noconstructdisallows access to the constructors ofString,Number, andBoolean.nounreachabledisallows unreachable code afterbreak,catch,throw, andreturnstatements.noemptydisallows empty blocks.onelineenforces the specified tokens to be on the same line as the expression preceding it. Rule options:"check-catch"checks thatcatchis on the same line as the closing brace fortry"check-else"checks thatelseis 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.
quotemarkenforces consistent single or double quoted string literals.radixenforces the radix parameter ofparseIntsemicolonenforces semicolons at the end of every statement.subdisallows object access via string literals.trailingdisallows trailing whitespace at the end of a line.varnameallows only camelCased or UPPER_CASED variable names.whitespaceenforces 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 git@github.com: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