1+ var gulp = require ( 'gulp-help' ) ( require ( 'gulp' ) ) ,
2+ gutil = require ( 'gulp-util' ) ,
3+ nodemon = require ( 'gulp-nodemon' ) ,
4+ jshint = require ( 'gulp-jshint' ) ,
5+ stylish = require ( 'jshint-stylish' ) ,
6+ karmaServer = require ( 'karma' ) . Server ;
7+
8+ var envUtil = require ( '../common/env-util' ) ,
9+ browserSync = require ( './build-browser-sync' ) ;
10+
11+ var resources = {
12+ styles : 'public/styles/**/*.less' ,
13+ scripts : 'public/scripts/**/*.js' ,
14+ libs : 'public/libs/**/*.js' ,
15+ jshint : [
16+ 'public/scripts/**/*.js' ,
17+ 'node-app/**/*.js' ,
18+ 'middleware/**/*.js' ,
19+ 'test/**/*.js'
20+ ] ,
21+ views : 'views/**/*.html' ,
22+ images : 'public/images/**/*'
23+ } ;
24+
25+ gulp . task ( 'develop-watch' , [
26+ 'develop-watch-node' ,
27+ 'build-styles'
28+ ] , function ( ) {
29+ gulp . watch ( resources . styles , [ 'build-styles' ] ) ;
30+ gulp . watch ( resources . scripts , [ 'browsersync-reload' ] ) ;
31+ gulp . watch ( resources . libs , [ 'browsersync-reload' ] ) ;
32+ gulp . watch ( resources . jshint , [ 'develop-jshint' ] ) ;
33+ gulp . watch ( resources . views , [ 'browsersync-reload' ] ) ;
34+ gulp . watch ( resources . images , [ 'browsersync-reload' ] ) ;
35+ } ) ;
36+
37+ gulp . task ( 'develop-watch-node' , function ( ) {
38+ nodemon ( {
39+ scripts : 'app.js' ,
40+ env : {
41+ 'NODE_ENV' : 'development'
42+ } ,
43+ ext : 'js' ,
44+ watch : [
45+ 'middleware' ,
46+ 'node-app' ,
47+ 'app.js'
48+ ]
49+ } ) . on ( 'restart' , function ( files ) {
50+ gutil . log ( 'Node server restarted due to: ' , files ) ;
51+ } ) ;
52+ } ) ;
53+
54+ gulp . task ( 'browsersync-reload' , function ( ) {
55+ if ( envUtil . isDevelopment ( ) ) {
56+ browserSync . reload ( ) ;
57+ }
58+ } ) ;
59+
60+ gulp . task ( 'develop-jshint' , function ( ) {
61+ return gulp . src ( resources . jshint )
62+ . pipe ( jshint ( ) )
63+ . pipe ( jshint . reporter ( stylish ) ) ;
64+ } ) ;
65+
66+ gulp . task ( 'develop-tests' , function ( ) {
67+ new karmaServer ( {
68+ configFile : process . cwd ( ) + '/karma.conf.js'
69+ } ) . start ( ) ;
70+ } ) ;
0 commit comments