1module.exports = function(grunt) { 2 3 var pkg = grunt.file.readJSON("package.json"); 4 5 // Project configuration. 6 grunt.initConfig({ 7 // Metadata. 8 pkg: pkg, 9 banner: grunt.file.read("./src/copy.js") 10 .replace(/@VERSION/, pkg.version) 11 .replace(/@DATE/, grunt.template.today("yyyy-mm-dd")) + "\n", 12 // Task configuration. 13 uglify: { 14 options: { 15 banner: "<%= banner %>", 16 report: "min" 17 }, 18 dist: { 19 src: "<%= concat.target.dest %>", 20 dest: "dist/snap.svg-min.js" 21 } 22 }, 23 concat: { 24 options: { 25 banner: "<%= banner %>" 26 }, 27 target: { 28 dest: "dist/snap.svg.js", 29 src: [ 30 "./node_modules/eve/eve.js", 31 "./src/amd-banner.js", 32 "./src/mina.js", 33 "./src/svg.js", 34 "./src/element.js", 35 "./src/matrix.js", 36 "./src/attr.js", 37 "./src/class.js", 38 "./src/attradd.js", 39 "./src/paper.js", 40 "./src/path.js", 41 "./src/set.js", 42 "./src/equal.js", 43 "./src/mouse.js", 44 "./src/filter.js", 45 "./src/align.js", 46 "./src/amd-footer.js" 47 ] 48 } 49 }, 50 exec: { 51 dr: { 52 command: "node node_modules/dr.js/dr dr.json" 53 } 54 } 55 }); 56 57 grunt.loadNpmTasks("grunt-contrib-concat"); 58 grunt.loadNpmTasks("grunt-contrib-uglify"); 59 grunt.loadNpmTasks("grunt-exec"); 60 61 grunt.registerTask("default", ["concat", "uglify", "exec"]); 62}; 63