egg 4.0.10 → 4.1.0-beta.3

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 (291) hide show
  1. package/README.md +4 -22
  2. package/dist/agent.d.ts +8 -0
  3. package/dist/agent.js +11 -0
  4. package/dist/app/extend/context.d.ts +207 -0
  5. package/dist/app/extend/context.js +244 -0
  6. package/{src/app/extend/helper.ts → dist/app/extend/helper.d.ts} +8 -10
  7. package/dist/app/extend/helper.js +47 -0
  8. package/dist/app/extend/request.d.ts +145 -0
  9. package/dist/app/extend/request.js +226 -0
  10. package/{src/app/extend/response.ts → dist/app/extend/response.d.ts} +7 -16
  11. package/dist/app/extend/response.js +36 -0
  12. package/dist/app/middleware/body_parser.d.ts +2 -0
  13. package/dist/app/middleware/body_parser.js +7 -0
  14. package/dist/app/middleware/meta.d.ts +11 -0
  15. package/dist/app/middleware/meta.js +14 -0
  16. package/dist/app/middleware/notfound.d.ts +11 -0
  17. package/dist/app/middleware/notfound.js +26 -0
  18. package/dist/app/middleware/override_method.d.ts +2 -0
  19. package/dist/app/middleware/override_method.js +7 -0
  20. package/dist/app/middleware/site_file.d.ts +13 -0
  21. package/dist/app/middleware/site_file.js +38 -0
  22. package/dist/config/config.default.d.ts +13 -0
  23. package/dist/config/config.default.js +257 -0
  24. package/dist/config/config.local.d.ts +10 -0
  25. package/dist/config/config.local.js +7 -0
  26. package/dist/config/config.unittest.d.ts +9 -0
  27. package/dist/config/config.unittest.js +10 -0
  28. package/{src/config/plugin.ts → dist/config/plugin.d.ts} +40 -48
  29. package/dist/config/plugin.js +54 -0
  30. package/dist/index.d.ts +19 -0
  31. package/dist/index.js +21 -0
  32. package/dist/lib/agent.d.ts +22 -0
  33. package/dist/lib/agent.js +56 -0
  34. package/dist/lib/application.d.ts +71 -0
  35. package/dist/lib/application.js +209 -0
  36. package/dist/lib/core/base_context_class.d.ts +23 -0
  37. package/dist/lib/core/base_context_class.js +19 -0
  38. package/dist/lib/core/base_context_logger.d.ts +40 -0
  39. package/dist/lib/core/base_context_logger.js +58 -0
  40. package/dist/lib/core/base_hook_class.d.ts +18 -0
  41. package/dist/lib/core/base_hook_class.js +26 -0
  42. package/dist/lib/core/context_httpclient.d.ts +21 -0
  43. package/dist/lib/core/context_httpclient.js +29 -0
  44. package/dist/lib/core/httpclient.d.ts +17 -0
  45. package/dist/lib/core/httpclient.js +36 -0
  46. package/dist/lib/core/logger.d.ts +7 -0
  47. package/dist/lib/core/logger.js +31 -0
  48. package/{src/lib/core/messenger/IMessenger.ts → dist/lib/core/messenger/IMessenger.d.ts} +6 -10
  49. package/dist/lib/core/messenger/IMessenger.js +1 -0
  50. package/dist/lib/core/messenger/base.d.ts +12 -0
  51. package/dist/lib/core/messenger/base.js +29 -0
  52. package/dist/lib/core/messenger/index.d.ts +11 -0
  53. package/dist/lib/core/messenger/index.js +13 -0
  54. package/dist/lib/core/messenger/ipc.d.ts +63 -0
  55. package/dist/lib/core/messenger/ipc.js +122 -0
  56. package/dist/lib/core/messenger/local.d.ts +65 -0
  57. package/dist/lib/core/messenger/local.js +126 -0
  58. package/dist/lib/core/utils.d.ts +5 -0
  59. package/dist/lib/core/utils.js +48 -0
  60. package/dist/lib/egg.d.ts +306 -0
  61. package/dist/lib/egg.js +512 -0
  62. package/dist/lib/error/CookieLimitExceedError.d.ts +8 -0
  63. package/dist/lib/error/CookieLimitExceedError.js +15 -0
  64. package/dist/lib/error/MessageUnhandledRejectionError.d.ts +8 -0
  65. package/dist/lib/error/MessageUnhandledRejectionError.js +15 -0
  66. package/dist/lib/error/index.d.ts +3 -0
  67. package/dist/lib/error/index.js +4 -0
  68. package/dist/lib/loader/AgentWorkerLoader.d.ts +17 -0
  69. package/dist/lib/loader/AgentWorkerLoader.js +24 -0
  70. package/dist/lib/loader/AppWorkerLoader.d.ts +22 -0
  71. package/dist/lib/loader/AppWorkerLoader.js +37 -0
  72. package/dist/lib/loader/EggApplicationLoader.d.ts +8 -0
  73. package/dist/lib/loader/EggApplicationLoader.js +7 -0
  74. package/dist/lib/loader/index.d.ts +4 -0
  75. package/dist/lib/loader/index.js +5 -0
  76. package/dist/lib/start.d.ts +28 -0
  77. package/dist/lib/start.js +36 -0
  78. package/{src/lib/types.ts → dist/lib/types.d.ts} +45 -94
  79. package/dist/lib/types.js +14 -0
  80. package/dist/lib/utils.d.ts +5 -0
  81. package/dist/lib/utils.js +14 -0
  82. package/dist/urllib.d.ts +1 -0
  83. package/dist/urllib.js +3 -0
  84. package/package.json +76 -97
  85. package/README.zh-CN.md +0 -61
  86. package/dist/commonjs/agent.d.ts +0 -4
  87. package/dist/commonjs/agent.js +0 -10
  88. package/dist/commonjs/app/extend/context.d.ts +0 -204
  89. package/dist/commonjs/app/extend/context.js +0 -262
  90. package/dist/commonjs/app/extend/helper.d.ts +0 -37
  91. package/dist/commonjs/app/extend/helper.js +0 -49
  92. package/dist/commonjs/app/extend/request.d.ts +0 -141
  93. package/dist/commonjs/app/extend/request.js +0 -270
  94. package/dist/commonjs/app/extend/response.d.ts +0 -31
  95. package/dist/commonjs/app/extend/response.js +0 -37
  96. package/dist/commonjs/app/middleware/body_parser.d.ts +0 -2
  97. package/dist/commonjs/app/middleware/body_parser.js +0 -8
  98. package/dist/commonjs/app/middleware/meta.d.ts +0 -10
  99. package/dist/commonjs/app/middleware/meta.js +0 -22
  100. package/dist/commonjs/app/middleware/notfound.d.ts +0 -7
  101. package/dist/commonjs/app/middleware/notfound.js +0 -31
  102. package/dist/commonjs/app/middleware/override_method.d.ts +0 -2
  103. package/dist/commonjs/app/middleware/override_method.js +0 -8
  104. package/dist/commonjs/app/middleware/site_file.d.ts +0 -9
  105. package/dist/commonjs/app/middleware/site_file.js +0 -58
  106. package/dist/commonjs/config/config.default.d.ts +0 -9
  107. package/dist/commonjs/config/config.default.js +0 -379
  108. package/dist/commonjs/config/config.local.d.ts +0 -8
  109. package/dist/commonjs/config/config.local.js +0 -12
  110. package/dist/commonjs/config/config.unittest.d.ts +0 -7
  111. package/dist/commonjs/config/config.unittest.js +0 -11
  112. package/dist/commonjs/config/favicon.png +0 -0
  113. package/dist/commonjs/config/plugin.d.ts +0 -122
  114. package/dist/commonjs/config/plugin.js +0 -124
  115. package/dist/commonjs/index.d.ts +0 -69
  116. package/dist/commonjs/index.js +0 -83
  117. package/dist/commonjs/lib/agent.d.ts +0 -19
  118. package/dist/commonjs/lib/agent.js +0 -58
  119. package/dist/commonjs/lib/application.d.ts +0 -67
  120. package/dist/commonjs/lib/application.js +0 -266
  121. package/dist/commonjs/lib/core/base_context_class.d.ts +0 -17
  122. package/dist/commonjs/lib/core/base_context_class.js +0 -21
  123. package/dist/commonjs/lib/core/base_context_logger.d.ts +0 -36
  124. package/dist/commonjs/lib/core/base_context_logger.js +0 -64
  125. package/dist/commonjs/lib/core/base_hook_class.d.ts +0 -11
  126. package/dist/commonjs/lib/core/base_hook_class.js +0 -29
  127. package/dist/commonjs/lib/core/context_httpclient.d.ts +0 -16
  128. package/dist/commonjs/lib/core/context_httpclient.js +0 -30
  129. package/dist/commonjs/lib/core/httpclient.d.ts +0 -14
  130. package/dist/commonjs/lib/core/httpclient.js +0 -42
  131. package/dist/commonjs/lib/core/logger.d.ts +0 -3
  132. package/dist/commonjs/lib/core/logger.js +0 -40
  133. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +0 -50
  134. package/dist/commonjs/lib/core/messenger/IMessenger.js +0 -3
  135. package/dist/commonjs/lib/core/messenger/base.d.ts +0 -8
  136. package/dist/commonjs/lib/core/messenger/base.js +0 -31
  137. package/dist/commonjs/lib/core/messenger/index.d.ts +0 -7
  138. package/dist/commonjs/lib/core/messenger/index.js +0 -15
  139. package/dist/commonjs/lib/core/messenger/ipc.d.ts +0 -58
  140. package/dist/commonjs/lib/core/messenger/ipc.js +0 -135
  141. package/dist/commonjs/lib/core/messenger/local.d.ts +0 -60
  142. package/dist/commonjs/lib/core/messenger/local.js +0 -132
  143. package/dist/commonjs/lib/core/utils.d.ts +0 -2
  144. package/dist/commonjs/lib/core/utils.js +0 -77
  145. package/dist/commonjs/lib/egg.d.ts +0 -305
  146. package/dist/commonjs/lib/egg.js +0 -628
  147. package/dist/commonjs/lib/error/CookieLimitExceedError.d.ts +0 -5
  148. package/dist/commonjs/lib/error/CookieLimitExceedError.js +0 -16
  149. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  150. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.js +0 -16
  151. package/dist/commonjs/lib/error/index.d.ts +0 -2
  152. package/dist/commonjs/lib/error/index.js +0 -19
  153. package/dist/commonjs/lib/loader/AgentWorkerLoader.d.ts +0 -12
  154. package/dist/commonjs/lib/loader/AgentWorkerLoader.js +0 -24
  155. package/dist/commonjs/lib/loader/AppWorkerLoader.d.ts +0 -17
  156. package/dist/commonjs/lib/loader/AppWorkerLoader.js +0 -43
  157. package/dist/commonjs/lib/loader/EggApplicationLoader.d.ts +0 -4
  158. package/dist/commonjs/lib/loader/EggApplicationLoader.js +0 -8
  159. package/dist/commonjs/lib/loader/index.d.ts +0 -3
  160. package/dist/commonjs/lib/loader/index.js +0 -22
  161. package/dist/commonjs/lib/start.d.ts +0 -24
  162. package/dist/commonjs/lib/start.js +0 -49
  163. package/dist/commonjs/lib/types.d.ts +0 -257
  164. package/dist/commonjs/lib/types.js +0 -16
  165. package/dist/commonjs/lib/utils.d.ts +0 -2
  166. package/dist/commonjs/lib/utils.js +0 -21
  167. package/dist/commonjs/package.json +0 -3
  168. package/dist/commonjs/urllib.d.ts +0 -1
  169. package/dist/commonjs/urllib.js +0 -18
  170. package/dist/esm/agent.d.ts +0 -4
  171. package/dist/esm/agent.js +0 -7
  172. package/dist/esm/app/extend/context.d.ts +0 -204
  173. package/dist/esm/app/extend/context.js +0 -259
  174. package/dist/esm/app/extend/helper.d.ts +0 -37
  175. package/dist/esm/app/extend/helper.js +0 -43
  176. package/dist/esm/app/extend/request.d.ts +0 -141
  177. package/dist/esm/app/extend/request.js +0 -264
  178. package/dist/esm/app/extend/response.d.ts +0 -31
  179. package/dist/esm/app/extend/response.js +0 -34
  180. package/dist/esm/app/middleware/body_parser.d.ts +0 -2
  181. package/dist/esm/app/middleware/body_parser.js +0 -3
  182. package/dist/esm/app/middleware/meta.d.ts +0 -10
  183. package/dist/esm/app/middleware/meta.js +0 -20
  184. package/dist/esm/app/middleware/notfound.d.ts +0 -7
  185. package/dist/esm/app/middleware/notfound.js +0 -29
  186. package/dist/esm/app/middleware/override_method.d.ts +0 -2
  187. package/dist/esm/app/middleware/override_method.js +0 -3
  188. package/dist/esm/app/middleware/site_file.d.ts +0 -9
  189. package/dist/esm/app/middleware/site_file.js +0 -53
  190. package/dist/esm/config/config.default.d.ts +0 -9
  191. package/dist/esm/config/config.default.js +0 -374
  192. package/dist/esm/config/config.local.d.ts +0 -8
  193. package/dist/esm/config/config.local.js +0 -10
  194. package/dist/esm/config/config.unittest.d.ts +0 -7
  195. package/dist/esm/config/config.unittest.js +0 -9
  196. package/dist/esm/config/favicon.png +0 -0
  197. package/dist/esm/config/plugin.d.ts +0 -122
  198. package/dist/esm/config/plugin.js +0 -122
  199. package/dist/esm/index.d.ts +0 -69
  200. package/dist/esm/index.js +0 -73
  201. package/dist/esm/lib/agent.d.ts +0 -19
  202. package/dist/esm/lib/agent.js +0 -54
  203. package/dist/esm/lib/application.d.ts +0 -67
  204. package/dist/esm/lib/application.js +0 -259
  205. package/dist/esm/lib/core/base_context_class.d.ts +0 -17
  206. package/dist/esm/lib/core/base_context_class.js +0 -17
  207. package/dist/esm/lib/core/base_context_logger.d.ts +0 -36
  208. package/dist/esm/lib/core/base_context_logger.js +0 -60
  209. package/dist/esm/lib/core/base_hook_class.d.ts +0 -11
  210. package/dist/esm/lib/core/base_hook_class.js +0 -22
  211. package/dist/esm/lib/core/context_httpclient.d.ts +0 -16
  212. package/dist/esm/lib/core/context_httpclient.js +0 -26
  213. package/dist/esm/lib/core/httpclient.d.ts +0 -14
  214. package/dist/esm/lib/core/httpclient.js +0 -38
  215. package/dist/esm/lib/core/logger.d.ts +0 -3
  216. package/dist/esm/lib/core/logger.js +0 -37
  217. package/dist/esm/lib/core/messenger/IMessenger.d.ts +0 -50
  218. package/dist/esm/lib/core/messenger/IMessenger.js +0 -2
  219. package/dist/esm/lib/core/messenger/base.d.ts +0 -8
  220. package/dist/esm/lib/core/messenger/base.js +0 -27
  221. package/dist/esm/lib/core/messenger/index.d.ts +0 -7
  222. package/dist/esm/lib/core/messenger/index.js +0 -12
  223. package/dist/esm/lib/core/messenger/ipc.d.ts +0 -58
  224. package/dist/esm/lib/core/messenger/ipc.js +0 -128
  225. package/dist/esm/lib/core/messenger/local.d.ts +0 -60
  226. package/dist/esm/lib/core/messenger/local.js +0 -128
  227. package/dist/esm/lib/core/utils.d.ts +0 -2
  228. package/dist/esm/lib/core/utils.js +0 -70
  229. package/dist/esm/lib/egg.d.ts +0 -305
  230. package/dist/esm/lib/egg.js +0 -586
  231. package/dist/esm/lib/error/CookieLimitExceedError.d.ts +0 -5
  232. package/dist/esm/lib/error/CookieLimitExceedError.js +0 -12
  233. package/dist/esm/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  234. package/dist/esm/lib/error/MessageUnhandledRejectionError.js +0 -12
  235. package/dist/esm/lib/error/index.d.ts +0 -2
  236. package/dist/esm/lib/error/index.js +0 -3
  237. package/dist/esm/lib/loader/AgentWorkerLoader.d.ts +0 -12
  238. package/dist/esm/lib/loader/AgentWorkerLoader.js +0 -20
  239. package/dist/esm/lib/loader/AppWorkerLoader.d.ts +0 -17
  240. package/dist/esm/lib/loader/AppWorkerLoader.js +0 -39
  241. package/dist/esm/lib/loader/EggApplicationLoader.d.ts +0 -4
  242. package/dist/esm/lib/loader/EggApplicationLoader.js +0 -4
  243. package/dist/esm/lib/loader/index.d.ts +0 -3
  244. package/dist/esm/lib/loader/index.js +0 -4
  245. package/dist/esm/lib/start.d.ts +0 -24
  246. package/dist/esm/lib/start.js +0 -43
  247. package/dist/esm/lib/types.d.ts +0 -257
  248. package/dist/esm/lib/types.js +0 -14
  249. package/dist/esm/lib/utils.d.ts +0 -2
  250. package/dist/esm/lib/utils.js +0 -14
  251. package/dist/esm/package.json +0 -3
  252. package/dist/esm/urllib.d.ts +0 -1
  253. package/dist/esm/urllib.js +0 -2
  254. package/dist/package.json +0 -4
  255. package/src/agent.ts +0 -7
  256. package/src/app/extend/context.ts +0 -332
  257. package/src/app/extend/request.ts +0 -300
  258. package/src/app/middleware/body_parser.ts +0 -3
  259. package/src/app/middleware/meta.ts +0 -27
  260. package/src/app/middleware/notfound.ts +0 -41
  261. package/src/app/middleware/override_method.ts +0 -3
  262. package/src/app/middleware/site_file.ts +0 -68
  263. package/src/config/config.default.ts +0 -404
  264. package/src/config/config.local.ts +0 -11
  265. package/src/config/config.unittest.ts +0 -10
  266. package/src/config/favicon.png +0 -0
  267. package/src/index.ts +0 -120
  268. package/src/lib/agent.ts +0 -66
  269. package/src/lib/application.ts +0 -308
  270. package/src/lib/core/base_context_class.ts +0 -24
  271. package/src/lib/core/base_context_logger.ts +0 -67
  272. package/src/lib/core/base_hook_class.ts +0 -30
  273. package/src/lib/core/context_httpclient.ts +0 -33
  274. package/src/lib/core/httpclient.ts +0 -64
  275. package/src/lib/core/logger.ts +0 -42
  276. package/src/lib/core/messenger/base.ts +0 -30
  277. package/src/lib/core/messenger/index.ts +0 -16
  278. package/src/lib/core/messenger/ipc.ts +0 -146
  279. package/src/lib/core/messenger/local.ts +0 -147
  280. package/src/lib/core/utils.ts +0 -77
  281. package/src/lib/egg.ts +0 -705
  282. package/src/lib/error/CookieLimitExceedError.ts +0 -12
  283. package/src/lib/error/MessageUnhandledRejectionError.ts +0 -12
  284. package/src/lib/error/index.ts +0 -2
  285. package/src/lib/loader/AgentWorkerLoader.ts +0 -21
  286. package/src/lib/loader/AppWorkerLoader.ts +0 -42
  287. package/src/lib/loader/EggApplicationLoader.ts +0 -5
  288. package/src/lib/loader/index.ts +0 -3
  289. package/src/lib/start.ts +0 -66
  290. package/src/lib/utils.ts +0 -15
  291. package/src/urllib.ts +0 -1
