1
+ var gulp = require ( 'gulp' ) ,
2
+ livereload = require ( 'gulp-livereload' ) ,
3
+ watch = require ( 'gulp-watch' ) ,
4
+ open = require ( 'open' ) ,
5
+ plumber = require ( 'gulp-plumber' ) ,
6
+ runSequence = require ( 'run-sequence' ) ,
7
+ assets = require ( 'gulp-assets' ) ,
8
+ clean = require ( 'gulp-clean' ) ,
9
+ nodemon = require ( 'gulp-nodemon' ) ;
10
+
11
+ var IN = "working/" ,
12
+ OUT = "build/" ;
13
+ gulp . task ( 'css' , function ( ) {
14
+ return gulp . src ( IN + "index.html" )
15
+ . pipe ( plumber ( ) )
16
+ . pipe ( assets . css ( ) )
17
+ . pipe ( gulp . dest ( OUT ) ) ;
18
+ } ) ;
19
+
20
+ gulp . task ( 'clean' , function ( ) {
21
+ return gulp . src ( OUT )
22
+ . pipe ( clean ( ) ) ;
23
+ } )
24
+
25
+ gulp . task ( 'openBrowser' , function ( ) {
26
+ var port = process . env . PORT || 8000 ;
27
+ open ( 'http://localhost:' + port + '#/home' ) ;
28
+ } )
29
+
30
+ gulp . task ( 'run' , function ( ) {
31
+ nodemon ( {
32
+ script : 'server/server.js' ,
33
+ watch : 'server/' ,
34
+ ignore : [ 'server/grammar.js' ] ,
35
+ env : { 'NODE_ENV' : 'development' }
36
+ } ) ;
37
+ } )
38
+
39
+ gulp . task ( 'html' , function ( ) {
40
+ return gulp . src ( IN + "**/*.html" )
41
+ . pipe ( plumber ( ) )
42
+ . pipe ( gulp . dest ( OUT ) ) ;
43
+ } )
44
+
45
+ gulp . task ( 'js' , function ( ) {
46
+ return gulp . src ( IN + "index.html" )
47
+ . pipe ( plumber ( ) )
48
+ . pipe ( assets . js ( ) )
49
+ . pipe ( gulp . dest ( OUT ) ) ;
50
+ } ) ;
51
+
52
+ gulp . task ( 'build' , [ 'css' , 'js' , 'html' ] ) ;
53
+
54
+ gulp . task ( 'livereload' , function ( ) {
55
+ livereload . listen ( ) ;
56
+ gulp . watch ( IN + "**/*" , [ "build" ] ) ;
57
+ gulp . watch ( OUT + "**/*" , livereload . changed ) ;
58
+ } )
59
+
60
+ gulp . task ( 'dev' , function ( ) {
61
+
62
+ return runSequence ( 'clean' , 'openBrowser' , 'run' , 'build' , 'livereload' ) ;
63
+ } )
0 commit comments