| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | module.exports = function (grunt) {  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);  grunt.initConfig({    pkg: grunt.file.readJSON('package.json'),    coffee: {      lib: {        options: { bare: false },        files: {          'morris.js': ['build/morris.coffee']        }      },      spec: {        options: { bare: true },        files: {          'build/spec.js': ['build/spec.coffee']        }      },    },    concat: {      'build/morris.coffee': {        options: {          banner: "### @license\n"+                  "<%= pkg.name %> v<%= pkg.version %>\n"+                  "Copyright <%= (new Date()).getFullYear() %> <%= pkg.author.name %> All rights reserved.\n" +                  "Licensed under the <%= pkg.license %> License.\n" +                  "###\n",        },        src: [          'lib/morris.coffee',          'lib/morris.grid.coffee',          'lib/morris.hover.coffee',          'lib/morris.line.coffee',          'lib/morris.area.coffee',          'lib/morris.bar.coffee',          'lib/morris.donut.coffee'        ],        dest: 'build/morris.coffee'      },      'build/spec.coffee': ['spec/support/**/*.coffee', 'spec/lib/**/*.coffee']    },    less: {      all: {        src: 'less/*.less',        dest: 'morris.css',        options: {          compress: true        }      }    },    uglify: {      build: {        options: {          preserveComments: 'some'        },        files: {          'morris.min.js': 'morris.js'        }      }    },    mocha: {      index: ['spec/specs.html'],      options: {run: true}    },    watch: {      all: {        files: ['lib/**/*.coffee', 'spec/lib/**/*.coffee', 'spec/support/**/*.coffee', 'less/**/*.less'],        tasks: 'default'      },      dev: {        files:  'lib/*.coffee' ,        tasks: ['concat:build/morris.coffee', 'coffee:lib']      }    },    shell: {      visual_spec: {        command: './run.sh',        options: {          stdout: true,          failOnError: true,          execOptions: {            cwd: 'spec/viz'          }        }      }    }  });  grunt.registerTask('default', ['concat', 'coffee', 'less', 'uglify', 'mocha', 'shell:visual_spec']);};
 |