@@ -0,0 +1,4 @@
1
+ import { EggApplicationLoader } from "./EggApplicationLoader.js";
2
+ import { AppWorkerLoader } from "./AppWorkerLoader.js";
3
+ import { AgentWorkerLoader } from "./AgentWorkerLoader.js";
4
+ export { AgentWorkerLoader, AppWorkerLoader, EggApplicationLoader };
@@ -0,0 +1,5 @@
1
+ import { EggApplicationLoader } from "./EggApplicationLoader.js";
2
+ import { AppWorkerLoader } from "./AppWorkerLoader.js";
3
+ import { AgentWorkerLoader } from "./AgentWorkerLoader.js";
4
+
5
+ export { AgentWorkerLoader, AppWorkerLoader, EggApplicationLoader };
@@ -0,0 +1,28 @@
1
+ import { Agent } from "./agent.js";
2
+ import { Application } from "./application.js";
3
+ import { EggPlugin } from "./types.js";
4
+
5
+ //#region src/lib/start.d.ts
6
+ interface StartEggOptions {
7
+ /** specify framework that can be absolute path or npm package */
8
+ framework?: string;
9
+ /** directory of application, default to `process.cwd()` */
10
+ baseDir?: string;
11
+ /** ignore single process mode warning */
12
+ ignoreWarning?: boolean;
13
+ mode?: 'single';
14
+ env?: string;
15
+ plugins?: EggPlugin;
16
+ }
17
+ interface SingleModeApplication extends Application {
18
+ agent: SingleModeAgent;
19
+ }
20
+ interface SingleModeAgent extends Agent {
21
+ app: SingleModeApplication;
22
+ }
23
+ /**
24
+ * Start egg with single process
25
+ */
26
+ declare function startEgg(options?: StartEggOptions): Promise<SingleModeApplication>;
27
+ //#endregion
28
+ export { SingleModeAgent, SingleModeApplication, StartEggOptions, startEgg };
@@ -0,0 +1,36 @@
1
+ import { Agent } from "./agent.js";
2
+ import { Application } from "./application.js";
3
+ import "./types.js";
4
+ import path from "node:path";
5
+ import { readJSON } from "utility";
6
+ import { importModule } from "@eggjs/utils";
7
+
8
+ //#region src/lib/start.ts
9
+ /**
10
+ * Start egg with single process
11
+ */
12
+ async function startEgg(options = {}) {
13
+ options.baseDir = options.baseDir ?? process.cwd();
14
+ options.mode = "single";
15
+ if (!options.framework) try {
16
+ options.framework = (await readJSON(path.join(options.baseDir, "package.json"))).egg.framework;
17
+ } catch {}
18
+ let AgentClass = Agent;
19
+ let ApplicationClass = Application;
20
+ if (options.framework) {
21
+ const framework = await importModule(options.framework, { paths: [options.baseDir] });
22
+ AgentClass = framework.Agent;
23
+ ApplicationClass = framework.Application;
24
+ }
25
+ const agent = new AgentClass({ ...options });
26
+ await agent.ready();
27
+ const application = new ApplicationClass({ ...options });
28
+ application.agent = agent;
29
+ agent.application = application;
30
+ await application.ready();
31
+ application.messenger.broadcast("egg-ready");
32
+ return application;
33
+ }
34
+
35
+ //#endregion
36
+ export { startEgg };
@@ -1,53 +1,39 @@
1
- import type { Socket } from 'node:net';
2
- import type {
3
- RequestOptions as HttpClientRequestOptions,
4
- } from 'urllib';
5
- import type {
6
- EggLoggerOptions, EggLoggersOptions,
7
- } from 'egg-logger';
8
- import type {
9
- FileLoaderOptions,
10
- EggAppConfig as EggCoreAppConfig,
11
- } from '@eggjs/core';
12
- import type {
13
- EggApplicationCore, Context,
14
- } from './egg.js';
15
- import type { MetaMiddlewareOptions } from '../app/middleware/meta.js';
16
- import type { NotFoundMiddlewareOptions } from '../app/middleware/notfound.js';
17
- import type { SiteFileMiddlewareOptions } from '../app/middleware/site_file.js';
18
-
19
- // import plugins types
20
- import '@eggjs/watcher';
21
- import '@eggjs/development';
22
- import '@eggjs/jsonp';
23
- import '@eggjs/i18n';
24
- import '@eggjs/static';
25
- import '@eggjs/security';
26
- import '@eggjs/schedule';
27
- import '@eggjs/session';
28
- import '@eggjs/onerror';
29
- import '@eggjs/logrotator';
30
- import '@eggjs/multipart';
31
- import '@eggjs/view';
32
-
33
- export type {
34
- EggAppInfo,
35
- } from '@eggjs/core';
36
-
37
- type IgnoreItem = string | RegExp | ((ctx: Context) => boolean);
1
+ import Context$1 from "../app/extend/context.js";
2
+ import { MetaMiddlewareOptions } from "../app/middleware/meta.js";
3
+ import { NotFoundMiddlewareOptions } from "../app/middleware/notfound.js";
4
+ import { SiteFileMiddlewareOptions } from "../app/middleware/site_file.js";
5
+ import { EggApplicationCore } from "./egg.js";
6
+ import { EggAppConfig as EggAppConfig$1, EggAppInfo, FileLoaderOptions } from "@eggjs/core";
7
+ import { EggLoggerOptions, EggLoggersOptions } from "egg-logger";
8
+ import { RequestOptions } from "urllib";
9
+ import { Socket } from "node:net";
10
+ import "@eggjs/watcher";
11
+ import "@eggjs/development";
12
+ import "@eggjs/jsonp";
13
+ import "@eggjs/i18n";
14
+ import "@eggjs/static";
15
+ import "@eggjs/security";
16
+ import "@eggjs/schedule";
17
+ import "@eggjs/session";
18
+ import "@eggjs/onerror";
19
+ import "@eggjs/logrotator";
20
+ import "@eggjs/multipart";
21
+ import "@eggjs/view";
22
+
23
+ //#region src/lib/types.d.ts
24
+ type IgnoreItem = string | RegExp | ((ctx: Context$1) => boolean);
38
25
  type IgnoreOrMatch = IgnoreItem | IgnoreItem[];
