ee-core 5.0.0-beta.2 → 5.0.0-beta.5

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 (453) hide show
  1. package/dist/cjs/app/application.d.ts +36 -1
  2. package/dist/cjs/app/application.d.ts.map +1 -1
  3. package/dist/cjs/app/application.js +49 -2
  4. package/dist/cjs/app/application.js.map +1 -1
  5. package/dist/cjs/app/boot.d.ts +56 -1
  6. package/dist/cjs/app/boot.d.ts.map +1 -1
  7. package/dist/cjs/app/boot.js +74 -11
  8. package/dist/cjs/app/boot.js.map +1 -1
  9. package/dist/cjs/app/dir.d.ts +10 -0
  10. package/dist/cjs/app/dir.d.ts.map +1 -1
  11. package/dist/cjs/app/dir.js +71 -10
  12. package/dist/cjs/app/dir.js.map +1 -1
  13. package/dist/cjs/app/events.d.ts +58 -2
  14. package/dist/cjs/app/events.d.ts.map +1 -1
  15. package/dist/cjs/app/events.js +92 -12
  16. package/dist/cjs/app/events.js.map +1 -1
  17. package/dist/cjs/config/config_loader.d.ts +44 -0
  18. package/dist/cjs/config/config_loader.d.ts.map +1 -1
  19. package/dist/cjs/config/config_loader.js +82 -1
  20. package/dist/cjs/config/config_loader.js.map +1 -1
  21. package/dist/cjs/config/default_config.d.ts +5 -0
  22. package/dist/cjs/config/default_config.d.ts.map +1 -1
  23. package/dist/cjs/config/default_config.js +98 -11
  24. package/dist/cjs/config/default_config.js.map +1 -1
  25. package/dist/cjs/config/index.d.ts +31 -1
  26. package/dist/cjs/config/index.d.ts.map +1 -1
  27. package/dist/cjs/config/index.js +52 -0
  28. package/dist/cjs/config/index.js.map +1 -1
  29. package/dist/cjs/const/channel.d.ts +17 -0
  30. package/dist/cjs/const/channel.d.ts.map +1 -1
  31. package/dist/cjs/const/channel.js +17 -0
  32. package/dist/cjs/const/channel.js.map +1 -1
  33. package/dist/cjs/controller/controller_loader.d.ts +20 -1
  34. package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
  35. package/dist/cjs/controller/controller_loader.js +89 -9
  36. package/dist/cjs/controller/controller_loader.js.map +1 -1
  37. package/dist/cjs/controller/index.d.ts +32 -0
  38. package/dist/cjs/controller/index.d.ts.map +1 -1
  39. package/dist/cjs/controller/index.js +66 -0
  40. package/dist/cjs/controller/index.js.map +1 -1
  41. package/dist/cjs/core/loader/file_loader.d.ts +78 -27
  42. package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
  43. package/dist/cjs/core/loader/file_loader.js +194 -68
  44. package/dist/cjs/core/loader/file_loader.js.map +1 -1
  45. package/dist/cjs/core/utils/index.d.ts +57 -2
  46. package/dist/cjs/core/utils/index.d.ts.map +1 -1
  47. package/dist/cjs/core/utils/index.js +120 -12
  48. package/dist/cjs/core/utils/index.js.map +1 -1
  49. package/dist/cjs/core/utils/timing.d.ts +47 -0
  50. package/dist/cjs/core/utils/timing.d.ts.map +1 -1
  51. package/dist/cjs/core/utils/timing.js +42 -2
  52. package/dist/cjs/core/utils/timing.js.map +1 -1
  53. package/dist/cjs/cross/cross.d.ts +81 -2
  54. package/dist/cjs/cross/cross.d.ts.map +1 -1
  55. package/dist/cjs/cross/cross.js +86 -16
  56. package/dist/cjs/cross/cross.js.map +1 -1
  57. package/dist/cjs/cross/crossProcess.d.ts +85 -14
  58. package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
  59. package/dist/cjs/cross/crossProcess.js +85 -13
  60. package/dist/cjs/cross/crossProcess.js.map +1 -1
  61. package/dist/cjs/electron/app/index.d.ts +17 -1
  62. package/dist/cjs/electron/app/index.d.ts.map +1 -1
  63. package/dist/cjs/electron/app/index.js +27 -3
  64. package/dist/cjs/electron/app/index.js.map +1 -1
  65. package/dist/cjs/electron/index.d.ts +6 -0
  66. package/dist/cjs/electron/index.d.ts.map +1 -1
  67. package/dist/cjs/electron/index.js +16 -1
  68. package/dist/cjs/electron/index.js.map +1 -1
  69. package/dist/cjs/electron/window/index.d.ts +37 -0
  70. package/dist/cjs/electron/window/index.d.ts.map +1 -1
  71. package/dist/cjs/electron/window/index.js +144 -88
  72. package/dist/cjs/electron/window/index.js.map +1 -1
  73. package/dist/cjs/exception/index.d.ts +12 -0
  74. package/dist/cjs/exception/index.d.ts.map +1 -1
  75. package/dist/cjs/exception/index.js +67 -9
  76. package/dist/cjs/exception/index.js.map +1 -1
  77. package/dist/cjs/html/index.d.ts +19 -0
  78. package/dist/cjs/html/index.d.ts.map +1 -1
  79. package/dist/cjs/html/index.js +42 -0
  80. package/dist/cjs/html/index.js.map +1 -1
  81. package/dist/cjs/index.d.ts +35 -7
  82. package/dist/cjs/index.d.ts.map +1 -1
  83. package/dist/cjs/index.js +127 -80
  84. package/dist/cjs/index.js.map +1 -1
  85. package/dist/cjs/jobs/child/app.js +86 -25
  86. package/dist/cjs/jobs/child/app.js.map +1 -1
  87. package/dist/cjs/jobs/child/index.d.ts +5 -5
  88. package/dist/cjs/jobs/child/index.js +5 -5
  89. package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
  90. package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
  91. package/dist/cjs/jobs/child/jobProcess.js +86 -11
  92. package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
  93. package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
  94. package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
  95. package/dist/cjs/jobs/child-pool/index.js +91 -4
  96. package/dist/cjs/jobs/child-pool/index.js.map +1 -1
  97. package/dist/cjs/jobs/index.d.ts +10 -0
  98. package/dist/cjs/jobs/index.d.ts.map +1 -1
  99. package/dist/cjs/jobs/index.js +10 -0
  100. package/dist/cjs/jobs/index.js.map +1 -1
  101. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
  102. package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
  103. package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
  104. package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
  105. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
  106. package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
  107. package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
  108. package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
  109. package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
  110. package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
  111. package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
  112. package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
  113. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
  114. package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
  115. package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
  116. package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
  117. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
  118. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
  119. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
  120. package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
  121. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
  122. package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
  123. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
  124. package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
  125. package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
  126. package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
  127. package/dist/cjs/jobs/load-balancer/consts.js +22 -0
  128. package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
  129. package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
  130. package/dist/cjs/jobs/load-balancer/index.js +18 -18
  131. package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
  132. package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
  133. package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
  134. package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
  135. package/dist/cjs/jobs/load-balancer/types.js +4 -0
  136. package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
  137. package/dist/cjs/jobs/registry.d.ts +24 -0
  138. package/dist/cjs/jobs/registry.d.ts.map +1 -0
  139. package/dist/cjs/jobs/registry.js +52 -0
  140. package/dist/cjs/jobs/registry.js.map +1 -0
  141. package/dist/cjs/loader/index.d.ts +52 -0
  142. package/dist/cjs/loader/index.d.ts.map +1 -1
  143. package/dist/cjs/loader/index.js +79 -10
  144. package/dist/cjs/loader/index.js.map +1 -1
  145. package/dist/cjs/log/index.d.ts +41 -0
  146. package/dist/cjs/log/index.d.ts.map +1 -1
  147. package/dist/cjs/log/index.js +59 -20
  148. package/dist/cjs/log/index.js.map +1 -1
  149. package/dist/cjs/log/logger.d.ts +26 -0
  150. package/dist/cjs/log/logger.d.ts.map +1 -1
  151. package/dist/cjs/log/logger.js +122 -2
  152. package/dist/cjs/log/logger.js.map +1 -1
  153. package/dist/cjs/message/childMessage.d.ts +50 -0
  154. package/dist/cjs/message/childMessage.d.ts.map +1 -1
  155. package/dist/cjs/message/childMessage.js +83 -2
  156. package/dist/cjs/message/childMessage.js.map +1 -1
  157. package/dist/cjs/ps/index.d.ts +112 -0
  158. package/dist/cjs/ps/index.d.ts.map +1 -1
  159. package/dist/cjs/ps/index.js +175 -41
  160. package/dist/cjs/ps/index.js.map +1 -1
  161. package/dist/cjs/socket/httpServer.d.ts +58 -5
  162. package/dist/cjs/socket/httpServer.d.ts.map +1 -1
  163. package/dist/cjs/socket/httpServer.js +94 -28
  164. package/dist/cjs/socket/httpServer.js.map +1 -1
  165. package/dist/cjs/socket/index.d.ts +45 -3
  166. package/dist/cjs/socket/index.d.ts.map +1 -1
  167. package/dist/cjs/socket/index.js +50 -14
  168. package/dist/cjs/socket/index.js.map +1 -1
  169. package/dist/cjs/socket/ipcServer.d.ts +31 -1
  170. package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
  171. package/dist/cjs/socket/ipcServer.js +60 -43
  172. package/dist/cjs/socket/ipcServer.js.map +1 -1
  173. package/dist/cjs/socket/socketServer.d.ts +32 -1
  174. package/dist/cjs/socket/socketServer.d.ts.map +1 -1
  175. package/dist/cjs/socket/socketServer.js +53 -14
  176. package/dist/cjs/socket/socketServer.js.map +1 -1
  177. package/dist/cjs/socket/utils.d.ts +13 -0
  178. package/dist/cjs/socket/utils.d.ts.map +1 -0
  179. package/dist/cjs/socket/utils.js +41 -0
  180. package/dist/cjs/socket/utils.js.map +1 -0
  181. package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
  182. package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
  183. package/dist/cjs/storage/sqliteStorage.js +121 -9
  184. package/dist/cjs/storage/sqliteStorage.js.map +1 -1
  185. package/dist/cjs/types/index.d.ts +373 -5
  186. package/dist/cjs/types/index.d.ts.map +1 -1
  187. package/dist/cjs/utils/extend.d.ts +44 -1
  188. package/dist/cjs/utils/extend.d.ts.map +1 -1
  189. package/dist/cjs/utils/extend.js +67 -19
  190. package/dist/cjs/utils/extend.js.map +1 -1
  191. package/dist/cjs/utils/helper.d.ts +154 -1
  192. package/dist/cjs/utils/helper.d.ts.map +1 -1
  193. package/dist/cjs/utils/helper.js +205 -28
  194. package/dist/cjs/utils/helper.js.map +1 -1
  195. package/dist/cjs/utils/index.d.ts +93 -0
  196. package/dist/cjs/utils/index.d.ts.map +1 -1
  197. package/dist/cjs/utils/index.js +136 -12
  198. package/dist/cjs/utils/index.js.map +1 -1
  199. package/dist/cjs/utils/ip.d.ts +29 -0
  200. package/dist/cjs/utils/ip.d.ts.map +1 -1
  201. package/dist/cjs/utils/ip.js +95 -4
  202. package/dist/cjs/utils/ip.js.map +1 -1
  203. package/dist/cjs/utils/is.d.ts +123 -0
  204. package/dist/cjs/utils/is.d.ts.map +1 -1
  205. package/dist/cjs/utils/is.js +126 -14
  206. package/dist/cjs/utils/is.js.map +1 -1
  207. package/dist/cjs/utils/json.d.ts +54 -0
  208. package/dist/cjs/utils/json.d.ts.map +1 -1
  209. package/dist/cjs/utils/json.js +62 -0
  210. package/dist/cjs/utils/json.js.map +1 -1
  211. package/dist/cjs/utils/pargv.d.ts +51 -0
  212. package/dist/cjs/utils/pargv.d.ts.map +1 -1
  213. package/dist/cjs/utils/pargv.js +141 -3
  214. package/dist/cjs/utils/pargv.js.map +1 -1
  215. package/dist/cjs/utils/port/index.d.ts +42 -0
  216. package/dist/cjs/utils/port/index.d.ts.map +1 -1
  217. package/dist/cjs/utils/port/index.js +130 -7
  218. package/dist/cjs/utils/port/index.js.map +1 -1
  219. package/dist/cjs/utils/type_check.d.ts +79 -0
  220. package/dist/cjs/utils/type_check.d.ts.map +1 -1
  221. package/dist/cjs/utils/type_check.js +87 -1
  222. package/dist/cjs/utils/type_check.js.map +1 -1
  223. package/dist/cjs/utils/wrap.d.ts +26 -0
  224. package/dist/cjs/utils/wrap.d.ts.map +1 -1
  225. package/dist/cjs/utils/wrap.js +47 -10
  226. package/dist/cjs/utils/wrap.js.map +1 -1
  227. package/dist/esm/app/application.d.ts +36 -1
  228. package/dist/esm/app/application.d.ts.map +1 -1
  229. package/dist/esm/app/application.js +49 -2
  230. package/dist/esm/app/application.js.map +1 -1
  231. package/dist/esm/app/boot.d.ts +56 -1
  232. package/dist/esm/app/boot.d.ts.map +1 -1
  233. package/dist/esm/app/boot.js +74 -11
  234. package/dist/esm/app/boot.js.map +1 -1
  235. package/dist/esm/app/dir.d.ts +10 -0
  236. package/dist/esm/app/dir.d.ts.map +1 -1
  237. package/dist/esm/app/dir.js +71 -10
  238. package/dist/esm/app/dir.js.map +1 -1
  239. package/dist/esm/app/events.d.ts +58 -2
  240. package/dist/esm/app/events.d.ts.map +1 -1
  241. package/dist/esm/app/events.js +92 -12
  242. package/dist/esm/app/events.js.map +1 -1
  243. package/dist/esm/config/config_loader.d.ts +44 -0
  244. package/dist/esm/config/config_loader.d.ts.map +1 -1
  245. package/dist/esm/config/config_loader.js +82 -1
  246. package/dist/esm/config/config_loader.js.map +1 -1
  247. package/dist/esm/config/default_config.d.ts +5 -0
  248. package/dist/esm/config/default_config.d.ts.map +1 -1
  249. package/dist/esm/config/default_config.js +98 -11
  250. package/dist/esm/config/default_config.js.map +1 -1
  251. package/dist/esm/config/index.d.ts +31 -1
  252. package/dist/esm/config/index.d.ts.map +1 -1
  253. package/dist/esm/config/index.js +52 -0
  254. package/dist/esm/config/index.js.map +1 -1
  255. package/dist/esm/const/channel.d.ts +17 -0
  256. package/dist/esm/const/channel.d.ts.map +1 -1
  257. package/dist/esm/const/channel.js +17 -0
  258. package/dist/esm/const/channel.js.map +1 -1
  259. package/dist/esm/controller/controller_loader.d.ts +20 -1
  260. package/dist/esm/controller/controller_loader.d.ts.map +1 -1
  261. package/dist/esm/controller/controller_loader.js +89 -9
  262. package/dist/esm/controller/controller_loader.js.map +1 -1
  263. package/dist/esm/controller/index.d.ts +32 -0
  264. package/dist/esm/controller/index.d.ts.map +1 -1
  265. package/dist/esm/controller/index.js +66 -0
  266. package/dist/esm/controller/index.js.map +1 -1
  267. package/dist/esm/core/loader/file_loader.d.ts +78 -27
  268. package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
  269. package/dist/esm/core/loader/file_loader.js +194 -68
  270. package/dist/esm/core/loader/file_loader.js.map +1 -1
  271. package/dist/esm/core/utils/index.d.ts +57 -2
  272. package/dist/esm/core/utils/index.d.ts.map +1 -1
  273. package/dist/esm/core/utils/index.js +87 -12
  274. package/dist/esm/core/utils/index.js.map +1 -1
  275. package/dist/esm/core/utils/timing.d.ts +47 -0
  276. package/dist/esm/core/utils/timing.d.ts.map +1 -1
  277. package/dist/esm/core/utils/timing.js +42 -2
  278. package/dist/esm/core/utils/timing.js.map +1 -1
  279. package/dist/esm/cross/cross.d.ts +81 -2
  280. package/dist/esm/cross/cross.d.ts.map +1 -1
  281. package/dist/esm/cross/cross.js +86 -16
  282. package/dist/esm/cross/cross.js.map +1 -1
  283. package/dist/esm/cross/crossProcess.d.ts +85 -14
  284. package/dist/esm/cross/crossProcess.d.ts.map +1 -1
  285. package/dist/esm/cross/crossProcess.js +85 -13
  286. package/dist/esm/cross/crossProcess.js.map +1 -1
  287. package/dist/esm/electron/app/index.d.ts +17 -1
  288. package/dist/esm/electron/app/index.d.ts.map +1 -1
  289. package/dist/esm/electron/app/index.js +27 -3
  290. package/dist/esm/electron/app/index.js.map +1 -1
  291. package/dist/esm/electron/index.d.ts +6 -0
  292. package/dist/esm/electron/index.d.ts.map +1 -1
  293. package/dist/esm/electron/index.js +16 -1
  294. package/dist/esm/electron/index.js.map +1 -1
  295. package/dist/esm/electron/window/index.d.ts +37 -0
  296. package/dist/esm/electron/window/index.d.ts.map +1 -1
  297. package/dist/esm/electron/window/index.js +144 -88
  298. package/dist/esm/electron/window/index.js.map +1 -1
  299. package/dist/esm/exception/index.d.ts +12 -0
  300. package/dist/esm/exception/index.d.ts.map +1 -1
  301. package/dist/esm/exception/index.js +67 -9
  302. package/dist/esm/exception/index.js.map +1 -1
  303. package/dist/esm/html/index.d.ts +19 -0
  304. package/dist/esm/html/index.d.ts.map +1 -1
  305. package/dist/esm/html/index.js +42 -0
  306. package/dist/esm/html/index.js.map +1 -1
  307. package/dist/esm/index.d.ts +35 -7
  308. package/dist/esm/index.d.ts.map +1 -1
  309. package/dist/esm/index.js +127 -80
  310. package/dist/esm/index.js.map +1 -1
  311. package/dist/esm/jobs/child/app.js +86 -25
  312. package/dist/esm/jobs/child/app.js.map +1 -1
  313. package/dist/esm/jobs/child/index.d.ts +5 -5
  314. package/dist/esm/jobs/child/index.js +5 -5
  315. package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
  316. package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
  317. package/dist/esm/jobs/child/jobProcess.js +86 -11
  318. package/dist/esm/jobs/child/jobProcess.js.map +1 -1
  319. package/dist/esm/jobs/child-pool/index.d.ts +96 -0
  320. package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
  321. package/dist/esm/jobs/child-pool/index.js +91 -4
  322. package/dist/esm/jobs/child-pool/index.js.map +1 -1
  323. package/dist/esm/jobs/index.d.ts +10 -0
  324. package/dist/esm/jobs/index.d.ts.map +1 -1
  325. package/dist/esm/jobs/index.js +10 -0
  326. package/dist/esm/jobs/index.js.map +1 -1
  327. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
  328. package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
  329. package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
  330. package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
  331. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
  332. package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
  333. package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
  334. package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
  335. package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
  336. package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
  337. package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
  338. package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
  339. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
  340. package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
  341. package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
  342. package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
  343. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
  344. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
  345. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
  346. package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
  347. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
  348. package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
  349. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
  350. package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
  351. package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
  352. package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
  353. package/dist/esm/jobs/load-balancer/consts.js +22 -0
  354. package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
  355. package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
  356. package/dist/esm/jobs/load-balancer/index.js +18 -18
  357. package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
  358. package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
  359. package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
  360. package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
  361. package/dist/esm/jobs/load-balancer/types.js +4 -0
  362. package/dist/esm/jobs/load-balancer/types.js.map +1 -1
  363. package/dist/esm/jobs/registry.d.ts +24 -0
  364. package/dist/esm/jobs/registry.d.ts.map +1 -0
  365. package/dist/esm/jobs/registry.js +52 -0
  366. package/dist/esm/jobs/registry.js.map +1 -0
  367. package/dist/esm/loader/index.d.ts +52 -0
  368. package/dist/esm/loader/index.d.ts.map +1 -1
  369. package/dist/esm/loader/index.js +79 -10
  370. package/dist/esm/loader/index.js.map +1 -1
  371. package/dist/esm/log/index.d.ts +41 -0
  372. package/dist/esm/log/index.d.ts.map +1 -1
  373. package/dist/esm/log/index.js +59 -20
  374. package/dist/esm/log/index.js.map +1 -1
  375. package/dist/esm/log/logger.d.ts +26 -0
  376. package/dist/esm/log/logger.d.ts.map +1 -1
  377. package/dist/esm/log/logger.js +122 -2
  378. package/dist/esm/log/logger.js.map +1 -1
  379. package/dist/esm/message/childMessage.d.ts +50 -0
  380. package/dist/esm/message/childMessage.d.ts.map +1 -1
  381. package/dist/esm/message/childMessage.js +83 -2
  382. package/dist/esm/message/childMessage.js.map +1 -1
  383. package/dist/esm/ps/index.d.ts +112 -0
  384. package/dist/esm/ps/index.d.ts.map +1 -1
  385. package/dist/esm/ps/index.js +175 -41
  386. package/dist/esm/ps/index.js.map +1 -1
  387. package/dist/esm/socket/httpServer.d.ts +58 -5
  388. package/dist/esm/socket/httpServer.d.ts.map +1 -1
  389. package/dist/esm/socket/httpServer.js +94 -28
  390. package/dist/esm/socket/httpServer.js.map +1 -1
  391. package/dist/esm/socket/index.d.ts +45 -3
  392. package/dist/esm/socket/index.d.ts.map +1 -1
  393. package/dist/esm/socket/index.js +50 -14
  394. package/dist/esm/socket/index.js.map +1 -1
  395. package/dist/esm/socket/ipcServer.d.ts +31 -1
  396. package/dist/esm/socket/ipcServer.d.ts.map +1 -1
  397. package/dist/esm/socket/ipcServer.js +60 -43
  398. package/dist/esm/socket/ipcServer.js.map +1 -1
  399. package/dist/esm/socket/socketServer.d.ts +32 -1
  400. package/dist/esm/socket/socketServer.d.ts.map +1 -1
  401. package/dist/esm/socket/socketServer.js +53 -14
  402. package/dist/esm/socket/socketServer.js.map +1 -1
  403. package/dist/esm/socket/utils.d.ts +13 -0
  404. package/dist/esm/socket/utils.d.ts.map +1 -0
  405. package/dist/esm/socket/utils.js +41 -0
  406. package/dist/esm/socket/utils.js.map +1 -0
  407. package/dist/esm/storage/sqliteStorage.d.ts +93 -4
  408. package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
  409. package/dist/esm/storage/sqliteStorage.js +121 -9
  410. package/dist/esm/storage/sqliteStorage.js.map +1 -1
  411. package/dist/esm/types/index.d.ts +373 -5
  412. package/dist/esm/types/index.d.ts.map +1 -1
  413. package/dist/esm/utils/extend.d.ts +44 -1
  414. package/dist/esm/utils/extend.d.ts.map +1 -1
  415. package/dist/esm/utils/extend.js +67 -19
  416. package/dist/esm/utils/extend.js.map +1 -1
  417. package/dist/esm/utils/helper.d.ts +154 -1
  418. package/dist/esm/utils/helper.d.ts.map +1 -1
  419. package/dist/esm/utils/helper.js +205 -28
  420. package/dist/esm/utils/helper.js.map +1 -1
  421. package/dist/esm/utils/index.d.ts +93 -0
  422. package/dist/esm/utils/index.d.ts.map +1 -1
  423. package/dist/esm/utils/index.js +136 -12
  424. package/dist/esm/utils/index.js.map +1 -1
  425. package/dist/esm/utils/ip.d.ts +29 -0
  426. package/dist/esm/utils/ip.d.ts.map +1 -1
  427. package/dist/esm/utils/ip.js +95 -4
  428. package/dist/esm/utils/ip.js.map +1 -1
  429. package/dist/esm/utils/is.d.ts +123 -0
  430. package/dist/esm/utils/is.d.ts.map +1 -1
  431. package/dist/esm/utils/is.js +126 -14
  432. package/dist/esm/utils/is.js.map +1 -1
  433. package/dist/esm/utils/json.d.ts +54 -0
  434. package/dist/esm/utils/json.d.ts.map +1 -1
  435. package/dist/esm/utils/json.js +62 -0
  436. package/dist/esm/utils/json.js.map +1 -1
  437. package/dist/esm/utils/pargv.d.ts +51 -0
  438. package/dist/esm/utils/pargv.d.ts.map +1 -1
  439. package/dist/esm/utils/pargv.js +141 -3
  440. package/dist/esm/utils/pargv.js.map +1 -1
  441. package/dist/esm/utils/port/index.d.ts +42 -0
  442. package/dist/esm/utils/port/index.d.ts.map +1 -1
  443. package/dist/esm/utils/port/index.js +130 -7
  444. package/dist/esm/utils/port/index.js.map +1 -1
  445. package/dist/esm/utils/type_check.d.ts +79 -0
  446. package/dist/esm/utils/type_check.d.ts.map +1 -1
  447. package/dist/esm/utils/type_check.js +87 -1
  448. package/dist/esm/utils/type_check.js.map +1 -1
  449. package/dist/esm/utils/wrap.d.ts +26 -0
  450. package/dist/esm/utils/wrap.d.ts.map +1 -1
  451. package/dist/esm/utils/wrap.js +47 -10
  452. package/dist/esm/utils/wrap.js.map +1 -1
  453. package/package.json +13 -13
