@jayfong/x-server 2.119.0 → 3.1.1

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 (288) hide show
  1. package/lib/_virtual/_rolldown/runtime.mjs +4 -0
  2. package/lib/cli/api_generator.d.mts +75 -0
  3. package/lib/cli/api_generator.mjs +334 -0
  4. package/lib/cli/build_util.d.mts +15 -0
  5. package/lib/cli/build_util.mjs +101 -0
  6. package/lib/cli/cli.d.mts +1 -0
  7. package/lib/cli/cli.mjs +345 -0
  8. package/lib/cli/css_register.d.mts +1 -0
  9. package/lib/cli/css_register.mjs +7 -0
  10. package/lib/cli/deploy_util.d.mts +23 -0
  11. package/lib/cli/deploy_util.mjs +70 -0
  12. package/lib/cli/dev_util.d.mts +9 -0
  13. package/lib/cli/dev_util.mjs +25 -0
  14. package/lib/cli/env_util.d.mts +45 -0
  15. package/lib/cli/env_util.mjs +207 -0
  16. package/lib/cli/template_util.d.mts +18 -0
  17. package/lib/cli/template_util.mjs +85 -0
  18. package/lib/cli/templates/crons.ts +1 -1
  19. package/lib/cli/templates/handlers.ts +1 -1
  20. package/lib/cli/templates/hooks.ts +1 -1
  21. package/lib/cli/templates/models.ts +7 -7
  22. package/lib/cli/templates/package.json +11 -1
  23. package/lib/cli/templates/routes.ts +2 -2
  24. package/lib/core/ctx_storage.d.mts +3 -0
  25. package/lib/core/ctx_storage.mjs +4 -0
  26. package/lib/core/define_bus.d.mts +37 -0
  27. package/lib/core/define_bus.mjs +12 -0
  28. package/lib/core/{define_cron.d.ts → define_cron.d.mts} +2 -2
  29. package/lib/core/define_cron.mjs +11 -0
  30. package/lib/core/{define_handler.d.ts → define_handler.d.mts} +19 -19
  31. package/lib/core/define_handler.mjs +44 -0
  32. package/lib/core/define_hook.d.mts +2 -0
  33. package/lib/core/define_hook.mjs +6 -0
  34. package/lib/core/define_server.d.mts +3 -0
  35. package/lib/core/define_server.mjs +8 -0
  36. package/lib/core/{define_task.d.ts → define_task.d.mts} +2 -2
  37. package/lib/core/define_task.mjs +106 -0
  38. package/lib/core/get_handler_url.d.mts +2 -0
  39. package/lib/core/get_handler_url.mjs +7 -0
  40. package/lib/core/handler.d.mts +16 -0
  41. package/lib/core/handler.mjs +132 -0
  42. package/lib/core/http_error.d.mts +2 -0
  43. package/lib/core/http_error.mjs +1 -0
  44. package/lib/core/http_header.d.mts +856 -0
  45. package/lib/core/http_header.mjs +860 -0
  46. package/lib/core/http_method.d.mts +3 -0
  47. package/lib/core/http_method.mjs +10 -0
  48. package/lib/core/http_redirect.d.mts +5 -0
  49. package/lib/core/http_redirect.mjs +10 -0
  50. package/lib/core/server.d.mts +20 -0
  51. package/lib/core/server.mjs +186 -0
  52. package/lib/core/types.d.mts +256 -0
  53. package/lib/exports.d.mts +46 -0
  54. package/lib/exports.mjs +46 -0
  55. package/lib/index.d.mts +48 -0
  56. package/lib/index.mjs +45 -0
  57. package/lib/plugins/base.d.mts +4 -0
  58. package/lib/plugins/compress.d.mts +12 -0
  59. package/lib/plugins/compress.mjs +15 -0
  60. package/lib/plugins/cookie.d.mts +12 -0
  61. package/lib/plugins/cookie.mjs +15 -0
  62. package/lib/plugins/cors.d.mts +22 -0
  63. package/lib/plugins/cors.mjs +34 -0
  64. package/lib/plugins/file_parser.d.mts +15 -0
  65. package/lib/plugins/file_parser.mjs +24 -0
  66. package/lib/plugins/form_body_parser.d.mts +12 -0
  67. package/lib/plugins/form_body_parser.mjs +15 -0
  68. package/lib/plugins/ws_parser.d.mts +12 -0
  69. package/lib/plugins/ws_parser.mjs +15 -0
  70. package/lib/plugins/xml_parser.d.mts +19 -0
  71. package/lib/plugins/xml_parser.mjs +40 -0
  72. package/lib/services/ai.d.mts +31 -0
  73. package/lib/services/ai.mjs +44 -0
  74. package/lib/services/base.d.mts +4 -0
  75. package/lib/services/base.mjs +1 -0
  76. package/lib/services/cache.d.mts +165 -0
  77. package/lib/services/cache.mjs +323 -0
  78. package/lib/services/captcha.d.mts +65 -0
  79. package/lib/services/captcha.mjs +61 -0
  80. package/lib/services/{crypto.js → crypto.d.mts} +19 -78
  81. package/lib/services/crypto.mjs +141 -0
  82. package/lib/services/db_value.d.mts +60 -0
  83. package/lib/services/db_value.mjs +64 -0
  84. package/lib/services/dingtalk.d.mts +39 -0
  85. package/lib/services/dingtalk.mjs +44 -0
  86. package/lib/services/dispose.d.mts +17 -0
  87. package/lib/services/dispose.mjs +18 -0
  88. package/lib/services/emoji.d.mts +10 -0
  89. package/lib/services/emoji.mjs +2025 -0
  90. package/lib/services/file_store.d.mts +49 -0
  91. package/lib/services/file_store.mjs +58 -0
  92. package/lib/services/html.d.mts +11 -0
  93. package/lib/services/html.mjs +12 -0
  94. package/lib/services/jwt.d.mts +33 -0
  95. package/lib/services/jwt.mjs +42 -0
  96. package/lib/services/log.d.mts +37 -0
  97. package/lib/services/log.mjs +99 -0
  98. package/lib/services/mail.d.mts +22 -0
  99. package/lib/services/mail.mjs +28 -0
  100. package/lib/services/pay.d.mts +123 -0
  101. package/lib/services/pay.mjs +157 -0
  102. package/lib/services/random.d.mts +27 -0
  103. package/lib/services/random.mjs +42 -0
  104. package/lib/services/rate_limit.d.mts +37 -0
  105. package/lib/services/rate_limit.mjs +40 -0
  106. package/lib/services/redis.d.mts +11 -0
  107. package/lib/services/redis.mjs +6 -0
  108. package/lib/services/sensitive_words.d.mts +29 -0
  109. package/lib/services/sensitive_words.mjs +37 -0
  110. package/lib/services/sms.d.mts +40 -0
  111. package/lib/services/sms.mjs +30238 -0
  112. package/lib/types/dto.d.mts +30 -0
  113. package/lib/types/dto.mjs +1 -0
  114. package/lib/x.d.mts +11 -0
  115. package/lib/x.mjs +21 -0
  116. package/lib/x_init.d.mts +1 -0
  117. package/lib/x_init.mjs +10 -0
  118. package/package.json +82 -32
  119. package/lib/_cjs/cli/api_generator.js +0 -458
  120. package/lib/_cjs/cli/build_util.js +0 -243
  121. package/lib/_cjs/cli/cli.js +0 -378
  122. package/lib/_cjs/cli/css_register.js +0 -7
  123. package/lib/_cjs/cli/deploy_util.js +0 -76
  124. package/lib/_cjs/cli/dev_util.js +0 -26
  125. package/lib/_cjs/cli/env_util.js +0 -252
  126. package/lib/_cjs/cli/esbuild_register.js +0 -7
  127. package/lib/_cjs/cli/template_util.js +0 -101
  128. package/lib/_cjs/cli/templates/crons.ts +0 -2
  129. package/lib/_cjs/cli/templates/handlers.ts +0 -3
  130. package/lib/_cjs/cli/templates/hooks.ts +0 -2
  131. package/lib/_cjs/cli/templates/models.ts +0 -123
  132. package/lib/_cjs/cli/templates/package.json +0 -3
  133. package/lib/_cjs/cli/templates/routes.ts +0 -68
  134. package/lib/_cjs/core/ctx_storage.js +0 -6
  135. package/lib/_cjs/core/define_bus.js +0 -31
  136. package/lib/_cjs/core/define_cron.js +0 -13
  137. package/lib/_cjs/core/define_handler.js +0 -56
  138. package/lib/_cjs/core/define_hook.js +0 -8
  139. package/lib/_cjs/core/define_server.js +0 -10
  140. package/lib/_cjs/core/define_task.js +0 -113
  141. package/lib/_cjs/core/get_handler_url.js +0 -11
  142. package/lib/_cjs/core/handler.js +0 -216
  143. package/lib/_cjs/core/http_error.js +0 -6
  144. package/lib/_cjs/core/http_header.js +0 -142
  145. package/lib/_cjs/core/http_method.js +0 -12
  146. package/lib/_cjs/core/http_redirect.js +0 -11
  147. package/lib/_cjs/core/server.js +0 -219
  148. package/lib/_cjs/core/types.js +0 -8
  149. package/lib/_cjs/exports.js +0 -273
  150. package/lib/_cjs/index.js +0 -15
  151. package/lib/_cjs/plugins/base.js +0 -3
  152. package/lib/_cjs/plugins/compress.js +0 -18
  153. package/lib/_cjs/plugins/cookie.js +0 -18
  154. package/lib/_cjs/plugins/cors.js +0 -38
  155. package/lib/_cjs/plugins/file_parser.js +0 -28
  156. package/lib/_cjs/plugins/form_body_parser.js +0 -18
  157. package/lib/_cjs/plugins/ws_parser.js +0 -18
  158. package/lib/_cjs/plugins/xml_parser.js +0 -48
  159. package/lib/_cjs/services/ai.js +0 -48
  160. package/lib/_cjs/services/base.js +0 -3
  161. package/lib/_cjs/services/cache.js +0 -400
  162. package/lib/_cjs/services/captcha.js +0 -78
  163. package/lib/_cjs/services/crypto.js +0 -175
  164. package/lib/_cjs/services/db_value.js +0 -77
  165. package/lib/_cjs/services/dingtalk.js +0 -51
  166. package/lib/_cjs/services/dispose.js +0 -23
  167. package/lib/_cjs/services/emoji.js +0 -2034
  168. package/lib/_cjs/services/file_store.js +0 -67
  169. package/lib/_cjs/services/html.js +0 -17
  170. package/lib/_cjs/services/jwt.js +0 -65
  171. package/lib/_cjs/services/log.js +0 -108
  172. package/lib/_cjs/services/mail.js +0 -31
  173. package/lib/_cjs/services/pay.js +0 -191
  174. package/lib/_cjs/services/random.js +0 -51
  175. package/lib/_cjs/services/rate_limit.js +0 -54
  176. package/lib/_cjs/services/redis.js +0 -12
  177. package/lib/_cjs/services/sensitive_words.js +0 -61
  178. package/lib/_cjs/services/sms.js +0 -84
  179. package/lib/_cjs/types/dto.js +0 -3
  180. package/lib/_cjs/x.js +0 -35
  181. package/lib/cli/api_generator.d.ts +0 -74
  182. package/lib/cli/api_generator.js +0 -452
  183. package/lib/cli/build_util.d.ts +0 -17
  184. package/lib/cli/build_util.js +0 -236
  185. package/lib/cli/cli.d.ts +0 -2
  186. package/lib/cli/cli.js +0 -374
  187. package/lib/cli/css_register.js +0 -5
  188. package/lib/cli/deploy_util.d.ts +0 -23
  189. package/lib/cli/deploy_util.js +0 -70
  190. package/lib/cli/dev_util.d.ts +0 -8
  191. package/lib/cli/dev_util.js +0 -20
  192. package/lib/cli/env_util.d.ts +0 -45
  193. package/lib/cli/env_util.js +0 -246
  194. package/lib/cli/esbuild_register.js +0 -5
  195. package/lib/cli/template_util.d.ts +0 -18
  196. package/lib/cli/template_util.js +0 -95
  197. package/lib/core/ctx_storage.d.ts +0 -3
  198. package/lib/core/ctx_storage.js +0 -2
  199. package/lib/core/define_bus.d.ts +0 -37
  200. package/lib/core/define_bus.js +0 -27
  201. package/lib/core/define_cron.js +0 -9
  202. package/lib/core/define_handler.js +0 -48
  203. package/lib/core/define_hook.d.ts +0 -2
  204. package/lib/core/define_hook.js +0 -4
  205. package/lib/core/define_server.d.ts +0 -3
  206. package/lib/core/define_server.js +0 -6
  207. package/lib/core/define_task.js +0 -107
  208. package/lib/core/get_handler_url.d.ts +0 -2
  209. package/lib/core/get_handler_url.js +0 -7
  210. package/lib/core/handler.d.ts +0 -16
  211. package/lib/core/handler.js +0 -209
  212. package/lib/core/http_error.d.ts +0 -2
  213. package/lib/core/http_error.js +0 -2
  214. package/lib/core/http_header.d.ts +0 -856
  215. package/lib/core/http_header.js +0 -139
  216. package/lib/core/http_method.d.ts +0 -3
  217. package/lib/core/http_method.js +0 -8
  218. package/lib/core/http_redirect.d.ts +0 -5
  219. package/lib/core/http_redirect.js +0 -6
  220. package/lib/core/server.d.ts +0 -20
  221. package/lib/core/server.js +0 -213
  222. package/lib/core/types.d.ts +0 -265
  223. package/lib/core/types.js +0 -4
  224. package/lib/exports.d.ts +0 -45
  225. package/lib/exports.js +0 -47
  226. package/lib/index.d.ts +0 -2
  227. package/lib/index.js +0 -3
  228. package/lib/plugins/base.d.ts +0 -4
  229. package/lib/plugins/base.js +0 -1
  230. package/lib/plugins/compress.d.ts +0 -13
  231. package/lib/plugins/compress.js +0 -12
  232. package/lib/plugins/cookie.d.ts +0 -13
  233. package/lib/plugins/cookie.js +0 -12
  234. package/lib/plugins/cors.d.ts +0 -22
  235. package/lib/plugins/cors.js +0 -32
  236. package/lib/plugins/file_parser.d.ts +0 -16
  237. package/lib/plugins/file_parser.js +0 -22
  238. package/lib/plugins/form_body_parser.d.ts +0 -13
  239. package/lib/plugins/form_body_parser.js +0 -12
  240. package/lib/plugins/ws_parser.d.ts +0 -13
  241. package/lib/plugins/ws_parser.js +0 -12
  242. package/lib/plugins/xml_parser.d.ts +0 -19
  243. package/lib/plugins/xml_parser.js +0 -43
  244. package/lib/services/ai.d.ts +0 -31
  245. package/lib/services/ai.js +0 -43
  246. package/lib/services/base.d.ts +0 -4
  247. package/lib/services/base.js +0 -1
  248. package/lib/services/cache.d.ts +0 -173
  249. package/lib/services/cache.js +0 -394
  250. package/lib/services/captcha.d.ts +0 -65
  251. package/lib/services/captcha.js +0 -72
  252. package/lib/services/crypto.d.ts +0 -110
  253. package/lib/services/db_value.d.ts +0 -60
  254. package/lib/services/db_value.js +0 -72
  255. package/lib/services/dingtalk.d.ts +0 -39
  256. package/lib/services/dingtalk.js +0 -45
  257. package/lib/services/dispose.d.ts +0 -17
  258. package/lib/services/dispose.js +0 -17
  259. package/lib/services/emoji.d.ts +0 -10
  260. package/lib/services/emoji.js +0 -2029
  261. package/lib/services/file_store.d.ts +0 -49
  262. package/lib/services/file_store.js +0 -61
  263. package/lib/services/html.d.ts +0 -11
  264. package/lib/services/html.js +0 -12
  265. package/lib/services/jwt.d.ts +0 -34
  266. package/lib/services/jwt.js +0 -59
  267. package/lib/services/log.d.ts +0 -37
  268. package/lib/services/log.js +0 -102
  269. package/lib/services/mail.d.ts +0 -23
  270. package/lib/services/mail.js +0 -25
  271. package/lib/services/pay.d.ts +0 -123
  272. package/lib/services/pay.js +0 -185
  273. package/lib/services/random.d.ts +0 -27
  274. package/lib/services/random.js +0 -45
  275. package/lib/services/rate_limit.d.ts +0 -37
  276. package/lib/services/rate_limit.js +0 -49
  277. package/lib/services/redis.d.ts +0 -12
  278. package/lib/services/redis.js +0 -7
  279. package/lib/services/sensitive_words.d.ts +0 -29
  280. package/lib/services/sensitive_words.js +0 -56
  281. package/lib/services/sms.d.ts +0 -40
  282. package/lib/services/sms.js +0 -78
  283. package/lib/types/dto.d.ts +0 -86
  284. package/lib/types/dto.js +0 -1
  285. package/lib/x.d.ts +0 -17
  286. package/lib/x.js +0 -30
  287. /package/lib/{cli/css_register.d.ts → core/types.mjs} +0 -0
  288. /package/lib/{cli/esbuild_register.d.ts → plugins/base.mjs} +0 -0
