-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntFile.js
117 lines (95 loc) · 2.75 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
module.exports = function(grunt) {
// Configuration goes here
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
htmlhint: {
build: {
options: {
'tag-pair': true,
'tagname-lowercase': true,
'attr-lowercase': true,
'attr-value-double-quotes': true,
'doctype-first': true,
'spec-char-escape': true,
'id-unique': true,
'head-script-disabled': true,
'style-disabled': true
},
src: ['index.html']
}
},
jshint: {
// define the files to lint
files: ['gruntfile.js', 'js/*.js'],
// configure JSHint (documented at http://www.jshint.com/docs/)
options: {
// more options here if you want to override JSHint defaults
globals: {
jQuery: true,
console: true,
module: true
}
}
},
concat: {
options: {
// define a string to put between each file in the concatenated output
separator: ';'
},
dist: {
// the files to concatenate
src: ['js/*.js'],
// the location of the resulting JS file
dest: 'js/build/production.js'
}
},
uglify: {
dist: {
files: {
'js/build/production.js': ['<%= concat.dist.dest %>']
}
}
},
compass: { // Task
dist: { // Target
options: { // Target options
sassDir: 'sass',
cssDir: 'css',
environment: 'production'
}
},
dev: { // Another target
options: {
sassDir: 'sass',
cssDir: 'css',
sourcemap: true,
debugInfo: true,
watch: false,
environment: 'development'
}
}
},
watch: {
html: {
files: ['*.html'],
tasks: ['htmlhint']
},
js: {
files: ['js/*'],
tasks: ['jshint']
},
sass: {
files: ['sass/*.scss'],
tasks: ['compass:dev']
},
options: {
livereload: 35729,
spawn: false // false is much faster but is not as stable/reliable
}
}
});
require('load-grunt-tasks')(grunt), // Loads all defined grunt tasks
// Define your tasks here
grunt.registerTask('default', ['htmlhint', 'compass:dev', /*'jshint',*/ 'watch']);
grunt.registerTask('dist', ['uglify:dist', 'compass:dist', 'concat:dist']);
};