@@ -1,156 +1,524 @@
1
+ /**
2
+ * @module types
3
+ * @description Framework core type definitions. Centralizes all public interface and configuration
4
+ * types for ee-core, referenced by framework modules and business code to ensure type safety
5
+ * and interface consistency.
6
+ *
7
+ * Includes:
8
+ * - ElectronEggOptions: framework startup parameters
9
+ * - Config series: runtime configuration (main service, Socket, HTTP, logging, exception, jobs, cross-process)
10
+ * - JobChildOptions: child process job parameters
11
+ * - FileLoaderOptions: file loader configuration
12
+ * - AppInfo: application metadata
13
+ * - MessageData: IPC message structure
14
+ * - TimingItem: performance timing entry
15
+ * - RegistryEntry: bundle mode registry entry
16
+ */
1
17
  import type { BrowserWindowConstructorOptions, OpenDevToolsOptions } from 'electron';
18
+ /**
19
+ * ElectronEgg startup options
20
+ *
21
+ * Constructed by the boot module during framework initialization, containing basic information
22
+ * about the application runtime environment. These values, once determined, do not change
23
+ * throughout the application lifecycle.
24
+ */
2
25
  export interface ElectronEggOptions {
26
+ /** Runtime environment identifier, e.g. 'dev', 'prod', 'test' */
3
27
  env: string;
28
+ /** Project root directory (where package.json is located) */
4
29
  baseDir: string;
30
+ /** Electron main process source directory (e.g. electron/) */
5
31
  electronDir: string;
32
+ /** Application name, taken from the name field in package.json */
6
33
  appName: string;
34
+ /** User home directory (os.homedir()) */
7
35
  userHome: string;
36
+ /** System-level application data directory (macOS: ~/Library/Application Support, Windows: %APPDATA%) */
8
37
  appData: string;
38
+ /** Electron user data directory (appData/appName) */
9
39
  appUserData: string;
40
+ /** Application version, taken from the version field in package.json */
10
41
  appVersion: string;
42
+ /** Whether packaged as an installer (app.isPackaged) */
11
43
  isPackaged: boolean;
44
+ /** Executable directory (after packaging: exe path; during development: node_modules/electron path) */
12
45
  execDir: string;
13
46
  }
