-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
55 lines (50 loc) · 1.72 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
(function (isRelease, shouldWatch) {
var gulp = require('gulp');
var gulpWatch = require('gulp-watch');
var del = require('del');
var runSequence = require('run-sequence');
// Require tasks in 'gulptasks' folder
['systemjs-build', 'static-bundle', 'compile-tsc', 'app-bundle', 'build-js']
.forEach(function (task) {
require('./gulptasks/'+task+'.js')(gulp, isRelease);
});
// Default ionic hooks
gulp.task('serve:before', ['watch']);
gulp.task('emulate:before', ['build']);
gulp.task('deploy:before', ['build']);
gulp.task('build:before', ['build']);
gulp.task('run:before', [shouldWatch ? 'watch' : 'build']);
// Default ionic tasks
var buildSass = require('ionic-gulp-sass-build');
var copyFonts = require('ionic-gulp-fonts-copy');
gulp.task('sass', buildSass);
gulp.task('fonts', copyFonts);
gulp.task('clean', function () {
return del('www/build');
});
// Watch task
gulp.task('watch', ['clean'], function (done) {
runSequence(
['sass', 'fonts', 'build-js'],
function () {
gulpWatch('app/**/*.scss', function () {
gulp.start('sass');
});
gulpWatch(['app/**/*.html', 'app/**/*.ts'], function () {
gulp.start('build-js')
});
done();
}
);
});
// Build task
gulp.task('build', ['clean'], function (done) {
runSequence(
['sass', 'fonts', 'build-js'],
function () { done(); }
);
});
})(
process.argv.indexOf('--release') > -1,
process.argv.indexOf('-l') > -1 || process.argv.indexOf('--livereload') > -1
);