-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathGruntfile.js
118 lines (99 loc) · 2.13 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
113
114
115
116
117
118
/*
* grunt-proxy
*
*
* Copyright (c) 2012 Andrei V. Toutoukine
* Licensed under the MIT license.
*/
'use strict';
module.exports = function(grunt) {
grunt.initConfig({
jshint: {
gruntfile : {
src : 'Gruntfile.js'
},
tasks : {
src : ['tasks/**/*.js']
},
tests : {
src : ['test/*.js'],
options : {jshintrc:'test/.jshintrc'}
},
options: {
jshintrc: '.jshintrc',
},
},
// Before generating any new files, remove any previously-created files.
clean: {
tests: ['tmp'],
},
// Configuration to be run (and then tested).
proxy: {
simple : {
options : {
target : {
host: 'localhost',
port: 8011
},
port : 8050
}
},
table : {
options : {
router : {
'localhost/host1' : 'localhost:8011',
'localhost/host2' : 'localhost:8012'
},
port : 8051
}
}
},
// Test servers
connect: {
host1: {
options : {
port : 8011,
base : "test/hosts/1"
}
},
host2: {
options : {
port : 8012,
base : "test/hosts/2"
}
}
},
// Unit tests.
mochaTest : {
integr : { src : 'test/proxy_test.js' },
unit : { src : 'test/unit_test.js'}
},
watch : {
gruntfile : {
files : '<%= jshint.gruntfile.src %>',
tasks : ['jshint:gruntfile']
},
tasks : {
files : '<%= jshint.tasks.src %>',
tasks : ['jshint:tasks','mochaTest:unit']
},
tests : {
files : '<%= jshint.tests.src %>',
tasks : ['jshint:tests','mochaTest']
}
}
});
// Actually load this plugin's task(s).
grunt.loadTasks('tasks');
// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-mocha-test');
// Whenever the "test" task is run, first clean the "tmp" dir, then run this
// plugin's task(s), then test the result.
grunt.registerTask('test', ['clean', 'connect', 'proxy', 'mochaTest:unit']);
// By default, lint and run all tests.
grunt.registerTask('default', ['test']);
};