/
Gruntfile.js
147 lines (136 loc) · 4.99 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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
var _ = require('underscore');
module.exports = function (grunt) {
"use strict";
var KunstmaanSandboxDemoBundle;
KunstmaanSandboxDemoBundle = {
'js': ['src/Kunstmaan/SandboxDemoBundle/Resources/public/**/*.js', '!src/Kunstmaan/SandboxDemoBundle/Resources/public/vendor/**/*.js', 'Gruntfile.js'],
'scss': ['src/Kunstmaan/SandboxDemoBundle/Resources/public/scss/**/*.scss'],
'twig': ['src/Kunstmaan/SandboxDemoBundle/Resources/views/**/*.html.twig'],
'img': ['src/Kunstmaan/SandboxDemoBundle/Resources/public/img/**/*.{png,jpg,jpeg,gif,webp}'],
'svg': ['src/Kunstmaan/SandboxDemoBundle/Resources/public/img/**/*.svg']
};
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
// KunstmaanSandboxDemoBundle
KunstmaanSandboxDemoBundle_js: {
files: KunstmaanSandboxDemoBundle.js,
tasks: ['modernizr:KunstmaanSandboxDemoBundle', 'jshint:KunstmaanSandboxDemoBundle'],
options: {
nospawn: true,
livereload: true
}
},
KunstmaanSandboxDemoBundle_scss: {
files: KunstmaanSandboxDemoBundle.scss,
tasks: ['modernizr:KunstmaanSandboxDemoBundle'],
options: {
livereload: true
}
},
KunstmaanSandboxDemoBundle_twig: {
files: KunstmaanSandboxDemoBundle.twig,
tasks: ['modernizr:KunstmaanSandboxDemoBundle'],
options: {
livereload: true
}
},
KunstmaanSandboxDemoBundle_images: {
files: KunstmaanSandboxDemoBundle.img,
tasks: ['imagemin:KunstmaanSandboxDemoBundle'],
options: {
event: ['added', 'changed'],
livereload: true
}
},
KunstmaanSandboxDemoBundle_svg: {
files: KunstmaanSandboxDemoBundle.svg,
tasks: ['svg2png:KunstmaanSandboxDemoBundle'],
options: {
event: ['added', 'changed'],
livereload: true
}
},
},
jshint: {
options: {
camelcase: true,
curly: true,
eqeqeq: true,
eqnull: true,
forin: true,
indent: 4,
trailing: true,
undef: true,
browser: true,
devel: true,
node: true,
globals: {
jQuery: true,
$: true
}
},
KunstmaanSandboxDemoBundle: {
files: {
src: KunstmaanSandboxDemoBundle.js
}
}
},
imagemin: {
KunstmaanSandboxDemoBundle: {
options: {
optimizationLevel: 3,
progressive: true
},
files: [{
expand: true,
cwd: 'src/Kunstmaan/SandboxDemoBundle/Resources/public/img',
src: '**/*.{png,jpg,jpeg,gif,webp}',
dest: 'src/Kunstmaan/SandboxDemoBundle/Resources/public/img'
}]
}
},
svg2png: {
KunstmaanSandboxDemoBundle: {
files: [{
src: KunstmaanSandboxDemoBundle.svg
}]
}
},
modernizr: {
KunstmaanSandboxDemoBundle: {
files: {
dev: "remote",
src: _.union(KunstmaanSandboxDemoBundle.js, KunstmaanSandboxDemoBundle.scss, KunstmaanSandboxDemoBundle.twig),
dest: "src/Kunstmaan/SandboxDemoBundle/Resources/public/vendor/modernizr/modernizr-custom.js"
},
parseFiles: true,
extra: {
"shiv" : true,
"printshiv" : false,
"load" : true,
"mq" : false,
"cssclasses" : true
},
extensibility: {
"addtest" : false,
"prefixed" : false,
"teststyles" : false,
"testprops" : false,
"testallprops" : false,
"hasevents" : false,
"prefixes" : false,
"domprefixes" : false
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-svg2png');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks("grunt-modernizr");
grunt.loadNpmTasks('grunt-notify');
grunt.registerTask('default', ['build']);
grunt.registerTask('build', ['modernizr']);
};