47
+ /**
48
+ * Remote service configuration
49
+ *
50
+ * Used to configure remote debugging or remote control service addresses.
51
+ * When enabled, the main process can connect to the remote service via WebSocket.
52
+ */
14
53
  export interface RemoteConfig {
54
+ /** Whether to enable remote service */
15
55
  enable: boolean;
56
+ /** Remote service address (e.g. ws://remote-host:port) */
16
57
  url: string;
17
58
  }
59
+ /**
60
+ * Main window service configuration
61
+ *
62
+ * Defines how the main window loads content (local file or remote URL) and loading behavior.
63
+ */
18
64
  export interface MainServerConfig {
65
+ /** Protocol type: 'file://' loads local file, 'http://'/'https://' loads remote page */
19
66
  protocol: string;
67
+ /** Entry file path (HTML file path for file protocol, URL path for http protocol) */
20
68
  indexPath: string;
69
+ /** Extra options passed to protocol.handle or loadURL */
21
70
  options?: Record<string, unknown>;
71
+ /** Loading strategy: 'start' (load on startup) or 'ready' (load after app ready), default 'start' */
22
72
  takeover?: string;
73
+ /** Preload page path. Displayed before the main page loads, used for splash screens */
23
74
  loadingPage?: string;
75
+ /** IPC channel separator, default '/'. E.g. '/' in 'controller/user/info' */
24
76
  channelSeparator?: string;
25
77
  }
