-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
88 lines (76 loc) · 2.33 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
var gulp = require('gulp');
var exec = require('child_process').exec;
var clean = require('gulp-clean');
var gulpSequence = require('gulp-sequence');
var tslint = require("gulp-tslint");
gulp.task('default', gulpSequence('tslint', 'clean', 'compile', 'copy', 'copy-migrations', 'copy-assets'));
gulp.task('start-app', gulpSequence('default', 'start'));
gulp.task('tslint', function () {
return gulp.src(['./**/*.ts', '!./node_modules/**', '!./typings/**'])
.pipe(tslint({
configuration: "./tslint.json"
}))
.pipe(tslint.report({
summarizeFailureOutput: true
}));
});
gulp.task('copy', function (done) {
return gulp.src(['./**/*.json', './Procfile', './**/*.wsdl', '!./dist/**/*.wsdl', './**/*.docx', '!./dist/**/*.docx'])
.pipe(gulp.dest('./dist'));
});
gulp.task('copy-migrations', function (done) {
return gulp.src(['./migrations/*.js'])
.pipe(gulp.dest('./dist/migrations'));
});
gulp.task('copy-assets', function (done) {
return gulp.src(['./assets/**'])
.pipe(gulp.dest('./dist/assets'));
});
gulp.task('clean', function () {
return gulp.src(['./dist/*'])
.pipe(clean());
});
gulp.task('start', function (done) {
exec('nodemon --delay 1000ms dist/index', function (err, stdOut, stdErr) {
console.log(stdOut);
if (err) {
done(err);
} else {
done();
}
});
console.log('Server started!');
gulp.watch([
'./**/*.ts',
'!./node_modules/**/*.ts',
'!./typings/**/*.ts'
], ['compile', 'copy']);
console.log('Watcher activated!');
});
gulp.task('compile', function (done) {
exec('tsc', function (err, stdOut, stdErr) {
console.log(stdOut);
if (err) {
done(err);
} else {
done();
}
});
});
/** PREPARE HEROKU DEPLOY PACKAGE TASKS **/
gulp.task('deploy', gulpSequence('deploy-clean', 'deploy-copy'));
gulp.task('deploy-clean', function () {
return gulp.src(['./deploy/*',])
.pipe(clean());
});
gulp.task('deploy-copy', function () {
return gulp.src([
'!./dist/dist/',
'!./dist/dist/**',
'!./dist/node_modules/',
'!./dist/node_modules/**',
'!./dist/deploy/',
'!./dist/deploy/**',
'./dist/**'])
.pipe(gulp.dest('./deploy'));
});