@@ -3,23 +3,64 @@ module.exports = function(grunt) {
33
44"use strict" ;
55
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+
639grunt . initConfig ( {
740 pkg : grunt . file . readJSON ( "package.json" ) ,
841 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- } ,
1942 // used to copy to dist folder
2043 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+ } ,
2163 files : {
22- "dist/jquery.validate.js" : [ "src/core.js" , "src/*.js" ] ,
2364 "dist/additional-methods.js" : [ "src/additional/additional.js" , "src/additional/*.js" ]
2465 }
2566 }
@@ -33,11 +74,20 @@ grunt.initConfig({
3374 " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" +
3475 " Licensed <%= _.pluck(pkg.licenses, 'type').join(', ') %> */\n"
3576 } ,
36- all : {
77+ dist : {
3778 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" ]
4081 }
82+ } ,
83+ all : {
84+ files : [ {
85+ expand : true ,
86+ cwd : "dist/localization" ,
87+ src : "**/*.js" ,
88+ dest : "dist/localization" ,
89+ ext : ".min.js"
90+ } ]
4191 }
4292 } ,
4393 compress : {
@@ -49,14 +99,14 @@ grunt.initConfig({
4999 pretty : true
50100 } ,
51101 src : [
52- "dist/*.js" ,
102+ "dist/**/* .js" ,
53103 "README.md" ,
54104 "changelog.txt" ,
55105 "Gruntfile.js" ,
56106 "package.json" ,
57107 "demo/**/*.*" ,
58108 "lib/**/*.*" ,
59- "src/localization/ **/*.*" ,
109+ "src/**/*.*" ,
60110 "test/**/*.*"
61111 ]
62112 }
@@ -107,6 +157,33 @@ grunt.initConfig({
107157 } ,
108158 src : "src/**/*.*"
109159 }
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+ }
110187 }
111188} ) ;
112189
@@ -117,9 +194,11 @@ grunt.loadNpmTasks("grunt-contrib-concat");
117194grunt . loadNpmTasks ( "grunt-contrib-compress" ) ;
118195grunt . loadNpmTasks ( "grunt-contrib-watch" ) ;
119196grunt . loadNpmTasks ( "grunt-jscs-checker" ) ;
197+ grunt . loadNpmTasks ( "grunt-contrib-copy" ) ;
198+ grunt . loadNpmTasks ( "grunt-text-replace" ) ;
120199
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"] ) ;
123202grunt . registerTask ( "start" , [ "concat" , "watch" ] ) ;
124203
125204} ;
0 commit comments