mocha-tslint
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.
Installation
You can installmocha-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).Usage
After mocha-tslint is installed, you can use it by creating a test file for Mocha and requiringmocha-tslint
like so:var lint = require('mocha-tslint');
This will return a function with the signature:
lint(configFilePath, pathsToLint)
configFilePath
: the path to yourtslint.json
from your project's top
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';
lint(configFilePath);
If you only want to lint files placed in
src/
and test/
:
var lint = require('mocha-tslint');
var configFilePath = './tslint.json';
var folders = [
'src',
'test'
];
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
Notes
This module does not make any decisions about which TSLint rules to run. You need atslint.json
file in order for this module to work at all.