@jayfong/x-server 2.118.1 → 3.0.0

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 (290) hide show
  1. package/lib/_virtual/_rolldown/runtime.mjs +4 -0
  2. package/lib/cli/api_generator.d.mts +74 -0
  3. package/lib/cli/api_generator.mjs +310 -0
  4. package/lib/cli/build_util.d.mts +17 -0
  5. package/lib/cli/build_util.mjs +156 -0
  6. package/lib/cli/cli.d.mts +1 -0
  7. package/lib/cli/cli.mjs +355 -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 +7 -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/esbuild_register.d.mts +1 -0
  17. package/lib/cli/esbuild_register.mjs +7 -0
  18. package/lib/cli/template_util.d.mts +18 -0
  19. package/lib/cli/template_util.mjs +85 -0
  20. package/lib/cli/templates/crons.ts +1 -1
  21. package/lib/cli/templates/handlers.ts +1 -1
  22. package/lib/cli/templates/hooks.ts +1 -1
  23. package/lib/cli/templates/models.ts +7 -7
  24. package/lib/cli/templates/package.json +11 -1
  25. package/lib/cli/templates/routes.ts +2 -1
  26. package/lib/core/ctx_storage.d.mts +3 -0
  27. package/lib/core/ctx_storage.mjs +4 -0
  28. package/lib/core/define_bus.d.mts +37 -0
  29. package/lib/core/define_bus.mjs +12 -0
  30. package/lib/core/{define_cron.d.ts → define_cron.d.mts} +2 -2
  31. package/lib/core/define_cron.mjs +11 -0
  32. package/lib/core/{define_handler.d.ts → define_handler.d.mts} +19 -19
  33. package/lib/core/define_handler.mjs +44 -0
  34. package/lib/core/define_hook.d.mts +2 -0
  35. package/lib/core/define_hook.mjs +6 -0
  36. package/lib/core/define_server.d.mts +3 -0
  37. package/lib/core/define_server.mjs +8 -0
  38. package/lib/core/{define_task.d.ts → define_task.d.mts} +2 -2
  39. package/lib/core/define_task.mjs +102 -0
  40. package/lib/core/get_handler_url.d.mts +2 -0
  41. package/lib/core/get_handler_url.mjs +7 -0
  42. package/lib/core/handler.d.mts +16 -0
  43. package/lib/core/handler.mjs +132 -0
  44. package/lib/core/http_error.d.mts +2 -0
  45. package/lib/core/http_error.mjs +1 -0
  46. package/lib/core/http_header.d.mts +856 -0
  47. package/lib/core/http_header.mjs +860 -0
  48. package/lib/core/http_method.d.mts +3 -0
  49. package/lib/core/http_method.mjs +10 -0
  50. package/lib/core/http_redirect.d.mts +5 -0
  51. package/lib/core/http_redirect.mjs +10 -0
  52. package/lib/core/server.d.mts +20 -0
  53. package/lib/core/server.mjs +186 -0
  54. package/lib/core/types.d.mts +256 -0
  55. package/lib/exports.d.mts +46 -0
  56. package/lib/exports.mjs +46 -0
  57. package/lib/index.d.mts +48 -0
  58. package/lib/index.mjs +45 -0
  59. package/lib/plugins/base.d.mts +4 -0
  60. package/lib/plugins/compress.d.mts +12 -0
  61. package/lib/plugins/compress.mjs +15 -0
  62. package/lib/plugins/cookie.d.mts +12 -0
  63. package/lib/plugins/cookie.mjs +15 -0
  64. package/lib/plugins/cors.d.mts +22 -0
  65. package/lib/plugins/cors.mjs +34 -0
  66. package/lib/plugins/file_parser.d.mts +15 -0
  67. package/lib/plugins/file_parser.mjs +24 -0
  68. package/lib/plugins/form_body_parser.d.mts +12 -0
  69. package/lib/plugins/form_body_parser.mjs +15 -0
  70. package/lib/plugins/ws_parser.d.mts +12 -0
  71. package/lib/plugins/ws_parser.mjs +15 -0
  72. package/lib/plugins/xml_parser.d.mts +19 -0
  73. package/lib/plugins/xml_parser.mjs +40 -0
  74. package/lib/services/ai.d.mts +31 -0
  75. package/lib/services/ai.mjs +44 -0
  76. package/lib/services/base.d.mts +4 -0
  77. package/lib/services/base.mjs +1 -0
  78. package/lib/services/cache.d.mts +165 -0
  79. package/lib/services/cache.mjs +323 -0
  80. package/lib/services/captcha.d.mts +65 -0
  81. package/lib/services/captcha.mjs +61 -0
  82. package/lib/services/{crypto.js → crypto.d.mts} +19 -78
  83. package/lib/services/crypto.mjs +141 -0
  84. package/lib/services/db_value.d.mts +60 -0
  85. package/lib/services/db_value.mjs +64 -0
  86. package/lib/services/dingtalk.d.mts +39 -0
  87. package/lib/services/dingtalk.mjs +44 -0
  88. package/lib/services/dispose.d.mts +17 -0
  89. package/lib/services/dispose.mjs +18 -0
  90. package/lib/services/emoji.d.mts +10 -0
  91. package/lib/services/emoji.mjs +2025 -0
  92. package/lib/services/file_store.d.mts +49 -0
  93. package/lib/services/file_store.mjs +58 -0
  94. package/lib/services/html.d.mts +11 -0
  95. package/lib/services/html.mjs +12 -0
  96. package/lib/services/jwt.d.mts +33 -0
  97. package/lib/services/jwt.mjs +42 -0
  98. package/lib/services/log.d.mts +37 -0
  99. package/lib/services/log.mjs +99 -0
  100. package/lib/services/mail.d.mts +22 -0
  101. package/lib/services/mail.mjs +28 -0
  102. package/lib/services/pay.d.mts +123 -0
  103. package/lib/services/pay.mjs +157 -0
  104. package/lib/services/random.d.mts +27 -0
  105. package/lib/services/random.mjs +42 -0
  106. package/lib/services/rate_limit.d.mts +37 -0
  107. package/lib/services/rate_limit.mjs +40 -0
  108. package/lib/services/redis.d.mts +11 -0
  109. package/lib/services/redis.mjs +6 -0
  110. package/lib/services/sensitive_words.d.mts +29 -0
  111. package/lib/services/sensitive_words.mjs +37 -0
  112. package/lib/services/sms.d.mts +40 -0
  113. package/lib/services/sms.mjs +30238 -0
  114. package/lib/types/dto.d.mts +30 -0
  115. package/lib/types/dto.mjs +1 -0
  116. package/lib/x.d.mts +11 -0
  117. package/lib/x.mjs +21 -0
  118. package/lib/x_init.d.mts +1 -0
  119. package/lib/x_init.mjs +10 -0
  120. package/package.json +99 -43
  121. package/lib/_cjs/cli/api_generator.js +0 -438
  122. package/lib/_cjs/cli/build_util.js +0 -243
  123. package/lib/_cjs/cli/cli.js +0 -378
  124. package/lib/_cjs/cli/css_register.js +0 -7
  125. package/lib/_cjs/cli/deploy_util.js +0 -76
  126. package/lib/_cjs/cli/dev_util.js +0 -25
  127. package/lib/_cjs/cli/env_util.js +0 -252
  128. package/lib/_cjs/cli/esbuild_register.js +0 -7
  129. package/lib/_cjs/cli/template_util.js +0 -101
  130. package/lib/_cjs/cli/templates/crons.ts +0 -2
  131. package/lib/_cjs/cli/templates/handlers.ts +0 -3
  132. package/lib/_cjs/cli/templates/hooks.ts +0 -2
  133. package/lib/_cjs/cli/templates/models.ts +0 -123
  134. package/lib/_cjs/cli/templates/package.json +0 -3
  135. package/lib/_cjs/cli/templates/routes.ts +0 -68
  136. package/lib/_cjs/core/ctx_storage.js +0 -6
  137. package/lib/_cjs/core/define_bus.js +0 -31
  138. package/lib/_cjs/core/define_cron.js +0 -13
  139. package/lib/_cjs/core/define_handler.js +0 -56
  140. package/lib/_cjs/core/define_hook.js +0 -8
  141. package/lib/_cjs/core/define_server.js +0 -10
  142. package/lib/_cjs/core/define_task.js +0 -113
  143. package/lib/_cjs/core/get_handler_url.js +0 -11
  144. package/lib/_cjs/core/handler.js +0 -216
  145. package/lib/_cjs/core/http_error.js +0 -6
  146. package/lib/_cjs/core/http_header.js +0 -142
  147. package/lib/_cjs/core/http_method.js +0 -12
  148. package/lib/_cjs/core/http_redirect.js +0 -11
  149. package/lib/_cjs/core/server.js +0 -221
  150. package/lib/_cjs/core/types.js +0 -8
  151. package/lib/_cjs/exports.js +0 -273
  152. package/lib/_cjs/index.js +0 -15
  153. package/lib/_cjs/plugins/base.js +0 -3
  154. package/lib/_cjs/plugins/compress.js +0 -18
  155. package/lib/_cjs/plugins/cookie.js +0 -18
  156. package/lib/_cjs/plugins/cors.js +0 -38
  157. package/lib/_cjs/plugins/file_parser.js +0 -28
  158. package/lib/_cjs/plugins/form_body_parser.js +0 -18
  159. package/lib/_cjs/plugins/ws_parser.js +0 -18
  160. package/lib/_cjs/plugins/xml_parser.js +0 -48
  161. package/lib/_cjs/services/ai.js +0 -48
  162. package/lib/_cjs/services/base.js +0 -3
  163. package/lib/_cjs/services/cache.js +0 -400
  164. package/lib/_cjs/services/captcha.js +0 -78
  165. package/lib/_cjs/services/crypto.js +0 -175
  166. package/lib/_cjs/services/db_value.js +0 -77
  167. package/lib/_cjs/services/dingtalk.js +0 -51
  168. package/lib/_cjs/services/dispose.js +0 -23
  169. package/lib/_cjs/services/emoji.js +0 -2034
  170. package/lib/_cjs/services/file_store.js +0 -67
  171. package/lib/_cjs/services/html.js +0 -17
  172. package/lib/_cjs/services/jwt.js +0 -65
  173. package/lib/_cjs/services/log.js +0 -108
  174. package/lib/_cjs/services/mail.js +0 -31
  175. package/lib/_cjs/services/pay.js +0 -191
  176. package/lib/_cjs/services/random.js +0 -51
  177. package/lib/_cjs/services/rate_limit.js +0 -54
  178. package/lib/_cjs/services/redis.js +0 -12
  179. package/lib/_cjs/services/sensitive_words.js +0 -62
  180. package/lib/_cjs/services/sms.js +0 -84
  181. package/lib/_cjs/types/dto.js +0 -3
  182. package/lib/_cjs/x.js +0 -35
  183. package/lib/cli/api_generator.d.ts +0 -74
  184. package/lib/cli/api_generator.js +0 -432
  185. package/lib/cli/build_util.d.ts +0 -17
  186. package/lib/cli/build_util.js +0 -236
  187. package/lib/cli/cli.d.ts +0 -2
  188. package/lib/cli/cli.js +0 -374
  189. package/lib/cli/css_register.js +0 -5
  190. package/lib/cli/deploy_util.d.ts +0 -23
  191. package/lib/cli/deploy_util.js +0 -70
  192. package/lib/cli/dev_util.d.ts +0 -8
  193. package/lib/cli/dev_util.js +0 -19
  194. package/lib/cli/env_util.d.ts +0 -45
  195. package/lib/cli/env_util.js +0 -246
  196. package/lib/cli/esbuild_register.js +0 -5
  197. package/lib/cli/template_util.d.ts +0 -18
  198. package/lib/cli/template_util.js +0 -95
  199. package/lib/core/ctx_storage.d.ts +0 -3
  200. package/lib/core/ctx_storage.js +0 -2
  201. package/lib/core/define_bus.d.ts +0 -37
  202. package/lib/core/define_bus.js +0 -27
  203. package/lib/core/define_cron.js +0 -9
  204. package/lib/core/define_handler.js +0 -48
  205. package/lib/core/define_hook.d.ts +0 -2
  206. package/lib/core/define_hook.js +0 -4
  207. package/lib/core/define_server.d.ts +0 -3
  208. package/lib/core/define_server.js +0 -6
  209. package/lib/core/define_task.js +0 -107
  210. package/lib/core/get_handler_url.d.ts +0 -2
  211. package/lib/core/get_handler_url.js +0 -7
  212. package/lib/core/handler.d.ts +0 -16
  213. package/lib/core/handler.js +0 -209
  214. package/lib/core/http_error.d.ts +0 -2
  215. package/lib/core/http_error.js +0 -2
  216. package/lib/core/http_header.d.ts +0 -856
  217. package/lib/core/http_header.js +0 -139
  218. package/lib/core/http_method.d.ts +0 -3
  219. package/lib/core/http_method.js +0 -8
  220. package/lib/core/http_redirect.d.ts +0 -5
  221. package/lib/core/http_redirect.js +0 -6
  222. package/lib/core/server.d.ts +0 -20
  223. package/lib/core/server.js +0 -215
  224. package/lib/core/types.d.ts +0 -265
  225. package/lib/core/types.js +0 -4
  226. package/lib/exports.d.ts +0 -45
  227. package/lib/exports.js +0 -47
  228. package/lib/index.d.ts +0 -2
  229. package/lib/index.js +0 -3
  230. package/lib/plugins/base.d.ts +0 -4
  231. package/lib/plugins/base.js +0 -1
  232. package/lib/plugins/compress.d.ts +0 -13
  233. package/lib/plugins/compress.js +0 -12
  234. package/lib/plugins/cookie.d.ts +0 -13
  235. package/lib/plugins/cookie.js +0 -12
  236. package/lib/plugins/cors.d.ts +0 -22
  237. package/lib/plugins/cors.js +0 -33
  238. package/lib/plugins/file_parser.d.ts +0 -16
  239. package/lib/plugins/file_parser.js +0 -22
  240. package/lib/plugins/form_body_parser.d.ts +0 -13
  241. package/lib/plugins/form_body_parser.js +0 -12
  242. package/lib/plugins/ws_parser.d.ts +0 -13
  243. package/lib/plugins/ws_parser.js +0 -12
  244. package/lib/plugins/xml_parser.d.ts +0 -19
  245. package/lib/plugins/xml_parser.js +0 -43
  246. package/lib/services/ai.d.ts +0 -31
  247. package/lib/services/ai.js +0 -43
  248. package/lib/services/base.d.ts +0 -4
  249. package/lib/services/base.js +0 -1
  250. package/lib/services/cache.d.ts +0 -173
  251. package/lib/services/cache.js +0 -394
  252. package/lib/services/captcha.d.ts +0 -65
  253. package/lib/services/captcha.js +0 -72
  254. package/lib/services/crypto.d.ts +0 -110
  255. package/lib/services/db_value.d.ts +0 -60
  256. package/lib/services/db_value.js +0 -72
  257. package/lib/services/dingtalk.d.ts +0 -39
  258. package/lib/services/dingtalk.js +0 -45
  259. package/lib/services/dispose.d.ts +0 -17
  260. package/lib/services/dispose.js +0 -17
  261. package/lib/services/emoji.d.ts +0 -10
  262. package/lib/services/emoji.js +0 -2029
  263. package/lib/services/file_store.d.ts +0 -49
  264. package/lib/services/file_store.js +0 -61
  265. package/lib/services/html.d.ts +0 -11
  266. package/lib/services/html.js +0 -12
  267. package/lib/services/jwt.d.ts +0 -34
  268. package/lib/services/jwt.js +0 -59
  269. package/lib/services/log.d.ts +0 -37
  270. package/lib/services/log.js +0 -102
  271. package/lib/services/mail.d.ts +0 -23
  272. package/lib/services/mail.js +0 -25
  273. package/lib/services/pay.d.ts +0 -123
  274. package/lib/services/pay.js +0 -185
  275. package/lib/services/random.d.ts +0 -27
  276. package/lib/services/random.js +0 -45
  277. package/lib/services/rate_limit.d.ts +0 -37
  278. package/lib/services/rate_limit.js +0 -49
  279. package/lib/services/redis.d.ts +0 -12
  280. package/lib/services/redis.js +0 -7
  281. package/lib/services/sensitive_words.d.ts +0 -30
  282. package/lib/services/sensitive_words.js +0 -57
  283. package/lib/services/sms.d.ts +0 -40
  284. package/lib/services/sms.js +0 -78
  285. package/lib/types/dto.d.ts +0 -86
  286. package/lib/types/dto.js +0 -1
  287. package/lib/x.d.ts +0 -17
  288. package/lib/x.js +0 -30
  289. /package/lib/{cli/css_register.d.ts → core/types.mjs} +0 -0
  290. /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,75 +1,64 @@
