module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { files: { expand: true, // Enable dynamic expansion. cwd: 'NzbDrone.Backbone/', // Src matches are relative to this path. src: ['**/*.js'], // Actual pattern(s) to match. dest: 'build/', // Destination path prefix. ext: '.min.js' } }, less:{ bootstrap:{ src: ["NzbDrone.Backbone/Content/Bootstrap/bootstrap.less"], dest: "NzbDrone.Backbone/Content/bootstrap.css" } }, handlebars: { options: { namespace: "NzbDrone.Templates", wrapped: false, processName: function(fileName){ return fileName .replace('NzbDrone.Backbone/','') .replace('.html',''); } }, files: { src: ['NzbDrone.Backbone/**/*emplate.html'], dest: 'NzbDrone.Backbone/templates.js' }, }, watch:{ bootstrap:{ files: '<%= less.bootstrap.src %>', tasks: ['less:bootstrap'] }, handlebars:{ files: '<%= handlebars.files.src %>', tasks: ['handlebars'] } } }); // Load the plugin that provides the "uglify" task. grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-handlebars'); grunt.loadNpmTasks('grunt-contrib-less'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-concat'); // Default task(s). grunt.registerTask('default', ['less:bootstrap','handlebars', 'watch']); };