blob: 8680b37124ba1217cafc392170e2e39ceff85d7d [file] [log] [blame]
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']);
};