-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
ts-lint.js
executable file
·49 lines (43 loc) · 1.09 KB
/
ts-lint.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env node
/**
* @license Copyright 2017 Palantir Technologies, Inc. All rights reserved.
* @fileoverview Runs TSLint, with support for generating JUnit report
*/
// @ts-check
"use strict";
const fs = require("fs");
const { run } = require("tslint/lib/runner");
const { Configuration } = require("tslint");
const { junitReportPath } = require("./utils");
let format = "codeFrame";
let out;
let outputStream = process.stdout;
if (process.env.JUNIT_REPORT_PATH != null) {
format = "junit";
out = junitReportPath("tslint");
console.info(`TSLint report will appear in ${out}`);
outputStream = fs.createWriteStream(out, { flags: "w+" });
}
const configFile = Configuration.findConfiguration(null, __dirname).path;
run({
config: configFile,
exclude: [],
files: ["{src,test}/**/*.tsx"],
fix: process.argv.includes("--fix"),
format,
out,
}, {
error(m) {
process.stderr.write(m);
},
log(m) {
outputStream.write(m);
},
})
.then(status => {
process.exitCode = status;
})
.catch(e => {
console.error(e);
process.exitCode = 1;
});