text: /**
   * needs to:
   * - deploy a node js app
   *   - pull from src/js
   *       - uglify
   *       - concatenate
   *   - push to <root>/index.js
   *
   * - less/css
   * - templates
   */
  
  module.exports = function (grunt) {
      "use strict";
      grunt.initConfig({
          pkg: grunt.file.readJSON('package.json'),
          concat: {
              options: {
                  // string that goes between each file on concat output
                  separator: ';'
              },
              dist: {
                  src: ['src/**/*.js'],
                  dest: 'dist/js/<%= pkg.name %>.js'
              }
          },
          uglify: {
              options: {
                  // inserted at top of file output
                  banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %>  */\n'
              },
              dist: {
                  files: {
                      'dist/js/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
                  }
              }
          },
          qunit: {
              files: ['test/**/*.html']
          },
          jshint: {
              files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js', '!test/**/qunit.js'],
              options: {
                  globals: {
                      jQuery: true,
                      console: true,
                      module: true
                  }
              }
          },
          watch: {
              files: ['<%= jshint.files %>'],
              tasks: ['jshint', 'qunit']
          }
      });
  
      // grunt dependencies
      grunt.loadNpmTasks('grunt-contrib-uglify');
      grunt.loadNpmTasks('grunt-contrib-jshint');
      grunt.loadNpmTasks('grunt-contrib-qunit');
      grunt.loadNpmTasks('grunt-contrib-watch');
      grunt.loadNpmTasks('grunt-contrib-concat');
  
      //tasks
      grunt.registerTask('runtests', ['jshint', 'qunit']);
      grunt.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']);
  };
  