-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
138 lines (127 loc) · 3.34 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
module.exports = function (grunt) {
var target = 'vendor/target';
var bower = 'vendor/bower';
var lib = 'htdocs/lib';
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
libDir: lib,
bowerDir: bower,
targetDir: target,
buildDir: target + '/build',
workDir: target + '/work',
clean: {
target: [ '<%= targetDir %>' ],
work: [ '<%= workDir %>' ]
},
copy: {
jquery: {
src: '<%= bowerDir %>/jquery/dist/jquery.min.js',
dest: '<%= workDir %>/jquery.min.js'
},
jqueryUi: {
files: [
{
src: '<%= bowerDir %>/jquery-ui/themes/base/minified/jquery-ui.min.css',
dest: '<%= buildDir %>/jquery-ui/base/jquery-ui.min.css'
},
{
expand: true,
cwd: '<%= bowerDir %>/jquery-ui/themes/base/minified/images',
src: '**',
dest: '<%= buildDir %>/jquery-ui/base/images/'
},
{
expand: true,
cwd: 'resources/themes',
src: '**',
dest: '<%= buildDir %>/jquery-ui/'
}
]
},
webshim: {
src: '<%= bowerDir %>/webshim/js-webshim/minified/shims/styles/shim.css',
dest: '<%= buildDir %>/shims/styles/shim.css'
},
datejs: {
src: '<%= libDir %>/date.min.js',
dest: '<%= buildDir %>/date.min.js'
},
momentjs: {
src: '<%= bowerDir %>/moment/min/moment-with-langs.min.js',
dest: '<%= buildDir %>/moment.min.js'
},
raphael: {
src: '<%= bowerDir %>/raphael/raphael-min.js',
dest: '<%= buildDir %>/raphael.min.js'
}
},
uglify: {
options: {
preserveComments: 'some'
},
jqueryCookie: {
files: {
"<%= workDir %>/jquery-cookie.min.js": [ '<%= bowerDir %>/jquery-cookie/jquery.cookie.js' ]
}
},
q: {
files: {
"<%= buildDir %>/q.min.js": [ '<%= bowerDir %>/q/q.js' ]
}
}
},
concat: {
jqueryUi: {
src: [
'<%= bowerDir %>/jquery-ui/jquery-ui.min.js',
],
dest: '<%= workDir %>/jquery-ui.min.js'
},
webshim: {
options: {
footer: "window.html5 = { shivMethods: false};$.webshims.polyfill('es5 geolocation json-storage');"
},
src: [
'<%= bowerDir %>/webshim/js-webshim/minified/extras/modernizr-custom.js',
'<%= bowerDir %>/webshim/js-webshim/minified/polyfiller.js'
],
dest: '<%= workDir %>/polyfiller.min.js'
},
merge: {
src: [
'<%= workDir %>/jquery.min.js',
'<%= workDir %>/jquery-cookie.min.js',
'<%= workDir %>/jquery-ui.min.js',
'<%= workDir %>/polyfiller.min.js'
],
dest: '<%= buildDir %>/jquery.all.min.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.registerTask('jquery', [ 'copy:jquery' ]);
grunt.registerTask('jquery-cookie', [ 'uglify:jqueryCookie' ]);
grunt.registerTask('jquery-ui', [ 'concat:jqueryUi', 'copy:jqueryUi' ]);
grunt.registerTask('datejs', [ 'copy:datejs' ]);
grunt.registerTask('momentjs', [ 'copy:momentjs' ]);
grunt.registerTask('q', [ 'uglify:q' ]);
grunt.registerTask('webshim', [ 'concat:webshim', 'copy:webshim' ]);
grunt.registerTask('raphael', [ 'copy:raphael' ]);
grunt.registerTask('merge', [ 'concat:merge' ]);
grunt.registerTask('default', [
'clean:target',
'jquery',
'jquery-cookie',
'jquery-ui',
'datejs',
'momentjs',
'q',
'webshim',
'raphael',
'merge',
'clean:work'
]);
};