Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
malwaredllc
GitHub Repository: malwaredllc/byob
Path: blob/master/web-gui/buildyourownbotnet/assets/js/easy-pie-chart/Gruntfile.js
1293 views
1
module.exports = function (grunt) {
2
3
grunt.initConfig({
4
5
pkg: grunt.file.readJSON('package.json'),
6
7
cfg: {
8
filename: 'easypiechart',
9
vanillaExportName: 'EasyPieChart'
10
},
11
12
dirs: {
13
tmp: 'tmp',
14
src: 'src',
15
dest: 'dist',
16
docs: 'docs',
17
test: 'test',
18
demo: 'demo'
19
},
20
21
clean: {
22
all: ['<%= dirs.dest %>/', '<%= dirs.tmp %>/'],
23
tmp: ['<%= dirs.tmp %>/'],
24
meteor: ['.build.*', 'versions.json']
25
},
26
27
concat: {
28
vanilla: {
29
src: [
30
'<%= dirs.src %>/renderer/canvas.js',
31
'<%= dirs.src %>/<%= cfg.filename %>.js'
32
],
33
dest: '<%= dirs.tmp %>/<%= cfg.filename %>.js'
34
},
35
jquery: {
36
src: [
37
'<%= dirs.src %>/renderer/canvas.js',
38
'<%= dirs.src %>/<%= cfg.filename %>.js',
39
'<%= dirs.src %>/jquery.plugin.js'
40
],
41
dest: '<%= dirs.tmp %>/jquery.<%= cfg.filename %>.js'
42
},
43
angular: {
44
src: [
45
'<%= dirs.src %>/angular.directive.js',
46
'<%= dirs.src %>/renderer/canvas.js',
47
'<%= dirs.src %>/<%= cfg.filename %>.js'
48
],
49
dest: '<%= dirs.tmp %>/angular.<%= cfg.filename %>.js'
50
}
51
},
52
53
usebanner: {
54
options: {
55
position: 'top',
56
banner: '/**!\n' +
57
' * <%= pkg.name %>\n' +
58
' * <%= pkg.description %>\n' +
59
' *\n' +
60
' * @license <%= pkg.license %>\n' +
61
' * @author <%= pkg.author.name %> <<%= pkg.author.email %>> (<%= pkg.author.url %>)\n' +
62
' * @version <%= pkg.version %>\n' +
63
' **/\n'
64
},
65
files: {
66
src: [
67
'<%= dirs.dest %>/<%= cfg.filename %>.js',
68
'<%= dirs.dest %>/jquery.<%= cfg.filename %>.js',
69
'<%= dirs.dest %>/angular.<%= cfg.filename %>.js'
70
]
71
}
72
},
73
74
uglify: {
75
dist: {
76
options: {
77
report: 'gzip',
78
preserveComments: 'some'
79
},
80
files: {
81
'dist/<%= cfg.filename %>.min.js': ['dist/<%= cfg.filename %>.js'],
82
'dist/jquery.<%= cfg.filename %>.min.js': ['dist/jquery.<%= cfg.filename %>.js'],
83
'dist/angular.<%= cfg.filename %>.min.js': ['dist/angular.<%= cfg.filename %>.js']
84
}
85
}
86
},
87
88
watch: {
89
gruntfile: {
90
files: ['Gruntfile.js']
91
},
92
scripts: {
93
files: '<%= dirs.src %>/**/*.js',
94
tasks: ['default'],
95
options: {
96
debounceDelay: 250
97
}
98
},
99
less: {
100
files: '<%= dirs.demo %>/*.less',
101
tasks: ['less'],
102
options: {
103
debounceDelay: 250
104
}
105
},
106
readme: {
107
files: '<%= dirs.docs %>/**/*.md',
108
tasks: ['readme'],
109
options: {
110
debounceDelay: 250
111
}
112
}
113
},
114
115
jshint: {
116
files: [
117
'<%= dirs.src %>/**/*.js',
118
'<%= dirs.test %>/**/*.js'
119
],
120
options: {}
121
},
122
123
karma: {
124
unit: {
125
configFile: 'karma.conf.coffee'
126
},
127
ci: {
128
configFile: 'karma.conf.coffee',
129
singleRun: true,
130
browsers: ['PhantomJS']
131
}
132
},
133
134
less: {
135
demo: {
136
files: {
137
'<%= dirs.demo %>/style.css': ['<%= dirs.demo %>/style.less']
138
}
139
}
140
},
141
142
umd: {
143
vanilla: {
144
src: '<%= dirs.tmp %>/<%= cfg.filename %>.js',
145
dest: '<%= dirs.dest %>/<%= cfg.filename %>.js',
146
objectToExport: '<%= cfg.vanillaExportName %>',
147
globalAlias: '<%= cfg.vanillaExportName %>'
148
},
149
jquery: {
150
src: '<%= dirs.tmp %>/jquery.<%= cfg.filename %>.js',
151
dest: '<%= dirs.dest %>/jquery.<%= cfg.filename %>.js',
152
deps: {
153
'default': ['$'],
154
amd: ['jquery'],
155
cjs: ['jquery'],
156
global: ['jQuery']
157
}
158
},
159
angular: {
160
src: '<%= dirs.tmp %>/angular.<%= cfg.filename %>.js',
161
dest: '<%= dirs.dest %>/angular.<%= cfg.filename %>.js',
162
deps: {
163
'default': ['angular'],
164
amd: ['angular'],
165
cjs: ['angular'],
166
global: ['angular']
167
}
168
}
169
},
170
171
exec: {
172
'meteor-init': {
173
command: [
174
'type meteor >/dev/null 2>&1 || { curl https://install.meteor.com/ | sh; }'
175
].join(';')
176
},
177
'meteor-publish': {
178
command: 'meteor publish'
179
}
180
}
181
});
182
183
// load all installed grunt tasks
184
require('load-grunt-tasks')(grunt);
185
grunt.loadNpmTasks('grunt-exec');
186
187
// task defiinitions
188
grunt.registerTask('default', [
189
'clean:all',
190
'jshint',
191
'concat',
192
'umd',
193
'usebanner',
194
'uglify',
195
'clean:tmp',
196
'readme'
197
]);
198
199
grunt.registerTask('test', ['karma:unit']);
200
grunt.registerTask('all', ['default', 'less']);
201
grunt.registerTask('meteor-publish', ['exec:meteor-init', 'exec:meteor-publish', 'exec:meteor-cleanup']);
202
grunt.registerTask('meteor', ['exec:meteor-init', 'exec:meteor-publish', 'exec:meteor-cleanup']);
203
};
204
205