-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGruntfile.js
112 lines (98 loc) · 2.27 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
109
110
111
112
module.exports = function (grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
files: [
'Gruntfile.js',
'hoodie.template.js',
'worker.js',
'hooks/*.js'
],
options: {
jshintrc: '.jshintrc'
}
},
simplemocha: {
options: {
ui: 'tdd'
},
unit: {
src: ['test/unit/*.js']
}
},
mocha_browser: {
all: {options: {urls: ['http://localhost:<%= connect.options.port %>']}}
},
shell: {
removeData: {
command: 'rm -rf ' + require('path').resolve(__dirname, 'data')
},
npmLink: {
command: 'npm link && npm link hoodie-plugin-template'
},
npmUnlink: {
command: 'npm unlink && npm unlink hoodie-plugin-template'
},
installPlugin: {
command: 'hoodie install template'
},
removePlugin: {
command: 'hoodie uninstall template'
}
},
hoodie: {
start: {
options: {
www: 'test/browser',
callback: function (config) {
grunt.config.set('connect.options.port', config.stack.www.port);
}
}
}
},
env: {
test: {
HOODIE_SETUP_PASSWORD: 'testing'
}
},
watch: {
jshint: {
files: ['<%= jshint.files %>'],
tasks: 'jshint'
},
unittest: {
files: 'worker.js',
tasks: 'test:unit'
}
}
});
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-mocha-browser');
grunt.loadNpmTasks('grunt-simple-mocha');
grunt.loadNpmTasks('grunt-continue');
grunt.loadNpmTasks('grunt-hoodie');
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-env');
grunt.registerTask('test:unit', ['simplemocha:unit']);
grunt.registerTask('test:browser', [
'env:test',
'shell:removeData',
'shell:npmLink',
'shell:installPlugin',
'hoodie',
'continueOn',
'mocha_browser:all',
'continueOff',
'hoodie_stop',
'shell:npmUnlink',
'shell:removePlugin'
]);
grunt.registerTask('default', []);
grunt.registerTask('test', [
'jshint',
'test:unit',
'test:browser'
]);
};