@@ -0,0 +1,30 @@
1
+ import { Merge, OmitStrict, PartialBy, RequiredBy, RequiredDeep, Simplify } from "vtils/types";
2
+ /** 选中的必填,同时能将部分选填,并能覆盖 */
3
+ export type MakeDtoRequired<TRawData extends Record<any, any>, TPickKey extends keyof TRawData = never, TPartialKey extends [TPickKey] extends [never] ? keyof TRawData : TPickKey = never, TOverride extends { [K in [TPickKey] extends [never] ? keyof TRawData : TPickKey]?: any; } = never> = Simplify<Merge<PartialBy<Pick<RequiredDeep<TRawData>, [TPickKey] extends [never] ? keyof TRawData : TPickKey>, TPartialKey>, [TOverride] extends [never] ? {} : TOverride>>;
4
+ /** 没排除的必填,同时能将部分选填,并能覆盖 */
5
+ export type MakeDtoRequiredByExclude<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData = never, TPartialKey extends Exclude<keyof TRawData, TExcludeKey> = never, TOverride extends { [K in Exclude<keyof TRawData, TExcludeKey>]?: any; } = never> = Simplify<Merge<PartialBy<Omit<RequiredDeep<TRawData>, [TExcludeKey] extends [never] ? never : TExcludeKey>, TPartialKey>, [TOverride] extends [never] ? {} : TOverride>>;
6
+ /** 选中的选填,同时能将部分必填,并能覆盖 */
7
+ export type MakeDtoPartial<TRawData extends Record<any, any>, TPickKey extends keyof TRawData = never, TRequiredKey extends [TPickKey] extends [never] ? keyof TRawData : TPickKey = never, TOverride extends { [K in [TPickKey] extends [never] ? keyof TRawData : TPickKey]?: any; } = never> = Simplify<Merge<RequiredBy<Pick<Partial<TRawData>, [TPickKey] extends [never] ? keyof TRawData : TPickKey>, TRequiredKey>, [TOverride] extends [never] ? {} : TOverride>>;
8
+ /** 没排除的选填,同时能将部分必填,并能覆盖 */
9
+ export type MakeDtoPartialByExclude<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData = never, TRequiredKey extends Exclude<keyof TRawData, TExcludeKey> = never, TOverride extends { [K in Exclude<keyof TRawData, TExcludeKey>]?: any; } = never> = Simplify<Merge<RequiredBy<Omit<Partial<TRawData>, [TExcludeKey] extends [never] ? never : TExcludeKey>, TRequiredKey>, [TOverride] extends [never] ? {} : TOverride>>;
10
+ /** 排除选中的,并能覆盖 */
11
+ export type MakeDtoExclude<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData, TOverride extends { [K in Exclude<keyof TRawData, TExcludeKey>]?: any; } = never> = Simplify<Merge<OmitStrict<TRawData, TExcludeKey>, [TOverride] extends [never] ? {} : TOverride>>;
12
+ /** 排除选中的,同时能将部分必填,并能覆盖 */
13
+ export type MakeDtoExcludeWithRequired<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData, TRequiredKey extends Exclude<keyof TRawData, TExcludeKey> = never, TOverride extends { [K in Exclude<keyof TRawData, TExcludeKey>]?: any; } = never> = Simplify<Merge<RequiredBy<OmitStrict<TRawData, TExcludeKey>, TRequiredKey>, [TOverride] extends [never] ? {} : TOverride>>;
14
+ /** 排除选中的,同时能将部分选填,并能覆盖 */
15
+ export type MakeDtoExcludeWithPartial<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData, TPartialKey extends Exclude<keyof TRawData, TExcludeKey> = never, TOverride extends { [K in Exclude<keyof TRawData, TExcludeKey>]?: any; } = never> = Simplify<Merge<PartialBy<OmitStrict<TRawData, TExcludeKey>, TPartialKey>, [TOverride] extends [never] ? {} : TOverride>>;
16
+ /** 排除选中的,同时能将部分必填然后选填,并能覆盖 */
17
+ export type MakeDtoExcludeWithRequiredAndPartial<TRawData extends Record<any, any>, TExcludeKey extends keyof TRawData, TRequiredKey extends Exclude<keyof TRawData, TExcludeKey> = never, TPartialKey extends Exclude<Exclude<keyof TRawData, TExcludeKey>, TRequiredKey> = never, TOverride extends { [K in Exclude<keyof TRawData, TExcludeKey>]?: any; } = never> = Simplify<Merge<PartialBy<RequiredBy<OmitStrict<TRawData, TExcludeKey>, TRequiredKey>, TPartialKey>, [TOverride] extends [never] ? {} : TOverride>>;
18
+ /** 包含选中的,并能覆盖 */
19
+ export type MakeDtoInclude<TRawData extends Record<any, any>, TIncludeKey extends keyof TRawData, TOverride extends { [K in TIncludeKey]?: any; } = never> = Simplify<Merge<Pick<TRawData, TIncludeKey>, [TOverride] extends [never] ? {} : TOverride>>;
20
+ /** 包含选中的,同时能部分必填,并能覆盖 */
21
+ export type MakeDtoIncludeWithRequired<TRawData extends Record<any, any>, TIncludeKey extends keyof TRawData, TRequiredKey extends TIncludeKey = never, TOverride extends { [K in TIncludeKey]?: any; } = never> = Simplify<Merge<RequiredBy<Pick<TRawData, TIncludeKey>, TRequiredKey>, [TOverride] extends [never] ? {} : TOverride>>;
22
+ /** 包含选中的,同时能部分选填,并能覆盖 */
23
+ export type MakeDtoIncludeWithPartial<TRawData extends Record<any, any>, TIncludeKey extends keyof TRawData, TPartialKey extends TIncludeKey = never, TOverride extends { [K in TIncludeKey]?: any; } = never> = Simplify<Merge<PartialBy<Pick<TRawData, TIncludeKey>, TPartialKey>, [TOverride] extends [never] ? {} : TOverride>>;
24
+ /** 包含选中的,同时能部分必填然后选填,并能覆盖 */
25
+ export type MakeDtoIncludeWithRequiredAndPartial<TRawData extends Record<any, any>, TIncludeKey extends keyof TRawData, TRequiredKey extends TIncludeKey = never, TPartialKey extends Exclude<TIncludeKey, TRequiredKey> = never, TOverride extends { [K in TIncludeKey]?: any; } = never> = Simplify<Merge<PartialBy<RequiredBy<Pick<TRawData, TIncludeKey>, TRequiredKey>, TPartialKey>, [TOverride] extends [never] ? {} : TOverride>>;
26
+ /** 添加分页参数 */
27
+ export type MakeDtoWithPagination<TRawData extends Record<any, any>> = TRawData & {
28
+ pageNumber: number;
29
+ pageSize: number;
30
+ };
@@ -0,0 +1 @@
1
+ export {};
package/lib/x.d.mts ADDED
@@ -0,0 +1,11 @@
1
+ import { XHandler } from "./core/types.mjs";
2
+ import { BaseService } from "./services/base.mjs";
3
+ import "./services/dispose.mjs";
4
+ export interface X {
5
+ readonly appId: string;
6
+ readonly env: NodeJS.ProcessEnv;
7
+ readonly dataDir: string;
8
+ readonly ctx: XHandler.Context;
9
+ readonly register: (...services: BaseService[]) => void;
10
+ }
11
+ export declare const x: X;
package/lib/x.mjs ADDED
@@ -0,0 +1,21 @@
1
+ import { ctxStorage } from "./core/ctx_storage.mjs";
2
+ import { DisposeService } from "./services/dispose.mjs";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import fs from "fs-extra";
6
+ // src/x.ts
7
+ const env = JSON.parse(process.env.X_SERVER_ENVS || "{}");
8
+ const x = {
9
+ appId: env.APP_ID,
10
+ env,
11
+ dataDir: path.join(os.homedir(), `.xs/${env.APP_ID}`),
12
+ get ctx() {
13
+ return ctxStorage.getStore();
14
+ },
15
+ register: (...services) => {
16
+ for (const service of services) x[service.serviceName] = service;
17
+ }
18
+ };
19
+ fs.ensureDirSync(x.dataDir);
20
+ x.register(new DisposeService({ disposeOnExit: true }));
21
+ export { x };
@@ -0,0 +1 @@
1
+ export {}
package/lib/x_init.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { CryptoService } from "./services/crypto.mjs";
2
+ import { DbValueService } from "./services/db_value.mjs";
3
+ import { EmojiService } from "./services/emoji.mjs";
4
+ import { HtmlService } from "./services/html.mjs";
5
+ import { LogService } from "./services/log.mjs";
6
+ import { RandomService } from "./services/random.mjs";
7
+ import { x } from "./x.mjs";
8
+ // src/x_init.ts
9
+ x.register(new LogService(), new EmojiService(), new DbValueService(), new CryptoService(), new HtmlService(), new RandomService());
10
+ export {};
package/package.json CHANGED
@@ -1,13 +1,11 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "2.119.0",
3
+ "version": "3.1.1",
4
4
  "license": "ISC",
