-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathconnect.js
executable file
·127 lines (111 loc) · 2.51 KB
/
connect.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
119
120
121
122
123
124
125
126
127
'use strict';
var config = require('./config');
var MOUNT_PATH = config.ini.MOUNT_PATH;
var addMiddleware = function (connect, options, middlewares) {
middlewares.unshift(
require('grunt-connect-proxy/lib/utils').proxyRequest,
require('grunt-connect-rewrite/lib/utils').rewriteRequest,
require('gateway')(options.base[0], {
'.php': 'php-cgi',
'env': {
'PHPRC': 'node_modules/hazdev-template/dist/conf/php.ini'
}
})
);
return middlewares;
};
var connect = {
options: {
hostname: '*'
},
proxies: [
{
context: '/theme/',
host: 'localhost',
port: config.templatePort,
rewrite: {
'^/theme': ''
}
}
],
rules: [
{
from: '^(' + MOUNT_PATH + ')(.*)/+$',
to: 'http://localhost:' + config.buildPort + '$1$2', // strip final '/'
redirect: 'permanent'
},
{
from: '^' + MOUNT_PATH + '/archives/([0-9]{4})$',
to: '/index.php?year=$1'
},
{
from: '^' + MOUNT_PATH + '/([0-9]+)$',
to: '/seminar.php?id=$1'
},
{
from: '^' + MOUNT_PATH + '/feed$',
to: '/podcast.xml.php'
},
{
from: '^' + MOUNT_PATH + '/?(.*)$',
to: '/$1'
}
],
dev: {
options: {
base: [
config.build + '/' + config.src + '/htdocs'
],
livereload: config.liveReloadPort,
middleware: addMiddleware,
open: 'http://localhost:' + config.buildPort + MOUNT_PATH,
port: config.buildPort
}
},
dist: {
options: {
base: [
config.dist + '/htdocs'
],
port: config.distPort,
keepalive: true,
open: 'http://localhost:' + config.distPort +
MOUNT_PATH + '/index.php',
middleware: addMiddleware
}
},
example: {
options: {
base: [
config.example,
config.build + '/' + config.src + '/htdocs',
config.etc
],
middleware: addMiddleware,
open: 'http://localhost:' + config.examplePort + '/example.php',
port: config.examplePort
}
},
template: {
options: {
base: [
'node_modules/hazdev-template/dist/htdocs'
],
port: config.templatePort,
middleware: addMiddleware
}
},
test: {
options: {
base: [
config.build + '/' + config.src + '/htdocs',
config.build + '/' + config.test,
config.etc,
'node_modules'
],
port: config.testPort,
open: 'http://localhost:' + config.testPort + '/test.html'
}
}
};
module.exports = connect;