| module.exports = function(grunt) { |
| grunt.initConfig({ |
| info: grunt.file.readJSON('component.json'), |
| meta: { |
| banner: '/*!\n'+ |
| ' * <%= info.name %> - <%= info.description %>\n'+ |
| ' * v<%= info.version %>\n'+ |
| ' * <%= info.homepage %>\n'+ |
| ' * copyright <%= info.copyright %> <%= grunt.template.today("yyyy") %>\n'+ |
| ' * <%= info.license %> License\n'+ |
| '*/\n' |
| }, |
| jshint: { |
| main: [ |
| 'grunt.js', |
| 'component.json', |
| 'lib/**/*.js', |
| 'test/*.js' |
| ] |
| }, |
| concat: { |
| options: { |
| banner: '<%= meta.banner %>' |
| }, |
| dist: { |
| src: 'lib/toc.js', |
| dest: 'dist/jquery.toc.js' |
| } |
| }, |
| uglify: { |
| options: { |
| banner: '<%= meta.banner %>' |
| }, |
| dist: { |
| src: 'dist/jquery.toc.js', |
| dest: 'dist/jquery.toc.min.js' |
| } |
| }, |
| watch: { |
| main: { |
| files: '<%= jshint.main %>', |
| tasks: 'default' |
| }, |
| ci: { |
| files: [ |
| '<%= jshint.main %>', |
| 'test/index.html' |
| ], |
| tasks: ['default', 'mocha'] |
| } |
| }, |
| mocha: { |
| all: { |
| src: 'test/index.html', |
| options: { |
| run: true |
| } |
| } |
| }, |
| plato: { |
| main: { |
| files: { |
| 'reports': ['lib/*.js'] |
| } |
| } |
| }, |
| reloadr: { |
| test: [ |
| 'example/*', |
| 'test/*', |
| 'dist/*' |
| ] |
| }, |
| connect: { |
| server:{ |
| port: 8000, |
| base: '.' |
| }, |
| plato: { |
| port: 8000, |
| base: 'reports', |
| options: { |
| keepalive: true |
| } |
| } |
| } |
| }); |
| grunt.loadNpmTasks('grunt-contrib-jshint'); |
| grunt.loadNpmTasks('grunt-contrib-concat'); |
| grunt.loadNpmTasks('grunt-contrib-watch'); |
| grunt.loadNpmTasks('grunt-contrib-uglify'); |
| grunt.loadNpmTasks('grunt-contrib-connect'); |
| grunt.loadNpmTasks('grunt-mocha'); |
| grunt.loadNpmTasks('grunt-reloadr'); |
| grunt.loadNpmTasks('grunt-plato'); |
| grunt.registerTask('default', ['jshint', 'concat', 'uglify']); |
| grunt.registerTask('dev', ['connect:server', 'reloadr', 'watch:main']); |
| grunt.registerTask('ci', ['connect:server', 'watch:ci']); |
| grunt.registerTask('reports', ['plato', 'connect:plato']); |
| }; |