Blame | Letzte Änderung | Log anzeigen | RSS feed
/*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 variablesumdStart = "(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 folderdist: {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 wrapperprocess: 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"}]}},// Generate the sub-resource integrity hashes of the distribution filessri: {options: {algorithms: [ "sha256", "sha384", "sha512" ],// The target json filedest: "dist/jquery-validation-sri.json",// Stringify the JSON output in a pretty formatpretty: true},all: {src: ["dist/jquery.validate.{min.js,js}","dist/additional-methods.{min.js,js}","dist/localization/*.js"]}}} );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.loadNpmTasks( "grunt-sri" );grunt.registerTask( "default", [ "concat", "copy", "jscs", "jshint", "qunit" ] );grunt.registerTask( "release", [ "default", "uglify", "replace", "compress", "sri" ] );grunt.registerTask( "start", [ "concat", "watch" ] );};