forked from alexzywiak/spartecipes
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathGruntfile.js
91 lines (78 loc) · 2.16 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
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
files: ['Gruntfile.js', 'client/**/*.js', 'server/**/*.js'],
options: {
ignores: ['client/lib/**/*']
}
},
// Injects all bower dependencies into index.html
// Injects between <!-- bower:css / js --><!-- endbower -->
wiredep: {
task :{
src: ['client/index.html']
}
},
// Remove all files from the dist folder
clean: ['client/dist/**/*'],
concat: {
options: {
separator: ';'
},
dist: {
files: {
// Concat all js files in client
'client/dist/scripts/app.js': ['client/app/**/*.js'],
}
}
},
uglify: {
dist: {
files: {
// Minify concatenated files
'client/dist/scripts/app.min.js': ['client/dist/scripts/app.js'],
}
}
},
cssmin: {
target: {
files: {
'client/dist/styles/style.min.css': ['client/styles/**/*.css']
}
}
},
watch: {
files: ['<%= jshint.files %>', 'client/**/*.css', '!client/dist/**'],
tasks: ['build']
}
});
// Load NPM Tasks
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-nodemon');
grunt.loadNpmTasks('grunt-wiredep');
// Register Grunt Tasks
// Runs jshint, concats and minifies js and css to dist folder.
grunt.registerTask('build', [
'clean',
'jshint',
'wiredep',
'concat',
'uglify',
'cssmin',
]);
// Grunt Task
grunt.registerTask('default', ['build', 'watch']);
// Register tasks for buildpack on heroku deploy
// https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt
// Change ENV vars: heroku config:set NODE_ENV=production
// Development Tasks
grunt.registerTask('heroku:development', ['build']);
// Production Tasks
grunt.registerTask('heroku:production', ['build']);
};