egg 4.0.10 → 4.1.0-beta.11

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 +12 -0
  23. package/dist/config/config.default.js +260 -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} +41 -49
  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 +22 -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} +73 -94
  79. package/dist/lib/types.js +36 -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 +81 -99
  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/plugin.d.ts +0 -122
  113. package/dist/commonjs/config/plugin.js +0 -124
  114. package/dist/commonjs/index.d.ts +0 -69
  115. package/dist/commonjs/index.js +0 -83
  116. package/dist/commonjs/lib/agent.d.ts +0 -19
  117. package/dist/commonjs/lib/agent.js +0 -58
  118. package/dist/commonjs/lib/application.d.ts +0 -67
  119. package/dist/commonjs/lib/application.js +0 -266
  120. package/dist/commonjs/lib/core/base_context_class.d.ts +0 -17
  121. package/dist/commonjs/lib/core/base_context_class.js +0 -21
  122. package/dist/commonjs/lib/core/base_context_logger.d.ts +0 -36
  123. package/dist/commonjs/lib/core/base_context_logger.js +0 -64
  124. package/dist/commonjs/lib/core/base_hook_class.d.ts +0 -11
  125. package/dist/commonjs/lib/core/base_hook_class.js +0 -29
  126. package/dist/commonjs/lib/core/context_httpclient.d.ts +0 -16
  127. package/dist/commonjs/lib/core/context_httpclient.js +0 -30
  128. package/dist/commonjs/lib/core/httpclient.d.ts +0 -14
  129. package/dist/commonjs/lib/core/httpclient.js +0 -42
  130. package/dist/commonjs/lib/core/logger.d.ts +0 -3
  131. package/dist/commonjs/lib/core/logger.js +0 -40
  132. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +0 -50
  133. package/dist/commonjs/lib/core/messenger/IMessenger.js +0 -3
  134. package/dist/commonjs/lib/core/messenger/base.d.ts +0 -8
  135. package/dist/commonjs/lib/core/messenger/base.js +0 -31
  136. package/dist/commonjs/lib/core/messenger/index.d.ts +0 -7
  137. package/dist/commonjs/lib/core/messenger/index.js +0 -15
  138. package/dist/commonjs/lib/core/messenger/ipc.d.ts +0 -58
  139. package/dist/commonjs/lib/core/messenger/ipc.js +0 -135
  140. package/dist/commonjs/lib/core/messenger/local.d.ts +0 -60
  141. package/dist/commonjs/lib/core/messenger/local.js +0 -132
  142. package/dist/commonjs/lib/core/utils.d.ts +0 -2
  143. package/dist/commonjs/lib/core/utils.js +0 -77
  144. package/dist/commonjs/lib/egg.d.ts +0 -305
  145. package/dist/commonjs/lib/egg.js +0 -628
  146. package/dist/commonjs/lib/error/CookieLimitExceedError.d.ts +0 -5
  147. package/dist/commonjs/lib/error/CookieLimitExceedError.js +0 -16
  148. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  149. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.js +0 -16
  150. package/dist/commonjs/lib/error/index.d.ts +0 -2
  151. package/dist/commonjs/lib/error/index.js +0 -19
  152. package/dist/commonjs/lib/loader/AgentWorkerLoader.d.ts +0 -12
  153. package/dist/commonjs/lib/loader/AgentWorkerLoader.js +0 -24
  154. package/dist/commonjs/lib/loader/AppWorkerLoader.d.ts +0 -17
  155. package/dist/commonjs/lib/loader/AppWorkerLoader.js +0 -43
  156. package/dist/commonjs/lib/loader/EggApplicationLoader.d.ts +0 -4
  157. package/dist/commonjs/lib/loader/EggApplicationLoader.js +0 -8
  158. package/dist/commonjs/lib/loader/index.d.ts +0 -3
  159. package/dist/commonjs/lib/loader/index.js +0 -22
  160. package/dist/commonjs/lib/start.d.ts +0 -24
  161. package/dist/commonjs/lib/start.js +0 -49
  162. package/dist/commonjs/lib/types.d.ts +0 -257
  163. package/dist/commonjs/lib/types.js +0 -16
  164. package/dist/commonjs/lib/utils.d.ts +0 -2
  165. package/dist/commonjs/lib/utils.js +0 -21
  166. package/dist/commonjs/package.json +0 -3
  167. package/dist/commonjs/urllib.d.ts +0 -1
  168. package/dist/commonjs/urllib.js +0 -18
  169. package/dist/esm/agent.d.ts +0 -4
  170. package/dist/esm/agent.js +0 -7
  171. package/dist/esm/app/extend/context.d.ts +0 -204
  172. package/dist/esm/app/extend/context.js +0 -259
  173. package/dist/esm/app/extend/helper.d.ts +0 -37
  174. package/dist/esm/app/extend/helper.js +0 -43
  175. package/dist/esm/app/extend/request.d.ts +0 -141
  176. package/dist/esm/app/extend/request.js +0 -264
  177. package/dist/esm/app/extend/response.d.ts +0 -31
  178. package/dist/esm/app/extend/response.js +0 -34
  179. package/dist/esm/app/middleware/body_parser.d.ts +0 -2
  180. package/dist/esm/app/middleware/body_parser.js +0 -3
  181. package/dist/esm/app/middleware/meta.d.ts +0 -10
  182. package/dist/esm/app/middleware/meta.js +0 -20
  183. package/dist/esm/app/middleware/notfound.d.ts +0 -7
  184. package/dist/esm/app/middleware/notfound.js +0 -29
  185. package/dist/esm/app/middleware/override_method.d.ts +0 -2
  186. package/dist/esm/app/middleware/override_method.js +0 -3
  187. package/dist/esm/app/middleware/site_file.d.ts +0 -9
  188. package/dist/esm/app/middleware/site_file.js +0 -53
  189. package/dist/esm/config/config.default.d.ts +0 -9
  190. package/dist/esm/config/config.default.js +0 -374
  191. package/dist/esm/config/config.local.d.ts +0 -8
  192. package/dist/esm/config/config.local.js +0 -10
  193. package/dist/esm/config/config.unittest.d.ts +0 -7
  194. package/dist/esm/config/config.unittest.js +0 -9
  195. package/dist/esm/config/favicon.png +0 -0
  196. package/dist/esm/config/plugin.d.ts +0 -122
  197. package/dist/esm/config/plugin.js +0 -122
  198. package/dist/esm/index.d.ts +0 -69
  199. package/dist/esm/index.js +0 -73
  200. package/dist/esm/lib/agent.d.ts +0 -19
  201. package/dist/esm/lib/agent.js +0 -54
  202. package/dist/esm/lib/application.d.ts +0 -67
  203. package/dist/esm/lib/application.js +0 -259
  204. package/dist/esm/lib/core/base_context_class.d.ts +0 -17
  205. package/dist/esm/lib/core/base_context_class.js +0 -17
  206. package/dist/esm/lib/core/base_context_logger.d.ts +0 -36
  207. package/dist/esm/lib/core/base_context_logger.js +0 -60
  208. package/dist/esm/lib/core/base_hook_class.d.ts +0 -11
  209. package/dist/esm/lib/core/base_hook_class.js +0 -22
  210. package/dist/esm/lib/core/context_httpclient.d.ts +0 -16
  211. package/dist/esm/lib/core/context_httpclient.js +0 -26
  212. package/dist/esm/lib/core/httpclient.d.ts +0 -14
  213. package/dist/esm/lib/core/httpclient.js +0 -38
  214. package/dist/esm/lib/core/logger.d.ts +0 -3
  215. package/dist/esm/lib/core/logger.js +0 -37
  216. package/dist/esm/lib/core/messenger/IMessenger.d.ts +0 -50
  217. package/dist/esm/lib/core/messenger/IMessenger.js +0 -2
  218. package/dist/esm/lib/core/messenger/base.d.ts +0 -8
  219. package/dist/esm/lib/core/messenger/base.js +0 -27
  220. package/dist/esm/lib/core/messenger/index.d.ts +0 -7
  221. package/dist/esm/lib/core/messenger/index.js +0 -12
  222. package/dist/esm/lib/core/messenger/ipc.d.ts +0 -58
  223. package/dist/esm/lib/core/messenger/ipc.js +0 -128
  224. package/dist/esm/lib/core/messenger/local.d.ts +0 -60
  225. package/dist/esm/lib/core/messenger/local.js +0 -128
  226. package/dist/esm/lib/core/utils.d.ts +0 -2
  227. package/dist/esm/lib/core/utils.js +0 -70
  228. package/dist/esm/lib/egg.d.ts +0 -305
  229. package/dist/esm/lib/egg.js +0 -586
  230. package/dist/esm/lib/error/CookieLimitExceedError.d.ts +0 -5
  231. package/dist/esm/lib/error/CookieLimitExceedError.js +0 -12
  232. package/dist/esm/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  233. package/dist/esm/lib/error/MessageUnhandledRejectionError.js +0 -12
  234. package/dist/esm/lib/error/index.d.ts +0 -2
  235. package/dist/esm/lib/error/index.js +0 -3
  236. package/dist/esm/lib/loader/AgentWorkerLoader.d.ts +0 -12
  237. package/dist/esm/lib/loader/AgentWorkerLoader.js +0 -20
  238. package/dist/esm/lib/loader/AppWorkerLoader.d.ts +0 -17
  239. package/dist/esm/lib/loader/AppWorkerLoader.js +0 -39
  240. package/dist/esm/lib/loader/EggApplicationLoader.d.ts +0 -4
  241. package/dist/esm/lib/loader/EggApplicationLoader.js +0 -4
  242. package/dist/esm/lib/loader/index.d.ts +0 -3
  243. package/dist/esm/lib/loader/index.js +0 -4
  244. package/dist/esm/lib/start.d.ts +0 -24
  245. package/dist/esm/lib/start.js +0 -43
  246. package/dist/esm/lib/types.d.ts +0 -257
  247. package/dist/esm/lib/types.js +0 -14
  248. package/dist/esm/lib/utils.d.ts +0 -2
  249. package/dist/esm/lib/utils.js +0 -14
  250. package/dist/esm/package.json +0 -3
  251. package/dist/esm/urllib.d.ts +0 -1
  252. package/dist/esm/urllib.js +0 -2
  253. package/dist/package.json +0 -4
  254. package/src/agent.ts +0 -7
  255. package/src/app/extend/context.ts +0 -332
  256. package/src/app/extend/request.ts +0 -300
  257. package/src/app/middleware/body_parser.ts +0 -3
  258. package/src/app/middleware/meta.ts +0 -27
  259. package/src/app/middleware/notfound.ts +0 -41
  260. package/src/app/middleware/override_method.ts +0 -3
  261. package/src/app/middleware/site_file.ts +0 -68
  262. package/src/config/config.default.ts +0 -404
  263. package/src/config/config.local.ts +0 -11
  264. package/src/config/config.unittest.ts +0 -10
  265. package/src/config/favicon.png +0 -0
  266. package/src/index.ts +0 -120
  267. package/src/lib/agent.ts +0 -66
  268. package/src/lib/application.ts +0 -308
  269. package/src/lib/core/base_context_class.ts +0 -24
  270. package/src/lib/core/base_context_logger.ts +0 -67
  271. package/src/lib/core/base_hook_class.ts +0 -30
  272. package/src/lib/core/context_httpclient.ts +0 -33
  273. package/src/lib/core/httpclient.ts +0 -64
  274. package/src/lib/core/logger.ts +0 -42
  275. package/src/lib/core/messenger/base.ts +0 -30
  276. package/src/lib/core/messenger/index.ts +0 -16
  277. package/src/lib/core/messenger/ipc.ts +0 -146
  278. package/src/lib/core/messenger/local.ts +0 -147
  279. package/src/lib/core/utils.ts +0 -77
  280. package/src/lib/egg.ts +0 -705
  281. package/src/lib/error/CookieLimitExceedError.ts +0 -12
  282. package/src/lib/error/MessageUnhandledRejectionError.ts +0 -12
  283. package/src/lib/error/index.ts +0 -2
  284. package/src/lib/loader/AgentWorkerLoader.ts +0 -21
  285. package/src/lib/loader/AppWorkerLoader.ts +0 -42
  286. package/src/lib/loader/EggApplicationLoader.ts +0 -5
  287. package/src/lib/loader/index.ts +0 -3
  288. package/src/lib/start.ts +0 -66
  289. package/src/lib/utils.ts +0 -15
  290. package/src/urllib.ts +0 -1
  291. /package/dist/{commonjs/config → config}/favicon.png +0 -0