1
1
  {
2
2
  "name": "@jayfong/x-server",
3
- "version": "2.118.1",
3
+ "version": "3.0.0",
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"
14
12
  ],
15
- "scripts": {
16
- "build": "haoma compile",
17
- "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",
18
- "test": "tsc --noEmit -p ./tsconfig.build.json && jest \"$(pwd)/src/\"",
19
- "test_all": "tsc --noEmit -p ./tsconfig.build.json && jest",
20
- "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",
21
- "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",
22
- "up_prisma": "tpm dlx npm-check-updates '/.*prisma.*/' -i --target semver"
23
- },
24
13
  "dependencies": {
25
- "@jayfong/x-request": "^2.118.1",
26
- "@aws-sdk/client-s3": "^3.1079.0",
27
- "@aws-sdk/s3-request-presigner": "^3.1079.0",
28
- "@fastify/compress": "^7.0.3",
29
- "@fastify/cookie": "^9.4.0",
30
- "@fastify/cors": "^8.3.0",
31
- "@fastify/formbody": "^7.4.0",
32
- "@fastify/multipart": "^7.7.0",
33
- "@fastify/websocket": "^8.1.0",
34
- "@paralleldrive/cuid2": "^3.0.4",
14
+ "@aws-sdk/client-s3": "^3.1166.0",
15
+ "@aws-sdk/s3-request-presigner": "^3.1166.0",
16
+ "@fastify/compress": "^9.3.0",
17
+ "@fastify/cookie": "^11.1.5",
18
+ "@fastify/cors": "^11.4.1",
19
+ "@fastify/formbody": "^9.0.1",
20
+ "@fastify/multipart": "^10.1.8",
21
+ "@fastify/websocket": "^11.3.7",
22
+ "@jayfong/x-request": "^3.0.0",
23
+ "@paralleldrive/cuid2": "^3.3.0",
35
24
  "@prisma/adapter-mariadb": "^7.10.1",
36
25
  "@prisma/client": "^7.10.1",
37
26
  "@types/busboy": "^0.3.2",
38
- "@types/http-errors": "^1.8.2",
27
+ "@types/http-errors": "^2.0.5",
39
28
  "@types/jsonwebtoken": "^8.5.8",
40
29
  "@types/nodemailer": "^6.4.4",
41
- "@types/ws": "^8.5.5",
42
- "alipay-sdk": "^3.2.0",
30
+ "@types/ws": "^8.18.2",
31
+ "alipay-sdk": "^4.14.0",
43
32
  "bufferutil": "^4.0.6",
44
- "bull": "^4.10.4",
33
+ "bull": "^4.16.5",
45
34
  "chokidar": "^3.5.3",
46
35
  "comment-parser": "^1.3.1",
47
36
  "compressing": "^1.5.1",
48
- "cron": "^3.1.6",
37
+ "cron": "^4.4.0",
49
38
  "cuid": "^2.1.8",
50
39
  "debug": "^4.3.4",
51
- "esbuild": "^0.25.5",
40
+ "esbuild": "^0.28.2",
52
41
  "esbuild-register": "^3.6.0",
53
42
  "execa": "^5.1.1",
54
43
  "exit-hook": "^2.2.1",
55
44
  "fast-escape-html": "^1.1.0",
56
- "fast-xml-parser": "^4.2.5",
57
- "fastify": "^4.19.2",
45
+ "fast-xml-parser": "^5.12.0",
46
+ "fastify": "^5.12.8",
58
47
  "fs-extra": "^10.0.1",
59
48
  "globby": "^11",
60
49
  "got": "^11.8.2",
61
- "http-errors": "^2.0.0",
50
+ "http-errors": "^2.0.1",
62
51
  "inquirer": "^12.5.0",
63
52
  "inquirer-autocomplete-standalone": "^0.8.1",
64
53
  "ioredis": "^5.3.2",
65
54
  "jsonwebtoken": "^8.5.1",
66
55
  "lru-cache": "^10.0.0",
67
56
  "lz-string": "^1.4.4",
68
- "mime": "^4.1.0",
57
+ "mime": "^4.1.2",
69
58
  "mini-svg-data-uri": "^1.4.4",
70
59
  "node-ssh": "^13.1.0",
71
60
  "nodemailer": "^6.7.3",
72
- "pino-pretty": "^10.0.1",
61
+ "pino-pretty": "^13.2.0",
73
62
  "pinyin-pro": "^3.26.0",
74
63
  "pirates": "^4.0.6",
75
64
  "prisma": "^7.10.1",
@@ -80,18 +69,19 @@
80
69
  "svg-captcha": "^1.4.0",
81
70
  "tencentcloud-sdk-nodejs-sms": "^4.0.681",
82
71
  "ts-morph": "^27.0.2",
83
- "tsx": "^4.21.0",
72
+ "tsx": "^4.23.15",
84
73
  "unplugin-macros": "^0.16.0",
85
74
  "utf-8-validate": "^5.0.9",
86
75
  "vscode-generate-index-standalone": "^1.7.1",
87
76
  "vtils": "^4.138.0",
88
- "yaml": "^2.3.1",
89
- "yargs": "^17.4.1"
77
+ "yaml": "^2.9.1",
78
+ "yargs": "^18.2.0",
79
+ "@types/json-schema": "^7.0.11",
80
+ "openapi-types": "^12.1.3"
90
81
  },