39
-
40
- export interface ClientErrorResponse {
26
+ interface ClientErrorResponse {
41
27
  body: string | Buffer;
42
28
  status: number;
43
- headers: { [key: string]: string };
29
+ headers: {
30
+ [key: string]: string;
31
+ };
44
32
  }
45
-
46
33
  /** egg env type */
47
- export type EggEnvType = 'local' | 'unittest' | 'prod' | string;
48
-
34
+ type EggEnvType = 'local' | 'unittest' | 'prod' | string;
49
35
  /** logger config of egg */
50
- export interface EggLoggerConfig extends Omit<EggLoggersOptions, 'type'> {
36
+ interface EggLoggerConfig extends Omit<EggLoggersOptions, 'type'> {
51
37
  /** custom config of coreLogger */
52
38
  coreLogger?: Partial<EggLoggerOptions>;
53
39
  /** allow debug log at prod, defaults to `false` */
@@ -59,9 +45,8 @@ export interface EggLoggerConfig extends Omit<EggLoggersOptions, 'type'> {
59
45
  /** using the app logger instead of EggContextLogger, defaults to `false` */
60
46
  enableFastContextLogger?: boolean;
61
47
  }
62
-
63
48
  /** Custom Loader Configuration */
64
- export interface CustomLoaderConfig extends Omit<FileLoaderOptions, 'inject' | 'target'> {
49
+ interface CustomLoaderConfig extends Omit<FileLoaderOptions, 'inject' | 'target'> {
65
50
  /**
66
51
  * an object you wanner load to, value can only be 'ctx' or 'app'. default to app
67
52
  */
@@ -71,12 +56,11 @@ export interface CustomLoaderConfig extends Omit<FileLoaderOptions, 'inject' | '
71
56
  */
72
57
  loadunit?: boolean;
73
58
  }
74
-
75
- export interface HttpClientConfig {
59
+ interface HttpClientConfig {
76
60
  /** Request timeout */
77
61
  timeout?: number;
78
62
  /** Default request args for httpclient */
79
- request?: HttpClientRequestOptions;
63
+ request?: RequestOptions;
80
64
  /**
81
65
  * @deprecated keep compatible with egg 3.x, no more used
82
66
  */
@@ -86,7 +70,6 @@ export interface HttpClientConfig {
86
70
  */
87
71
  allowH2?: boolean;
88
72
  }
89
-
90
73
  /**
91
74
  * Powerful Partial, Support adding ? modifier to a mapped property in deep level
92
75
  * @example
@@ -95,18 +78,12 @@ export interface HttpClientConfig {
95
78
  * // { view: { defaultEngines: string } } => { view?: { defaultEngines?: string } }
96
79
  * type EggConfig = PowerPartial<EggAppConfig>
97
80
  */
98
- export type PowerPartial<T> = {
99
- [U in keyof T]?: T[U] extends object
100
- ? PowerPartial<T[U]>
101
- : T[U]
102
- };
103
-
104
- export interface EggAppConfig extends EggCoreAppConfig {
81
+ type PowerPartial<T> = { [U in keyof T]?: T[U] extends object ? PowerPartial<T[U]> : T[U] };
82
+ interface EggAppConfig extends EggAppConfig$1 {
105
83
  workerStartTimeout: number;
106
84
  baseDir: string;
107
85
  middleware: string[];
108
86
  coreMiddleware: string[];
109
-
110
87
  /**
111
88
  * The option of `bodyParser` middleware
112
89
  *
@@ -148,9 +125,8 @@ export interface EggAppConfig extends EggCoreAppConfig {
148
125
  };
149
126
  /** Default is `'error'`, it will return `400` response when `Prototype-Poisoning` happen. */
150
127
  onProtoPoisoning: 'error' | 'remove' | 'ignore';
151
- onerror(err: any, ctx: Context): void;
128
+ onerror(err: any, ctx: Context$1): void;
152
129
  };
153
-
154
130
  /**
155
131
  * logger options
156
132
  * @member Config#logger
@@ -169,22 +145,15 @@ export interface EggAppConfig extends EggCoreAppConfig {
169
145
  * @property {Boolean} enableFastContextLogger - using the app logger instead of EggContextLogger, defaults to false
170
146
  */
171
147
  logger: EggLoggerConfig;
172
-
173
148
  /** custom logger of egg */
174
149
  customLogger: {
175
150
  [key: string]: EggLoggerOptions;
176
151
  };
177
-
178
152
  /** Configuration of httpclient in egg. */
179
153
  httpclient: HttpClientConfig;
180
-
181
154
  /**
182
155
  * customLoader config
183
156
  */
184
- // customLoader: {
185
- // [key: string]: CustomLoaderConfig;
186
- // };
187
-
188
157
  /**
189
158
  * It will ignore special keys when dumpConfig
190
159
  */
@@ -194,24 +163,19 @@ export interface EggAppConfig extends EggCoreAppConfig {
194
163
  slowBootActionMinDuration: number;
195
164
  };
196
165
  };
197
-
198
166
  /**
199
167
  * The environment of egg
200
168
  */
201
169
  env: EggEnvType;
202
-
203
170
  /**
204
171
  * The current HOME directory
205
172
  */
206
173
  HOME: string;
207
-
208
174
  hostHeaders: string;
209
-
210
175
  /**
211
176
  * Detect request' ip from specified headers, not case-sensitive. Only worked when config.proxy set to true.
212
177
  */
213
178
  ipHeaders: string;
214
-
215
179
  protocolHeaders: string;
216
180
  maxProxyCount: number;
217
181
  maxIpsCount: number;
@@ -220,24 +184,19 @@ export interface EggAppConfig extends EggCoreAppConfig {
220
184
  sameSite?: string;
221
185
  httpOnly?: boolean;
222
186
  };
223
-
224
187
  /**
225
188
  * The key that signing cookies. It can contain multiple keys separated by .
226
189
  */
227
190
  keys: string;
228
-
229
191
  /**
230
192
  * The name of the application
231
193
  */
232
194
  name: string;
233
-
234
195
  /**
235
196
  * package.json
236
197
  */
237
198
  pkg: Record<string, any>;
238
-
239
199
  rundir: string;
240
-
241
200
  siteFile: SiteFileMiddlewareOptions;
242
201
  meta: MetaMiddlewareOptions;
243
202
  notfound: NotFoundMiddlewareOptions;
@@ -245,9 +204,7 @@ export interface EggAppConfig extends EggCoreAppConfig {
245
204
  enable: boolean;
246
205
  allowedMethods: string[];
247
206
  };
248
-
249
207
  onClientError?(err: Error, socket: Socket, app: EggApplicationCore): ClientErrorResponse | Promise<ClientErrorResponse>;
250
-
251
208
  /**
252
209
  * server timeout in milliseconds, default to 0 (no timeout).
253
210
  *
@@ -256,41 +213,34 @@ export interface EggAppConfig extends EggCoreAppConfig {
256
213
  * @see https://nodejs.org/api/http.html#http_server_timeout
257
214
  */
258
215
  serverTimeout: number | null;
259
-
260
216
  cluster: {
261
217
  listen: {
262
- path: string,
263
- port: number,
264
- hostname: string,
218
+ path: string;
219
+ port: number;
220
+ hostname: string;
265
221
  };
266
222
  };
267
-
268
223
  clusterClient: {
269
224
  maxWaitTime: number;
270
225
  responseTimeout: number;
271
226
  };
272
-
273
227
  [prop: string]: any;
274
228
  }
275
-
276
- export type RequestObjectBody = Record<string, any>;
277
-
229
+ type RequestObjectBody = Record<string, any>;
278
230
  /**
279
231
  * plugin config item interface
280
232
  */
281
- export interface IEggPluginItem {
233
+ interface IEggPluginItem {
282
234
  env?: EggEnvType[];
283
235
  path?: string;
284
236
  package?: string;
285
237
  enable?: boolean;
286
238
  }
287
-
288
- export type EggPluginItem = IEggPluginItem | boolean;
289
-
239
+ type EggPluginItem = IEggPluginItem | boolean;
290
240
  /**
291
241
  * build-in plugin list
292
242
  */
293
- export interface EggPlugin {
243
+ interface EggPlugin {
294
244
  [key: string]: EggPluginItem | undefined;
295
245
  onerror?: EggPluginItem;
296
246
  session?: EggPluginItem;
@@ -305,4 +255,5 @@ export interface EggPlugin {
305
255
  jsonp?: EggPluginItem;
306
256
  view?: EggPluginItem;
307
257
  }
308
-
258
+ //#endregion
259
+ export { ClientErrorResponse, CustomLoaderConfig, EggAppConfig, type EggAppInfo, EggEnvType, EggLoggerConfig, EggPlugin, EggPluginItem, HttpClientConfig, IEggPluginItem, PowerPartial, RequestObjectBody };
@@ -0,0 +1,14 @@
1
+ import "@eggjs/watcher";
2
+ import "@eggjs/development";
3
+ import "@eggjs/jsonp";
4
+ import "@eggjs/i18n";
5
+ import "@eggjs/static";
6
+ import "@eggjs/security";
7
+ import "@eggjs/schedule";
8
+ import "@eggjs/session";
9
+ import "@eggjs/onerror";
10
+ import "@eggjs/logrotator";
11
+ import "@eggjs/multipart";
12
+ import "@eggjs/view";
13
+
14
+ export { };
@@ -0,0 +1,5 @@
1
+ //#region src/lib/utils.d.ts
2
+ declare function getSourceDirname(): string;
3
+ declare function getSourceFile(filename: string): string;
4
+ //#endregion
5
+ export { getSourceDirname, getSourceFile };
@@ -0,0 +1,14 @@
1
+ import path from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+
4
+ //#region src/lib/utils.ts
5
+ function getSourceDirname() {
6
+ if (typeof __dirname !== "undefined") return path.dirname(__dirname);
7
+ return path.dirname(path.dirname(fileURLToPath(import.meta.url)));
8
+ }
9
+ function getSourceFile(filename) {
10
+ return path.join(getSourceDirname(), filename);
11
+ }
12
+
13
+ //#endregion
14
+ export { getSourceDirname, getSourceFile };
@@ -0,0 +1 @@
1
+ export * from "urllib";
package/dist/urllib.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from "urllib"
2
+
3
+ export { };
package/package.json CHANGED
@@ -1,12 +1,64 @@
1
1
  {
2
2
  "name": "egg",
3
- "version": "4.0.10",
3
+ "version": "4.1.0-beta.3",
4
4
  "engines": {
5
- "node": ">= 18.19.0"
5
+ "node": ">= 20.19.0"
6
6
  },
7
7
  "publishConfig": {
8
+ "access": "public",
8
9
  "tag": "beta"
9
10
  },
11
+ "files": [
12
+ "dist"
13
+ ],
14
+ "type": "module",
15
+ "exports": {
16
+ ".": "./dist/index.js",
17
+ "./agent": "./dist/agent.js",
18
+ "./app/extend/context": "./dist/app/extend/context.js",
19
+ "./app/extend/helper": "./dist/app/extend/helper.js",
20
+ "./app/extend/request": "./dist/app/extend/request.js",
21
+ "./app/extend/response": "./dist/app/extend/response.js",
22
+ "./app/middleware/body_parser": "./dist/app/middleware/body_parser.js",
23
+ "./app/middleware/meta": "./dist/app/middleware/meta.js",
24
+ "./app/middleware/notfound": "./dist/app/middleware/notfound.js",
25
+ "./app/middleware/override_method": "./dist/app/middleware/override_method.js",
26
+ "./app/middleware/site_file": "./dist/app/middleware/site_file.js",
27
+ "./config/config.default": "./dist/config/config.default.js",
28
+ "./config/config.local": "./dist/config/config.local.js",
29
+ "./config/config.unittest": "./dist/config/config.unittest.js",
30
+ "./config/plugin": "./dist/config/plugin.js",
31
+ "./lib/agent": "./dist/lib/agent.js",
32
+ "./lib/application": "./dist/lib/application.js",
33
+ "./lib/core/base_context_class": "./dist/lib/core/base_context_class.js",
34
+ "./lib/core/base_context_logger": "./dist/lib/core/base_context_logger.js",
35
+ "./lib/core/base_hook_class": "./dist/lib/core/base_hook_class.js",
36
+ "./lib/core/context_httpclient": "./dist/lib/core/context_httpclient.js",
37
+ "./lib/core/httpclient": "./dist/lib/core/httpclient.js",
38
+ "./lib/core/logger": "./dist/lib/core/logger.js",
39
+ "./lib/core/messenger": "./dist/lib/core/messenger/index.js",
40
+ "./lib/core/messenger/base": "./dist/lib/core/messenger/base.js",
41
+ "./lib/core/messenger/IMessenger": "./dist/lib/core/messenger/IMessenger.js",
42
+ "./lib/core/messenger/ipc": "./dist/lib/core/messenger/ipc.js",
43
+ "./lib/core/messenger/local": "./dist/lib/core/messenger/local.js",
44
+ "./lib/core/utils": "./dist/lib/core/utils.js",
45
+ "./lib/egg": "./dist/lib/egg.js",
46
+ "./lib/error": "./dist/lib/error/index.js",
47
+ "./lib/error/CookieLimitExceedError": "./dist/lib/error/CookieLimitExceedError.js",
48
+ "./lib/error/MessageUnhandledRejectionError": "./dist/lib/error/MessageUnhandledRejectionError.js",
49
+ "./lib/loader": "./dist/lib/loader/index.js",
50
+ "./lib/loader/AgentWorkerLoader": "./dist/lib/loader/AgentWorkerLoader.js",
51
+ "./lib/loader/AppWorkerLoader": "./dist/lib/loader/AppWorkerLoader.js",
52
+ "./lib/loader/EggApplicationLoader": "./dist/lib/loader/EggApplicationLoader.js",
53
+ "./lib/start": "./dist/lib/start.js",
54
+ "./lib/types": "./dist/lib/types.js",
55
+ "./lib/utils": "./dist/lib/utils.js",
56
+ "./urllib": "./dist/urllib.js",
57
+ "./package.json": "./package.json"
58
+ },
59
+ "main": "./dist/index.js",
60
+ "module": "./dist/index.js",
61
+ "types": "./dist/index.d.ts",
10
62
  "description": "A web application framework for Node.js",
11
63
  "keywords": [
12
64
  "web",
@@ -19,9 +71,8 @@
19
71
  "egg"
20
72
  ],
21
73
  "dependencies": {
22
- "@eggjs/cluster": "^3.0.1",
74
+ "@eggjs/cluster": "",
23
75
  "@eggjs/cookies": "^3.1.0",
24
- "@eggjs/core": "^6.3.1",
25
76
  "@eggjs/development": "^4.0.0",
26
77
  "@eggjs/i18n": "^3.0.1",
27
78
  "@eggjs/jsonp": "^3.0.0",
@@ -32,14 +83,12 @@
32
83
  "@eggjs/security": "^4.0.0",
33
84
  "@eggjs/session": "^4.0.1",
34
85
  "@eggjs/static": "^3.0.0",
35
- "@eggjs/utils": "^4.2.5",
36
86
  "@eggjs/view": "^3.0.1",
37
87
  "@eggjs/watcher": "^4.0.4",
38
88
  "circular-json-for-egg": "^1.0.0",
39
89
  "cluster-client": "^3.7.0",
40
90
  "egg-errors": "^2.3.2",
41
- "egg-logger": "^3.6.1",
42
- "extend2": "^4.0.0",
91
+ "egg-logger": "^3.5.0",
43
92
  "graceful": "^2.0.0",
44
93
  "humanize-ms": "^2.0.0",
45
94
  "is-type-of": "^2.2.0",
@@ -49,116 +98,46 @@
49
98
  "performance-ms": "^1.1.0",
50
99
  "sendmessage": "^3.0.1",
51
100
  "urllib": "^4.6.11",
52
- "utility": "^2.5.0"
101
+ "utility": "^2.5.0",
102
+ "@eggjs/core": "6.6.0-beta.3",
103
+ "@eggjs/utils": "4.5.0-beta.3",
104
+ "@eggjs/extend2": "4.1.0-beta.3"
53
105
  },
54
106
  "devDependencies": {
55
- "@arethetypeswrong/cli": "^0.17.3",
56
- "@eggjs/bin": "^7.0.2",
57
- "@eggjs/koa": "^2.20.6",
58
- "@eggjs/mock": "^6.0.7",
59
- "@eggjs/supertest": "^8.2.0",
60
- "@eggjs/tsconfig": "1",
107
+ "@eggjs/supertest": "",
61
108
  "@types/koa-bodyparser": "^4.3.12",
62
- "@types/mocha": "^10.0.10",
63
- "@types/node": "22",
109
+ "@types/node": "24",
64
110
  "address": "2",
65
111
  "assert-file": "1",
66
112
  "coffee": "5",
67
- "cross-env": "7",
68
- "dumi": "^2.4.17",
69
113
  "egg-plugin-puml": "^2.4.0",
70
114
  "egg-tracer": "^2.1.0",
71
115
  "egg-view-nunjucks": "^2.3.0",
72
- "eslint": "8",
73
- "eslint-config-egg": "14",
74
116
  "formstream": "^1.5.1",
75
117
  "koa-static": "^5.0.0",
76
118
  "mm": "^4.0.2",
77
119
  "pedding": "^2.0.1",
78
- "prettier": "^3.4.2",
79
- "rimraf": "6",
80
120
  "runscript": "^2.0.1",
81
121
  "sdk-base": "^5.0.1",
82
122
  "spy": "^1.0.0",
83
- "tsd": "^0.31.2",
84
- "tshy": "^3.0.2",
85
- "tshy-after": "1",
86
- "typescript": "5"
87
- },
88
- "scripts": {
89
- "clean": "rimraf dist",
90
- "lint": "eslint src test --ext .ts",
91
- "pretest": "npm run clean && npm run lint -- --fix",
92
- "test": "egg-bin test",
93
- "test-local": "egg-bin test",
94
- "test:changed": "egg-bin test --changed",
95
- "preci": "npm run clean && npm run lint",
96
- "ci": "egg-bin cov",
97
- "postci": "npm run prepublishOnly && npm run clean",
98
- "prepublishOnly": "tshy && tshy-after && attw --pack --profile node16",
99
- "ci:app": "npm run ci \"test/app/**/*.test.ts,test/*.test.ts\"",
100
- "ci:cluster1": "npm run ci \"test/cluster1/**/*.test.ts\"",
101
- "ci:cluster2": "npm run ci \"test/cluster2/**/*.test.ts\"",
102
- "ci:lib/core": "npm run ci \"test/lib/core/**/*.test.ts\"",
103
- "ci:lib/plugins": "npm run ci \"test/lib/plugins/**/*.test.ts\"",
104
- "site:dev": "cross-env APP_ROOT=./site dumi dev",
105
- "site:build": "cross-env APP_ROOT=./site dumi build",
106
- "site:prettier": "prettier --config site/.prettierrc --ignore-path site/.prettierignore --write \"site/**/*.{js,jsx,tsx,ts,less,md,json}\"",
107
- "puml": "puml . --dest ./site"
123
+ "tsd": "^0.33.0",
124
+ "tsdown": "^0.15.0",
125
+ "typescript": "5",
126
+ "@eggjs/koa": "3.1.0-beta.3",
127
+ "@eggjs/mock": "6.1.0-beta.3"
108
128
  },
109
- "homepage": "https://github.com/eggjs/egg",
110
129
  "repository": {
111
130
  "type": "git",
112
- "url": "git://github.com/eggjs/egg.git"
131
+ "url": "git://github.com/eggjs/egg.git",
132
+ "directory": "packages/egg"
113
133
  },
114
134
  "license": "MIT",
115
- "tnpm": {
116
- "mode": "npm"
117
- },
118
135
  "egg": {
119
- "framework": true,
120
- "exports": {
121
- "import": "./dist/esm",
122
- "require": "./dist/commonjs",
123
- "typescript": "./src"
124
- }
136
+ "framework": true
125
137
  },
126
- "files": [
127
- "dist",
128
- "src"
129
- ],
130
- "type": "module",
131
- "tshy": {
132
- "exports": {
133
- ".": "./src/index.ts",
134
- "./urllib": "./src/urllib.ts",
135
- "./package.json": "./package.json"
136
- }
137
- },
138
- "exports": {
139
- ".": {
140
- "import": {
141
- "types": "./dist/esm/index.d.ts",
142
- "default": "./dist/esm/index.js"
143
- },
144
- "require": {
145
- "types": "./dist/commonjs/index.d.ts",
146
- "default": "./dist/commonjs/index.js"
147
- }
148
- },
149
- "./urllib": {
150
- "import": {
151
- "types": "./dist/esm/urllib.d.ts",
152
- "default": "./dist/esm/urllib.js"
153
- },
154
- "require": {
155
- "types": "./dist/commonjs/urllib.d.ts",
156
- "default": "./dist/commonjs/urllib.js"
157
- }
158
- },
159
- "./package.json": "./package.json"
160
- },
161
- "types": "./dist/commonjs/index.d.ts",
162
- "main": "./dist/commonjs/index.js",
163
- "module": "./dist/esm/index.js"
164
- }
138
+ "scripts": {
139
+ "lint": "oxlint",
140
+ "build": "tsdown",
141
+ "test": "vitest run"
142
+ }
143
+ }