78
+ /**
79
+ * Socket.IO service configuration
80
+ *
81
+ * Defines WebSocket communication parameters between main process and renderer process.
82
+ * Implemented with socket.io, supporting both polling and WebSocket transports.
83
+ */
26
84
  export interface SocketServerConfig {
85
+ /** Whether to enable Socket service */
27
86
  enable: boolean;
87
+ /** Socket service listening port */
28
88
  port: number;
89
+ /** Socket.IO path (default /socket.io) */
29
90
  path: string;
91
+ /** Connection timeout (ms), disconnect after timeout */
30
92
  connectTimeout: number;
93
+ /** Heartbeat timeout (ms), disconnect if no pong received */
31
94
  pingTimeout: number;
95
+ /** Heartbeat send interval (ms) */
32
96
  pingInterval: number;
97
+ /** Maximum bytes per HTTP message body, prevents oversized messages causing memory issues */
33
98
  maxHttpBufferSize: number;
99
+ /** Transport list, supports 'polling' (long polling) and 'websocket' */
34
100
  transports: ('polling' | 'websocket')[];
101
+ /** CORS configuration, follows socket.io CORS rules */
35
102
  cors: {
36
103
  origin: boolean | string | RegExp | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void);
37
104
  };
105
+ /** Custom communication channel name, used to distinguish different socket communication groups */
38
106
  channel: string;
