-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
55 lines (47 loc) · 1.46 KB
/
gulpfile.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
50
51
52
53
54
55
/// <binding Clean='clean' />
"use strict";
var gulp = require("gulp"),
ts = require("gulp-typescript"),
concat = require("gulp-concat"),
clean = require("gulp-clean"),
gseq = require("gulp-sequence"),
tslint = require("gulp-tslint"),
tsng = require("./"),
tslintConfig = require("./tslint.json");
gulp.task("tslint", function () {
return gulp.src(["example/src/**/*.ts", "!example/src/**/*.d.ts"], {
base: "example/src"
})
.pipe(tslint(tslintConfig))
.pipe(tslint.report("prose"));
});
gulp.task("tsng", function () {
return gulp.src(["example/src/**/*.ts", "!example/src/**/*.d.ts"], {
base: "example/src"
})
.pipe(tsng())
.pipe(gulp.dest('example/out/'));
});
gulp.task("ts", function () {
return gulp.src(["example/out/**/*.ts", "!example/out/**/*.d.ts"], {
base: "example/out"
})
.pipe(ts({
noImplicitAny: true,
out: 'app.js'
}))
.pipe(gulp.dest("example/src/js"));
});
gulp.task("clean:tsng", function () {
return gulp.src("example/out")
.pipe(clean({force: true}));
});
gulp.task("compile:watcher", function (cb) {
gseq("tslint", "tsng", "ts")(cb);
});
gulp.task("watch", function () {
gulp.watch(["example/src/**/*.ts", "!example/src/**/*.d.ts"], ["compile:watcher"]);
});
gulp.task("compile", gseq("tslint", "tsng", "ts"));
gulp.task("test", ["compile"]);
gulp.task("default", ["compile"]);