Skip to content

Commit d942e7b

Browse files
author
Giedrius Grabauskas
committed
Created program for tslint.
1 parent 4ff11b4 commit d942e7b

3 files changed

Lines changed: 26 additions & 16 deletions

File tree

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,38 @@
11
import * as gulp from "gulp";
22
import { BuilderBase } from "../builder-base";
3-
import tslint from "gulp-tslint";
3+
import gulpTsLint from "gulp-tslint";
4+
import * as tslint from "tslint";
45
import { TsLintFormatter } from "./tslint-formatter";
56
import { Paths } from "../../paths/paths";
67
import * as cache from "gulp-cached";
78
import { LoggerInstance } from "../../utils/logger";
9+
// import { TypescriptBuilder } from "../typescript/typescript-builder";
10+
import { Configuration } from "../../configuration/configuration";
11+
import * as ts from "typescript";
812

9-
export class TslintBuilder extends BuilderBase<void> {
10-
protected build(production: boolean, builder: void, done: () => void) {
11-
13+
export class TslintBuilder extends BuilderBase<ts.Program> {
14+
protected build(production: boolean, builder: ts.Program, done: () => void) {
1215
gulp.src([
1316
Paths.Builders.AllFiles.InSourceApp(".ts*"),
1417
`!${Paths.Builders.AllFiles.InSourceApp("d.ts")}`
1518
])
1619
.pipe(cache("scripts.tslint"))
17-
.pipe(tslint({
18-
formatter: TsLintFormatter
20+
.pipe(gulpTsLint({
21+
formatter: TsLintFormatter,
22+
program: builder
1923
}))
2024
.on("end", done);
2125
}
2226

23-
private isInfoMessagePrinted = false;
24-
25-
protected initBuilder(production: boolean) {
26-
if (!this.isInfoMessagePrinted) {
27-
this.isInfoMessagePrinted = true;
28-
const { Linter } = require("tslint");
29-
LoggerInstance.withType("TSLint").info(`Using TSLint@${Linter.VERSION}`);
27+
protected initBuilder(production: boolean): ts.Program {
28+
LoggerInstance.withType("TSLint").info(`Using TSLint@${tslint.Linter.VERSION}`);
29+
let configurationFile: string;
30+
if (production) {
31+
configurationFile = Configuration.GulpConfig.TypeScriptConfig.Production;
32+
} else {
33+
configurationFile = Configuration.GulpConfig.TypeScriptConfig.Development;
3034
}
31-
return;
35+
return tslint.Linter.createProgram(configurationFile);
3236
}
3337

3438
}

src/builders/typescript/typescript-builder.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { TypescriptBuilderCompiler } from "./typescript-builder-compiler";
77
import * as cache from "gulp-cached";
88
import { Reporter } from "./typescript-reporter";
99

10-
export class TypescriptBuilder extends BuilderBase<TypescriptBuilderCompiler> {
10+
class TypescriptBuilderClass extends BuilderBase<TypescriptBuilderCompiler> {
1111

1212
private reporter = new Reporter();
1313

@@ -37,6 +37,10 @@ export class TypescriptBuilder extends BuilderBase<TypescriptBuilderCompiler> {
3737
}
3838
}
3939

40+
public GetBuilder(production: boolean) {
41+
return this.getBuilder(production);
42+
}
43+
4044
private get directories() {
4145
return Configuration.GulpConfig.Directories;
4246
}
@@ -45,3 +49,5 @@ export class TypescriptBuilder extends BuilderBase<TypescriptBuilderCompiler> {
4549
return Configuration.GulpConfig.TypeScriptConfig;
4650
}
4751
}
52+
53+
export const TypescriptBuilder = new TypescriptBuilderClass();

src/tasks/build/tasks/build-scripts/tasks/build-scripts-typescript-task.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { TypescriptBuilder } from '../../../../../builders/typescript/typescript
33

44
export class BuildScriptsTypeScriptTask extends TaskBase {
55

6-
Builder = new TypescriptBuilder();
6+
Builder = TypescriptBuilder;
77

88
Name = "Build.Scripts.Typescript";
99

0 commit comments

Comments
 (0)