5
- "sideEffects": false,
6
- "main": "lib/_cjs/index.js",
7
- "module": "lib/index.js",
8
- "types": "lib/index.d.ts",
5
+ "sideEffects": true,
6
+ "type": "module",
9
7
  "bin": {
10
- "xs": "lib/_cjs/cli/cli.js"
8
+ "xs": "./lib/cli/cli.mjs"
11
9
  },
12
10
  "files": [
13
11
  "lib"
@@ -21,45 +19,44 @@
21
19
  "@fastify/formbody": "^9.0.1",
22
20
  "@fastify/multipart": "^10.1.8",
23
21
  "@fastify/websocket": "^11.3.7",
24
- "@jayfong/x-request": "2.119.0",
22
+ "@jayfong/x-request": "^3.1.1",
25
23
  "@paralleldrive/cuid2": "^3.3.0",
26
24
  "@prisma/adapter-mariadb": "^7.10.1",
27
25
  "@prisma/client": "^7.10.1",
28
26
  "@types/busboy": "^0.3.2",
29
27
  "@types/http-errors": "^2.0.5",
28
+ "@types/json-schema": "^7.0.11",
30
29
  "@types/jsonwebtoken": "^8.5.8",
31
30
  "@types/nodemailer": "^6.4.4",
32
31
  "@types/ws": "^8.18.2",
33
- "alipay-sdk": "^3.2.0",
34
- "bufferutil": "^4.0.6",
32
+ "alipay-sdk": "^4.14.0",
35
33
  "bull": "^4.16.5",
36
- "chokidar": "^3.5.3",
34
+ "chokidar": "^6.0.0",
37
35
  "comment-parser": "^1.3.1",
38
36
  "compressing": "^1.5.1",
39
37
  "cron": "^4.4.0",
40
38
  "cuid": "^2.1.8",
41
39
  "debug": "^4.3.4",
42
40
  "esbuild": "^0.28.2",
43
- "esbuild-register": "^3.6.0",
44
- "execa": "^5.1.1",
45
- "exit-hook": "^2.2.1",
41
+ "execa": "^10.2.1",
42
+ "exit-hook": "^5.1.0",
46
43
  "fast-escape-html": "^1.1.0",
47
44
  "fast-xml-parser": "^5.12.0",
48
45
  "fastify": "^5.12.8",
49
- "fs-extra": "^10.0.1",
50
- "globby": "^11",
51
- "got": "^11.8.2",
46
+ "fs-extra": "^11.4.1",
47
+ "globby": "^16.2.4",
52
48
  "http-errors": "^2.0.1",
53
- "inquirer": "^12.5.0",
49
+ "inquirer": "^14.3.0",
54
50
  "inquirer-autocomplete-standalone": "^0.8.1",
55
- "ioredis": "^5.3.2",
56
- "jsonwebtoken": "^8.5.1",
57
- "lru-cache": "^10.0.0",
51
+ "ioredis": "^6.0.0",
52
+ "jsonwebtoken": "^9.0.3",
53
+ "lru-cache": "^11.5.3",
58
54
  "lz-string": "^1.4.4",
59
55
  "mime": "^4.1.2",
60
56
  "mini-svg-data-uri": "^1.4.4",
61
- "node-ssh": "^13.1.0",
62
- "nodemailer": "^6.7.3",
57
+ "node-ssh": "^13.2.1",
58
+ "nodemailer": "^10.5.0",
59
+ "openapi-types": "^12.1.3",
63
60
  "pino-pretty": "^13.2.0",
64
61
  "pinyin-pro": "^3.26.0",
65
62
  "pirates": "^4.0.6",
@@ -70,19 +67,17 @@
70
67
  "supports-color": "^8",
71
68
  "svg-captcha": "^1.4.0",
72
69
  "tencentcloud-sdk-nodejs-sms": "^4.0.681",
73
- "ts-morph": "^27.0.2",
70
+ "ts-morph": "^28.0.0",
74
71
  "tsx": "^4.23.15",
75
72
  "unplugin-macros": "^0.16.0",
76
- "utf-8-validate": "^5.0.9",
77
73
  "vscode-generate-index-standalone": "^1.7.1",
78
74
  "vtils": "^4.138.0",
79
75
  "yaml": "^2.9.1",
80
- "yargs": "^17.4.1"
76
+ "yargs": "^18.2.0"
81
77
  },