39
107
  }
108
+ /**
109
+ * HTTPS certificate configuration
110
+ *
111
+ * Provides SSL/TLS certificates for HTTP service, enabling HTTPS support.
112
+ */
40
113
  export interface HttpsConfig {
114
+ /** Whether to enable HTTPS */
41
115
  enable: boolean;
116
+ /** SSL private key file path */
42
117
  key: string;
118
+ /** SSL certificate file path */
43
119
  cert: string;
44
120
  }
121
+ /**
122
+ * HTTP service configuration
123
+ *
124
+ * Defines parameters for the built-in Koa HTTP service, providing RESTful API interfaces.
125
+ * Primarily used for renderer process to communicate with main process via HTTP.
126
+ */
45
127
  export interface HttpServerConfig {
128
+ /** Whether to enable HTTP service */
46
129
  enable: boolean;
130
+ /** HTTPS certificate configuration */
47
131
  https: HttpsConfig;
132
+ /** Protocol type: 'http' or 'https' */
48
133
  protocol: string;
134
+ /** Listening host address, default '127.0.0.1' (local access only) */
49
135
  host: string;
136
+ /** Listening port */
50
137
  port: number;
138
+ /** CORS configuration */
51
139
  cors: {
140
+ /** Allowed origins, e.g. '*' or specific domain */
52
141
  origin: string;
53
142
  };
143
+ /** Request body parsing configuration */
54
144
  body: {
145
+ /** Whether to support multipart/form-data (file upload) */
55
146
  multipart: boolean;
147
+ /** formidable file upload handling configuration */
56
148
  formidable: {
149
+ /** Whether to keep original file extensions for uploaded files */
57
150
  keepExtensions: boolean;
58
151
  };
59
152
  };
153
+ /** Request filter configuration, returns fixed data for matched URIs (used to block or intercept specific requests) */
60
154
  filterRequest: {
155
+ /** List of URIs to filter */
61
156
  uris: string[];
157
+ /** Data to return for filtered URIs */
62
158
  returnData: string;
63
159
  };
160
+ /** Koa middleware extension configuration */
161
+ koaConfig?: KoaConfig;
64
162
  }
