initial commit
This commit is contained in:
222
node_modules/gulp-tslint/README.md
generated
vendored
Normal file
222
node_modules/gulp-tslint/README.md
generated
vendored
Normal file
@@ -0,0 +1,222 @@
|
||||
gulp-tslint
|
||||
===========
|
||||
|
||||
[](https://travis-ci.org/panuhorsmalahti/gulp-tslint)
|
||||
[](https://david-dm.org/panuhorsmalahti/gulp-tslint)
|
||||
|
||||
TypeScript linter plugin for Gulp.
|
||||
|
||||
|
||||
First install gulp-tslint
|
||||
```shell
|
||||
npm install --save-dev gulp-tslint
|
||||
```
|
||||
|
||||
##### Peer dependencies
|
||||
|
||||
The `tslint` module is a peer dependency of `gulp-tslint`, which allows you to update tslint independently from gulp-tslint. gulp-tslint requires TypeScript version >=2 and tslint version >=4.
|
||||
|
||||
Usage:
|
||||
```javascript
|
||||
// Importing in ES6
|
||||
import tslint from "gulp-tslint";
|
||||
|
||||
// or requiring in ES5
|
||||
var tslint = require("gulp-tslint");
|
||||
|
||||
gulp.task("tslint", () =>
|
||||
gulp.src("source.ts")
|
||||
.pipe(tslint({
|
||||
formatter: "verbose"
|
||||
}))
|
||||
.pipe(tslint.report())
|
||||
);
|
||||
```
|
||||
|
||||
Types should work automatically.
|
||||
|
||||
**tslint.json** is attempted to be read from near the input file.
|
||||
It **must be available** or supplied directly through the options.
|
||||
|
||||
Failures generated by TSLint are added to `file.tslint`.
|
||||
|
||||
The format in which failures are outputted may be controlled by specifying a TSLint formatter.
|
||||
The default formatter is "prose".
|
||||
The available formatters include:
|
||||
|
||||
* "json" prints stringified JSON to console.log.
|
||||
* "prose" prints short human-readable failures to console.log.
|
||||
* "verbose" prints longer human-readable failures to console.log.
|
||||
* "msbuild" for Visual Studio
|
||||
* "vso" outputs failures in a format that can be integrated with Visual Studio Online.
|
||||
* "checkstyle" for the Checkstyle development tool
|
||||
* "pmd" for the PMD source code analyzer
|
||||
* "stylish" human-readable formatter which creates stylish messages.
|
||||
|
||||
Custom [TSLint formatters](https://palantir.github.io/tslint/develop/custom-formatters/) may also be
|
||||
used by specifying the `formatter` and `formattersDirectory` properties on the options passed to
|
||||
`gulp-tslint`.
|
||||
|
||||
If upgrading to gulp-tslint v6.0.0 or greater, it should be noted that reporters have been removed
|
||||
in favour of using TSLint formatters directly. If you were previously specifying a reporter in calls
|
||||
to `.report()`, these should be removed and instead `formatter` should be specified in calls to
|
||||
`gulp-tslint`.
|
||||
|
||||
If there is at least one failure a PluginError is emitted after execution of the reporters:
|
||||
```javascript
|
||||
[gulp] Error in plugin 'gulp-tslint': Failed to lint: input.ts
|
||||
```
|
||||
|
||||
You can prevent emiting the error by setting emitError in report options to false.
|
||||
|
||||
```javascript
|
||||
gulp.task("invalid-noemit", () =>
|
||||
gulp.src("input.ts")
|
||||
.pipe(tslint({
|
||||
formatter: "prose"
|
||||
}))
|
||||
.pipe(tslint.report({
|
||||
emitError: false
|
||||
}))
|
||||
);
|
||||
```
|
||||
|
||||
You can summarize the gulp error message to the number of errors by setting summarizeFailureOutput in report options.
|
||||
|
||||
```javascript
|
||||
gulp.task("invalid-noemit", () =>
|
||||
gulp.src("input.ts")
|
||||
.pipe(tslint({
|
||||
formatter: "prose"
|
||||
}))
|
||||
.pipe(tslint.report({
|
||||
summarizeFailureOutput: true
|
||||
}))
|
||||
);
|
||||
```
|
||||
|
||||
tslint.json can be supplied as a parameter by setting the configuration property.
|
||||
```javascript
|
||||
gulp.task("tslint-json", () =>
|
||||
gulp.src("input.ts")
|
||||
.pipe(tslint({
|
||||
configuration: {
|
||||
rules: {
|
||||
"class-name": true,
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}))
|
||||
.pipe(tslint.report())
|
||||
);
|
||||
```
|
||||
|
||||
You can also supply a file path to the configuration option, and the file name
|
||||
doesn't need to be tslint.json.
|
||||
|
||||
```javascript
|
||||
.pipe(tslint({
|
||||
// contains rules in the tslint.json format
|
||||
configuration: "source/settings.json"
|
||||
}))
|
||||
```
|
||||
|
||||
Report limits
|
||||
-------------
|
||||
|
||||
You can optionally specify a report limit in the .report options that will turn off reporting for files after the limit has been reached. If the limit is 0 or less, the limit is ignored, which is the default setting.
|
||||
|
||||
```javascript
|
||||
gulp.task("tslint", () =>
|
||||
gulp.src(["input.ts",])
|
||||
.pipe(tslint({
|
||||
formatter: "prose"
|
||||
}))
|
||||
.pipe(tslint.report({
|
||||
reportLimit: 2
|
||||
}))
|
||||
);
|
||||
```
|
||||
|
||||
Allowing Warnings
|
||||
-----------------
|
||||
|
||||
TSLint 5.0 introduced support for a "warning" severity for linting errors. By default, warnings cause `gulp-tslint` to emit an error to maintain backwards-compatibility with previous versions. To let the build succeed in the presence of warnings, use the `allowWarnings` report option.
|
||||
|
||||
```javascript
|
||||
gulp.task("tslint", () =>
|
||||
gulp.src("input.ts")
|
||||
.pipe(tslint({
|
||||
formatter: "prose"
|
||||
}))
|
||||
.pipe(tslint.report({
|
||||
allowWarnings: true
|
||||
}))
|
||||
);
|
||||
```
|
||||
|
||||
Specifying the tslint module
|
||||
----------------------------
|
||||
|
||||
If you want to use a different version of tslint, you can supply it with the `tslint` option.
|
||||
|
||||
```bash
|
||||
npm install tslint@next
|
||||
```
|
||||
|
||||
```javascript
|
||||
.pipe(tslint({
|
||||
tslint: require("tslint")
|
||||
}));
|
||||
```
|
||||
|
||||
Type checked rules
|
||||
------------------
|
||||
|
||||
Type checked rules require a TypeScript program object to be provided to the linter in the options. For more information see tslint documentation.
|
||||
|
||||
```javascript
|
||||
var gulpTslint = require("gulp-tslint");
|
||||
var tslint = require("tslint");
|
||||
|
||||
// NOTE: Ensure 'Linter.createProgram' is called inside the gulp task else the contents of the files will be cached
|
||||
// if this tasks is called again (eg. as part of a 'watch' task).
|
||||
gulp.task('lint', function() {
|
||||
var program = tslint.Linter.createProgram("./tsconfig.json");
|
||||
|
||||
return gulp.src('src/**/*.ts', { base: '.' })
|
||||
.pipe(gulpTslint({ program }));
|
||||
}
|
||||
```
|
||||
|
||||
All default tslint options
|
||||
--------------------------
|
||||
|
||||
```javascript
|
||||
const tslintOptions = {
|
||||
configuration: {},
|
||||
fix: false,
|
||||
formatter: "prose",
|
||||
formattersDirectory: null,
|
||||
rulesDirectory: null,
|
||||
tslint: null,
|
||||
program: null
|
||||
};
|
||||
```
|
||||
|
||||
All default report options
|
||||
--------------------------
|
||||
|
||||
```javascript
|
||||
const reportOptions = {
|
||||
emitError: true,
|
||||
reportLimit: 0,
|
||||
summarizeFailureOutput: false,
|
||||
allowWarnings: false
|
||||
};
|
||||
```
|
||||
|
||||
Development
|
||||
===========
|
||||
|
||||
Fork this repository, run npm install and send pull requests. The project can be build with ``gulp`` command.
|
||||
Reference in New Issue
Block a user