@@ -3,23 +3,64 @@ module.exports = function(grunt) {
3
3
4
4
"use strict" ;
5
5
6
+ var banner ,
7
+ umdStart ,
8
+ umdMiddle ,
9
+ umdEnd ,
10
+ umdStandardDefine ,
11
+ umdAdditionalDefine ,
12
+ umdLocalizationDefine ;
13
+
14
+ banner = "/*!\n" +
15
+ " * jQuery Validation Plugin v<%= pkg.version %>\n" +
16
+ " *\n" +
17
+ " * <%= pkg.homepage %>\n" +
18
+ " *\n" +
19
+ " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>\n" +
20
+ " * Released under the <%= _.pluck(pkg.licenses, 'type').join(', ') %> license\n" +
21
+ " */\n" ;
22
+
23
+ // define UMD wrapper variables
24
+
25
+ umdStart = "(function( factory ) {\n" +
26
+ "\tif ( typeof define === \"function\" && define.amd ) {\n" ;
27
+
28
+ umdMiddle = "\t} else {\n" +
29
+ "\t\tfactory( jQuery );\n" +
30
+ "\t}\n" +
31
+ "}(function( $ ) {\n\n" ;
32
+
33
+ umdEnd = "\n}));" ;
34
+
35
+ umdStandardDefine = "\t\tdefine( [\"jquery\"], factory );\n" ;
36
+ umdAdditionalDefine = "\t\tdefine( [\"jquery\", \"./jquery.validate\"], factory );\n" ;
37
+ umdLocalizationDefine = "\t\tdefine( [\"jquery\", \"../jquery.validate\"], factory );\n" ;
38
+
6
39
grunt . initConfig ( {
7
40
pkg : grunt . file . readJSON ( "package.json" ) ,
8
41
concat : {
9
- options : {
10
- banner : "/*!\n" +
11
- " * jQuery Validation Plugin v<%= pkg.version %>\n" +
12
- " *\n" +
13
- " * <%= pkg.homepage %>\n" +
14
- " *\n" +
15
- " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>\n" +
16
- " * Released under the <%= _.pluck(pkg.licenses, 'type').join(', ') %> license\n" +
17
- " */\n"
18
- } ,
19
42
// used to copy to dist folder
20
43
dist : {
44
+ options : {
45
+ banner : banner +
46
+ umdStart +
47
+ umdStandardDefine +
48
+ umdMiddle ,
49
+ footer : umdEnd
50
+ } ,
51
+ files : {
52
+ "dist/jquery.validate.js" : [ "src/core.js" , "src/*.js" ]
53
+ }
54
+ } ,
55
+ extra : {
56
+ options : {
57
+ banner : banner +
58
+ umdStart +
59
+ umdAdditionalDefine +
60
+ umdMiddle ,
61
+ footer : umdEnd
62
+ } ,
21
63
files : {
22
- "dist/jquery.validate.js" : [ "src/core.js" , "src/*.js" ] ,
23
64
"dist/additional-methods.js" : [ "src/additional/additional.js" , "src/additional/*.js" ]
24
65
}
25
66
}
@@ -33,11 +74,20 @@ grunt.initConfig({
33
74
" * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" +
34
75
" Licensed <%= _.pluck(pkg.licenses, 'type').join(', ') %> */\n"
35
76
} ,
36
- all : {
77
+ dist : {
37
78
files : {
38
- "dist/jquery.validate. min.js" : [ "dist/jquery.validate .js" ] ,
39
- "dist/additional-methods. min.js" : [ "dist/additional-methods .js" ]
79
+ "dist/additional-methods. min.js" : [ "dist/additional-methods .js" ] ,
80
+ "dist/jquery.validate. min.js" : [ "dist/jquery.validate .js" ]
40
81
}
82
+ } ,
83
+ all : {
84
+ files : [ {
85
+ expand : true ,
86
+ cwd : "dist/localization" ,
87
+ src : "**/*.js" ,
88
+ dest : "dist/localization" ,
89
+ ext : ".min.js"
90
+ } ]
41
91
}
42
92
} ,
43
93
compress : {
@@ -49,14 +99,14 @@ grunt.initConfig({
49
99
pretty : true
50
100
} ,
51
101
src : [
52
- "dist/*.js" ,
102
+ "dist/**/* .js" ,
53
103
"README.md" ,
54
104
"changelog.txt" ,
55
105
"Gruntfile.js" ,
56
106
"package.json" ,
57
107
"demo/**/*.*" ,
58
108
"lib/**/*.*" ,
59
- "src/localization/ **/*.*" ,
109
+ "src/**/*.*" ,
60
110
"test/**/*.*"
61
111
]
62
112
}
@@ -107,6 +157,33 @@ grunt.initConfig({
107
157
} ,
108
158
src : "src/**/*.*"
109
159
}
160
+ } ,
161
+ copy : {
162
+ dist : {
163
+ options : {
164
+ // append UMD wrapper
165
+ process : function ( content ) {
166
+ return umdStart + umdLocalizationDefine + umdMiddle + content + umdEnd ;
167
+ }
168
+ } ,
169
+ files : [ {
170
+ src : [ "src/localization/*" ] ,
171
+ dest : "dist/localization" ,
172
+ expand : true ,
173
+ flatten : true ,
174
+ filter : "isFile"
175
+ } ]
176
+ }
177
+ } ,
178
+ replace : {
179
+ dist : {
180
+ src : [ "dist/**/*.min.js" ] ,
181
+ overwrite : true ,
182
+ replacements : [ {
183
+ from : "./jquery.validate" ,
184
+ to : "./jquery.validate.min"
185
+ } ]
186
+ }
110
187
}
111
188
} ) ;
112
189
@@ -117,9 +194,11 @@ grunt.loadNpmTasks("grunt-contrib-concat");
117
194
grunt . loadNpmTasks ( "grunt-contrib-compress" ) ;
118
195
grunt . loadNpmTasks ( "grunt-contrib-watch" ) ;
119
196
grunt . loadNpmTasks ( "grunt-jscs-checker" ) ;
197
+ grunt . loadNpmTasks ( "grunt-contrib-copy" ) ;
198
+ grunt . loadNpmTasks ( "grunt-text-replace" ) ;
120
199
121
- grunt . registerTask ( "default" , [ "concat" , "jscs" , "jshint" , "qunit" ] ) ;
122
- grunt . registerTask ( "release" , [ "default" , "uglify" , "compress" ] ) ;
200
+ grunt . registerTask ( "default" , [ "concat" , "copy" , " jscs", "jshint" , "qunit" ] ) ;
201
+ grunt . registerTask ( "release" , [ "default" , "uglify" , "replace" , " compress"] ) ;
123
202
grunt . registerTask ( "start" , [ "concat" , "watch" ] ) ;
124
203
125
204
} ;
0 commit comments