-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
108 lines (108 loc) · 3.33 KB
/
Gruntfile.js
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
103
104
105
106
107
108
module.exports = function (grunt) {
'use strict';
grunt.loadTasks('./tasks');
require('time-grunt')(grunt);
require('load-grunt-tasks')(grunt);
grunt.initConfig({
mozuconfig: grunt.file.readJSON('./mozu.config.json'),
jshint: {
'normal': ['./assets/src/**/*.js'],
'continuous': {
'options': { 'force': true },
'src': '<%= jshint.normal %>'
}
},
browserify: {
'all': {
'files': [{
'expand': true,
'cwd': 'assets/src/',
'src': ['**/*.manifest.js'],
'dest': 'assets/dist/',
'ext': '.all.js',
'extDot': 'last'
}],
'options': {
'browserifyOptions': {
'standalone': 'index',
'node': true,
'commondir': false,
'browserField': false,
'builtins': false,
'insertGlobals': false
}
}
}
},
manifest: { 'all': { 'files': '<%= browserify.all.files %>' } },
mozusync: {
'options': {
'applicationKey': '<%= mozuconfig.workingApplicationKey %>',
'context': '<%= mozuconfig %>',
'watchAdapters': [
{
'src': 'mozusync.upload.src',
'action': 'upload',
'always': ['./assets/functions.json']
},
{
'src': 'mozusync.del.remove',
'action': 'delete'
}
]
},
'upload': {
'options': {
'action': 'upload',
'noclobber': true
},
'src': ['./assets/**/*'],
'filter': 'isFile'
},
'del': {
'options': { 'action': 'delete' },
'src': '<%= mozusync.upload.src %>',
'filter': 'isFile',
'remove': []
},
'wipe': {
'options': { 'action': 'deleteAll' },
'src': '<%= mozusync.upload.src %>'
}
},
watch: {
'options': { 'spawn': false },
'src': {
'files': '<%= jshint.normal %>',
'tasks': [
'jshint:continuous',
'browserify:all',
'manifest'
]
},
'sync': {
'files': ['assets/**/*'],
'tasks': [
'mozusync:upload',
'mozusync:del'
]
}
}
});
grunt.registerTask('build', [
'jshint:normal',
'browserify:all',
'manifest'
]);
grunt.registerTask('default', [
'build',
'mozusync:upload'
]);
grunt.registerTask('reset', [
'mozusync:wipe',
'mozusync:upload'
]);
grunt.registerTask('cont', ['watch']);
grunt.registerTask('c', ['watch']);
grunt.registerTask('w', ['watch']);
};