-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathGruntfile.js
122 lines (121 loc) · 4.26 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
module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
clean: {
assets: ['web/assets/dist'],
},
copy: {
fonts: {
files: [
{
expand: true,
cwd: 'node_modules/OswaldFont/fonts/ttf',
dest: 'web/assets/dist/fonts',
src: ['Oswald-Regular.ttf', 'Oswald-Bold.ttf']
},
{
expand: true,
cwd: 'node_modules/bootstrap/fonts',
dest: 'web/assets/dist/fonts',
src: ['**']
}],
},
image: {
files: [
{
expand: true,
cwd: 'web/assets/image',
dest: 'web/assets/dist/image',
src: ['**']
},
{
expand: true,
cwd: 'node_modules/chosen-js/',
dest: 'web/assets/dist/css',
src: ['chosen-sprite.png']
}
]
},
},
cssmin: {
options: {
root: 'web/assets/dist/css/',
report: 'gzip',
keepSpecialComments: 0,
sourceMap: true,
outputSourceFiles: true
},
target: {
files: {
'web/assets/dist/css/vendors.min.css': [
'node_modules/bootstrap/dist/css/bootstrap.min.css',
'node_modules/chosen-js/chosen.min.css',
'node_modules/slabText/css/slabtext.css',
'node_modules/videosjs-assets/dist/video-js.min.css',
'node_modules/videojs-qualityselector/dist/videojs-qualityselector.css'
],
'web/assets/dist/css/app.min.css': [
'web/assets/css/jumbotron-narrow.css',
'web/assets/css/custom.css',
],
}
}
},
uglify: {
options: {
mangle: false,
sourceMap: true,
// sourceMapIncludeSources: true,
},
app: {
files: {
'web/assets/dist/js/app.min.js': [
'web/assets/js/*js',
]
}
},
translation: {
files: [{
expand: true,
cwd: 'web/assets/js/translations/',
src: ['*.js', '!*.min.js'],
dest: 'web/assets/dist/js/translations',
ext: '.min.js'
}]
}
},
concat: {
options: {
separator: grunt.util.linefeed + grunt.util.linefeed,
},
vendors: {
src: [
'node_modules/jquery/dist/jquery.min.js',
'node_modules/bootstrap/dist/js/bootstrap.min.js',
'node_modules/chosen-js/chosen.jquery.min.js',
'node_modules/videosjs-assets/dist/video.min.js',
'node_modules/slabText/js/jquery.slabtext.js',
'vendor/willdurand/js-translation-bundle/Resources/public/js/translator.min.js',
'node_modules/videojs-contrib-hls/dist/videojs-contrib-hls.min.js',
'node_modules/videojs-qualityselector/dist/videojs-qualityselector.js',
],
dest: 'web/assets/dist/js/vendors.min.js'
}
},
watch: {
css: {
files: ['web/assets/css/*.css'],
tasks: ['cssmin']
},
js: {
files: ['web/assets/js/*.js'],
tasks: ['uglify:app']
},
image: {
files: ['web/assets/image/*'],
tasks: ['copy']
},
},
});
grunt.registerTask('default', ["copy", "cssmin", "concat", "uglify"]);
};