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']);
- };
|