163
+ /**
164
+ * Koa middleware configuration
165
+ *
166
+ * Allows business code to insert custom logic into the Koa HTTP service middleware chain.
167
+ */
168
+ export interface KoaConfig {
169
+ /** Pre-middleware list, executed before route handling (e.g. auth, logging) */
170
+ preMiddleware?: ((...args: unknown[]) => unknown)[];
171
+ /** Post-middleware list, executed after route handling (e.g. error wrapping, response formatting) */
172
+ postMiddleware?: ((...args: unknown[]) => unknown)[];
173
+ /** Custom error handler, replaces framework's default Koa error handling logic */
174
+ errorHandler?: ((err: Error) => void) | null;
175
+ }
176
+ /**
177
+ * Logger configuration
178
+ *
179
+ * Complete configuration for the Pino logging library. The framework has three built-in log instances:
180
+ * - appLogName: application log, records business output
181
+ * - coreLogName: core log, records framework internal operations
182
+ * - errorLogName: error log, only records error/fatal
183
+ */
65
184
  export interface LoggerConfig {
66
- dir: string;
67
- level: string;
185
+ /** Log file storage directory, defaults to appUserData/logs if not set */
186
+ dir?: string;
187
+ /** Minimum log level, logs below this level will be ignored */
188
+ level: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | string;
189
+ /** Whether to enable pino-pretty output (recommended for development only) */
68
190
  prettyPrint?: boolean;
191
+ /** Timestamp date format (e.g. 'yyyy-MM-dd hh:mm:ss') */
69
192
  dateFormat?: string;
193
+ /** Application log filename (e.g. app.log) */
70
194
  appLogName: string;
195
+ /** Core log filename (e.g. core.log) */
71
196
  coreLogName: string;
197
+ /** Error log filename (e.g. error.log) */
72
198
  errorLogName: string;
73
- rotator: string;
199
+ /** Log rotation period: 'daily' (every day) or 'hourly' (every hour) */
200
+ rotator: 'daily' | 'hourly' | string;
201
+ /** Field paths to redact (Pino redact feature, e.g. ['password', 'token']) */
74
202
  redact?: string[];
75
- redactCensor?: string;
203
+ /** Redaction replacement value, can be a fixed string or custom replacement function */
204
+ redactCensor?: string | ((value: unknown, path: string[]) => unknown);
205
+ /** Whether logs include timestamps, default true */
76
206
  timestamp?: boolean;
207
+ /** IANA timezone for log timestamps (file JSON logs), default 'UTC'. Set e.g. 'Asia/Shanghai' to emit local time with offset */
208
+ timezone?: string;
209
+ /** Logger name, displayed in log entries */
77
210
  name?: string;
211
+ /** Maximum size of a single log file, auto-rotates when exceeded (e.g. '10m' for 10MB) */
78
212
  maxSize?: number | string;
213
+ /** Custom serializers for formatting specific value types (e.g. err, req, res) */
79
214
  serializers?: Record<string, (value: unknown) => unknown>;
215
+ /** Custom log level mapping (e.g. { verbose: 30 }) */
80
216
  customLevels?: Record<string, number>;
217
+ /** Object serialization depth limit, prevents circular references or oversized objects from causing performance issues */
81
218
  depthLimit?: number;
219
+ /** Safe mode: when log write fails, no exception is thrown but silently handled */
82
220
  safe?: boolean;
221
+ /** Whether to enable logging, false disables all log output */
83
222
  enabled?: boolean;
84
223
  }
224
+ /**
225
+ * Exception handling configuration
226
+ *
227
+ * Defines handling strategies when processes exit abnormally.
228
+ * Exit behavior: true means process exits, false means only log.
229
+ */
85
230
  export interface ExceptionConfig {
231
+ /** Whether main process exception exits the application. true: exit on main process crash, false: only log error */
86
232
  mainExit: boolean;
233
+ /** Whether child process (Job) abnormal exit terminates the main process */
87
234
  childExit: boolean;
235
+ /** Handling strategy for renderer process abnormal exit */
88
236
  rendererExit: boolean;
89
237
  }
238
+ /**
239
+ * Background job (Job) configuration
240
+ *
241
+ * Controls global behavior of child process jobs.
242
+ */
90
243
  export interface JobsConfig {
244
+ /** Whether to log child process communication messages. When true, all IPC messages are logged for debugging */
91
245
  messageLog: boolean;
92
246
  }
247
+ /**
248
+ * Cross-process target configuration
249
+ *
250
+ * Defines startup parameters and communication methods for an external process.
251
+ * Supports child process fork, Go/Python backend process startup, and other scenarios.
252
+ */
253
+ export interface CrossTargetConfig {
254
+ /** Target process name identifier (e.g. 'go', 'python') */
255
+ name: string;
256
+ /** Whether to enable this cross-process target */
257
+ enable?: boolean;
258
+ /** Command line arguments passed to the child process */
259
+ args?: string[];
260
+ /** Startup command (e.g. 'go', 'python3'), empty means use script for direct fork */
261
+ cmd?: string;
262
+ /** Child process working directory, defaults to project root directory */
263
+ directory?: string;
264
+ /** Whether to automatically add .exe extension on Windows */
265
+ windowsExtname?: boolean;
266
+ /** Child process stdio configuration (same as child_process.fork stdio option) */
267
+ stdio?: ('pipe' | 'ignore' | 'inherit' | 'ipc')[];
268
+ /** Whether to exit the main application when the child process exits */
269
+ appExit?: boolean;
270
+ /** Child process listening port (Go/Python HTTP service port) */
271
+ port?: number;
272
+ /** Child process service URL (e.g. http://localhost:port) */
273
+ url?: string;
274
+ }
275
+ /**
276
+ * Cross-process configuration collection
277
+ *
278
+ * Key names are target process identifiers, values are startup parameters for each process.
279
+ * Supports configuring multiple external processes simultaneously (Go, Python, custom child processes, etc.).
280
+ */
93
281
  export interface CrossConfig {
94
- [key: string]: unknown;
282
+ /** Dynamic key names corresponding to each cross-process target configuration */
283
+ [key: string]: CrossTargetConfig;
95
284
  }
