Run TSLint as mocha tests

Downloads in past


650.3.07 years ago7 years agoMinified + gzip package size for mocha-tslint in KB


A simple way to run TSLint in your Mocha tests without a task runner like Grunt or Gulp.
Inspired by mocha-jshint and mocha-eslint.


You can install mocha-tslint into your Node.js project as a development dependency with:
npm install --save-dev mocha-tslint

mocha-tslint requires the consuming module to have mocha, tslint and typescript as dependencies. This way the consuming application can decide which version to use (currently supported versions are TSLint 4.x, 5.x and Typescript 2.x).


After mocha-tslint is installed, you can use it by creating a test file for Mocha and requiring mocha-tslint like so:
var lint = require('mocha-tslint');

This will return a function with the signature:
lint(configFilePath, pathsToLint)

  • configFilePath: the path to your tslint.json from your project's top
level directory
  • pathsToLint: This can either be a string, an array of strings or it can
be left off
If left off, linting will be done from the directory of your tslint.json If you put in a string or an array of strings you can define which folders
to lint.
So, a full test file to run in Mocha might look like:
var lint = require('mocha-tslint');
var configFilePath = './tslint.json';


If you only want to lint files placed in src/ and test/:
var lint = require('mocha-tslint');
var configFilePath = './tslint.json';
var folders = [

lint(configFilePath, folders);

If you only want to lint all files that are in a folder placed in src/:
var lint = require('mocha-tslint');
var configFilePath = './tslint.json';

lint(configFilePath, 'src/*'); // src/foo.ts won't be linted, but src/foo/bar.ts will be


This module does not make any decisions about which TSLint rules to run. You need a tslint.json file in order for this module to work at all.