-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
37 lines (30 loc) · 936 Bytes
/
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
const gulp = require("gulp");
const del = require("del");
const ts = require("gulp-typescript");
const tslint = require("gulp-tslint");
const webpack = require("webpack-stream");
gulp.task("clean", () => {
return del("dist");
});
gulp.task("ts:lint", () => {
const tsProject = ts.createProject("tsconfig.json");
return tsProject.src()
.pipe(tslint({
"configuration": "tslint.json"
}))
.pipe(tslint.report());
});
gulp.task("ts:compile", () => {
return gulp.src("src/app.ts")
.pipe(webpack(require("./webpack.config.js")))
.pipe(gulp.dest("dist/"));
});
gulp.task("static:copy", () => {
return gulp.src("static/**")
.pipe(gulp.dest("dist/"));
});
gulp.task("build", ["ts:compile", "static:copy"]);
gulp.task("watch", ["build"], () => {
gulp.watch(["src/**/*.ts", "static/**"], ["build"]);
});
gulp.task("default", ["clean", "ts:lint", "build"]);