285
+ /**
286
+ * Framework main configuration interface
287
+ *
288
+ * Integrates all sub-module configurations, serves as the type definition for the object
289
+ * exported by config.default.js. Loaded and merged by ConfigLoader at runtime, then
290
+ * provided to each module.
291
+ */
96
292
  export interface Config {
293
+ /** Dynamic properties, allows user-defined configuration items */
97
294
  [key: string]: unknown;
295
+ /** DevTools configuration: true opens DevTools, false closes, or pass OpenDevToolsOptions for fine control */
98
296
  openDevTools: boolean | OpenDevToolsOptions;
297
+ /** Single instance lock: true allows only one application instance, subsequent launches activate existing window */
99
298
  singleLock: boolean;
299
+ /** BrowserWindow constructor options, passed directly to Electron BrowserWindow */
100
300
  windowsOption: BrowserWindowConstructorOptions;
301
+ /** Logger configuration */
101
302
  logger: LoggerConfig;
303
+ /** Socket.IO service configuration */
102
304
  socketServer: SocketServerConfig;
305
+ /** HTTP service configuration */
103
306
  httpServer: HttpServerConfig;
307
+ /** Remote service configuration */
104
308
  remote: RemoteConfig;
309
+ /** Main window service configuration */
105
310
  mainServer: MainServerConfig;
311
+ /** Exception handling configuration */
106
312
  exception: ExceptionConfig;
313
+ /** Background jobs configuration */
107
314
  jobs: JobsConfig;
315
+ /** Cross-process configuration */
108
316
  cross: CrossConfig;
109
317
  }
318
+ /**
319
+ * Child process job (Job) startup options
320
+ *
321
+ * Defines parameters for ChildJob / ChildPoolJob to create child processes.
322
+ */
110
323
  export interface JobChildOptions {
324
+ /** Job name identifier, used for logging and IPC routing */
111
325
  name: string;
326
+ /** Child process entry script path (first argument of child_process.fork) */
112
327
  script: string;
328
+ /** Command line arguments passed to the child process */
113
329
  args?: string[];
330
+ /** Child process environment variables, merged with process.env */
114
331
  env?: NodeJS.ProcessEnv;
332
+ /** Child process HTTP service port (e.g. Go/Python child process listening port) */
115
333
  port?: number;
116
334
  }
335
+ /**
336
+ * extend() merge options
337
+ *
338
+ * Controls whether deep merging is performed during object merging.
339
+ */
117
340
  export interface ExtendOptions {
341
+ /** Whether to deep merge. When true, nested objects are recursively merged; when false, shallow overwrite */
118
342
  deep?: boolean;
119
343
  }
344
+ /**
345
+ * Performance timing entry
346
+ *
347
+ * Records duration information for each stage in the framework startup process, used for performance analysis.
348
+ */
120
349
  export interface TimingItem {
350
+ /** Stage name (e.g. 'loadConfig', 'loadController') */
121
351
  name: string;
352
+ /** Stage start time (ms timestamp) */
122
353
  start: number;
354
+ /** Stage end time (ms timestamp), undefined when not finished */
123
355
  end: number | undefined;
356
+ /** Stage duration (ms), undefined when not finished */
124
357
  duration: number | undefined;
358
+ /** PID of the process executing this stage */
125
359
  pid: number;
360
+ /** Entry sequence number, indicating the execution order of startup stages */
126
361
  index: number;
127
362
  }
363
+ /**
364
+ * Registry entry
365
+ *
366
+ * In bundle mode, the esbuild plugin pre-registers file information to a global variable.
367
+ * Each entry corresponds to a scanned module file.
368
+ */
369
+ export interface RegistryEntry {
370
+ /** Full file path (e.g. 'controller/user.js') */
371
+ fullpath: string;
372
+ /** Property path array, converted from file path (e.g. ['user'] or ['admin', 'login']) */
373
+ properties: string[];
374
+ /** Lazily loaded module: requires only on access, avoiding initialization order issues */
375
+ module: unknown;
376
+ }
377
+ /**
378
+ * FileLoader loading options
379
+ *
380
+ * Controls how the file loader scans directories, converts property names, and processes exports.
381
+ */
128
382
  export interface FileLoaderOptions {
383
+ /**
384
+ * Property naming style, determines file path to property name conversion rules:
385
+ * - 'lower': first letter lowercase (used by controllers, e.g. UserController -> userController)
386
+ * - 'upper': first letter uppercase
387
+ * - 'camel': camelCase (default)
388
+ * - function: fully custom conversion logic
389
+ */
129
390
  caseStyle?: 'lower' | 'upper' | 'camel' | ((filepath: string) => string[]);
391
+ /** Directory path(s) to scan, can be a single directory or an array of directories */
130
392
  directory: string;
393
+ /**
394
+ * Custom initializer for additional processing of file exports.
395
+ * Accepts the export value and path info, returns the processed value.
396
+ */
131
397
  initializer?: ((obj: unknown, options: {
132
398
  pathName: string;
133
399
  path: string;
134
400
  }) => unknown) | null;
401
+ /** Whether to auto-call function-type exports. When true, plain function exports are executed and the return value is used as the final export */
135
402
  call?: boolean;
403
+ /** Whether to override same-name properties. When true, later-loaded modules with the same name override earlier ones */
136
404
  override?: boolean;
405
+ /** Injection parameters for auto-called functions */
137
406
  inject?: unknown;
407
+ /** File match pattern (globby format), only loads matching files */
138
408
  match?: string | string[] | ((name: string) => boolean);
409
+ /** File ignore pattern, matched files will be skipped */
139
410
  ignore?: string | string[] | ((name: string) => boolean);
411
+ /**
412
+ * Pre-registry entry array. In bundle mode, provided by global variable __EE_CONTROLLER_REGISTRY__;
413
+ * when present, skips filesystem scanning and loads modules directly from the registry
414
+ */
415
+ registry?: RegistryEntry[];
140
416
  }
