forked from fafrifa/movie_demo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gruntfile.js
132 lines (109 loc) · 2.07 KB
/
gruntfile.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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
module.exports = function(grunt){
//Project config
grunt.initConfig({
//--- watch
watch:{
jade:{
files:['views/**'],
options:{
livereload:true
}
},
js:{
files:['public/assets/js/**','app/models/**/*.js'],
options:{
livereload:true
}
},
uglify:{
files:['public/**/*.js'],
tasks:['jshint'],
options:{
livereload:true
}
},
styles:{
files:['public/**/*.less'],
tasks:['less'],
options:{
nospawn:true
}
}
},
//--- jshint
jshint:{
options:{
jshintrc:'.jshintrc',
ignores:['public/assets/libs/**/*.js']
},
all: ['public/assets/js/*.js','test/**/*.js','app/**/*.js','app.js']
},
//--- less
less:{
development:{
options:{
compress:true,
yuicompress:true,
optimization:2
},
files:{
'public/build/index.css':'public/assets/css/index.less'
}
}
},
//--- uglify
uglify:{
development:{
files:{
'public/build/admin.min.js':'public/assets/js/main.js',
// detail.js
}
}
},
//--- nodemon
nodemon:{
dev:{
options:{
file:'app.js',
args:[],
ignoredFiles:['README.md','node_modules/**','.DS_Store'],
watchedExtensions:['js'],
watchedFolder:['./'],
debug:true,
delayTime:1,
env:{
PORT:3000
},
cwd:__dirname
}
}
},
//--- mochaTest
mochaTest:{
options:{
reporter:'spec'
},
src:['test/**/*.js']
},
//--- concurrent
concurrent:{
// miss uglify
tasks:['nodemon','watch','less','jshint'],
options:{
logConcurrentOutput:true
}
}
});
// Load plugins
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-mocha-test');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Default tasks
grunt.option('force',true);
grunt.registerTask('default',['concurrent']);
grunt.registerTask('test',['mochaTest']);
}