karma-tslint
v1.3.0
Published
Adapter for the Tslint, linter for the TypeScript language.
Downloads
118
Maintainers
Readme
Karma tslint plugin
Adapter for the Tslint, linter for the TypeScript language.
Warning: Tslint soon will be deprecated (Roadmap: TSLint → ESLint), karma-tslint will continue to be updated accordingly.
Install
$ yarn add karma-tslint tslint --dev
Or
$ npm install karma-tslint tslint --save-dev
Use
// karma.conf.ts
import { ITslintPreprocessorConfig } from 'karma-tslint';
export = (config: any) => {
config.set({
files: [
'**/*.ts'
],
preprocessors: {
'**/*.ts': ['tslint']
},
tslintPreprocessor: {
configuration: 'default',
formatter: 'prose',
formattersDirectory: 'formatters-dir',
rulesDirectory: 'rules-dir',
stopOnFailure: true,
fix: true
} as ITslintPreprocessorConfig
});
};
ITslintPreprocessorConfig
configuration:
- tslint.Configuration.IConfigurationFile - object type tslint config file.
- string - path of 'tslint.json' file or tslint preset 'tslint:{all,latest,recommended}'.
- 'default' - default tslint config. // @deprecated(use 'tslint:recommended' instead)
- undefined (default) - auto search for 'tslint.json' file.
formatter:
- TFormatter - 'checkstyle' | 'codeFrame' | 'filesList' | 'json' | 'junit' | 'msbuild' | 'pmd' | 'prose' | 'stylish' | 'tap' | 'verbose' | 'vso' | string | FormatterConstructor;
- undefined (default) - 'stylish'
formattersDirectory
- string - formatters directory
- undefined (default) - 'node_modules/tslint/build/formatters'
rulesDirectory
- string | string[] - rules directory
- undefined (default) - 'node_modules/tslint/lib/rules'
stopOnFailure:
- boolean - if karma should stop on tslint failure
- undefined (default) - true
fix
- boolean - if tslint should be fix errors
- undefined (default) - false
project - for rules that need typescript
program
- string - path to 'tsconfig.json' file or to the directory containing the 'tsconfig.json' file
- undefined (default) - run without
typescript
program
Karma plugins option
In most cases, you do not have to explicitly declare plugins
option in the karma config, Because by default, Karma loads all sibling NPM modules which have a name starting with karma-* (karma docs).
But if necessary, add 'karma-tslint'
to the plugins list.
// karma.conf.ts
export = (config: any) => {
config.set({
// ...
plugins: [
'karma-tslint',
// ...
]
});
};
Examples
You can see usage examples in the "examples" folder in the source code.
License
Copyright © 2017 Yisrael Eliav, Licensed under the MIT license.