module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), meta:{ version:'<%=pkg.version%>', banner:'/*! soma-template - v<%= meta.version %> - Romuald Quantin - ' + '<%= grunt.template.today("yyyy-mm-dd") %>\n' + '* http://soundstep.github.com/soma-template/\n' + '* MIT licence <%= grunt.template.today("yyyy") %> ' + '*/' }, concat: { dist: { src: [ 'src/1.prefix.js', 'src/2.settings.js', 'src/3.helpers.js', 'src/4.shared.js', 'src/5.scope.js', 'src/6.node.js', 'src/7.attribute.js', 'src/8.interpolation.js', 'src/9.expression.js', 'src/10.template.js', 'src/11.events.js', 'src/12.bootstrap.js', 'src/13.export.js', 'src/14.suffix.js' ], dest: 'build/soma-template.js' } }, uglify: { options: { banner: '/*\n<%= pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\nhttp://soundstep.github.com/soma-template/\nhttp://www.soundstep.com\nMIT licence <%= grunt.template.today("yyyy")%>\n*/\n', mangle:{ except:['instance', 'injector'] } }, my_target: { files: { 'build/soma-template-v<%= meta.version %>.min.js': ['<%= concat.dist.dest %>'] } } }, watch:{ scripts:{ files:[ 'src/*.js', 'grunt.js' ], tasks: ['concat', 'uglify'] } } }); grunt.registerTask('default', ['concat', 'uglify']); }