1 | "use strict";
|
2 |
|
3 | var _fsExtra = require("fs-extra");
|
4 |
|
5 | var _glob = _interopRequireDefault(require("glob"));
|
6 |
|
7 | var _util = require("util");
|
8 |
|
9 | var _consoleApplication = require("./Commons/consoleApplication");
|
10 |
|
11 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12 |
|
13 | const globAsync = (0, _util.promisify)(_glob.default);
|
14 |
|
15 | function getOccurenceCount(regexp, str) {
|
16 | return (str.match(regexp) || []).length;
|
17 | }
|
18 |
|
19 | (0, _consoleApplication.runConsoleApplication)(async () => {
|
20 | const files = await globAsync("**/*.@(ts|tsx)", {
|
21 | ignore: "node_modules/**/*"
|
22 | });
|
23 | let tslintDisableCount = 0;
|
24 | let tsignoreCount = 0;
|
25 |
|
26 | for (const file of files) {
|
27 | const fileContent = await (0, _fsExtra.readFile)(file, "utf8");
|
28 | tslintDisableCount += getOccurenceCount(/tslint\:disable/gi, fileContent);
|
29 | tsignoreCount += getOccurenceCount(/ts-ignore/gi, fileContent);
|
30 | }
|
31 |
|
32 | console.log(`##teamcity[buildStatisticValue key='TsLintDisablesCount' value='${tslintDisableCount}']`);
|
33 | console.log(`##teamcity[buildStatisticValue key='TsIgnoresCount' value='${tsignoreCount}']`);
|
34 | console.log(`##teamcity[buildStatus text='{build.status.text}. TsLintAndTsIgnores: ${tsignoreCount + tslintDisableCount}']`);
|
35 | });
|
36 |
|
\ | No newline at end of file |