417
+ /**
418
+ * Application metadata
419
+ *
420
+ * During configuration file loading, the framework passes this object as a parameter to the
421
+ * configuration function, allowing config files to dynamically return different configurations
422
+ * based on environment information.
423
+ *
424
+ * @example
425
+ * ```js
426
+ * // config.default.js
427
+ * module.exports = (appInfo) => {
428
+ * const config = {};
429
+ * config.logger.dir = path.join(appInfo.root, 'logs');
430
+ * return config;
431
+ * };
432
+ * ```
433
+ */
141
434
  export interface AppInfo {
435
+ /** Application name */
142
436
  name: string;
437
+ /** Project root directory */
143
438
  baseDir: string;
439
+ /** Electron source directory */
144
440
  electronDir: string;
441
+ /** Runtime environment ('dev' / 'prod' / 'test') */
145
442
  env: string;
443
+ /** Log and runtime data root directory (usually appUserData) */
146
444
  root: string;
147
445
  }
446
+ /**
447
+ * IPC message data structure
448
+ *
449
+ * Standardized message format for communication between main process and renderer process.
450
+ * Transmitted via socket.io or Electron IPC.
451
+ */
148
452
  export interface MessageData {
453
+ /** Communication channel identifier (e.g. 'controller/user/info') */
149
454
  channel: string;
455
+ /** Event name */
150
456
  event: string;
457
+ /** Message payload data */
151
458
  data: unknown;
152
459
  }
460
+ /**
461
+ * Process exit event data
462
+ *
463
+ * Process identification information carried when a child process or renderer process exits abnormally.
464
+ */
153
465
  export interface ProcessExitEventData {
466
+ /** PID of the exited process, undefined if unavailable */
154
467
  pid: number | undefined;
155
468
  }
469
+ /**
470
+ * Dev frontend config — mirrors ee-bin's DevFrontendConfig
471
+ *
472
+ * Used by ee-core to type the dev.frontend section loaded from cmd/bin.js.
473
+ */
474
+ export interface DevFrontendConfig {
475
+ /** Process working directory (relative to project root) */
476
+ directory: string;
477
+ /** Command to execute */
478
+ cmd: string;
479
+ /** Command argument array */
480
+ args: string[];
481
+ /** Frontend dev server protocol */
482
+ protocol: string;
483
+ /** Frontend dev server hostname */
484
+ hostname: string;
485
+ /** Frontend dev server port */
486
+ port: number;
487
+ /** Frontend index page filename */
488
+ indexPath: string;
489
+ /** Whether to force-refresh the page */
490
+ force: boolean;
491
+ /** Whether to execute synchronously */
492
+ sync: boolean;
493
+ }
494
+ /**
495
+ * Dev electron config — mirrors ee-bin's DevElectronConfig
496
+ *
497
+ * Used by ee-core to type the dev.electron section loaded from cmd/bin.js.
498
+ */
499
+ export interface DevElectronConfig {
500
+ /** Process working directory (relative to project root) */
501
+ directory: string;
502
+ /** Command to execute */
503
+ cmd: string;
504
+ /** Command argument array */
505
+ args: string[];
506
+ /** Electron loading page path */
507
+ loadingPage: string;
508
+ /** Whether to watch for file changes and auto-restart */
509
+ watch: boolean;
510
+ /** Whether to execute synchronously */
511
+ sync: boolean;
512
+ /** Debounce delay in watch mode (milliseconds) */
513
+ delay: number;
514
+ }
515
+ /**
516
+ * Dev mode config — mirrors ee-bin's DevConfig
517
+ *
518
+ * Used by ee-core to type the dev section loaded from cmd/bin.js.
519
+ */
520
+ export interface DevConfig {
521
+ frontend: DevFrontendConfig;
522
+ electron: DevElectronConfig;
523
+ }
156
524
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,46 @@
1
+ /**
2
+ * @module utils/extend
3
+ * @description Object deep merge utility. Provides extend() function supporting shallow merge
4
+ * and deep recursive merge, used for framework configuration layer merging
5
+ * (config.default -> config.local -> config.prod) and other object merging scenarios.
6
+ *
7
+ * Deep merge logic:
8
+ * - When deep=true and both target and source properties are plain objects, recursively merge instead of overwrite
9
+ * - Non-undefined source properties overwrite target properties (shallow merge or non-plain-object cases)
10
+ * - Automatically skips __proto__ property, preventing prototype chain pollution attacks
11
+ * - Automatically skips undefined values, will not set target properties to undefined
12
+ * - Detects self-references (target === val), preventing infinite recursion loops
13
+ */
1
14
  import type { ExtendOptions } from '../types/index.js';
2
- export declare function extend(deep: boolean | ExtendOptions, target: Record<string, unknown>, ...sources: Array<Record<string, unknown> | undefined | null>): Record<string, unknown>;
15
+ /**
16
+ * Merge object properties
17
+ *
18
+ * Merges properties from multiple source objects into the target object, supporting shallow and deep merge.
19
+ * This is the core implementation for framework configuration layer merging.
20
+ *
21
+ * Merge rules:
22
+ * - Shallow merge (deep=false): source properties directly overwrite target properties
23
+ * - Deep merge (deep=true): plain objects are recursively merged, non-plain-objects are directly overwritten
24
+ * - Skip __proto__ property, preventing prototype chain pollution
25
+ * - Skip undefined values, will not overwrite existing properties with undefined
26
+ * - Detect self-references (target === val), preventing infinite recursion
27
+ *
28
+ * @param deep - Whether to deep merge, can be a boolean or an object with a deep property
29
+ * @param target - Target object, merge result will be written to this object
30
+ * @param sources - One or more source objects, merged into target in order
31
+ * @returns Merged target object
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * // Shallow merge
36
+ * extend(false, { a: 1 }, { a: 2, b: 3 }); // { a: 2, b: 3 }
37
+ *
38
+ * // Deep merge
39
+ * extend(true, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
40
+ *
41
+ * // Using options object
42
+ * extend({ deep: true }, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
43
+ * ```
44
+ */
45
+ export declare function extend<T extends Record<string, unknown>>(deep: boolean | ExtendOptions, target: T, ...sources: Array<Partial<T> | Record<string, unknown> | undefined | null>): T;
3
46
  //# sourceMappingURL=extend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgCvD,wBAAgB,MAAM,CACpB,IAAI,EAAE,OAAO,GAAG,aAAa,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GAC5D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4BzB"}
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA+CvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,IAAI,EAAE,OAAO,GAAG,aAAa,EAC7B,MAAM,EAAE,CAAC,EACT,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GACzE,CAAC,CA+BH"}