91
82
  "devDependencies": {
92
83
  "@types/debug": "^4.1.7",
93
84
  "@types/fs-extra": "^9.0.13",
94
- "@types/json-schema": "^7.0.11",
95
85
  "@types/lz-string": "^1.3.34",
96
86
  "@types/randomstring": "^1.3.0",
97
87
  "@types/yargs": "^17.0.35",
@@ -99,10 +89,76 @@
99
89
  "ioredis-mock": "^8.7.0",
100
90
  "json-xml-parse": "^1.2.4",
101
91
  "node-fetch": "^3.3.1",
102
- "npm-check-updates": "^12.5.9",
103
- "openapi-types": "^12.1.3"
92
+ "npm-check-updates": "^12.5.9"
104
93
  },
105
94
  "publishConfig": {
106
95
  "access": "public"
96
+ },
97
+ "exports": {
98
+ ".": "./lib/index.mjs",
99
+ "./cli/api_generator": "./lib/cli/api_generator.mjs",
100
+ "./cli/build_util": "./lib/cli/build_util.mjs",
101
+ "./cli/cli": "./lib/cli/cli.mjs",
102
+ "./cli/css_register": "./lib/cli/css_register.mjs",
103
+ "./cli/deploy_util": "./lib/cli/deploy_util.mjs",
104
+ "./cli/dev_util": "./lib/cli/dev_util.mjs",
105
+ "./cli/env_util": "./lib/cli/env_util.mjs",
106
+ "./cli/esbuild_register": "./lib/cli/esbuild_register.mjs",
107
+ "./cli/template_util": "./lib/cli/template_util.mjs",
108
+ "./core/ctx_storage": "./lib/core/ctx_storage.mjs",
109
+ "./core/define_bus": "./lib/core/define_bus.mjs",
110
+ "./core/define_cron": "./lib/core/define_cron.mjs",
111
+ "./core/define_handler": "./lib/core/define_handler.mjs",
112
+ "./core/define_hook": "./lib/core/define_hook.mjs",
113
+ "./core/define_server": "./lib/core/define_server.mjs",
114
+ "./core/define_task": "./lib/core/define_task.mjs",
115
+ "./core/get_handler_url": "./lib/core/get_handler_url.mjs",
116
+ "./core/handler": "./lib/core/handler.mjs",
117
+ "./core/http_error": "./lib/core/http_error.mjs",
118
+ "./core/http_header": "./lib/core/http_header.mjs",
119
+ "./core/http_method": "./lib/core/http_method.mjs",
120
+ "./core/http_redirect": "./lib/core/http_redirect.mjs",
121
+ "./core/server": "./lib/core/server.mjs",
122
+ "./core/types": "./lib/core/types.mjs",
123
+ "./exports": "./lib/exports.mjs",
124
+ "./plugins/base": "./lib/plugins/base.mjs",
125
+ "./plugins/compress": "./lib/plugins/compress.mjs",
126
+ "./plugins/cookie": "./lib/plugins/cookie.mjs",
127
+ "./plugins/cors": "./lib/plugins/cors.mjs",
128
+ "./plugins/file_parser": "./lib/plugins/file_parser.mjs",
129
+ "./plugins/form_body_parser": "./lib/plugins/form_body_parser.mjs",
130
+ "./plugins/ws_parser": "./lib/plugins/ws_parser.mjs",
131
+ "./plugins/xml_parser": "./lib/plugins/xml_parser.mjs",
132
+ "./services/ai": "./lib/services/ai.mjs",
133
+ "./services/base": "./lib/services/base.mjs",
134
+ "./services/cache": "./lib/services/cache.mjs",
135
+ "./services/captcha": "./lib/services/captcha.mjs",
136
+ "./services/crypto": "./lib/services/crypto.mjs",
137
+ "./services/db_value": "./lib/services/db_value.mjs",
138
+ "./services/dingtalk": "./lib/services/dingtalk.mjs",
139
+ "./services/dispose": "./lib/services/dispose.mjs",
140
+ "./services/emoji": "./lib/services/emoji.mjs",
141
+ "./services/file_store": "./lib/services/file_store.mjs",
142
+ "./services/html": "./lib/services/html.mjs",
143
+ "./services/jwt": "./lib/services/jwt.mjs",
144
+ "./services/log": "./lib/services/log.mjs",
145
+ "./services/mail": "./lib/services/mail.mjs",
146
+ "./services/pay": "./lib/services/pay.mjs",
147
+ "./services/random": "./lib/services/random.mjs",
148
+ "./services/rate_limit": "./lib/services/rate_limit.mjs",
149
+ "./services/redis": "./lib/services/redis.mjs",
150
+ "./services/sensitive_words": "./lib/services/sensitive_words.mjs",
151
+ "./services/sms": "./lib/services/sms.mjs",
152
+ "./types/dto": "./lib/types/dto.mjs",
153
+ "./x": "./lib/x.mjs",
154
+ "./x_init": "./lib/x_init.mjs",
155
+ "./package.json": "./package.json"
156
+ },
157
+ "scripts": {
158
+ "build": "mv ./node_modules/@a ./node_modules/@a2 || true && tsdown && mv ./node_modules/@a2 ./node_modules/@a || true",
159
+ "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",
160
+ "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",
161
+ "up_prisma": "tpm dlx npm-check-updates '/.*prisma.*/' -i --target semver",
162
+ "up_fastify": "tpm dlx npm-check-updates '/.*fastify.*/' -i --target latest"
107
163
  }
108
- }
164
+ }