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.
Files changed (232) hide show
  1. package/README.md +2 -1
  2. package/README.zh-CN.md +7 -5
  3. package/dist/commonjs/agent.d.ts +4 -0
  4. package/dist/commonjs/agent.js +10 -0
  5. package/dist/commonjs/app/extend/context.d.ts +154 -0
  6. package/dist/commonjs/app/extend/context.js +261 -0
  7. package/dist/commonjs/app/extend/context.types.d.ts +16 -0
  8. package/dist/commonjs/app/extend/context.types.js +3 -0
  9. package/dist/commonjs/app/extend/helper.d.ts +37 -0
  10. package/dist/commonjs/app/extend/helper.js +49 -0
  11. package/dist/commonjs/app/extend/request.d.ts +128 -0
  12. package/dist/commonjs/app/extend/request.js +270 -0
  13. package/dist/commonjs/app/extend/response.d.ts +25 -0
  14. package/dist/commonjs/app/extend/response.js +37 -0
  15. package/dist/commonjs/app/middleware/body_parser.d.ts +2 -0
  16. package/dist/commonjs/app/middleware/body_parser.js +8 -0
  17. package/dist/commonjs/app/middleware/meta.d.ts +10 -0
  18. package/dist/commonjs/app/middleware/meta.js +22 -0
  19. package/dist/commonjs/app/middleware/notfound.d.ts +7 -0
  20. package/dist/commonjs/app/middleware/notfound.js +31 -0
  21. package/dist/commonjs/app/middleware/override_method.d.ts +2 -0
  22. package/dist/commonjs/app/middleware/override_method.js +8 -0
  23. package/dist/commonjs/app/middleware/site_file.d.ts +9 -0
  24. package/dist/commonjs/app/middleware/site_file.js +58 -0
  25. package/dist/commonjs/config/config.default.d.ts +9 -0
  26. package/dist/commonjs/config/config.default.js +379 -0
  27. package/dist/commonjs/config/config.local.d.ts +8 -0
  28. package/dist/commonjs/config/config.local.js +12 -0
  29. package/dist/commonjs/config/config.unittest.d.ts +7 -0
  30. package/dist/commonjs/config/config.unittest.js +11 -0
  31. package/dist/commonjs/config/plugin.d.ts +122 -0
  32. package/dist/commonjs/config/plugin.js +125 -0
  33. package/dist/commonjs/index.d.ts +63 -0
  34. package/dist/commonjs/index.js +91 -0
  35. package/dist/commonjs/lib/agent.d.ts +19 -0
  36. package/dist/commonjs/lib/agent.js +58 -0
  37. package/dist/commonjs/lib/application.d.ts +59 -0
  38. package/dist/commonjs/lib/application.js +270 -0
  39. package/dist/commonjs/lib/core/base_context_class.d.ts +14 -0
  40. package/dist/commonjs/lib/core/base_context_class.js +22 -0
  41. package/dist/commonjs/lib/core/base_context_logger.d.ts +36 -0
  42. package/dist/commonjs/lib/core/base_context_logger.js +64 -0
  43. package/dist/commonjs/lib/core/base_hook_class.d.ts +11 -0
  44. package/dist/commonjs/lib/core/base_hook_class.js +30 -0
  45. package/dist/commonjs/lib/core/context_httpclient.d.ts +16 -0
  46. package/dist/commonjs/lib/core/context_httpclient.js +30 -0
  47. package/dist/commonjs/lib/core/httpclient.d.ts +13 -0
  48. package/dist/commonjs/lib/core/httpclient.js +37 -0
  49. package/dist/commonjs/lib/core/logger.d.ts +3 -0
  50. package/dist/commonjs/lib/core/logger.js +40 -0
  51. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +50 -0
  52. package/dist/commonjs/lib/core/messenger/IMessenger.js +3 -0
  53. package/dist/commonjs/lib/core/messenger/index.d.ts +7 -0
  54. package/dist/commonjs/lib/core/messenger/index.js +14 -0
  55. package/dist/commonjs/lib/core/messenger/ipc.d.ts +59 -0
  56. package/dist/commonjs/lib/core/messenger/ipc.js +137 -0
  57. package/dist/commonjs/lib/core/messenger/local.d.ts +61 -0
  58. package/dist/commonjs/lib/core/messenger/local.js +137 -0
  59. package/dist/commonjs/lib/core/singleton.d.ts +23 -0
  60. package/dist/commonjs/lib/core/singleton.js +120 -0
  61. package/dist/commonjs/lib/core/utils.d.ts +2 -0
  62. package/dist/commonjs/lib/core/utils.js +77 -0
  63. package/dist/commonjs/lib/egg.d.ts +276 -0
  64. package/dist/commonjs/lib/egg.js +617 -0
  65. package/dist/commonjs/lib/egg.types.d.ts +6 -0
  66. package/dist/commonjs/lib/egg.types.js +3 -0
  67. package/dist/commonjs/lib/loader/AgentWorkerLoader.d.ts +12 -0
  68. package/dist/commonjs/lib/loader/AgentWorkerLoader.js +24 -0
  69. package/dist/commonjs/lib/loader/AppWorkerLoader.d.ts +17 -0
  70. package/dist/commonjs/lib/loader/AppWorkerLoader.js +43 -0
  71. package/dist/commonjs/lib/loader/EggApplicationLoader.d.ts +4 -0
  72. package/dist/commonjs/lib/loader/EggApplicationLoader.js +8 -0
  73. package/dist/commonjs/lib/loader/index.d.ts +3 -0
  74. package/dist/commonjs/lib/loader/index.js +22 -0
  75. package/dist/commonjs/lib/start.d.ts +15 -0
  76. package/dist/commonjs/lib/start.js +49 -0
  77. package/dist/commonjs/lib/type.d.ts +293 -0
  78. package/dist/commonjs/lib/type.js +3 -0
  79. package/dist/commonjs/lib/utils.d.ts +2 -0
  80. package/dist/commonjs/lib/utils.js +21 -0
  81. package/dist/commonjs/package.json +3 -0
  82. package/dist/esm/agent.d.ts +4 -0
  83. package/dist/esm/agent.js +7 -0
  84. package/dist/esm/app/extend/context.d.ts +154 -0
  85. package/dist/esm/app/extend/context.js +255 -0
  86. package/dist/esm/app/extend/context.types.d.ts +16 -0
  87. package/dist/esm/app/extend/context.types.js +2 -0
  88. package/dist/esm/app/extend/helper.d.ts +37 -0
  89. package/dist/esm/app/extend/helper.js +43 -0
  90. package/dist/esm/app/extend/request.d.ts +128 -0
  91. package/dist/esm/app/extend/request.js +264 -0
  92. package/dist/esm/app/extend/response.d.ts +25 -0
  93. package/dist/esm/app/extend/response.js +34 -0
  94. package/dist/esm/app/middleware/body_parser.d.ts +2 -0
  95. package/dist/esm/app/middleware/body_parser.js +3 -0
  96. package/dist/esm/app/middleware/meta.d.ts +10 -0
  97. package/dist/esm/app/middleware/meta.js +20 -0
  98. package/dist/esm/app/middleware/notfound.d.ts +7 -0
  99. package/dist/esm/app/middleware/notfound.js +29 -0
  100. package/dist/esm/app/middleware/override_method.d.ts +2 -0
  101. package/dist/esm/app/middleware/override_method.js +3 -0
  102. package/dist/esm/app/middleware/site_file.d.ts +9 -0
  103. package/dist/esm/app/middleware/site_file.js +53 -0
  104. package/dist/esm/config/config.default.d.ts +9 -0
  105. package/dist/esm/config/config.default.js +374 -0
  106. package/dist/esm/config/config.local.d.ts +8 -0
  107. package/dist/esm/config/config.local.js +10 -0
  108. package/dist/esm/config/config.unittest.d.ts +7 -0
  109. package/dist/esm/config/config.unittest.js +9 -0
  110. package/dist/esm/config/favicon.png +0 -0
  111. package/dist/esm/config/plugin.d.ts +122 -0
  112. package/dist/esm/config/plugin.js +123 -0
  113. package/dist/esm/index.d.ts +63 -0
  114. package/dist/esm/index.js +66 -0
  115. package/dist/esm/lib/agent.d.ts +19 -0
  116. package/dist/esm/lib/agent.js +54 -0
  117. package/dist/esm/lib/application.d.ts +59 -0
  118. package/dist/esm/lib/application.js +263 -0
  119. package/dist/esm/lib/core/base_context_class.d.ts +14 -0
  120. package/dist/esm/lib/core/base_context_class.js +18 -0
  121. package/dist/esm/lib/core/base_context_logger.d.ts +36 -0
  122. package/dist/esm/lib/core/base_context_logger.js +60 -0
  123. package/dist/esm/lib/core/base_hook_class.d.ts +11 -0
  124. package/dist/esm/lib/core/base_hook_class.js +23 -0
  125. package/dist/esm/lib/core/context_httpclient.d.ts +16 -0
  126. package/dist/esm/lib/core/context_httpclient.js +26 -0
  127. package/dist/esm/lib/core/httpclient.d.ts +13 -0
  128. package/dist/esm/lib/core/httpclient.js +33 -0
  129. package/dist/esm/lib/core/logger.d.ts +3 -0
  130. package/dist/esm/lib/core/logger.js +37 -0
  131. package/dist/esm/lib/core/messenger/IMessenger.d.ts +50 -0
  132. package/dist/esm/lib/core/messenger/IMessenger.js +2 -0
  133. package/dist/esm/lib/core/messenger/index.d.ts +7 -0
  134. package/dist/esm/lib/core/messenger/index.js +11 -0
  135. package/dist/esm/lib/core/messenger/ipc.d.ts +59 -0
  136. package/dist/esm/lib/core/messenger/ipc.js +130 -0
  137. package/dist/esm/lib/core/messenger/local.d.ts +61 -0
  138. package/dist/esm/lib/core/messenger/local.js +130 -0
  139. package/dist/esm/lib/core/singleton.d.ts +23 -0
  140. package/dist/esm/lib/core/singleton.js +113 -0
  141. package/dist/esm/lib/core/utils.d.ts +2 -0
  142. package/dist/esm/lib/core/utils.js +70 -0
  143. package/dist/esm/lib/egg.d.ts +276 -0
  144. package/dist/esm/lib/egg.js +574 -0
  145. package/dist/esm/lib/egg.types.d.ts +6 -0
  146. package/dist/esm/lib/egg.types.js +2 -0
  147. package/dist/esm/lib/loader/AgentWorkerLoader.d.ts +12 -0
  148. package/dist/esm/lib/loader/AgentWorkerLoader.js +20 -0
  149. package/dist/esm/lib/loader/AppWorkerLoader.d.ts +17 -0
  150. package/dist/esm/lib/loader/AppWorkerLoader.js +39 -0
  151. package/dist/esm/lib/loader/EggApplicationLoader.d.ts +4 -0
  152. package/dist/esm/lib/loader/EggApplicationLoader.js +4 -0
  153. package/dist/esm/lib/loader/index.d.ts +3 -0
  154. package/dist/esm/lib/loader/index.js +4 -0
  155. package/dist/esm/lib/start.d.ts +15 -0
  156. package/dist/esm/lib/start.js +43 -0
  157. package/dist/esm/lib/type.d.ts +293 -0
  158. package/dist/esm/lib/type.js +2 -0
  159. package/dist/esm/lib/utils.d.ts +2 -0
  160. package/dist/esm/lib/utils.js +14 -0
  161. package/dist/esm/package.json +3 -0
  162. package/dist/package.json +4 -0
  163. package/package.json +97 -79
  164. package/src/agent.ts +7 -0
  165. package/src/app/extend/context.ts +303 -0
  166. package/src/app/extend/context.types.ts +24 -0
  167. package/{app/extend/helper.js → src/app/extend/helper.ts} +14 -13
  168. package/{app/extend/request.js → src/app/extend/request.ts} +81 -79
  169. package/src/app/extend/response.ts +36 -0
  170. package/src/app/middleware/body_parser.ts +3 -0
  171. package/{app/middleware/meta.js → src/app/middleware/meta.ts} +11 -4
  172. package/{app/middleware/notfound.js → src/app/middleware/notfound.ts} +8 -3
  173. package/src/app/middleware/override_method.ts +3 -0
  174. package/src/app/middleware/site_file.ts +68 -0
  175. package/{config/config.default.js → src/config/config.default.ts} +25 -45
  176. package/src/config/config.local.ts +11 -0
  177. package/src/config/config.unittest.ts +10 -0
  178. package/src/config/favicon.png +0 -0
  179. package/{config/plugin.js → src/config/plugin.ts} +3 -5
  180. package/src/index.ts +80 -0
  181. package/src/lib/agent.ts +66 -0
  182. package/{lib/application.js → src/lib/application.ts} +76 -124
  183. package/src/lib/core/base_context_class.ts +21 -0
  184. package/src/lib/core/base_context_logger.ts +67 -0
  185. package/src/lib/core/base_hook_class.ts +30 -0
  186. package/src/lib/core/context_httpclient.ts +33 -0
  187. package/src/lib/core/httpclient.ts +51 -0
  188. package/src/lib/core/logger.ts +42 -0
  189. package/src/lib/core/messenger/IMessenger.ts +58 -0
  190. package/src/lib/core/messenger/index.ts +15 -0
  191. package/src/lib/core/messenger/ipc.ts +148 -0
  192. package/{lib/core/messenger/local.js → src/lib/core/messenger/local.ts} +36 -28
  193. package/{lib/core/singleton.js → src/lib/core/singleton.ts} +56 -33
  194. package/src/lib/core/utils.ts +77 -0
  195. package/{lib/egg.js → src/lib/egg.ts} +287 -221
  196. package/src/lib/egg.types.ts +6 -0
  197. package/src/lib/loader/AgentWorkerLoader.ts +21 -0
  198. package/src/lib/loader/AppWorkerLoader.ts +42 -0
  199. package/src/lib/loader/EggApplicationLoader.ts +5 -0
  200. package/src/lib/loader/index.ts +3 -0
  201. package/src/lib/start.ts +56 -0
  202. package/src/lib/type.ts +329 -0
  203. package/src/lib/utils.ts +16 -0
  204. package/CHANGELOG.md +0 -2395
  205. package/History.md +0 -52
  206. package/agent.js +0 -11
  207. package/app/extend/context.js +0 -285
  208. package/app/extend/response.js +0 -101
  209. package/app/middleware/body_parser.js +0 -3
  210. package/app/middleware/override_method.js +0 -3
  211. package/app/middleware/site_file.js +0 -31
  212. package/config/config.local.js +0 -7
  213. package/config/config.unittest.js +0 -8
  214. package/index.d.ts +0 -1288
  215. package/index.js +0 -68
  216. package/lib/agent.js +0 -95
  217. package/lib/core/base_context_class.js +0 -20
  218. package/lib/core/base_context_logger.js +0 -64
  219. package/lib/core/base_hook_class.js +0 -31
  220. package/lib/core/context_httpclient.js +0 -26
  221. package/lib/core/dnscache_httpclient.js +0 -93
  222. package/lib/core/httpclient.js +0 -119
  223. package/lib/core/httpclient_next.js +0 -80
  224. package/lib/core/logger.js +0 -35
  225. package/lib/core/messenger/index.js +0 -14
  226. package/lib/core/messenger/ipc.js +0 -141
  227. package/lib/core/utils.js +0 -73
  228. package/lib/loader/agent_worker_loader.js +0 -27
  229. package/lib/loader/app_worker_loader.js +0 -48
  230. package/lib/loader/index.js +0 -5
  231. package/lib/start.js +0 -39
  232. /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;
@@ -1,5 +0,0 @@
1
- 'use strict';
2
-
3
- exports.EggLoader = require('egg-core').EggLoader;
4
- exports.AppWorkerLoader = require('./app_worker_loader');
5
- exports.AgentWorkerLoader = require('./agent_worker_loader');
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