82
78
  "devDependencies": {
83
79
  "@types/debug": "^4.1.7",
84
80
  "@types/fs-extra": "^9.0.13",
85
- "@types/json-schema": "^7.0.11",
86
81
  "@types/lz-string": "^1.3.34",
87
82
  "@types/randomstring": "^1.3.0",
88
83
  "@types/yargs": "^17.0.35",
@@ -90,17 +85,72 @@
90
85
  "ioredis-mock": "^8.7.0",
91
86
  "json-xml-parse": "^1.2.4",
92
87
  "node-fetch": "^3.3.1",
93
- "npm-check-updates": "^12.5.9",
94
- "openapi-types": "^12.1.3"
88
+ "npm-check-updates": "^12.5.9"
95
89
  },
96
90
  "publishConfig": {
97
91
  "access": "public"
98
92
  },
93
+ "exports": {
94
+ ".": "./lib/index.mjs",
95
+ "./cli/api_generator": "./lib/cli/api_generator.mjs",
96
+ "./cli/build_util": "./lib/cli/build_util.mjs",
97
+ "./cli/cli": "./lib/cli/cli.mjs",
98
+ "./cli/css_register": "./lib/cli/css_register.mjs",
99
+ "./cli/deploy_util": "./lib/cli/deploy_util.mjs",
100
+ "./cli/dev_util": "./lib/cli/dev_util.mjs",
101
+ "./cli/env_util": "./lib/cli/env_util.mjs",
102
+ "./cli/template_util": "./lib/cli/template_util.mjs",
103
+ "./core/ctx_storage": "./lib/core/ctx_storage.mjs",
104
+ "./core/define_bus": "./lib/core/define_bus.mjs",
105
+ "./core/define_cron": "./lib/core/define_cron.mjs",
106
+ "./core/define_handler": "./lib/core/define_handler.mjs",
107
+ "./core/define_hook": "./lib/core/define_hook.mjs",
108
+ "./core/define_server": "./lib/core/define_server.mjs",
109
+ "./core/define_task": "./lib/core/define_task.mjs",
110
+ "./core/get_handler_url": "./lib/core/get_handler_url.mjs",
111
+ "./core/handler": "./lib/core/handler.mjs",
112
+ "./core/http_error": "./lib/core/http_error.mjs",
113
+ "./core/http_header": "./lib/core/http_header.mjs",
114
+ "./core/http_method": "./lib/core/http_method.mjs",
115
+ "./core/http_redirect": "./lib/core/http_redirect.mjs",
116
+ "./core/server": "./lib/core/server.mjs",
117
+ "./core/types": "./lib/core/types.mjs",
118
+ "./exports": "./lib/exports.mjs",
119
+ "./plugins/base": "./lib/plugins/base.mjs",
120
+ "./plugins/compress": "./lib/plugins/compress.mjs",
121
+ "./plugins/cookie": "./lib/plugins/cookie.mjs",
122
+ "./plugins/cors": "./lib/plugins/cors.mjs",
123
+ "./plugins/file_parser": "./lib/plugins/file_parser.mjs",
124
+ "./plugins/form_body_parser": "./lib/plugins/form_body_parser.mjs",
125
+ "./plugins/ws_parser": "./lib/plugins/ws_parser.mjs",
126
+ "./plugins/xml_parser": "./lib/plugins/xml_parser.mjs",
127
+ "./services/ai": "./lib/services/ai.mjs",
128
+ "./services/base": "./lib/services/base.mjs",
129
+ "./services/cache": "./lib/services/cache.mjs",
130
+ "./services/captcha": "./lib/services/captcha.mjs",
131
+ "./services/crypto": "./lib/services/crypto.mjs",
132
+ "./services/db_value": "./lib/services/db_value.mjs",
133
+ "./services/dingtalk": "./lib/services/dingtalk.mjs",
134
+ "./services/dispose": "./lib/services/dispose.mjs",
135
+ "./services/emoji": "./lib/services/emoji.mjs",
136
+ "./services/file_store": "./lib/services/file_store.mjs",
137
+ "./services/html": "./lib/services/html.mjs",
138
+ "./services/jwt": "./lib/services/jwt.mjs",
139
+ "./services/log": "./lib/services/log.mjs",
140
+ "./services/mail": "./lib/services/mail.mjs",
141
+ "./services/pay": "./lib/services/pay.mjs",
142
+ "./services/random": "./lib/services/random.mjs",
143
+ "./services/rate_limit": "./lib/services/rate_limit.mjs",
144
+ "./services/redis": "./lib/services/redis.mjs",
145
+ "./services/sensitive_words": "./lib/services/sensitive_words.mjs",
146
+ "./services/sms": "./lib/services/sms.mjs",
147
+ "./types/dto": "./lib/types/dto.mjs",
148
+ "./x": "./lib/x.mjs",
149
+ "./x_init": "./lib/x_init.mjs",
150
+ "./package.json": "./package.json"
151
+ },
99
152
  "scripts": {
100
- "build": "mv ./node_modules/.x ./node_modules/.x2 || true && haoma compile && mv ./node_modules/.x2 ./node_modules/.x || true",
101
- "build_test_pkg": "tyn build && rm -rf ./lib_test && mkdir -p ./lib_test && cp -r ./lib ./lib_test/lib && cp ./package.json ./lib_test/package.json && cd ./tests/app && tyn add file:../../lib_test",
102
- "test": "tsc --noEmit -p ./tsconfig.build.json && jest \"$(pwd)/src/\"",
103
- "test_all": "tsc --noEmit -p ./tsconfig.build.json && jest",
153
+ "build": "mv ./node_modules/@a ./node_modules/@a2 || true && tsdown && mv ./node_modules/@a2 ./node_modules/@a || true",
104
154
  "test_api_bot": "cd /Users/admin/Documents/jfWorks/qiqi-bot && DEBUG=api tsx /Users/admin/Documents/jfWorks/x/packages/x-server/src/cli/cli.ts api",
105
155
  "test_api_qiqi": "cd /Users/admin/Documents/jfWorks/qiqi-server && DEBUG=api tsx /Users/admin/Documents/jfWorks/x/packages/x-server/src/cli/cli.ts api",
106
156
  "up_prisma": "tpm dlx npm-check-updates '/.*prisma.*/' -i --target semver",