-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGruntFile.js
More file actions
102 lines (84 loc) · 2.62 KB
/
GruntFile.js
File metadata and controls
102 lines (84 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// 'use strict';
module.exports = function(grunt){
// Load grunt tasks automatically based on package.json dependancies
require('load-grunt-tasks')(grunt);
// Time how long tasks take. Can help when optimizing build times
require('time-grunt')(grunt);
// Config tasks
grunt.initConfig({
sass: {
options: {
sourceMap: true,
outputStyle: 'compressed'
},
dist: {
files: {
'public/css/sequencer.css': 'public/sass/sequencer/sequencer.scss'
}
}
},
clean: {
content: ['../EMIT.Wave.Web/Content/'],
coverage: ['test/coverage/'],
vendor: ['js/vendor/'],
js: ['../EMIT.Wave.Web/Content/js']
},
jshint: {
all: ['js/application/article/article.add-buttons.directive.js'],
options : {
jshintrc : '.jshintrc'
}
},
uglify: {
my_target: {
options: {
sourceMap: true,
sourceMapName: 'public/sourcemap.map'
},
files: {
'public/js/dist/sequence.js': [
// Vendor
'public/js/vendor/angular/angular.js',
'public/js/vendor/angular-ui-router/release/angular-ui-router.js',
'public/js/vendor/jquery/dist/jquery.js',
// Utility
'public/js/application/utility/utility.js',
'public/js/application/utility/service.audio-context.js',
'public/js/application/utility/service.buffer-loader.js',
// Destinations
'public/js/application/destinations/destinations.js',
'public/js/application/destinations/service.sample.js',
// Controllers
'public/js/application/controllers/controllers.js',
'public/js/application/controllers/directive.layer.js',
// Sequencer
'public/js/application/sequencer/sequencer.js',
'public/js/application/sequencer/ctrl.sequencer.js',
'public/js/application/sequencer/service.sequencer.js',
// Scheduler
'public/js/application/scheduler/scheduler.js',
'public/js/application/scheduler/service.scheduler.js',
// App
'public/js/application/app.js'
]
}
}
},
watch: {
files: ['public/js/application/**/*.js'],
tasks: ['uglify'],
sass: {
files: ['public/sass/**/*.{scss,sass}','public/sass/_partials/**/*.{scss,sass}'],
tasks: ['sass:dist']
},
livereload: {
files: ['views/*.ejs', 'public/dist/js/*.{js,json}', 'public/css/*.css','public/img/**/*.{png,jpg,jpeg,gif,webp,svg}'],
options: {
livereload: true
}
}
}
});
// grunt.registerTask('compile', ['npm-install', 'clean:vendor', 'bower:install', 'copy:fonts', 'compass', 'copy:images', 'copy:css', 'concat', 'copy:js', 'copy:fileUploadMap', 'karma:unit']);
grunt.registerTask('default', ['watch', 'sass:dist']);
};