123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- /*jshint node:true*/
- module.exports = function( grunt ) {
- "use strict";
- var banner,
- umdStart,
- umdMiddle,
- umdEnd,
- umdStandardDefine,
- umdAdditionalDefine,
- umdLocalizationDefine;
- banner = "/*!\n" +
- " * jQuery Validation Plugin v<%= pkg.version %>\n" +
- " *\n" +
- " * <%= pkg.homepage %>\n" +
- " *\n" +
- " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>\n" +
- " * Released under the <%= _.map(pkg.licenses, 'type').join(', ') %> license\n" +
- " */\n";
- // Define UMD wrapper variables
- umdStart = "(function( factory ) {\n" +
- "\tif ( typeof define === \"function\" && define.amd ) {\n";
- umdMiddle = "\t} else if (typeof module === \"object\" && module.exports) {\n" +
- "\t\tmodule.exports = factory( require( \"jquery\" ) );\n" +
- "\t} else {\n" +
- "\t\tfactory( jQuery );\n" +
- "\t}\n" +
- "}(function( $ ) {\n\n";
- umdEnd = "return $;" +
- "\n}));";
- umdStandardDefine = "\t\tdefine( [\"jquery\"], factory );\n";
- umdAdditionalDefine = "\t\tdefine( [\"jquery\", \"./jquery.validate\"], factory );\n";
- umdLocalizationDefine = "\t\tdefine( [\"jquery\", \"../jquery.validate\"], factory );\n";
- grunt.initConfig( {
- pkg: grunt.file.readJSON( "package.json" ),
- concat: {
- // Used to copy to dist folder
- dist: {
- options: {
- banner: banner +
- umdStart +
- umdStandardDefine +
- umdMiddle,
- footer: umdEnd
- },
- files: {
- "dist/jquery.validate.js": [ "src/core.js", "src/*.js" ]
- }
- },
- extra: {
- options: {
- banner: banner +
- umdStart +
- umdAdditionalDefine +
- umdMiddle,
- footer: umdEnd
- },
- files: {
- "dist/additional-methods.js": [ "src/additional/additional.js", "src/additional/*.js" ]
- }
- }
- },
- uglify: {
- options: {
- preserveComments: false,
- banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " +
- "<%= grunt.template.today('m/d/yyyy') %>\n" +
- " * <%= pkg.homepage %>\n" +
- " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" +
- " Licensed <%= _.map(pkg.licenses, 'type').join(', ') %> */\n"
- },
- dist: {
- files: {
- "dist/additional-methods.min.js": "dist/additional-methods.js",
- "dist/jquery.validate.min.js": "dist/jquery.validate.js"
- }
- },
- all: {
- expand: true,
- cwd: "dist/localization",
- src: "**/*.js",
- dest: "dist/localization",
- ext: ".min.js"
- }
- },
- compress: {
- dist: {
- options: {
- mode: "zip",
- level: 1,
- archive: "dist/<%= pkg.name %>-<%= pkg.version %>.zip",
- pretty: true
- },
- src: [
- "changelog.txt",
- "demo/**/*.*",
- "dist/**/*.js",
- "Gruntfile.js",
- "lib/**/*.*",
- "package.json",
- "README.md",
- "src/**/*.*",
- "test/**/*.*"
- ]
- }
- },
- qunit: {
- files: "test/index.html"
- },
- jshint: {
- options: {
- jshintrc: true
- },
- core: {
- src: "src/**/*.js"
- },
- test: {
- src: [ "test/*.js", "test/additional/*.js" ]
- },
- grunt: {
- src: "Gruntfile.js"
- }
- },
- watch: {
- options: {
- atBegin: true
- },
- src: {
- files: "<%= jshint.core.src %>",
- tasks: [
- "concat"
- ]
- }
- },
- jscs: {
- all: [ "<%= jshint.core.src %>", "<%= jshint.test.src %>", "<%= jshint.grunt.src %>" ]
- },
- copy: {
- dist: {
- options: {
- // Append UMD wrapper
- process: function( content ) {
- return umdStart + umdLocalizationDefine + umdMiddle + content + umdEnd;
- }
- },
- src: "src/localization/*",
- dest: "dist/localization",
- expand: true,
- flatten: true,
- filter: "isFile"
- }
- },
- replace: {
- dist: {
- src: "dist/**/*.min.js",
- overwrite: true,
- replacements: [
- {
- from: "./jquery.validate",
- to: "./jquery.validate.min"
- }
- ]
- }
- }
- } );
- grunt.loadNpmTasks( "grunt-contrib-jshint" );
- grunt.loadNpmTasks( "grunt-contrib-qunit" );
- grunt.loadNpmTasks( "grunt-contrib-uglify" );
- grunt.loadNpmTasks( "grunt-contrib-concat" );
- grunt.loadNpmTasks( "grunt-contrib-compress" );
- grunt.loadNpmTasks( "grunt-contrib-watch" );
- grunt.loadNpmTasks( "grunt-jscs" );
- grunt.loadNpmTasks( "grunt-contrib-copy" );
- grunt.loadNpmTasks( "grunt-text-replace" );
- grunt.registerTask( "default", [ "concat", "copy", "jscs", "jshint", "qunit" ] );
- grunt.registerTask( "release", [ "default", "uglify", "replace", "compress" ] );
- grunt.registerTask( "start", [ "concat", "watch" ] );
- };
|