| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  | module.exports = function (grunt) { | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |     'use strict';   | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |     var outputRoot  = '_output/'; | 
					
						
							|  |  |  |     var outputDir   =  outputRoot +'UI/'; | 
					
						
							| 
									
										
										
										
											2013-11-24 00:58:05 -08:00
										 |  |  |     var srcRoot     = 'src/UI/'; | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |     var srcContent  = srcRoot + 'Content/'; | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |     var destContent = outputDir + 'Content/'; | 
					
						
							| 
									
										
										
										
											2013-03-22 16:39:08 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |     grunt.initConfig({ | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |         pkg: grunt.file.readJSON('package.json'), | 
					
						
							| 
									
										
										
										
											2013-04-18 11:01:21 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-01 00:01:17 -07:00
										 |  |  |         clean: { | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |             output:  outputDir, | 
					
						
							|  |  |  |             scripts: [ outputDir + '/**.js','!_output/UI/**/templates.js'] | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |         }, | 
					
						
							| 
									
										
										
										
											2013-05-01 00:01:17 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |         less  : { | 
					
						
							| 
									
										
										
										
											2013-06-25 22:42:44 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |             options:{ | 
					
						
							|  |  |  |                 dumpLineNumbers : 'false', | 
					
						
							| 
									
										
										
										
											2013-09-11 16:33:34 -07:00
										 |  |  |                 compress        : true, | 
					
						
							| 
									
										
										
										
											2013-06-25 22:42:44 -07:00
										 |  |  |                 yuicompress     : false, | 
					
						
							| 
									
										
										
										
											2013-09-11 16:33:34 -07:00
										 |  |  |                 ieCompat        : true, | 
					
						
							|  |  |  |                 strictImports   : true | 
					
						
							| 
									
										
										
										
											2013-06-25 22:42:44 -07:00
										 |  |  |             }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             bootstrap: { | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |                 src : srcContent + 'Bootstrap/bootstrap.less', | 
					
						
							|  |  |  |                 dest: destContent + 'bootstrap.css' | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             }, | 
					
						
							|  |  |  |             general  : { | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 cwd    : srcRoot, | 
					
						
							|  |  |  |                 expand : true, | 
					
						
							|  |  |  |                 src    :[ | 
					
						
							|  |  |  |                             'Content/theme.less', | 
					
						
							|  |  |  |                             'Content/overrides.less', | 
					
						
							|  |  |  |                             'Series/series.less', | 
					
						
							|  |  |  |                             'AddSeries/addSeries.less', | 
					
						
							|  |  |  |                             'Calendar/calendar.less', | 
					
						
							|  |  |  |                             'Cells/cells.less', | 
					
						
							|  |  |  |                             'Settings/settings.less', | 
					
						
							|  |  |  |                             'System/Logs/logs.less', | 
					
						
							|  |  |  |                             'System/Update/update.less' | 
					
						
							| 
									
										
										
										
											2013-08-01 18:00:30 -07:00
										 |  |  |                         ], | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 dest  : outputDir, | 
					
						
							| 
									
										
										
										
											2013-08-01 18:00:30 -07:00
										 |  |  |                 ext: '.css' | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             } | 
					
						
							|  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2013-03-23 16:24:27 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |         handlebars: { | 
					
						
							|  |  |  |             options: { | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |                 namespace   : 'T', | 
					
						
							| 
									
										
										
										
											2013-06-08 12:39:53 -07:00
										 |  |  |                 partialRegex: /Partial.html/, | 
					
						
							| 
									
										
										
										
											2013-06-14 16:36:59 -07:00
										 |  |  |                 wrapped     : true, | 
					
						
							|  |  |  |                 amd         : true, | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |                 processName: function (fileName) { | 
					
						
							|  |  |  |                     return fileName | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                         .replace(srcRoot, '') | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |                         .replace('.html', '') | 
					
						
							|  |  |  |                         .toLowerCase(); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             files  : { | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 src : [ srcRoot + '**/*Template.html', srcRoot + '**/*Partial.html'], | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |                 dest: outputDir + 'templates.js' | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             } | 
					
						
							|  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2013-03-23 16:24:27 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |         copy: { | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |             content: { | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 cwd   : srcRoot, | 
					
						
							|  |  |  |                 expand: true, | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                 src   : [ | 
					
						
							|  |  |  |                             'index.html', | 
					
						
							|  |  |  |                             '**/*.css', | 
					
						
							|  |  |  |                             '**/*.png', | 
					
						
							|  |  |  |                             '**/*.jpg', | 
					
						
							|  |  |  |                             '**/*.ico', | 
					
						
							|  |  |  |                             '**/FontAwesome/*.*', | 
					
						
							|  |  |  |                             '**/fonts/*.*' | 
					
						
							|  |  |  |                         ], | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 dest  : outputDir | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             }, | 
					
						
							|  |  |  |             scripts: { | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 cwd   : srcRoot, | 
					
						
							|  |  |  |                 expand: true, | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                 src   : [ | 
					
						
							| 
									
										
										
										
											2013-11-24 00:58:05 -08:00
										 |  |  |                             '**/*.js' | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                         ], | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 dest  : outputDir | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             } | 
					
						
							|  |  |  |         }, | 
					
						
							| 
									
										
										
										
											2013-03-28 18:49:14 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-10 20:09:11 -08:00
										 |  |  |         jshint: { | 
					
						
							|  |  |  |             options: { | 
					
						
							|  |  |  |                  '-W030': false, | 
					
						
							|  |  |  |                  '-W064': false, | 
					
						
							|  |  |  |                  '-W097': false, | 
					
						
							|  |  |  |                  '-W100': false, | 
					
						
							|  |  |  |                  'undef': true, | 
					
						
							|  |  |  |                  'globals': { | 
					
						
							|  |  |  |                      'require': true, | 
					
						
							|  |  |  |                      'define': true, | 
					
						
							|  |  |  |                      'window': true, | 
					
						
							|  |  |  |                      'document': true, | 
					
						
							|  |  |  |                      'console': true | 
					
						
							|  |  |  |                  } | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             all: [ | 
					
						
							|  |  |  |                 srcRoot + '**/*.js', | 
					
						
							|  |  |  |                 '!**/JsLibraries/*.js' | 
					
						
							|  |  |  |             ] | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-08 18:43:41 -07:00
										 |  |  |         requirejs: { | 
					
						
							|  |  |  |             compile:{ | 
					
						
							|  |  |  |                 options: { | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                     mainConfigFile: "src/UI/app.js", | 
					
						
							| 
									
										
										
										
											2013-10-08 18:43:41 -07:00
										 |  |  |                     fileExclusionRegExp: /^.*\.(?!js$)[^.]+$/, | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                     preserveLicenseComments: false, | 
					
						
							|  |  |  |                     dir: outputDir, | 
					
						
							| 
									
										
										
										
											2013-10-08 18:43:41 -07:00
										 |  |  |                     optimize: 'none', | 
					
						
							|  |  |  |                     removeCombined: true, | 
					
						
							|  |  |  |                     inlineText: false, | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                     keepBuildDir : true, | 
					
						
							| 
									
										
										
										
											2013-10-08 18:43:41 -07:00
										 |  |  |                     modules: [{ | 
					
						
							|  |  |  |                         name: 'app', | 
					
						
							| 
									
										
										
										
											2013-11-20 22:04:15 -08:00
										 |  |  |                         exclude: ['templates.js'] | 
					
						
							| 
									
										
										
										
											2013-11-24 00:58:05 -08:00
										 |  |  |                     }] | 
					
						
							| 
									
										
										
										
											2013-10-08 18:43:41 -07:00
										 |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |         watch: { | 
					
						
							| 
									
										
										
										
											2013-06-24 16:41:59 -07:00
										 |  |  |             options: { | 
					
						
							| 
									
										
										
										
											2013-11-24 00:58:05 -08:00
										 |  |  |                 nospawn: false | 
					
						
							| 
									
										
										
										
											2013-06-24 16:41:59 -07:00
										 |  |  |             }, | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             bootstrap  : { | 
					
						
							| 
									
										
										
										
											2013-11-24 00:58:05 -08:00
										 |  |  |                 files: [ srcContent + 'Bootstrap/**', srcContent + 'FontAwesome/**'], | 
					
						
							| 
									
										
										
										
											2013-06-25 17:34:50 -07:00
										 |  |  |                 tasks: ['less:bootstrap','less:general'] | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             }, | 
					
						
							|  |  |  |             generalLess: { | 
					
						
							| 
									
										
										
										
											2013-10-02 18:01:32 -07:00
										 |  |  |                 files: [ srcRoot + '**/*.less', '!**/Bootstrap/**', '!**/FontAwesome/**'], | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |                 tasks: ['less:general'] | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             handlebars : { | 
					
						
							|  |  |  |                 files: '<%= handlebars.files.src %>', | 
					
						
							|  |  |  |                 tasks: ['handlebars'] | 
					
						
							|  |  |  |             }, | 
					
						
							| 
									
										
										
										
											2013-11-11 19:25:54 -08:00
										 |  |  |             content  : { | 
					
						
							|  |  |  |                 files: [ | 
					
						
							| 
									
										
										
										
											2013-11-24 00:58:05 -08:00
										 |  |  |                             srcRoot + '**/index.html', | 
					
						
							|  |  |  |                             srcRoot + '**/*.css', | 
					
						
							|  |  |  |                             srcRoot + '**/*.png', | 
					
						
							|  |  |  |                             srcRoot + '**/*.jpg', | 
					
						
							|  |  |  |                             srcRoot + '**/*.ico', | 
					
						
							|  |  |  |                             srcRoot + '**/FontAwesome/*.*', | 
					
						
							|  |  |  |                             srcRoot + '**/fonts/*.*' | 
					
						
							| 
									
										
										
										
											2013-11-11 19:25:54 -08:00
										 |  |  |                         ], | 
					
						
							| 
									
										
										
										
											2013-11-10 13:33:44 -08:00
										 |  |  |                 tasks: ['copy:content'] | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |             }, | 
					
						
							| 
									
										
										
										
											2013-11-11 19:25:54 -08:00
										 |  |  |             scripts: { | 
					
						
							| 
									
										
										
										
											2013-10-03 23:01:02 -07:00
										 |  |  |                 files: '<%= copy.scripts.cwd %><%= copy.scripts.src %>', | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |                 tasks: ['copy:scripts'] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2013-03-22 16:39:08 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |     grunt.loadNpmTasks('grunt-contrib-handlebars'); | 
					
						
							|  |  |  |     grunt.loadNpmTasks('grunt-contrib-less'); | 
					
						
							|  |  |  |     grunt.loadNpmTasks('grunt-contrib-watch'); | 
					
						
							|  |  |  |     grunt.loadNpmTasks('grunt-contrib-copy'); | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  |     grunt.loadNpmTasks('grunt-contrib-clean'); | 
					
						
							| 
									
										
										
										
											2013-04-20 16:48:29 -07:00
										 |  |  |     grunt.loadNpmTasks('grunt-notify'); | 
					
						
							| 
									
										
										
										
											2013-10-08 18:43:41 -07:00
										 |  |  |     grunt.loadNpmTasks('grunt-contrib-requirejs'); | 
					
						
							| 
									
										
										
										
											2013-11-10 20:09:11 -08:00
										 |  |  |     grunt.loadNpmTasks('grunt-contrib-jshint'); | 
					
						
							| 
									
										
										
										
											2013-07-29 17:05:28 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-10 20:10:10 -08:00
										 |  |  |     grunt.registerTask('package', ['clean:output', 'jshint', 'handlebars', 'copy', 'less']); | 
					
						
							|  |  |  |     grunt.registerTask('packagerjs', ['clean:output','jshint', 'handlebars', 'requirejs', 'copy:content', 'less']); | 
					
						
							| 
									
										
										
										
											2013-05-01 00:01:17 -07:00
										 |  |  |     grunt.registerTask('default', ['package', 'watch']);  | 
					
						
							| 
									
										
										
										
											2013-06-08 12:47:34 -07:00
										 |  |  | }; |