2013-03-22 23:39:08 +00:00
|
|
|
module.exports = function(grunt) {
|
|
|
|
|
|
|
|
// Project configuration.
|
|
|
|
grunt.initConfig({
|
|
|
|
pkg: grunt.file.readJSON('package.json'),
|
|
|
|
uglify: {
|
2013-03-23 23:24:27 +00:00
|
|
|
files: {
|
|
|
|
expand: true, // Enable dynamic expansion.
|
2013-03-29 19:18:44 +00:00
|
|
|
cwd: 'UI/', // Src matches are relative to this path.
|
2013-03-23 23:24:27 +00:00
|
|
|
src: ['**/*.js'], // Actual pattern(s) to match.
|
|
|
|
dest: 'build/', // Destination path prefix.
|
2013-03-24 00:14:55 +00:00
|
|
|
ext: '.min.js'
|
2013-03-23 23:24:27 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
less:{
|
|
|
|
bootstrap:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: ["UI/Content/bootstrap/bootstrap.less"],
|
2013-03-29 01:49:14 +00:00
|
|
|
dest: "_output/UI/Content/bootstrap.css"
|
2013-03-22 23:39:08 +00:00
|
|
|
}
|
|
|
|
},
|
2013-03-23 23:24:27 +00:00
|
|
|
|
2013-03-22 23:39:08 +00:00
|
|
|
handlebars: {
|
|
|
|
options: {
|
2013-03-23 23:24:27 +00:00
|
|
|
namespace: "NzbDrone.Templates",
|
|
|
|
wrapped: false,
|
|
|
|
processName: function(fileName){
|
|
|
|
return fileName
|
2013-03-29 19:18:44 +00:00
|
|
|
.replace('UI/','')
|
2013-03-23 23:24:27 +00:00
|
|
|
.replace('.html','');
|
|
|
|
}
|
2013-03-22 23:39:08 +00:00
|
|
|
},
|
|
|
|
files: {
|
2013-03-29 19:18:44 +00:00
|
|
|
src: ['UI/**/*emplate.html'],
|
2013-03-29 01:49:14 +00:00
|
|
|
dest: '_output/UI/templates.js'
|
2013-03-23 23:24:27 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2013-03-29 01:49:14 +00:00
|
|
|
copy:{
|
|
|
|
index:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: 'UI/index.html',
|
2013-03-29 01:49:14 +00:00
|
|
|
dest: '_output/UI/index.html'
|
|
|
|
},
|
|
|
|
scripts:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: 'UI/**/*.js',
|
|
|
|
dest: '_output/'
|
2013-03-29 01:49:14 +00:00
|
|
|
},
|
|
|
|
styles:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: 'UI/**/*.css',
|
|
|
|
dest: '_output/'
|
2013-03-29 01:49:14 +00:00
|
|
|
},
|
|
|
|
images:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: 'UI/**/*.png',
|
|
|
|
dest: '_output/'
|
2013-03-29 01:49:14 +00:00
|
|
|
},
|
|
|
|
templates:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: 'UI/**/*emplate.html',
|
|
|
|
dest: '_output/'
|
2013-03-29 01:49:14 +00:00
|
|
|
},
|
|
|
|
fonts:{
|
2013-03-29 19:18:44 +00:00
|
|
|
src: 'UI/**/Fonts/*.*',
|
|
|
|
dest: '_output/',
|
2013-03-29 01:49:14 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
2013-03-23 23:24:27 +00:00
|
|
|
watch:{
|
|
|
|
bootstrap:{
|
2013-03-29 01:49:14 +00:00
|
|
|
files: 'NzbDrone.Backbone/Content/bootstrap/*.less',
|
2013-03-23 23:24:27 +00:00
|
|
|
tasks: ['less:bootstrap']
|
|
|
|
},
|
|
|
|
handlebars:{
|
|
|
|
files: '<%= handlebars.files.src %>',
|
|
|
|
tasks: ['handlebars']
|
2013-03-29 01:49:14 +00:00
|
|
|
},
|
|
|
|
copyIndex:{
|
|
|
|
files: '<%= copy.index.src %>',
|
|
|
|
tasks: ['copy:index']
|
|
|
|
},
|
|
|
|
copyScripts:{
|
2013-03-29 19:18:44 +00:00
|
|
|
files: '<%= copy.scripts.src %>',
|
2013-03-29 01:49:14 +00:00
|
|
|
tasks: ['copy:scripts']
|
|
|
|
},
|
|
|
|
copyStyles:{
|
2013-03-29 19:18:44 +00:00
|
|
|
files: '<%= copy.styles.src %>',
|
2013-03-29 01:49:14 +00:00
|
|
|
tasks: ['copy:styles']
|
|
|
|
},
|
|
|
|
copyImages:{
|
2013-03-29 19:18:44 +00:00
|
|
|
files: '<%= copy.images.src %>',
|
2013-03-29 01:49:14 +00:00
|
|
|
tasks: ['copy:images']
|
|
|
|
},
|
|
|
|
copyTemplates:{
|
2013-03-29 19:18:44 +00:00
|
|
|
files: '<%= copy.templates.src %>',
|
2013-03-29 01:49:14 +00:00
|
|
|
tasks: ['copy:templates']
|
|
|
|
},
|
|
|
|
copyFonts:{
|
|
|
|
files: '<%= copy.fonts.src %>',
|
|
|
|
tasks: ['copy:fonts']
|
2013-03-22 23:39:08 +00:00
|
|
|
}
|
2013-03-23 23:24:27 +00:00
|
|
|
}
|
|
|
|
});
|
2013-03-22 23:39:08 +00:00
|
|
|
|
|
|
|
// Load the plugin that provides the "uglify" task.
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-uglify');
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-handlebars');
|
2013-03-23 23:24:27 +00:00
|
|
|
grunt.loadNpmTasks('grunt-contrib-less');
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
|
|
|
grunt.loadNpmTasks('grunt-contrib-concat');
|
2013-03-29 01:49:14 +00:00
|
|
|
grunt.loadNpmTasks('grunt-contrib-copy');
|
2013-03-29 19:17:03 +00:00
|
|
|
grunt.loadNpmTasks('grunt-wrap');
|
2013-03-22 23:39:08 +00:00
|
|
|
|
|
|
|
// Default task(s).
|
2013-03-29 01:49:14 +00:00
|
|
|
grunt.registerTask('default', ['copy','less:bootstrap','handlebars', 'watch']);
|
2013-03-22 23:39:08 +00:00
|
|
|
|
|
|
|
};
|