@@ -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,40 @@
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
+ import { PartialDeep } from "type-fest";
23
+
24
+ //#region src/lib/types.d.ts
25
+ type IgnoreItem = string | RegExp | ((ctx: Context$1) => boolean);
38
26
  type IgnoreOrMatch = IgnoreItem | IgnoreItem[];
39
-
40
- export interface ClientErrorResponse {
27
+ interface ClientErrorResponse {
41
28
  body: string | Buffer;
42
29
  status: number;
43
- headers: { [key: string]: string };
30
+ headers: {
31
+ [key: string]: string;
32
+ };
44
33
  }
45
-
46
34
  /** egg env type */
47
- export type EggEnvType = 'local' | 'unittest' | 'prod' | string;
48
-
35
+ type EggEnvType = 'local' | 'unittest' | 'prod' | string;
49
36
  /** logger config of egg */
50
- export interface EggLoggerConfig extends Omit<EggLoggersOptions, 'type'> {
37
+ interface EggLoggerConfig extends Omit<EggLoggersOptions, 'type'> {
51
38
  /** custom config of coreLogger */
52
39
  coreLogger?: Partial<EggLoggerOptions>;
53
40
  /** allow debug log at prod, defaults to `false` */
@@ -59,9 +46,8 @@ export interface EggLoggerConfig extends Omit<EggLoggersOptions, 'type'> {
59
46
  /** using the app logger instead of EggContextLogger, defaults to `false` */
60
47
  enableFastContextLogger?: boolean;
61
48
  }
62
-
63
49
  /** Custom Loader Configuration */
64
- export interface CustomLoaderConfig extends Omit<FileLoaderOptions, 'inject' | 'target'> {
50
+ interface CustomLoaderConfig extends Omit<FileLoaderOptions, 'inject' | 'target'> {
65
51
  /**
66
52
  * an object you wanner load to, value can only be 'ctx' or 'app'. default to app
67
53
  */
@@ -71,12 +57,11 @@ export interface CustomLoaderConfig extends Omit<FileLoaderOptions, 'inject' | '
71
57
  */
72
58
  loadunit?: boolean;
73
59
  }
74
-
75
- export interface HttpClientConfig {
60
+ interface HttpClientConfig {
76
61
  /** Request timeout */
77
62
  timeout?: number;
78
63
  /** Default request args for httpclient */
79
- request?: HttpClientRequestOptions;
64
+ request?: RequestOptions;
80
65
  /**
81
66
  * @deprecated keep compatible with egg 3.x, no more used
82
67
  */
@@ -86,7 +71,6 @@ export interface HttpClientConfig {
86
71
  */
87
72
  allowH2?: boolean;
88
73
  }
89
-
90
74
  /**
91
75
  * Powerful Partial, Support adding ? modifier to a mapped property in deep level
92
76
  * @example
@@ -94,19 +78,40 @@ export interface HttpClientConfig {
94
78
  *
95
79
  * // { view: { defaultEngines: string } } => { view?: { defaultEngines?: string } }
96
80
  * type EggConfig = PowerPartial<EggAppConfig>
81
+ *
82
+ * @deprecated use `PartialDeep` instead
97
83
  */
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 {
84
+ type PowerPartial<T> = PartialDeep<T>;
85
+ /**
86
+ * Partial EggAppConfig
87
+ */
88
+ type PartialEggConfig = PartialDeep<EggAppConfig>;
89
+ /**
90
+ * Configuration factory function return type
91
+ */
92
+ type EggConfigFactory = (appInfo: EggAppInfo) => PartialEggConfig;
93
+ /**
94
+ * Define configuration with type safety
95
+ * @example
96
+ * import { defineConfig } from 'egg';
97
+ *
98
+ * export default defineConfig({
99
+ * keys: 'my-keys',
100
+ * middleware: []
101
+ * });
102
+ *
103
+ * // or with function
104
+ * export default defineConfig((appInfo) => ({
105
+ * keys: appInfo.name + '_keys',
106
+ * middleware: []
107
+ * }));
108
+ */
109
+ declare function defineConfig<T extends PartialEggConfig | EggConfigFactory>(config: T): T;
110
+ interface EggAppConfig extends EggAppConfig$1 {
105
111
  workerStartTimeout: number;
106
112
  baseDir: string;
107
113
  middleware: string[];
108
114
  coreMiddleware: string[];
109
-
110
115
  /**
111
116
  * The option of `bodyParser` middleware
112
117
  *
@@ -148,9 +153,8 @@ export interface EggAppConfig extends EggCoreAppConfig {
148
153
  };
149
154
  /** Default is `'error'`, it will return `400` response when `Prototype-Poisoning` happen. */
150
155
  onProtoPoisoning: 'error' | 'remove' | 'ignore';
151
- onerror(err: any, ctx: Context): void;
156
+ onerror(err: any, ctx: Context$1): void;
152
157
  };
153
-
154
158
  /**
155
159
  * logger options
156
160
  * @member Config#logger
@@ -169,22 +173,15 @@ export interface EggAppConfig extends EggCoreAppConfig {
169
173
  * @property {Boolean} enableFastContextLogger - using the app logger instead of EggContextLogger, defaults to false
170
174
  */
171
175
  logger: EggLoggerConfig;
172
-
173
176
  /** custom logger of egg */
174
177
  customLogger: {
175
178
  [key: string]: EggLoggerOptions;
176
179
  };
177
-
178
180
  /** Configuration of httpclient in egg. */
179
181
  httpclient: HttpClientConfig;
180
-
181
182
  /**
182
183
  * customLoader config
183
184
  */
184
- // customLoader: {
185
- // [key: string]: CustomLoaderConfig;
186
- // };
187
-
188
185
  /**
189
186
  * It will ignore special keys when dumpConfig
190
187
  */
@@ -194,24 +191,19 @@ export interface EggAppConfig extends EggCoreAppConfig {
194
191
  slowBootActionMinDuration: number;
195
192
  };
196
193
  };
197
-
198
194
  /**
199
195
  * The environment of egg
200
196
  */
201
197
  env: EggEnvType;
202
-
203
198
  /**
204
199
  * The current HOME directory
205
200
  */
206
201
  HOME: string;
207
-
208
202
  hostHeaders: string;
209
-
210
203
  /**
211
204
  * Detect request' ip from specified headers, not case-sensitive. Only worked when config.proxy set to true.
212
205
  */
213
206
  ipHeaders: string;
214
-
215
207
  protocolHeaders: string;
216
208
  maxProxyCount: number;
217
209
  maxIpsCount: number;
@@ -220,24 +212,19 @@ export interface EggAppConfig extends EggCoreAppConfig {
220
212
  sameSite?: string;
221
213
  httpOnly?: boolean;
222
214
  };
223
-
224
215
  /**
225
216
  * The key that signing cookies. It can contain multiple keys separated by .
226
217
  */
227
218
  keys: string;
228
-
229
219
  /**
230
220
  * The name of the application
231
221
  */
232
222
  name: string;
233
-
234
223
  /**
235
224
  * package.json
236
225
  */
237
226
  pkg: Record<string, any>;
238
-
239
227
  rundir: string;
240
-
241
228
  siteFile: SiteFileMiddlewareOptions;
242
229
  meta: MetaMiddlewareOptions;
243
230
  notfound: NotFoundMiddlewareOptions;
@@ -245,9 +232,7 @@ export interface EggAppConfig extends EggCoreAppConfig {
245
232
  enable: boolean;
246
233
  allowedMethods: string[];
247
234
  };
248
-
249
235
  onClientError?(err: Error, socket: Socket, app: EggApplicationCore): ClientErrorResponse | Promise<ClientErrorResponse>;
250
-
251
236
  /**
252
237
  * server timeout in milliseconds, default to 0 (no timeout).
253
238
  *
@@ -256,41 +241,34 @@ export interface EggAppConfig extends EggCoreAppConfig {
256
241
  * @see https://nodejs.org/api/http.html#http_server_timeout
257
242
  */
258
243
  serverTimeout: number | null;
259
-
260
244
  cluster: {
261
245
  listen: {
262
- path: string,
263
- port: number,
264
- hostname: string,
246
+ path: string;
247
+ port: number;
248
+ hostname: string;
265
249
  };
266
250
  };
267
-
268
251
  clusterClient: {
269
252
  maxWaitTime: number;
270
253
  responseTimeout: number;
271
254
  };
272
-
273
255
  [prop: string]: any;
274
256
  }
275
-
276
- export type RequestObjectBody = Record<string, any>;
277
-
257
+ type RequestObjectBody = Record<string, any>;
278
258
  /**
279
259
  * plugin config item interface
280
260
  */
281
- export interface IEggPluginItem {
261
+ interface IEggPluginItem {
282
262
  env?: EggEnvType[];
283
263
  path?: string;
284
264
  package?: string;
285
265
  enable?: boolean;
286
266
  }
287
-
288
- export type EggPluginItem = IEggPluginItem | boolean;
289
-
267
+ type EggPluginItem = IEggPluginItem | boolean;
290
268
  /**
291
269
  * build-in plugin list
292
270
  */
293
- export interface EggPlugin {
271
+ interface EggPlugin {
294
272
  [key: string]: EggPluginItem | undefined;
295
273
  onerror?: EggPluginItem;
296
274
  session?: EggPluginItem;
@@ -305,4 +283,5 @@ export interface EggPlugin {
305
283
  jsonp?: EggPluginItem;
306
284
  view?: EggPluginItem;
307
285
  }
308
-
286
+ //#endregion
287
+ export { ClientErrorResponse, CustomLoaderConfig, EggAppConfig, type EggAppInfo, EggConfigFactory, EggEnvType, EggLoggerConfig, EggPlugin, EggPluginItem, HttpClientConfig, IEggPluginItem, type PartialDeep, PartialEggConfig, PowerPartial, RequestObjectBody, defineConfig };
@@ -0,0 +1,36 @@
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
+ //#region src/lib/types.ts
15
+ /**
16
+ * Define configuration with type safety
17
+ * @example
18
+ * import { defineConfig } from 'egg';
19
+ *
20
+ * export default defineConfig({
21
+ * keys: 'my-keys',
22
+ * middleware: []
23
+ * });
24
+ *
25
+ * // or with function
26
+ * export default defineConfig((appInfo) => ({
27
+ * keys: appInfo.name + '_keys',
28
+ * middleware: []
29
+ * }));
30
+ */
31
+ function defineConfig(config) {
32
+ return config;
33
+ }
34
+
35
+ //#endregion
36
+ export { defineConfig };
@@ -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 { };