egg 3.29.0 → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/README.zh-CN.md +7 -5
- package/dist/commonjs/agent.d.ts +4 -0
- package/dist/commonjs/agent.js +10 -0
- package/dist/commonjs/app/extend/context.d.ts +154 -0
- package/dist/commonjs/app/extend/context.js +261 -0
- package/dist/commonjs/app/extend/context.types.d.ts +16 -0
- package/dist/commonjs/app/extend/context.types.js +3 -0
- package/dist/commonjs/app/extend/helper.d.ts +37 -0
- package/dist/commonjs/app/extend/helper.js +49 -0
- package/dist/commonjs/app/extend/request.d.ts +128 -0
- package/dist/commonjs/app/extend/request.js +270 -0
- package/dist/commonjs/app/extend/response.d.ts +25 -0
- package/dist/commonjs/app/extend/response.js +37 -0
- package/dist/commonjs/app/middleware/body_parser.d.ts +2 -0
- package/dist/commonjs/app/middleware/body_parser.js +8 -0
- package/dist/commonjs/app/middleware/meta.d.ts +10 -0
- package/dist/commonjs/app/middleware/meta.js +22 -0
- package/dist/commonjs/app/middleware/notfound.d.ts +7 -0
- package/dist/commonjs/app/middleware/notfound.js +31 -0
- package/dist/commonjs/app/middleware/override_method.d.ts +2 -0
- package/dist/commonjs/app/middleware/override_method.js +8 -0
- package/dist/commonjs/app/middleware/site_file.d.ts +9 -0
- package/dist/commonjs/app/middleware/site_file.js +58 -0
- package/dist/commonjs/config/config.default.d.ts +9 -0
- package/dist/commonjs/config/config.default.js +379 -0
- package/dist/commonjs/config/config.local.d.ts +8 -0
- package/dist/commonjs/config/config.local.js +12 -0
- package/dist/commonjs/config/config.unittest.d.ts +7 -0
- package/dist/commonjs/config/config.unittest.js +11 -0
- package/dist/commonjs/config/plugin.d.ts +122 -0
- package/dist/commonjs/config/plugin.js +125 -0
- package/dist/commonjs/index.d.ts +63 -0
- package/dist/commonjs/index.js +91 -0
- package/dist/commonjs/lib/agent.d.ts +19 -0
- package/dist/commonjs/lib/agent.js +58 -0
- package/dist/commonjs/lib/application.d.ts +59 -0
- package/dist/commonjs/lib/application.js +270 -0
- package/dist/commonjs/lib/core/base_context_class.d.ts +14 -0
- package/dist/commonjs/lib/core/base_context_class.js +22 -0
- package/dist/commonjs/lib/core/base_context_logger.d.ts +36 -0
- package/dist/commonjs/lib/core/base_context_logger.js +64 -0
- package/dist/commonjs/lib/core/base_hook_class.d.ts +11 -0
- package/dist/commonjs/lib/core/base_hook_class.js +30 -0
- package/dist/commonjs/lib/core/context_httpclient.d.ts +16 -0
- package/dist/commonjs/lib/core/context_httpclient.js +30 -0
- package/dist/commonjs/lib/core/httpclient.d.ts +13 -0
- package/dist/commonjs/lib/core/httpclient.js +37 -0
- package/dist/commonjs/lib/core/logger.d.ts +3 -0
- package/dist/commonjs/lib/core/logger.js +40 -0
- package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +50 -0
- package/dist/commonjs/lib/core/messenger/IMessenger.js +3 -0
- package/dist/commonjs/lib/core/messenger/index.d.ts +7 -0
- package/dist/commonjs/lib/core/messenger/index.js +14 -0
- package/dist/commonjs/lib/core/messenger/ipc.d.ts +59 -0
- package/dist/commonjs/lib/core/messenger/ipc.js +137 -0
- package/dist/commonjs/lib/core/messenger/local.d.ts +61 -0
- package/dist/commonjs/lib/core/messenger/local.js +137 -0
- package/dist/commonjs/lib/core/singleton.d.ts +23 -0
- package/dist/commonjs/lib/core/singleton.js +120 -0
- package/dist/commonjs/lib/core/utils.d.ts +2 -0
- package/dist/commonjs/lib/core/utils.js +77 -0
- package/dist/commonjs/lib/egg.d.ts +276 -0
- package/dist/commonjs/lib/egg.js +617 -0
- package/dist/commonjs/lib/egg.types.d.ts +6 -0
- package/dist/commonjs/lib/egg.types.js +3 -0
- package/dist/commonjs/lib/loader/AgentWorkerLoader.d.ts +12 -0
- package/dist/commonjs/lib/loader/AgentWorkerLoader.js +24 -0
- package/dist/commonjs/lib/loader/AppWorkerLoader.d.ts +17 -0
- package/dist/commonjs/lib/loader/AppWorkerLoader.js +43 -0
- package/dist/commonjs/lib/loader/EggApplicationLoader.d.ts +4 -0
- package/dist/commonjs/lib/loader/EggApplicationLoader.js +8 -0
- package/dist/commonjs/lib/loader/index.d.ts +3 -0
- package/dist/commonjs/lib/loader/index.js +22 -0
- package/dist/commonjs/lib/start.d.ts +15 -0
- package/dist/commonjs/lib/start.js +49 -0
- package/dist/commonjs/lib/type.d.ts +293 -0
- package/dist/commonjs/lib/type.js +3 -0
- package/dist/commonjs/lib/utils.d.ts +2 -0
- package/dist/commonjs/lib/utils.js +21 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/esm/agent.d.ts +4 -0
- package/dist/esm/agent.js +7 -0
- package/dist/esm/app/extend/context.d.ts +154 -0
- package/dist/esm/app/extend/context.js +255 -0
- package/dist/esm/app/extend/context.types.d.ts +16 -0
- package/dist/esm/app/extend/context.types.js +2 -0
- package/dist/esm/app/extend/helper.d.ts +37 -0
- package/dist/esm/app/extend/helper.js +43 -0
- package/dist/esm/app/extend/request.d.ts +128 -0
- package/dist/esm/app/extend/request.js +264 -0
- package/dist/esm/app/extend/response.d.ts +25 -0
- package/dist/esm/app/extend/response.js +34 -0
- package/dist/esm/app/middleware/body_parser.d.ts +2 -0
- package/dist/esm/app/middleware/body_parser.js +3 -0
- package/dist/esm/app/middleware/meta.d.ts +10 -0
- package/dist/esm/app/middleware/meta.js +20 -0
- package/dist/esm/app/middleware/notfound.d.ts +7 -0
- package/dist/esm/app/middleware/notfound.js +29 -0
- package/dist/esm/app/middleware/override_method.d.ts +2 -0
- package/dist/esm/app/middleware/override_method.js +3 -0
- package/dist/esm/app/middleware/site_file.d.ts +9 -0
- package/dist/esm/app/middleware/site_file.js +53 -0
- package/dist/esm/config/config.default.d.ts +9 -0
- package/dist/esm/config/config.default.js +374 -0
- package/dist/esm/config/config.local.d.ts +8 -0
- package/dist/esm/config/config.local.js +10 -0
- package/dist/esm/config/config.unittest.d.ts +7 -0
- package/dist/esm/config/config.unittest.js +9 -0
- package/dist/esm/config/favicon.png +0 -0
- package/dist/esm/config/plugin.d.ts +122 -0
- package/dist/esm/config/plugin.js +123 -0
- package/dist/esm/index.d.ts +63 -0
- package/dist/esm/index.js +66 -0
- package/dist/esm/lib/agent.d.ts +19 -0
- package/dist/esm/lib/agent.js +54 -0
- package/dist/esm/lib/application.d.ts +59 -0
- package/dist/esm/lib/application.js +263 -0
- package/dist/esm/lib/core/base_context_class.d.ts +14 -0
- package/dist/esm/lib/core/base_context_class.js +18 -0
- package/dist/esm/lib/core/base_context_logger.d.ts +36 -0
- package/dist/esm/lib/core/base_context_logger.js +60 -0
- package/dist/esm/lib/core/base_hook_class.d.ts +11 -0
- package/dist/esm/lib/core/base_hook_class.js +23 -0
- package/dist/esm/lib/core/context_httpclient.d.ts +16 -0
- package/dist/esm/lib/core/context_httpclient.js +26 -0
- package/dist/esm/lib/core/httpclient.d.ts +13 -0
- package/dist/esm/lib/core/httpclient.js +33 -0
- package/dist/esm/lib/core/logger.d.ts +3 -0
- package/dist/esm/lib/core/logger.js +37 -0
- package/dist/esm/lib/core/messenger/IMessenger.d.ts +50 -0
- package/dist/esm/lib/core/messenger/IMessenger.js +2 -0
- package/dist/esm/lib/core/messenger/index.d.ts +7 -0
- package/dist/esm/lib/core/messenger/index.js +11 -0
- package/dist/esm/lib/core/messenger/ipc.d.ts +59 -0
- package/dist/esm/lib/core/messenger/ipc.js +130 -0
- package/dist/esm/lib/core/messenger/local.d.ts +61 -0
- package/dist/esm/lib/core/messenger/local.js +130 -0
- package/dist/esm/lib/core/singleton.d.ts +23 -0
- package/dist/esm/lib/core/singleton.js +113 -0
- package/dist/esm/lib/core/utils.d.ts +2 -0
- package/dist/esm/lib/core/utils.js +70 -0
- package/dist/esm/lib/egg.d.ts +276 -0
- package/dist/esm/lib/egg.js +574 -0
- package/dist/esm/lib/egg.types.d.ts +6 -0
- package/dist/esm/lib/egg.types.js +2 -0
- package/dist/esm/lib/loader/AgentWorkerLoader.d.ts +12 -0
- package/dist/esm/lib/loader/AgentWorkerLoader.js +20 -0
- package/dist/esm/lib/loader/AppWorkerLoader.d.ts +17 -0
- package/dist/esm/lib/loader/AppWorkerLoader.js +39 -0
- package/dist/esm/lib/loader/EggApplicationLoader.d.ts +4 -0
- package/dist/esm/lib/loader/EggApplicationLoader.js +4 -0
- package/dist/esm/lib/loader/index.d.ts +3 -0
- package/dist/esm/lib/loader/index.js +4 -0
- package/dist/esm/lib/start.d.ts +15 -0
- package/dist/esm/lib/start.js +43 -0
- package/dist/esm/lib/type.d.ts +293 -0
- package/dist/esm/lib/type.js +2 -0
- package/dist/esm/lib/utils.d.ts +2 -0
- package/dist/esm/lib/utils.js +14 -0
- package/dist/esm/package.json +3 -0
- package/dist/package.json +4 -0
- package/package.json +97 -79
- package/src/agent.ts +7 -0
- package/src/app/extend/context.ts +303 -0
- package/src/app/extend/context.types.ts +24 -0
- package/{app/extend/helper.js → src/app/extend/helper.ts} +14 -13
- package/{app/extend/request.js → src/app/extend/request.ts} +81 -79
- package/src/app/extend/response.ts +36 -0
- package/src/app/middleware/body_parser.ts +3 -0
- package/{app/middleware/meta.js → src/app/middleware/meta.ts} +11 -4
- package/{app/middleware/notfound.js → src/app/middleware/notfound.ts} +8 -3
- package/src/app/middleware/override_method.ts +3 -0
- package/src/app/middleware/site_file.ts +68 -0
- package/{config/config.default.js → src/config/config.default.ts} +25 -45
- package/src/config/config.local.ts +11 -0
- package/src/config/config.unittest.ts +10 -0
- package/src/config/favicon.png +0 -0
- package/{config/plugin.js → src/config/plugin.ts} +3 -5
- package/src/index.ts +80 -0
- package/src/lib/agent.ts +66 -0
- package/{lib/application.js → src/lib/application.ts} +76 -124
- package/src/lib/core/base_context_class.ts +21 -0
- package/src/lib/core/base_context_logger.ts +67 -0
- package/src/lib/core/base_hook_class.ts +30 -0
- package/src/lib/core/context_httpclient.ts +33 -0
- package/src/lib/core/httpclient.ts +51 -0
- package/src/lib/core/logger.ts +42 -0
- package/src/lib/core/messenger/IMessenger.ts +58 -0
- package/src/lib/core/messenger/index.ts +15 -0
- package/src/lib/core/messenger/ipc.ts +148 -0
- package/{lib/core/messenger/local.js → src/lib/core/messenger/local.ts} +36 -28
- package/{lib/core/singleton.js → src/lib/core/singleton.ts} +56 -33
- package/src/lib/core/utils.ts +77 -0
- package/{lib/egg.js → src/lib/egg.ts} +287 -221
- package/src/lib/egg.types.ts +6 -0
- package/src/lib/loader/AgentWorkerLoader.ts +21 -0
- package/src/lib/loader/AppWorkerLoader.ts +42 -0
- package/src/lib/loader/EggApplicationLoader.ts +5 -0
- package/src/lib/loader/index.ts +3 -0
- package/src/lib/start.ts +56 -0
- package/src/lib/type.ts +329 -0
- package/src/lib/utils.ts +16 -0
- package/CHANGELOG.md +0 -2395
- package/History.md +0 -52
- package/agent.js +0 -11
- package/app/extend/context.js +0 -285
- package/app/extend/response.js +0 -101
- package/app/middleware/body_parser.js +0 -3
- package/app/middleware/override_method.js +0 -3
- package/app/middleware/site_file.js +0 -31
- package/config/config.local.js +0 -7
- package/config/config.unittest.js +0 -8
- package/index.d.ts +0 -1288
- package/index.js +0 -68
- package/lib/agent.js +0 -95
- package/lib/core/base_context_class.js +0 -20
- package/lib/core/base_context_logger.js +0 -64
- package/lib/core/base_hook_class.js +0 -31
- package/lib/core/context_httpclient.js +0 -26
- package/lib/core/dnscache_httpclient.js +0 -93
- package/lib/core/httpclient.js +0 -119
- package/lib/core/httpclient_next.js +0 -80
- package/lib/core/logger.js +0 -35
- package/lib/core/messenger/index.js +0 -14
- package/lib/core/messenger/ipc.js +0 -141
- package/lib/core/utils.js +0 -73
- package/lib/loader/agent_worker_loader.js +0 -27
- package/lib/loader/app_worker_loader.js +0 -48
- package/lib/loader/index.js +0 -5
- package/lib/start.js +0 -39
- /package/{config → dist/commonjs/config}/favicon.png +0 -0
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const debug = require('util').debuglog('egg:util:messenger:ipc');
|
|
4
|
-
const is = require('is-type-of');
|
|
5
|
-
const workerThreads = require('worker_threads');
|
|
6
|
-
const sendmessage = require('sendmessage');
|
|
7
|
-
const EventEmitter = require('events');
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Communication between app worker and agent worker by IPC channel
|
|
11
|
-
*/
|
|
12
|
-
class Messenger extends EventEmitter {
|
|
13
|
-
|
|
14
|
-
constructor() {
|
|
15
|
-
super();
|
|
16
|
-
this.pid = String(process.pid);
|
|
17
|
-
// pids of agent or app managed by master
|
|
18
|
-
// - retrieve app worker pids when it's an agent worker
|
|
19
|
-
// - retrieve agent worker pids when it's an app worker
|
|
20
|
-
this.opids = [];
|
|
21
|
-
this.on('egg-pids', pids => {
|
|
22
|
-
this.opids = pids;
|
|
23
|
-
});
|
|
24
|
-
this._onMessage = this._onMessage.bind(this);
|
|
25
|
-
process.on('message', this._onMessage);
|
|
26
|
-
if (!workerThreads.isMainThread) {
|
|
27
|
-
workerThreads.parentPort.on('message', this._onMessage);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Send message to all agent and app
|
|
33
|
-
* @param {String} action - message key
|
|
34
|
-
* @param {Object} data - message value
|
|
35
|
-
* @return {Messenger} this
|
|
36
|
-
*/
|
|
37
|
-
broadcast(action, data) {
|
|
38
|
-
debug('[%s] broadcast %s with %j', this.pid, action, data);
|
|
39
|
-
this.send(action, data, 'app');
|
|
40
|
-
this.send(action, data, 'agent');
|
|
41
|
-
return this;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* send message to the specified process
|
|
46
|
-
* @param {String} pid - the process id of the receiver
|
|
47
|
-
* @param {String} action - message key
|
|
48
|
-
* @param {Object} data - message value
|
|
49
|
-
* @return {Messenger} this
|
|
50
|
-
*/
|
|
51
|
-
sendTo(pid, action, data) {
|
|
52
|
-
debug('[%s] send %s with %j to %s', this.pid, action, data, pid);
|
|
53
|
-
sendmessage(process, {
|
|
54
|
-
action,
|
|
55
|
-
data,
|
|
56
|
-
receiverPid: String(pid),
|
|
57
|
-
});
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* send message to one app worker by random
|
|
63
|
-
* - if it's running in agent, it will send to one of app workers
|
|
64
|
-
* - if it's running in app, it will send to agent
|
|
65
|
-
* @param {String} action - message key
|
|
66
|
-
* @param {Object} data - message value
|
|
67
|
-
* @return {Messenger} this
|
|
68
|
-
*/
|
|
69
|
-
sendRandom(action, data) {
|
|
70
|
-
/* istanbul ignore if */
|
|
71
|
-
if (!this.opids.length) return this;
|
|
72
|
-
const pid = random(this.opids);
|
|
73
|
-
this.sendTo(String(pid), action, data);
|
|
74
|
-
return this;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* send message to app
|
|
79
|
-
* @param {String} action - message key
|
|
80
|
-
* @param {Object} data - message value
|
|
81
|
-
* @return {Messenger} this
|
|
82
|
-
*/
|
|
83
|
-
sendToApp(action, data) {
|
|
84
|
-
debug('[%s] send %s with %j to all app', this.pid, action, data);
|
|
85
|
-
this.send(action, data, 'app');
|
|
86
|
-
return this;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* send message to agent
|
|
91
|
-
* @param {String} action - message key
|
|
92
|
-
* @param {Object} data - message value
|
|
93
|
-
* @return {Messenger} this
|
|
94
|
-
*/
|
|
95
|
-
sendToAgent(action, data) {
|
|
96
|
-
debug('[%s] send %s with %j to all agent', this.pid, action, data);
|
|
97
|
-
this.send(action, data, 'agent');
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* @param {String} action - message key
|
|
103
|
-
* @param {Object} data - message value
|
|
104
|
-
* @param {String} to - let master know how to send message
|
|
105
|
-
* @return {Messenger} this
|
|
106
|
-
*/
|
|
107
|
-
send(action, data, to) {
|
|
108
|
-
sendmessage(process, {
|
|
109
|
-
action,
|
|
110
|
-
data,
|
|
111
|
-
to,
|
|
112
|
-
});
|
|
113
|
-
return this;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
_onMessage(message) {
|
|
117
|
-
if (message && is.string(message.action)) {
|
|
118
|
-
debug('[%s] got message %s with %j, receiverPid: %s',
|
|
119
|
-
this.pid, message.action, message.data, message.receiverPid);
|
|
120
|
-
this.emit(message.action, message.data);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
close() {
|
|
125
|
-
process.removeListener('message', this._onMessage);
|
|
126
|
-
this.removeAllListeners();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* @function Messenger#on
|
|
131
|
-
* @param {String} action - message key
|
|
132
|
-
* @param {Object} data - message value
|
|
133
|
-
*/
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
module.exports = Messenger;
|
|
137
|
-
|
|
138
|
-
function random(arr) {
|
|
139
|
-
const index = Math.floor(Math.random() * arr.length);
|
|
140
|
-
return arr[index];
|
|
141
|
-
}
|
package/lib/core/utils.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const util = require('util');
|
|
4
|
-
const is = require('is-type-of');
|
|
5
|
-
const URL = require('url').URL;
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
convertObject,
|
|
9
|
-
safeParseURL,
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
function convertObject(obj, ignore) {
|
|
13
|
-
if (!is.array(ignore)) ignore = [ ignore ];
|
|
14
|
-
for (const key of Object.keys(obj)) {
|
|
15
|
-
obj[key] = convertValue(key, obj[key], ignore);
|
|
16
|
-
}
|
|
17
|
-
return obj;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function convertValue(key, value, ignore) {
|
|
21
|
-
if (is.nullOrUndefined(value)) return value;
|
|
22
|
-
|
|
23
|
-
let hit = false;
|
|
24
|
-
for (const matchKey of ignore) {
|
|
25
|
-
if (is.string(matchKey) && matchKey === key) {
|
|
26
|
-
hit = true;
|
|
27
|
-
break;
|
|
28
|
-
} else if (is.regExp(matchKey) && matchKey.test(key)) {
|
|
29
|
-
hit = true;
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (!hit) {
|
|
34
|
-
if (is.symbol(value) || is.regExp(value)) return value.toString();
|
|
35
|
-
if (is.primitive(value) || is.array(value)) return value;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// only convert recursively when it's a plain object,
|
|
39
|
-
// o = {}
|
|
40
|
-
if (Object.getPrototypeOf(value) === Object.prototype) {
|
|
41
|
-
return convertObject(value, ignore);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// support class
|
|
45
|
-
const name = value.name || 'anonymous';
|
|
46
|
-
if (is.class(value)) {
|
|
47
|
-
return `<Class ${name}>`;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// support generator function
|
|
51
|
-
if (is.function(value)) {
|
|
52
|
-
if (is.generatorFunction(value)) return `<GeneratorFunction ${name}>`;
|
|
53
|
-
if (is.asyncFunction(value)) return `<AsyncFunction ${name}>`;
|
|
54
|
-
return `<Function ${name}>`;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const typeName = value.constructor.name;
|
|
58
|
-
if (typeName) {
|
|
59
|
-
if (is.buffer(value) || is.string(value)) return `<${typeName} len: ${value.length}>`;
|
|
60
|
-
return `<${typeName}>`;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/* istanbul ignore next */
|
|
64
|
-
return util.format(value);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function safeParseURL(url) {
|
|
68
|
-
try {
|
|
69
|
-
return new URL(url);
|
|
70
|
-
} catch (err) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const EggLoader = require('egg-core').EggLoader;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Agent worker process loader
|
|
7
|
-
* @see https://github.com/eggjs/egg-loader
|
|
8
|
-
*/
|
|
9
|
-
class AgentWorkerLoader extends EggLoader {
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* loadPlugin first, then loadConfig
|
|
13
|
-
*/
|
|
14
|
-
loadConfig() {
|
|
15
|
-
this.loadPlugin();
|
|
16
|
-
super.loadConfig();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
load() {
|
|
20
|
-
this.loadAgentExtend();
|
|
21
|
-
this.loadContextExtend();
|
|
22
|
-
|
|
23
|
-
this.loadCustomAgent();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
module.exports = AgentWorkerLoader;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const EggLoader = require('egg-core').EggLoader;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* App worker process Loader, will load plugins
|
|
7
|
-
* @see https://github.com/eggjs/egg-loader
|
|
8
|
-
*/
|
|
9
|
-
class AppWorkerLoader extends EggLoader {
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* loadPlugin first, then loadConfig
|
|
13
|
-
* @since 1.0.0
|
|
14
|
-
*/
|
|
15
|
-
loadConfig() {
|
|
16
|
-
this.loadPlugin();
|
|
17
|
-
super.loadConfig();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Load all directories in convention
|
|
22
|
-
* @since 1.0.0
|
|
23
|
-
*/
|
|
24
|
-
load() {
|
|
25
|
-
// app > plugin > core
|
|
26
|
-
this.loadApplicationExtend();
|
|
27
|
-
this.loadRequestExtend();
|
|
28
|
-
this.loadResponseExtend();
|
|
29
|
-
this.loadContextExtend();
|
|
30
|
-
this.loadHelperExtend();
|
|
31
|
-
|
|
32
|
-
this.loadCustomLoader();
|
|
33
|
-
|
|
34
|
-
// app > plugin
|
|
35
|
-
this.loadCustomApp();
|
|
36
|
-
// app > plugin
|
|
37
|
-
this.loadService();
|
|
38
|
-
// app > plugin > core
|
|
39
|
-
this.loadMiddleware();
|
|
40
|
-
// app
|
|
41
|
-
this.loadController();
|
|
42
|
-
// app
|
|
43
|
-
this.loadRouter(); // Depend on controllers
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
module.exports = AppWorkerLoader;
|
package/lib/loader/index.js
DELETED
package/lib/start.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const path = require('path');
|
|
4
|
-
|
|
5
|
-
module.exports = async (options = {}) => {
|
|
6
|
-
|
|
7
|
-
options.baseDir = options.baseDir || process.cwd();
|
|
8
|
-
options.mode = 'single';
|
|
9
|
-
|
|
10
|
-
// get agent from options.framework and package.egg.framework
|
|
11
|
-
if (!options.framework) {
|
|
12
|
-
try {
|
|
13
|
-
options.framework = require(path.join(options.baseDir, 'package.json')).egg.framework;
|
|
14
|
-
} catch (_) {
|
|
15
|
-
// ignore
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
let Agent;
|
|
19
|
-
let Application;
|
|
20
|
-
if (options.framework) {
|
|
21
|
-
Agent = require(options.framework).Agent;
|
|
22
|
-
Application = require(options.framework).Application;
|
|
23
|
-
} else {
|
|
24
|
-
Application = require('./application');
|
|
25
|
-
Agent = require('./agent');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const agent = new Agent(Object.assign({}, options));
|
|
29
|
-
await agent.ready();
|
|
30
|
-
const application = new Application(Object.assign({}, options));
|
|
31
|
-
application.agent = agent;
|
|
32
|
-
agent.application = application;
|
|
33
|
-
await application.ready();
|
|
34
|
-
|
|
35
|
-
// emit egg-ready message in agent and application
|
|
36
|
-
application.messenger.broadcast('egg-ready');
|
|
37
|
-
|
|
38
|
-
return application;
|
|
39
|
-
};
|
|
File without changes
|