-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
60 lines (53 loc) · 1.23 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
var gulp = require('gulp'),
nodemon = require('gulp-nodemon'),
webserver = require('gulp-webserver'),
plumber = require('gulp-plumber'),
babel = require('gulp-babel'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
rename = require('gulp-rename'),
browserify = require('gulp-browserify');
babelify = require('babelify'),
del = require('del'),
gulpIf = require('gulp-if'),
watchGlob = ['server', 'client/**!(bundle*)/*'];
function transpile(inDev){
console.log('TRANSPILING');
gulp.src(__dirname + '/client/app.js')
.pipe(plumber())
.pipe(babel({
presets:['es2015'],
code:true
}))
.pipe(browserify({
insertGlobals : true,
transform:['babelify']
}))
.pipe(concat('bundle.js'))
.pipe(gulpIf(!inDev, uglify({
mangle:false
})))
.pipe(rename({
suffix:'.min'
}))
.pipe(gulp.dest('client'));
};
function deleteBundle(){
console.log('DELETING BUNDLE');
del.sync('./client/bundle*.js' );
}
gulp.task('server', function(){
nodemon({
script: 'server/index.js',
watch: watchGlob
}).on('start',function(){
deleteBundle();
transpile(true);
});
});
gulp.task('build', function(){
deleteBundle();
transpile();
});
gulp.task('serve', ['server']);
gulp.task('default', ['build']);