commandkit 1.2.0-rc.13 → 1.2.0-rc.15

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 (350) hide show
  1. package/README.md +42 -23
  2. package/dist/{ActionRow-B-CGmjDp.d.ts → ActionRow-Bt9qi0Mb.d.ts} +2 -2
  3. package/dist/{Button-C-GPeFA3.d.ts → Button-DxJLcZIU.d.ts} +5 -5
  4. package/dist/{ButtonKit-DKu0VAe4.d.ts → ButtonKit-BfcyvWfj.d.ts} +35 -35
  5. package/dist/{ChannelSelectMenuKit-HQZ4hH5s.d.ts → ChannelSelectMenuKit-DYkudikb.d.ts} +33 -33
  6. package/dist/{CommandsRouter-C7dZEepB.d.ts → CommandsRouter-DiNoF0dq.d.ts} +48 -48
  7. package/dist/{EventInterceptor-CZmWpS08.d.ts → EventInterceptor-D9JKMcfi.d.ts} +39 -39
  8. package/dist/{EventsRouter-DZ37r54v.d.ts → EventsRouter-EuuSu6NH.d.ts} +34 -34
  9. package/dist/{MentionableSelectMenuKit-7URDUM3-.d.ts → MentionableSelectMenuKit-Mu4xqP6B.d.ts} +33 -33
  10. package/dist/MessageCommandParser-DPCbHXCS.d.ts +194 -0
  11. package/dist/{Modal-CZT9MZsy.d.ts → Modal-v9rrcMl-.d.ts} +7 -7
  12. package/dist/{ModalKit-BWXI3Z26.d.ts → ModalKit-XJSM65SV.d.ts} +32 -32
  13. package/dist/{RoleSelectMenuKit-BY-JJ18w.d.ts → RoleSelectMenuKit-CCjcp3HY.d.ts} +33 -33
  14. package/dist/{SelectMenu-q_b3Mjv9.d.ts → SelectMenu-CY0vvoSu.d.ts} +15 -11
  15. package/dist/{StringSelectMenuKit-lVhUMc3g.d.ts → StringSelectMenuKit-G5nBTicX.d.ts} +33 -33
  16. package/dist/{UserSelectMenuKit-CCj4Fpkr.d.ts → UserSelectMenuKit-D3SO_fXA.d.ts} +33 -33
  17. package/dist/analytics/analytics-engine.d.ts +1 -1
  18. package/dist/analytics/analytics-engine.js +2 -24
  19. package/dist/analytics/analytics-provider.d.ts +1 -1
  20. package/dist/analytics/analytics-provider.js +1 -0
  21. package/dist/analytics/constants.js +26 -3
  22. package/dist/analytics/constants.js.map +1 -0
  23. package/dist/analytics/utils.js +2 -24
  24. package/dist/{analytics-engine-WQhXmx3H.d.ts → analytics-engine-DnRsHBId.d.ts} +846 -841
  25. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  26. package/dist/app/commands/AppCommandRunner.js +2 -24
  27. package/dist/app/commands/Context.d.ts +1 -1
  28. package/dist/app/commands/Context.js +2 -24
  29. package/dist/app/commands/MessageCommandParser.d.ts +1 -1
  30. package/dist/app/commands/MessageCommandParser.js +261 -3
  31. package/dist/app/commands/MessageCommandParser.js.map +1 -0
  32. package/dist/app/commands/helpers.d.ts +1 -1
  33. package/dist/app/commands/helpers.js +25 -3
  34. package/dist/app/commands/helpers.js.map +1 -0
  35. package/dist/app/events/EventWorkerContext.d.ts +2 -2
  36. package/dist/app/events/EventWorkerContext.js +48 -5
  37. package/dist/app/events/EventWorkerContext.js.map +1 -0
  38. package/dist/app/handlers/AppCommandHandler.d.ts +1 -1
  39. package/dist/app/handlers/AppCommandHandler.js +2 -24
  40. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  41. package/dist/app/handlers/AppEventsHandler.js +2 -24
  42. package/dist/app/index.d.ts +4 -4
  43. package/dist/app/index.js +13 -32
  44. package/dist/app/interrupt/signals.d.ts +1 -1
  45. package/dist/app/interrupt/signals.js +54 -6
  46. package/dist/app/interrupt/signals.js.map +1 -0
  47. package/dist/app/middlewares/permissions.d.ts +1 -1
  48. package/dist/app/middlewares/permissions.js +2 -24
  49. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  50. package/dist/app/register/CommandRegistrar.js +2 -24
  51. package/dist/app/router/CommandsRouter.d.ts +1 -1
  52. package/dist/app/router/CommandsRouter.js +210 -2
  53. package/dist/app/router/CommandsRouter.js.map +1 -0
  54. package/dist/app/router/EventsRouter.d.ts +1 -1
  55. package/dist/app/router/EventsRouter.js +128 -2
  56. package/dist/app/router/EventsRouter.js.map +1 -0
  57. package/dist/app/router/index.d.ts +2 -2
  58. package/dist/app/router/index.js +5 -5
  59. package/dist/{chunk-kSYXY2_d.js → chunk-BE-pF4vm.js} +1 -1
  60. package/dist/cli/app-process.d.ts +2 -2
  61. package/dist/cli/app-process.js +6 -8
  62. package/dist/cli/app-process.js.map +1 -1
  63. package/dist/cli/build.d.ts +2 -2
  64. package/dist/cli/build.js +15 -35
  65. package/dist/cli/build.js.map +1 -1
  66. package/dist/cli/common.d.ts +5 -5
  67. package/dist/cli/common.js +182 -12
  68. package/dist/cli/common.js.map +1 -0
  69. package/dist/cli/development.d.ts +3 -3
  70. package/dist/cli/development.js +38 -59
  71. package/dist/cli/development.js.map +1 -1
  72. package/dist/cli/env.js +73 -9
  73. package/dist/cli/env.js.map +1 -0
  74. package/dist/cli/generators.js +10 -10
  75. package/dist/cli/generators.js.map +1 -1
  76. package/dist/cli/information.js +8 -7
  77. package/dist/cli/information.js.map +1 -1
  78. package/dist/cli/init.d.ts +2 -2
  79. package/dist/cli/init.js +14 -33
  80. package/dist/cli/init.js.map +1 -1
  81. package/dist/cli/production.d.ts +2 -2
  82. package/dist/cli/production.js +11 -33
  83. package/dist/cli/production.js.map +1 -1
  84. package/dist/cli/type-checker.js +83 -6
  85. package/dist/cli/type-checker.js.map +1 -0
  86. package/dist/cli/utils.js +1 -0
  87. package/dist/cli/utils.js.map +1 -1
  88. package/dist/{commandkit-SIjTLD2R.js → commandkit--k6yDJEr.js} +3157 -2699
  89. package/dist/commandkit--k6yDJEr.js.map +1 -0
  90. package/dist/commandkit.d.ts +1 -1
  91. package/dist/commandkit.js +2 -24
  92. package/dist/{common-DnwCYit8.d.ts → common-CCvvgnxi.d.ts} +2 -2
  93. package/dist/components/common/EventInterceptor.d.ts +1 -1
  94. package/dist/components/common/EventInterceptor.js +137 -2
  95. package/dist/components/common/EventInterceptor.js.map +1 -0
  96. package/dist/components/common/element.d.ts +2 -2
  97. package/dist/components/common/element.js +10 -8
  98. package/dist/components/common/types.d.ts +1 -1
  99. package/dist/components/common/types.js +1 -0
  100. package/dist/components/display/common.js +3 -2
  101. package/dist/components/display/container.d.ts +1 -1
  102. package/dist/components/display/container.js +3 -2
  103. package/dist/components/display/file.d.ts +1 -1
  104. package/dist/components/display/file.js +23 -2
  105. package/dist/components/display/file.js.map +1 -0
  106. package/dist/components/display/index.d.ts +8 -8
  107. package/dist/components/display/index.js +18 -21
  108. package/dist/components/display/label.d.ts +1 -1
  109. package/dist/components/display/label.js +3 -2
  110. package/dist/components/display/media-gallery.d.ts +1 -1
  111. package/dist/components/display/media-gallery.js +4 -3
  112. package/dist/components/display/poll.d.ts +1 -1
  113. package/dist/components/display/poll.js +85 -4
  114. package/dist/{poll-CFe8yvoJ.js.map → components/display/poll.js.map} +1 -1
  115. package/dist/components/display/section.d.ts +1 -1
  116. package/dist/components/display/section.js +4 -3
  117. package/dist/components/display/separator.d.ts +1 -1
  118. package/dist/components/display/separator.js +21 -2
  119. package/dist/components/display/separator.js.map +1 -0
  120. package/dist/components/display/text-display.d.ts +1 -1
  121. package/dist/components/display/text-display.js +26 -2
  122. package/dist/components/display/text-display.js.map +1 -0
  123. package/dist/components/index.d.ts +23 -23
  124. package/dist/components/index.js +28 -45
  125. package/dist/components/interactive/action-row/ActionRow.d.ts +1 -1
  126. package/dist/components/interactive/action-row/ActionRow.js +20 -2
  127. package/dist/{ActionRow-CSN_UKmM.js.map → components/interactive/action-row/ActionRow.js.map} +1 -1
  128. package/dist/components/interactive/button/Button.d.ts +1 -1
  129. package/dist/components/interactive/button/Button.js +2 -24
  130. package/dist/components/interactive/button/ButtonKit.d.ts +1 -1
  131. package/dist/components/interactive/button/ButtonKit.js +2 -24
  132. package/dist/components/interactive/modal/Modal.d.ts +1 -1
  133. package/dist/components/interactive/modal/Modal.js +2 -24
  134. package/dist/components/interactive/modal/ModalKit.d.ts +1 -1
  135. package/dist/components/interactive/modal/ModalKit.js +2 -24
  136. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.d.ts +1 -1
  137. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.js +2 -24
  138. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.d.ts +1 -1
  139. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.js +2 -24
  140. package/dist/components/interactive/select-menu/RoleSelectMenuKit.d.ts +1 -1
  141. package/dist/components/interactive/select-menu/RoleSelectMenuKit.js +2 -24
  142. package/dist/components/interactive/select-menu/SelectMenu.d.ts +1 -1
  143. package/dist/components/interactive/select-menu/SelectMenu.js +2 -24
  144. package/dist/components/interactive/select-menu/StringSelectMenuKit.d.ts +1 -1
  145. package/dist/components/interactive/select-menu/StringSelectMenuKit.js +2 -24
  146. package/dist/components/interactive/select-menu/UserSelectMenuKit.d.ts +1 -1
  147. package/dist/components/interactive/select-menu/UserSelectMenuKit.js +2 -24
  148. package/dist/components/interactive/select-menu/common.d.ts +1 -1
  149. package/dist/components/interactive/select-menu/common.js +1 -0
  150. package/dist/config/config.d.ts +1 -1
  151. package/dist/config/config.js +2 -24
  152. package/dist/config/default.d.ts +1 -1
  153. package/dist/config/default.js +2 -24
  154. package/dist/config/loader.d.ts +1 -1
  155. package/dist/config/loader.js +2 -24
  156. package/dist/config/types.d.ts +1 -1
  157. package/dist/config/types.js +1 -0
  158. package/dist/config/utils.d.ts +1 -1
  159. package/dist/config/utils.js +29 -2
  160. package/dist/config/utils.js.map +1 -0
  161. package/dist/{constants-EpKcj0dH.d.ts → constants-DqtJY0t-.d.ts} +2 -2
  162. package/dist/{constants-CuYW0K10.d.ts → constants-DwxpkIeH.d.ts} +7 -7
  163. package/dist/{container-DYcb7zGw.d.ts → container-CYojOA9d.d.ts} +1 -1
  164. package/dist/context/async-context.d.ts +1 -1
  165. package/dist/context/async-context.js +2 -24
  166. package/dist/context/environment.d.ts +1 -1
  167. package/dist/context/environment.js +2 -24
  168. package/dist/{element-wQo0heGj.d.ts → element-DeLvTMfZ.d.ts} +5 -4
  169. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  170. package/dist/events/CommandKitEventsChannel.js +83 -2
  171. package/dist/events/CommandKitEventsChannel.js.map +1 -0
  172. package/dist/{file-CrV4lSnl.d.ts → file-DLO1zEcH.d.ts} +1 -1
  173. package/dist/flags/FlagProvider.d.ts +1 -1
  174. package/dist/flags/FlagProvider.js +1 -0
  175. package/dist/flags/FlagProvider.js.map +1 -1
  176. package/dist/flags/feature-flags.d.ts +1 -1
  177. package/dist/flags/feature-flags.js +5 -165
  178. package/dist/flags/store.d.ts +1 -1
  179. package/dist/flags/store.js +13 -2
  180. package/dist/flags/store.js.map +1 -0
  181. package/dist/{helpers-AQPLVY35.d.ts → helpers-zmC44Mcu.d.ts} +1 -1
  182. package/dist/index.d.ts +31 -31
  183. package/dist/index.js +78 -97
  184. package/dist/kv/constants.d.ts +1 -1
  185. package/dist/kv/constants.js +22 -2
  186. package/dist/kv/constants.js.map +1 -0
  187. package/dist/kv/dotprops.js +1 -0
  188. package/dist/kv/dotprops.js.map +1 -1
  189. package/dist/kv/kv.d.ts +288 -288
  190. package/dist/kv/kv.js +2 -1
  191. package/dist/kv/kv.js.map +1 -1
  192. package/dist/kv/serde.d.ts +1 -1
  193. package/dist/kv/serde.js +29 -28
  194. package/dist/kv/serde.js.map +1 -1
  195. package/dist/{label-37kaNWMH.d.ts → label-DqGRqodo.d.ts} +3 -3
  196. package/dist/logger/DefaultLogger.d.ts +19 -19
  197. package/dist/logger/DefaultLogger.js +2 -24
  198. package/dist/logger/ILogger.d.ts +35 -35
  199. package/dist/logger/ILogger.js +1 -0
  200. package/dist/logger/Logger.d.ts +5 -5
  201. package/dist/logger/Logger.js +2 -24
  202. package/dist/logger/NoopLogger.d.ts +35 -35
  203. package/dist/logger/NoopLogger.js +1 -0
  204. package/dist/logger/NoopLogger.js.map +1 -1
  205. package/dist/{media-gallery-Ci3I4ElH.d.ts → media-gallery-Ca8es-eB.d.ts} +1 -1
  206. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  207. package/dist/plugins/CompilerPlugin.js +33 -3
  208. package/dist/plugins/CompilerPlugin.js.map +1 -0
  209. package/dist/plugins/PluginCommon.d.ts +1 -1
  210. package/dist/plugins/PluginCommon.js +55 -4
  211. package/dist/plugins/PluginCommon.js.map +1 -0
  212. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  213. package/dist/plugins/RuntimePlugin.js +124 -3
  214. package/dist/plugins/RuntimePlugin.js.map +1 -0
  215. package/dist/plugins/index.d.ts +1 -1
  216. package/dist/plugins/index.js +8 -30
  217. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  218. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +2 -24
  219. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  220. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +2 -24
  221. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  222. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +2 -24
  223. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -1
  224. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +2 -24
  225. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  226. package/dist/plugins/plugin-runtime/runtime.js +1 -0
  227. package/dist/plugins/types.d.ts +1 -1
  228. package/dist/plugins/types.js +1 -0
  229. package/dist/{poll-Ddtapd6n.d.ts → poll-DQ6DX_Tt.d.ts} +8 -8
  230. package/dist/{section-DkUKULnB.d.ts → section-Q8nwx_-q.d.ts} +1 -1
  231. package/dist/{separator-CbXsIFCa.d.ts → separator-B8P-kdIK.d.ts} +1 -1
  232. package/dist/{signals-BbTgTc0i.d.ts → signals-CBXwugBW.d.ts} +1 -1
  233. package/dist/{text-display-D7j39VC-.d.ts → text-display-CL9C2yMc.d.ts} +1 -1
  234. package/dist/{types-BywA9d2Z.d.ts → types-DZy7U-Ld.d.ts} +1 -1
  235. package/dist/types.d.ts +1 -1
  236. package/dist/types.js +1 -0
  237. package/dist/utils/colors.js +9 -3
  238. package/dist/utils/colors.js.map +1 -0
  239. package/dist/utils/constants.d.ts +1 -1
  240. package/dist/utils/constants.js +50 -8
  241. package/dist/utils/constants.js.map +1 -0
  242. package/dist/utils/dev-hooks.d.ts +1 -1
  243. package/dist/utils/dev-hooks.js +2 -24
  244. package/dist/utils/error-codes.d.ts +10 -10
  245. package/dist/utils/error-codes.js +53 -5
  246. package/dist/utils/error-codes.js.map +1 -0
  247. package/dist/utils/resolve-file-url.js +18 -2
  248. package/dist/utils/resolve-file-url.js.map +1 -0
  249. package/dist/utils/types-package.js +61 -4
  250. package/dist/utils/types-package.js.map +1 -0
  251. package/dist/utils/useful-stuff/async-queue.d.ts +21 -21
  252. package/dist/utils/useful-stuff/async-queue.js +1 -0
  253. package/dist/utils/useful-stuff/async-queue.js.map +1 -1
  254. package/dist/utils/useful-stuff/mutex.d.ts +62 -62
  255. package/dist/utils/useful-stuff/mutex.js +1 -0
  256. package/dist/utils/useful-stuff/mutex.js.map +1 -1
  257. package/dist/utils/useful-stuff/ratelimiter.d.ts +56 -56
  258. package/dist/utils/useful-stuff/ratelimiter.js +1 -0
  259. package/dist/utils/useful-stuff/ratelimiter.js.map +1 -1
  260. package/dist/utils/useful-stuff/semaphore.d.ts +82 -82
  261. package/dist/utils/useful-stuff/semaphore.js +1 -0
  262. package/dist/utils/useful-stuff/semaphore.js.map +1 -1
  263. package/dist/utils/utilities.d.ts +5 -5
  264. package/dist/utils/utilities.js +2 -24
  265. package/dist/utils/warning.js +38 -4
  266. package/dist/utils/warning.js.map +1 -0
  267. package/dist/version.js +2 -1
  268. package/dist/version.js.map +1 -1
  269. package/package.json +12 -15
  270. package/dist/ActionRow-CSN_UKmM.js +0 -25
  271. package/dist/CommandKitEventsChannel-CnT5ymYe.js +0 -88
  272. package/dist/CommandKitEventsChannel-CnT5ymYe.js.map +0 -1
  273. package/dist/CommandsRouter-C_HLsrGX.js +0 -215
  274. package/dist/CommandsRouter-C_HLsrGX.js.map +0 -1
  275. package/dist/CompilerPlugin-CUsGAfgl.js +0 -43
  276. package/dist/CompilerPlugin-CUsGAfgl.js.map +0 -1
  277. package/dist/EventInterceptor-BWoEJMHZ.js +0 -142
  278. package/dist/EventInterceptor-BWoEJMHZ.js.map +0 -1
  279. package/dist/EventWorkerContext-Dfhgv329.js +0 -68
  280. package/dist/EventWorkerContext-Dfhgv329.js.map +0 -1
  281. package/dist/EventsRouter-DZYIha6m.js +0 -133
  282. package/dist/EventsRouter-DZYIha6m.js.map +0 -1
  283. package/dist/MessageCommandParser-Bs9fimmd.js +0 -271
  284. package/dist/MessageCommandParser-Bs9fimmd.js.map +0 -1
  285. package/dist/MessageCommandParser-q3dQcE5N.d.ts +0 -194
  286. package/dist/PluginCommon-BLxWww5u.js +0 -70
  287. package/dist/PluginCommon-BLxWww5u.js.map +0 -1
  288. package/dist/RuntimePlugin-CtobluSU.js +0 -134
  289. package/dist/RuntimePlugin-CtobluSU.js.map +0 -1
  290. package/dist/colors-Csc0X4QJ.js +0 -14
  291. package/dist/colors-Csc0X4QJ.js.map +0 -1
  292. package/dist/commandkit-SIjTLD2R.js.map +0 -1
  293. package/dist/common-C2jAjX4U.js +0 -0
  294. package/dist/common-CEordwf3.js +0 -17
  295. package/dist/common-CEordwf3.js.map +0 -1
  296. package/dist/common-DSRs_mfw.js +0 -222
  297. package/dist/common-DSRs_mfw.js.map +0 -1
  298. package/dist/constants-BFFK-hfP.js +0 -27
  299. package/dist/constants-BFFK-hfP.js.map +0 -1
  300. package/dist/constants-Cw8VjCVz.js +0 -36
  301. package/dist/constants-Cw8VjCVz.js.map +0 -1
  302. package/dist/constants-CxkFFZ7p.js +0 -85
  303. package/dist/constants-CxkFFZ7p.js.map +0 -1
  304. package/dist/container-DCPljKVH.js +0 -43
  305. package/dist/container-DCPljKVH.js.map +0 -1
  306. package/dist/display-WDb9wMCv.js +0 -0
  307. package/dist/element-DibzzA5L.js +0 -84
  308. package/dist/element-DibzzA5L.js.map +0 -1
  309. package/dist/env-CmspDhHy.js +0 -113
  310. package/dist/env-CmspDhHy.js.map +0 -1
  311. package/dist/error-codes-Ds0bnPvT.js +0 -73
  312. package/dist/error-codes-Ds0bnPvT.js.map +0 -1
  313. package/dist/file-Ca1kpEtE.js +0 -28
  314. package/dist/file-Ca1kpEtE.js.map +0 -1
  315. package/dist/flags/feature-flags.js.map +0 -1
  316. package/dist/helpers-Btx1FSZx.js +0 -35
  317. package/dist/helpers-Btx1FSZx.js.map +0 -1
  318. package/dist/index.js.map +0 -1
  319. package/dist/label-B6vXvwLM.js +0 -35
  320. package/dist/label-B6vXvwLM.js.map +0 -1
  321. package/dist/media-gallery-u3gjX7yD.js +0 -61
  322. package/dist/media-gallery-u3gjX7yD.js.map +0 -1
  323. package/dist/poll-CFe8yvoJ.js +0 -100
  324. package/dist/resolve-file-url-CdHqwWs3.js +0 -23
  325. package/dist/resolve-file-url-CdHqwWs3.js.map +0 -1
  326. package/dist/router-BvamdzoF.js +0 -0
  327. package/dist/runtime-Skt5NiOc.js +0 -0
  328. package/dist/section-BC8LF-B2.js +0 -59
  329. package/dist/section-BC8LF-B2.js.map +0 -1
  330. package/dist/separator-BUTiW7uz.js +0 -26
  331. package/dist/separator-BUTiW7uz.js.map +0 -1
  332. package/dist/signals-B8z1wJ6W.js +0 -74
  333. package/dist/signals-B8z1wJ6W.js.map +0 -1
  334. package/dist/store-D8r_hryO.js +0 -18
  335. package/dist/store-D8r_hryO.js.map +0 -1
  336. package/dist/text-display-DANahMN3.js +0 -31
  337. package/dist/text-display-DANahMN3.js.map +0 -1
  338. package/dist/type-checker-cVd3Hpnh.js +0 -88
  339. package/dist/type-checker-cVd3Hpnh.js.map +0 -1
  340. package/dist/types-Cdh4uaFR.js +0 -0
  341. package/dist/types-TC4g3w91.js +0 -0
  342. package/dist/types-package-CsTNfvv2.js +0 -71
  343. package/dist/types-package-CsTNfvv2.js.map +0 -1
  344. package/dist/utils-Br3eenD1.js +0 -34
  345. package/dist/utils-Br3eenD1.js.map +0 -1
  346. package/dist/warning-CszH8HeS.js +0 -53
  347. package/dist/warning-CszH8HeS.js.map +0 -1
  348. /package/dist/{index-BJfko-dP.d.ts → index-BIsCUWAs.d.ts} +0 -0
  349. /package/dist/{index-CCggO_hw.d.ts → index-CwHYpK-f.d.ts} +0 -0
  350. /package/dist/{index-CLjpoGi1.d.ts → index-DHrsNvX1.d.ts} +0 -0
package/dist/cli/build.js CHANGED
@@ -1,31 +1,11 @@
1
- const require_chunk = require('../chunk-kSYXY2_d.js');
2
- require('../colors-Csc0X4QJ.js');
3
- require('../ActionRow-CSN_UKmM.js');
4
- const require_commandkit = require('../commandkit-SIjTLD2R.js');
5
- require('../container-DCPljKVH.js');
6
- require('../file-Ca1kpEtE.js');
7
- require('../media-gallery-u3gjX7yD.js');
8
- require('../section-BC8LF-B2.js');
9
- require('../separator-BUTiW7uz.js');
10
- require('../text-display-DANahMN3.js');
11
- require('../label-B6vXvwLM.js');
12
- require('../poll-CFe8yvoJ.js');
13
- require('../display-WDb9wMCv.js');
14
- const require_constants = require('../constants-CxkFFZ7p.js');
15
- const require_utils = require('../utils-Br3eenD1.js');
16
- require('../types-package-CsTNfvv2.js');
17
- require('../constants-Cw8VjCVz.js');
18
- require('../EventWorkerContext-Dfhgv329.js');
19
- require('../signals-B8z1wJ6W.js');
20
- require('../helpers-Btx1FSZx.js');
21
- require('../MessageCommandParser-Bs9fimmd.js');
22
- require('../CommandsRouter-C_HLsrGX.js');
23
- require('../EventsRouter-DZYIha6m.js');
24
- require('../router-BvamdzoF.js');
25
- const require_common = require('../common-DSRs_mfw.js');
26
- require('../store-D8r_hryO.js');
27
- const require_env = require('../env-CmspDhHy.js');
28
- const require_type_checker = require('../type-checker-cVd3Hpnh.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
3
+ const require_commandkit = require('../commandkit--k6yDJEr.js');
4
+ const require_utils_constants = require('../utils/constants.js');
5
+ const require_config_utils = require('../config/utils.js');
6
+ const require_cli_common = require('./common.js');
7
+ const require_cli_env = require('./env.js');
8
+ const require_cli_type_checker = require('./type-checker.js');
29
9
  let node_fs = require("node:fs");
30
10
  let node_path = require("node:path");
31
11
  let node_fs_promises = require("node:fs/promises");
@@ -60,9 +40,9 @@ function mergeDefinitionsIfNeeded(env, isDev) {
60
40
  */
61
41
  async function buildApplication({ plugins, rolldownPlugins, isDev, configPath }) {
62
42
  var _config$typescript;
63
- const { build } = await require_common.loadTsdown();
43
+ const { build } = await require_cli_common.loadTsdown();
64
44
  const config = await require_commandkit.loadConfigFile(configPath);
65
- if (!isDev && !(config === null || config === void 0 || (_config$typescript = config.typescript) === null || _config$typescript === void 0 ? void 0 : _config$typescript.ignoreBuildErrors)) await require_type_checker.performTypeCheck(configPath || require_constants.COMMANDKIT_CWD);
45
+ if (!isDev && !(config === null || config === void 0 || (_config$typescript = config.typescript) === null || _config$typescript === void 0 ? void 0 : _config$typescript.ignoreBuildErrors)) await require_cli_type_checker.performTypeCheck(configPath || require_utils_constants.COMMANDKIT_CWD);
66
46
  const pluginRuntime = new require_commandkit.CompilerPluginRuntime(plugins || [], !!isDev);
67
47
  rolldownPlugins ??= [];
68
48
  rolldownPlugins.push(pluginRuntime.toJSON());
@@ -71,7 +51,7 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
71
51
  const dest = isDev ? ".commandkit" : config.distDir;
72
52
  await (0, rimraf.rimraf)(dest);
73
53
  await pluginRuntime.init();
74
- await build(require_utils.mergeDeep({
54
+ await build(require_config_utils.mergeDeep({
75
55
  watch: false,
76
56
  dts: false,
77
57
  clean: true,
@@ -120,11 +100,11 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
120
100
  "!**/*.spec.*",
121
101
  ...config.entrypoints ?? []
122
102
  ])),
123
- outputOptions: { sanitizeFileName: (name) => name },
103
+ outputOptions: { sanitizeFileName: (name) => name.replace(/\0/g, "") },
124
104
  unbundle: isDev ? true : ((_config$compilerOptio = config.compilerOptions) === null || _config$compilerOptio === void 0 ? void 0 : _config$compilerOptio.disableChunking) ?? false
125
105
  }, (_config$compilerOptio2 = config.compilerOptions) === null || _config$compilerOptio2 === void 0 ? void 0 : _config$compilerOptio2.tsdown));
126
- await require_common.copyLocaleFiles("src", dest);
127
- await injectEntryFile(configPath || require_constants.COMMANDKIT_CWD, !!isDev, !!(((_config$antiCrashScri = config.antiCrashScript) === null || _config$antiCrashScri === void 0 ? void 0 : _config$antiCrashScri[isDev ? "development" : "production"]) ?? (isDev ? true : false)), config.distDir);
106
+ await require_cli_common.copyLocaleFiles("src", dest);
107
+ await injectEntryFile(configPath || require_utils_constants.COMMANDKIT_CWD, !!isDev, !!(((_config$antiCrashScri = config.antiCrashScript) === null || _config$antiCrashScri === void 0 ? void 0 : _config$antiCrashScri[isDev ? "development" : "production"]) ?? (isDev ? true : false)), config.distDir);
128
108
  } catch (error) {
129
109
  console.error("Build failed:", error);
130
110
  if (error instanceof Error) console.error("Error details:", error.stack);
@@ -134,7 +114,7 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
134
114
  }
135
115
  }
136
116
  const envScript = (dev) => `// --- Environment Variables Loader ---
137
- const $env = [${(dev ? require_env.devEnvFileArgs : require_env.prodEnvFileArgs).map((p) => `"${p}"`).join(", ")}];
117
+ const $env = [${(dev ? require_cli_env.devEnvFileArgs : require_cli_env.prodEnvFileArgs).map((p) => `"${p}"`).join(", ")}];
138
118
  for (const file of $env) {
139
119
  try {
140
120
  process.loadEnvFile(file);
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","names":[],"sources":["../../src/cli/build.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { rimraf } from 'rimraf';\nimport type { InlineConfig } from 'tsdown';\n\nimport { MaybeArray } from '../components';\nimport { loadConfigFile } from '../config/loader';\nimport { mergeDeep } from '../config/utils';\nimport { CompilerPlugin, CompilerPluginRuntime } from '../plugins';\nimport { COMMANDKIT_CWD } from '../utils/constants';\nimport { copyLocaleFiles, loadTsdown } from './common';\nimport { devEnvFileArgs, prodEnvFileArgs } from './env';\nimport { performTypeCheck } from './type-checker';\n\n/**\n * @private\n * @internal\n */\nexport interface ApplicationBuildOptions {\n plugins?: MaybeArray<CompilerPlugin>[] | Array<CompilerPlugin>;\n rolldownPlugins?: any[];\n isDev?: boolean;\n configPath?: string;\n}\n\n// emit public env variables and given env variables\n/**\n * @private\n * @internal\n */\nfunction mergeDefinitionsIfNeeded(env: Record<string, string>, isDev: boolean) {\n const values = Object.fromEntries(\n Object.entries(process.env).filter(\n ([k]) => !(k in env) && k.startsWith('COMMANDKIT_PUBLIC_'),\n ),\n );\n\n return {\n ...env,\n ...values,\n ...(isDev\n ? {\n NODE_ENV: 'development',\n COMMANDKIT_BOOTSTRAP_MODE: 'development',\n COMMANDKIT_IS_DEV: 'true',\n COMMANDKIT_IS_TEST: 'false',\n }\n : {\n NODE_ENV: 'production',\n COMMANDKIT_BOOTSTRAP_MODE: 'production',\n COMMANDKIT_IS_DEV: 'false',\n COMMANDKIT_IS_TEST: 'false',\n }),\n };\n}\n\n/**\n * @private\n * @internal\n */\nexport async function buildApplication({\n plugins,\n rolldownPlugins,\n isDev,\n configPath,\n}: ApplicationBuildOptions) {\n const { build } = await loadTsdown();\n const config = await loadConfigFile(configPath);\n\n if (!isDev && !config?.typescript?.ignoreBuildErrors) {\n await performTypeCheck(configPath || COMMANDKIT_CWD);\n }\n\n const pluginRuntime = new CompilerPluginRuntime(\n (plugins || []) as CompilerPlugin[],\n !!isDev,\n );\n\n rolldownPlugins ??= [];\n\n rolldownPlugins.push(pluginRuntime.toJSON());\n\n try {\n const dest = isDev ? '.commandkit' : config.distDir;\n\n // Clean the destination directory\n await rimraf(dest);\n\n await pluginRuntime.init();\n\n await build(\n mergeDeep(\n {\n watch: false,\n dts: false,\n clean: true,\n format: ['esm'],\n shims: true,\n minify: false,\n logLevel: !!isDev ? 'silent' : 'info',\n inputOptions: {\n transform: {\n jsx: {\n runtime: 'automatic',\n importSource: 'commandkit',\n },\n },\n checks: {\n circularDependency: true,\n },\n onwarn: (warning, defaultWarn) => {\n if (warning?.message?.includes('compilerOptions.jsx')) return;\n\n return defaultWarn(warning);\n },\n onLog: (level, log, defaultLog) => {\n if (isDev) return;\n\n return defaultLog(level, log);\n },\n moduleTypes: {\n '.json': 'json',\n '.node': 'binary',\n },\n },\n outExtensions: (context) => {\n return {\n dts: '.d.ts',\n js: context.format === 'cjs' ? '.cjs' : '.js',\n };\n },\n plugins: rolldownPlugins,\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap:\n config.sourceMap?.[isDev ? 'development' : 'production'] ?? true,\n target: 'node16',\n outDir: dest,\n env: mergeDefinitionsIfNeeded(config.env || {}, !!isDev),\n entry: Array.from(\n new Set([\n 'src/**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}',\n `!${config.distDir}`,\n '!.commandkit',\n '!**/*.test.*',\n '!**/*.spec.*',\n ...(config.entrypoints ?? []),\n ]),\n ),\n outputOptions: {\n sanitizeFileName: (name) => name,\n },\n unbundle: isDev\n ? true\n : (config.compilerOptions?.disableChunking ?? false),\n } satisfies InlineConfig,\n config.compilerOptions?.tsdown,\n ),\n );\n\n await copyLocaleFiles('src', dest);\n await injectEntryFile(\n configPath || COMMANDKIT_CWD,\n !!isDev,\n !!(\n config.antiCrashScript?.[isDev ? 'development' : 'production'] ??\n (isDev ? true : false)\n ),\n config.distDir,\n );\n } catch (error) {\n console.error('Build failed:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.stack);\n }\n process.exit(1); // Force exit on error\n } finally {\n // Ensure plugins are cleaned up\n await pluginRuntime.destroy();\n }\n}\n\nconst envScript = (dev: boolean) => `// --- Environment Variables Loader ---\nconst $env = [${(dev ? devEnvFileArgs : prodEnvFileArgs).map((p) => `\"${p}\"`).join(', ')}];\nfor (const file of $env) {\n try {\n process.loadEnvFile(file);\n console.log('\\\\x1b[36m✔ Loaded \\\\x1b[0m\\\\x1b[33m%s\\\\x1b[0m', file);\n } catch {}\n}\n`;\n\nconst antiCrashScript = [\n '// --- CommandKit Anti-Crash Monitor ---',\n \" // 'uncaughtException' event is supposed to be used to perform synchronous cleanup before shutting down the process\",\n ' // instead of using it as a means to resume operation.',\n ' // But it exists here due to compatibility reasons with discord bot ecosystem.',\n \" const p = (t) => `\\\\x1b[31m${t}\\\\x1b[0m`, b = '[CommandKit Anti-Crash Monitor]', l = console.log, e1 = 'uncaughtException', e2 = 'unhandledRejection';\",\n ' if (!process.eventNames().includes(e1)) // skip if it is already handled',\n ' process.on(e1, (e) => {',\n ' l(p(`${b} Uncaught Exception`)); l(p(b), p(e.stack || e));',\n ' })',\n ' if (!process.eventNames().includes(e2)) // skip if it is already handled',\n ' process.on(e2, (r) => {',\n ' l(p(`${b} Unhandled promise rejection`)); l(p(`${b} ${r.stack || r}`));',\n ' });',\n '// --- CommandKit Anti-Crash Monitor ---',\n].join('\\n');\n\nconst wrapInAsyncIIFE = (code: string[]) =>\n `;await (async () => {\\n${code.join('\\n\\n')}\\n})();`;\n\nasync function injectEntryFile(\n configPath: string,\n isDev: boolean,\n emitAntiCrashScript: boolean,\n distDir?: string,\n) {\n const dist = isDev ? '.commandkit' : distDir || 'dist';\n const entryFilePath = join(configPath, dist, 'index.js');\n\n // skip if the entry file already exists\n if (existsSync(entryFilePath)) return;\n\n const code = `/* Entrypoint File Generated By CommandKit */\n${isDev ? `\\n\\n// Injected for development\\n${wrapInAsyncIIFE([envScript(isDev), emitAntiCrashScript ? antiCrashScript : ''])}\\n\\n` : wrapInAsyncIIFE([envScript(isDev)])}\n\n\nasync function bootstrap() {\n const { Client } = await import('discord.js');\n const { commandkit } = await import('commandkit');\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,SAAS,yBAAyB,KAA6B,OAAgB;CAC7E,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,QAAQ,IAAI,CAAC,QACzB,CAAC,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,qBAAqB,CAC3D,CACF;AAED,QAAO;EACL,GAAG;EACH,GAAG;EACH,GAAI,QACJ;GACE,UAAI;GACJ,2BAAI;GACJ,mBAAI;GACJ,oBAAI;GACL,GACD;GACE,UAAI;GACJ,2BAAI;GACJ,mBAAI;GACJ,oBAAI;GACL;EACF;;;;;;AAOH,eAAsB,iBAAiB,EACrC,SACA,iBACA,OACA,cAC0B;;CAC1B,MAAM,EAAE,UAAU,MAAM,2BAAY;CACpC,MAAM,SAAS,MAAM,kCAAe,WAAW;AAE/C,KAAI,CAAC,SAAS,gEAAC,OAAQ,oFAAY,mBACjC,OAAM,sCAAiB,cAAc,iCAAe;CAGtD,MAAM,gBAAgB,IAAI,yCACvB,WAAW,EAAE,EACd,CAAC,CAAC,MACH;AAED,qBAAoB,EAAE;AAEtB,iBAAgB,KAAK,cAAc,QAAQ,CAAC;AAE5C,KAAI;;EACF,MAAM,OAAO,QAAQ,gBAAgB,OAAO;AAG5C,2BAAa,KAAK;AAElB,QAAM,cAAc,MAAM;AAE1B,QAAM,MACJ,wBACE;GACE,OAAO;GACP,KAAK;GACL,OAAO;GACP,QAAQ,CAAC,MAAM;GACf,OAAO;GACP,QAAQ;GACR,UAAU,CAAC,CAAC,QAAQ,WAAW;GAC/B,cAAc;IACZ,WAAW,EACT,KAAK;KACH,SAAS;KACT,cAAc;KACf,EACF;IACD,QAAQ,EACN,oBAAoB,MACrB;IACD,SAAS,SAAS,gBAAgB;;AAChC,uEAAI,QAAS,6EAAS,SAAS,sBAAsB,CAAE;AAEvD,YAAO,YAAY,QAAQ;;IAE7B,QAAQ,OAAO,KAAK,eAAe;AACjC,SAAI,MAAO;AAEX,YAAO,WAAW,OAAO,IAAI;;IAE/B,aAAa;KACX,SAAS;KACT,SAAS;KACV;IACF;GACD,gBAAgB,YAAY;AAC1B,WAAO;KACL,KAAK;KACL,IAAI,QAAQ,WAAW,QAAQ,SAAS;KACzC;;GAEH,SAAS;GACT,UAAU;GACV,uBAAuB;GACvB,iCACA,OAAE,iFAAiB,QAAQ,gBAAgB,kBAAiB;GAC5D,QAAQ;GACR,QAAQ;GACR,KAAK,yBAAyB,OAAO,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM;GACxD,OAAO,MAAM,KACX,IAAI,IAAI;IACR;IACA,IAAI,OAAE;IACN;IACA;IACA;IACA,GAAI,OAAE,eAAoB,EAAE;IAAE,CAC7B,CACF;GACD,eAAe,EACb,mBAAmB,SAAS,MAC7B;GACD,UAAU,QACV,iCACA,OAAK,+FAAO,oBAAiB;GAC9B,4BACD,OAAO,iGAAiB,OACzB,CACF;AAED,QAAM,+BAAgB,OAAO,KAAK;AAClC,QAAM,gBACJ,cAAc,kCACd,CAAC,CAAC,OACF,CAAC,4BACD,OAAE,+FAAuB,QAAQ,gBAAgB,mBACjD,QAAQ,OAAO,SAEf,OAAO,QACR;UACM,OAAO;AACd,UAAQ,MAAM,iBAAiB,MAAM;AACrC,MAAI,iBAAiB,MACnB,SAAQ,MAAM,kBAAkB,MAAM,MAAM;AAE9C,UAAQ,KAAK,EAAE;WACP;AAER,QAAM,cAAc,SAAS;;;AAIjC,MAAM,aAAa,QAAiB;iBACnB,MAAM,6BAAiB,6BAAiB,KAAK,MAAM,IAAI,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC;;;;;;;;AASzF,MAAM,kBAAkB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAA2C,CAC3C,KAAE,KAAQ;AAEV,MAAM,mBAAmB,SACzB,0BAA0B,KAAE,KAAK,OAAU,CAAC;AAE5C,eAAe,gBACf,YACA,OACA,qBACA,SACA;CAEE,MAAM,oCAAqB,YADd,QAAQ,gBAAgB,WAAW,QACH,WAAW;AAGxD,6BAAe,cAAc,CAAE;AAyB/B,uCAAgB,eAvBH;EACb,QAAQ,oCAAoC,gBAAgB,CAAC,UAAU,MAAM,EAAE,sBAAsB,kBAAkB,GAAG,CAAC,CAAC,QAAQ,gBAAgB,CAAC,UAAU,MAAM,CAAC,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;EAsBnI"}
1
+ {"version":3,"file":"build.js","names":[],"sources":["../../src/cli/build.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { rimraf } from 'rimraf';\nimport type { InlineConfig } from 'tsdown';\n\nimport { MaybeArray } from '../components';\nimport { loadConfigFile } from '../config/loader';\nimport { mergeDeep } from '../config/utils';\nimport { CompilerPlugin, CompilerPluginRuntime } from '../plugins';\nimport { COMMANDKIT_CWD } from '../utils/constants';\nimport { copyLocaleFiles, loadTsdown } from './common';\nimport { devEnvFileArgs, prodEnvFileArgs } from './env';\nimport { performTypeCheck } from './type-checker';\n\n/**\n * @private\n * @internal\n */\nexport interface ApplicationBuildOptions {\n plugins?: MaybeArray<CompilerPlugin>[] | Array<CompilerPlugin>;\n rolldownPlugins?: any[];\n isDev?: boolean;\n configPath?: string;\n}\n\n// emit public env variables and given env variables\n/**\n * @private\n * @internal\n */\nfunction mergeDefinitionsIfNeeded(env: Record<string, string>, isDev: boolean) {\n const values = Object.fromEntries(\n Object.entries(process.env).filter(\n ([k]) => !(k in env) && k.startsWith('COMMANDKIT_PUBLIC_'),\n ),\n );\n\n return {\n ...env,\n ...values,\n ...(isDev\n ? {\n NODE_ENV: 'development',\n COMMANDKIT_BOOTSTRAP_MODE: 'development',\n COMMANDKIT_IS_DEV: 'true',\n COMMANDKIT_IS_TEST: 'false',\n }\n : {\n NODE_ENV: 'production',\n COMMANDKIT_BOOTSTRAP_MODE: 'production',\n COMMANDKIT_IS_DEV: 'false',\n COMMANDKIT_IS_TEST: 'false',\n }),\n };\n}\n\n/**\n * @private\n * @internal\n */\nexport async function buildApplication({\n plugins,\n rolldownPlugins,\n isDev,\n configPath,\n}: ApplicationBuildOptions) {\n const { build } = await loadTsdown();\n const config = await loadConfigFile(configPath);\n\n if (!isDev && !config?.typescript?.ignoreBuildErrors) {\n await performTypeCheck(configPath || COMMANDKIT_CWD);\n }\n\n const pluginRuntime = new CompilerPluginRuntime(\n (plugins || []) as CompilerPlugin[],\n !!isDev,\n );\n\n rolldownPlugins ??= [];\n\n rolldownPlugins.push(pluginRuntime.toJSON());\n\n try {\n const dest = isDev ? '.commandkit' : config.distDir;\n\n // Clean the destination directory\n await rimraf(dest);\n\n await pluginRuntime.init();\n\n await build(\n mergeDeep(\n {\n watch: false,\n dts: false,\n clean: true,\n format: ['esm'],\n shims: true,\n minify: false,\n logLevel: !!isDev ? 'silent' : 'info',\n inputOptions: {\n transform: {\n jsx: {\n runtime: 'automatic',\n importSource: 'commandkit',\n },\n },\n checks: {\n circularDependency: true,\n },\n onwarn: (warning, defaultWarn) => {\n if (warning?.message?.includes('compilerOptions.jsx')) return;\n\n return defaultWarn(warning);\n },\n onLog: (level, log, defaultLog) => {\n if (isDev) return;\n\n return defaultLog(level, log);\n },\n moduleTypes: {\n '.json': 'json',\n '.node': 'binary',\n },\n },\n outExtensions: (context) => {\n return {\n dts: '.d.ts',\n js: context.format === 'cjs' ? '.cjs' : '.js',\n };\n },\n plugins: rolldownPlugins,\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap:\n config.sourceMap?.[isDev ? 'development' : 'production'] ?? true,\n target: 'node16',\n outDir: dest,\n env: mergeDefinitionsIfNeeded(config.env || {}, !!isDev),\n entry: Array.from(\n new Set([\n 'src/**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}',\n `!${config.distDir}`,\n '!.commandkit',\n '!**/*.test.*',\n '!**/*.spec.*',\n ...(config.entrypoints ?? []),\n ]),\n ),\n outputOptions: {\n sanitizeFileName: (name) => name.replace(/\\0/g, ''),\n },\n unbundle: isDev\n ? true\n : (config.compilerOptions?.disableChunking ?? false),\n } satisfies InlineConfig,\n config.compilerOptions?.tsdown,\n ),\n );\n\n await copyLocaleFiles('src', dest);\n await injectEntryFile(\n configPath || COMMANDKIT_CWD,\n !!isDev,\n !!(\n config.antiCrashScript?.[isDev ? 'development' : 'production'] ??\n (isDev ? true : false)\n ),\n config.distDir,\n );\n } catch (error) {\n console.error('Build failed:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.stack);\n }\n process.exit(1); // Force exit on error\n } finally {\n // Ensure plugins are cleaned up\n await pluginRuntime.destroy();\n }\n}\n\nconst envScript = (dev: boolean) => `// --- Environment Variables Loader ---\nconst $env = [${(dev ? devEnvFileArgs : prodEnvFileArgs).map((p) => `\"${p}\"`).join(', ')}];\nfor (const file of $env) {\n try {\n process.loadEnvFile(file);\n console.log('\\\\x1b[36m✔ Loaded \\\\x1b[0m\\\\x1b[33m%s\\\\x1b[0m', file);\n } catch {}\n}\n`;\n\nconst antiCrashScript = [\n '// --- CommandKit Anti-Crash Monitor ---',\n \" // 'uncaughtException' event is supposed to be used to perform synchronous cleanup before shutting down the process\",\n ' // instead of using it as a means to resume operation.',\n ' // But it exists here due to compatibility reasons with discord bot ecosystem.',\n \" const p = (t) => `\\\\x1b[31m${t}\\\\x1b[0m`, b = '[CommandKit Anti-Crash Monitor]', l = console.log, e1 = 'uncaughtException', e2 = 'unhandledRejection';\",\n ' if (!process.eventNames().includes(e1)) // skip if it is already handled',\n ' process.on(e1, (e) => {',\n ' l(p(`${b} Uncaught Exception`)); l(p(b), p(e.stack || e));',\n ' })',\n ' if (!process.eventNames().includes(e2)) // skip if it is already handled',\n ' process.on(e2, (r) => {',\n ' l(p(`${b} Unhandled promise rejection`)); l(p(`${b} ${r.stack || r}`));',\n ' });',\n '// --- CommandKit Anti-Crash Monitor ---',\n].join('\\n');\n\nconst wrapInAsyncIIFE = (code: string[]) =>\n `;await (async () => {\\n${code.join('\\n\\n')}\\n})();`;\n\nasync function injectEntryFile(\n configPath: string,\n isDev: boolean,\n emitAntiCrashScript: boolean,\n distDir?: string,\n) {\n const dist = isDev ? '.commandkit' : distDir || 'dist';\n const entryFilePath = join(configPath, dist, 'index.js');\n\n // skip if the entry file already exists\n if (existsSync(entryFilePath)) return;\n\n const code = `/* Entrypoint File Generated By CommandKit */\n${isDev ? `\\n\\n// Injected for development\\n${wrapInAsyncIIFE([envScript(isDev), emitAntiCrashScript ? antiCrashScript : ''])}\\n\\n` : wrapInAsyncIIFE([envScript(isDev)])}\n\n\nasync function bootstrap() {\n const { Client } = await import('discord.js');\n const { commandkit } = await import('commandkit');\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { m as ResolvedCommandKitConfig } from "../analytics-engine-WQhXmx3H.js";
2
- import * as tsdown0 from "tsdown";
3
- import * as typescript0 from "typescript";
1
+ import { m as ResolvedCommandKitConfig } from "../analytics-engine-DnRsHBId.js";
2
+ import * as tsdown from "tsdown";
3
+ import * as typescript from "typescript";
4
4
 
5
5
  //#region src/cli/common.d.ts
6
6
  /**
@@ -23,7 +23,7 @@ declare function panic(message: any): never;
23
23
  * @private
24
24
  * @internal
25
25
  */
26
- declare function loadTypeScript(e?: string): Promise<typeof typescript0>;
26
+ declare function loadTypeScript(e?: string): Promise<typeof typescript>;
27
27
  /**
28
28
  * @private
29
29
  * @internal
@@ -43,7 +43,7 @@ declare function copyLocaleFiles(_from: string, _to: string): Promise<void>;
43
43
  * @private
44
44
  * @internal
45
45
  */
46
- declare function loadTsdown(): Promise<typeof tsdown0>;
46
+ declare function loadTsdown(): Promise<typeof tsdown>;
47
47
  //#endregion
48
48
  export { copyLocaleFiles, erase, findEntrypoint, loadConfigFileFromPath, loadTsdown, loadTypeScript, panic, write };
49
49
  //# sourceMappingURL=common.d.ts.map
@@ -1,13 +1,183 @@
1
- require('../colors-Csc0X4QJ.js');
2
- require('../constants-CxkFFZ7p.js');
3
- require('../types-package-CsTNfvv2.js');
4
- const require_common = require('../common-DSRs_mfw.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
3
+ const require_utils_colors = require('../utils/colors.js');
4
+ const require_utils_constants = require('../utils/constants.js');
5
+ const require_utils_types_package = require('../utils/types-package.js');
6
+ let node_fs = require("node:fs");
7
+ node_fs = require_chunk.__toESM(node_fs);
8
+ let node_path = require("node:path");
9
+ let rimraf = require("rimraf");
10
+ let node_child_process = require("node:child_process");
5
11
 
6
- exports.copyLocaleFiles = require_common.copyLocaleFiles;
7
- exports.erase = require_common.erase;
8
- exports.findEntrypoint = require_common.findEntrypoint;
9
- exports.loadConfigFileFromPath = require_common.loadConfigFileFromPath;
10
- exports.loadTsdown = require_common.loadTsdown;
11
- exports.loadTypeScript = require_common.loadTypeScript;
12
- exports.panic = require_common.panic;
13
- exports.write = require_common.write;
12
+ //#region src/cli/common.ts
13
+ let ts;
14
+ let tsdown;
15
+ /**
16
+ * @private
17
+ * @internal
18
+ */
19
+ function write(message) {
20
+ process.stdout.write(message);
21
+ process.stdout.write("\n");
22
+ }
23
+ /**
24
+ * @private
25
+ * @internal
26
+ */
27
+ function findEntrypoint(dir) {
28
+ const target = (0, node_path.join)(dir, "sharding-manager.js");
29
+ if (node_fs.default.existsSync(target)) return target;
30
+ return (0, node_path.join)(dir, "index.js");
31
+ }
32
+ /**
33
+ * @returns {never}
34
+ * @internal
35
+ * @private
36
+ */
37
+ function panic(message) {
38
+ write(require_utils_colors.default.red(`Error: ${message}`));
39
+ process.exit(1);
40
+ }
41
+ /**
42
+ * @private
43
+ * @internal
44
+ */
45
+ async function ensureTypeScript(target) {
46
+ if (!/\.(c|m)?tsx?$/.test(target)) return false;
47
+ if (process.features.typescript) return true;
48
+ await loadTypeScript();
49
+ return true;
50
+ }
51
+ let packageManager;
52
+ /**
53
+ * @private
54
+ * @internal
55
+ */
56
+ function detectPackageManager() {
57
+ if (packageManager) return packageManager;
58
+ for (const [lockfile, manager] of Object.entries({
59
+ "yarn.lock": "yarn",
60
+ "pnpm-lock.yaml": "pnpm",
61
+ "package-lock.json": "npm",
62
+ "bun.lock": "bun",
63
+ "bun.lockb": "bun",
64
+ "deno.lock": "deno"
65
+ })) if (node_fs.default.existsSync((0, node_path.join)(require_utils_constants.COMMANDKIT_CWD, lockfile))) {
66
+ packageManager = manager;
67
+ break;
68
+ }
69
+ if (!packageManager) packageManager = "npm";
70
+ return packageManager;
71
+ }
72
+ /**
73
+ * @private
74
+ * @internal
75
+ */
76
+ async function loadTypeScript(e) {
77
+ if (ts) return ts;
78
+ try {
79
+ ts = await import("typescript");
80
+ } catch (e) {
81
+ if (e instanceof Error && "code" in e && e.code === "MODULE_NOT_FOUND") try {
82
+ const packageManager = detectPackageManager();
83
+ (0, node_child_process.execSync)(`${packageManager} add -D ${packageManager === "deno" ? "npm:" : ""}typescript`, {
84
+ stdio: "inherit",
85
+ cwd: require_utils_constants.COMMANDKIT_CWD
86
+ });
87
+ console.log(require_utils_colors.default.cyan(`TypeScript has been installed automatically, restarting...`));
88
+ ts = await import("typescript");
89
+ return ts;
90
+ } catch {
91
+ panic("TypeScript is not installed and could not be installed automatically. Please install it manually.");
92
+ }
93
+ panic(e || "TypeScript must be installed to use TypeScript config files.");
94
+ }
95
+ return ts;
96
+ }
97
+ /**
98
+ * @private
99
+ * @internal
100
+ */
101
+ async function loadConfigFileFromPath(target) {
102
+ await ensureExists(target);
103
+ const isTs = await ensureTypeScript(target);
104
+ let generatedFilePath;
105
+ if (isTs && ts) {
106
+ const { transpileModule } = ts;
107
+ const { outputText } = transpileModule(node_fs.default.readFileSync(target, "utf8"), {
108
+ compilerOptions: {
109
+ module: ts.ModuleKind.ESNext,
110
+ target: ts.ScriptTarget.ESNext,
111
+ moduleResolution: ts.ModuleResolutionKind.NodeNext
112
+ },
113
+ fileName: target
114
+ });
115
+ await require_utils_types_package.generateTypesPackage();
116
+ const tmpFile = (0, node_path.join)(require_utils_constants.COMMANDKIT_CWD, "compiled-commandkit.config.mjs");
117
+ node_fs.default.writeFileSync(tmpFile, outputText);
118
+ generatedFilePath = tmpFile;
119
+ target = tmpFile;
120
+ }
121
+ /**
122
+ * @type {import('..').CommandKitConfig}
123
+ */
124
+ const config = await import(`file://${target}`).then((conf) => conf.default || conf);
125
+ if (generatedFilePath) try {
126
+ node_fs.default.unlinkSync(generatedFilePath);
127
+ } catch {}
128
+ return config;
129
+ }
130
+ /**
131
+ * @private
132
+ * @internal
133
+ */
134
+ async function ensureExists(loc) {
135
+ if (!node_fs.default.existsSync(loc)) throw new Error(`File not found: ${loc}`);
136
+ }
137
+ /**
138
+ * @private
139
+ * @internal
140
+ */
141
+ function erase(dir) {
142
+ (0, rimraf.rimrafSync)(dir);
143
+ }
144
+ /**
145
+ * @private
146
+ * @internal
147
+ */
148
+ async function copyLocaleFiles(_from, _to) {
149
+ const resolvedFrom = (0, node_path.join)(require_utils_constants.COMMANDKIT_CWD, _from);
150
+ const resolvedTo = (0, node_path.join)(require_utils_constants.COMMANDKIT_CWD, _to);
151
+ const localePaths = ["app/locales"];
152
+ const srcLocalePaths = localePaths.map((path) => (0, node_path.join)(resolvedFrom, path));
153
+ const destLocalePaths = localePaths.map((path) => (0, node_path.join)(resolvedTo, path));
154
+ for (const localePath of srcLocalePaths) {
155
+ if (!node_fs.default.existsSync(localePath)) continue;
156
+ const destLocalePath = destLocalePaths[srcLocalePaths.indexOf(localePath)];
157
+ if (!node_fs.default.existsSync(destLocalePath)) node_fs.default.promises.mkdir(destLocalePath, { recursive: true }).catch(() => {});
158
+ await node_fs.default.promises.cp(localePath, destLocalePath, {
159
+ recursive: true,
160
+ force: true
161
+ }).catch(() => {});
162
+ }
163
+ }
164
+ /**
165
+ * @private
166
+ * @internal
167
+ */
168
+ async function loadTsdown() {
169
+ if (tsdown) return tsdown;
170
+ tsdown = await import("tsdown");
171
+ return tsdown;
172
+ }
173
+
174
+ //#endregion
175
+ exports.copyLocaleFiles = copyLocaleFiles;
176
+ exports.erase = erase;
177
+ exports.findEntrypoint = findEntrypoint;
178
+ exports.loadConfigFileFromPath = loadConfigFileFromPath;
179
+ exports.loadTsdown = loadTsdown;
180
+ exports.loadTypeScript = loadTypeScript;
181
+ exports.panic = panic;
182
+ exports.write = write;
183
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","names":[],"sources":["../../src/cli/common.ts"],"sourcesContent":["import { rimrafSync } from 'rimraf';\nimport { join } from 'node:path';\nimport fs from 'node:fs';\nimport colors from '../utils/colors';\nimport { ResolvedCommandKitConfig } from '../config/utils';\nimport { generateTypesPackage } from '../utils/types-package';\nimport { execSync } from 'node:child_process';\nimport { COMMANDKIT_CWD } from '../utils/constants';\n\nlet ts: typeof import('typescript') | undefined;\nlet tsdown: typeof import('tsdown') | undefined;\n\n/**\n * @private\n * @internal\n */\nexport function write(message: any) {\n process.stdout.write(message);\n process.stdout.write('\\n');\n}\n\n/**\n * @private\n * @internal\n */\nexport function findEntrypoint(dir: string) {\n const target = join(dir, 'sharding-manager.js');\n\n // if sharding manager exists, return that file instead\n if (fs.existsSync(target)) return target;\n\n return join(dir, 'index.js');\n}\n\n/**\n * @returns {never}\n * @internal\n * @private\n */\nexport function panic(message: any): never {\n write(colors.red(`Error: ${message}`));\n process.exit(1);\n}\n\n/**\n * @private\n * @internal\n */\nasync function ensureTypeScript(target: string) {\n const isTypeScript = /\\.(c|m)?tsx?$/.test(target);\n\n if (!isTypeScript) return false;\n if (process.features.typescript) return true;\n\n await loadTypeScript();\n\n return true;\n}\n\nlet packageManager: string;\n\n/**\n * @private\n * @internal\n */\nfunction detectPackageManager() {\n if (packageManager) return packageManager;\n\n const lockfiles = {\n 'yarn.lock': 'yarn',\n 'pnpm-lock.yaml': 'pnpm',\n 'package-lock.json': 'npm',\n 'bun.lock': 'bun',\n 'bun.lockb': 'bun',\n 'deno.lock': 'deno',\n };\n\n for (const [lockfile, manager] of Object.entries(lockfiles)) {\n if (fs.existsSync(join(COMMANDKIT_CWD, lockfile))) {\n packageManager = manager;\n break;\n }\n }\n\n if (!packageManager) {\n packageManager = 'npm';\n }\n\n return packageManager;\n}\n\n/**\n * @private\n * @internal\n */\nexport async function loadTypeScript(e?: string) {\n if (ts) return ts;\n\n try {\n ts = await import('typescript');\n } catch (e) {\n if (e instanceof Error && 'code' in e && e.code === 'MODULE_NOT_FOUND') {\n try {\n const packageManager = detectPackageManager();\n const prefix = packageManager === 'deno' ? 'npm:' : '';\n execSync(`${packageManager} add -D ${prefix}typescript`, {\n stdio: 'inherit',\n cwd: COMMANDKIT_CWD,\n });\n\n console.log(\n colors.cyan(\n `TypeScript has been installed automatically, restarting...`,\n ),\n );\n\n ts = await import('typescript');\n\n return ts;\n } catch {\n panic(\n 'TypeScript is not installed and could not be installed automatically. Please install it manually.',\n );\n }\n }\n panic(e || 'TypeScript must be installed to use TypeScript config files.');\n }\n\n return ts;\n}\n\n/**\n * @private\n * @internal\n */\nexport async function loadConfigFileFromPath(\n target: string,\n): Promise<ResolvedCommandKitConfig> {\n await ensureExists(target);\n\n const isTs = await ensureTypeScript(target);\n\n let generatedFilePath: string | undefined;\n\n if (isTs && ts) {\n const { transpileModule } = ts;\n const src = fs.readFileSync(target, 'utf8');\n const { outputText } = transpileModule(src, {\n compilerOptions: {\n module: ts.ModuleKind.ESNext,\n target: ts.ScriptTarget.ESNext,\n moduleResolution: ts.ModuleResolutionKind.NodeNext,\n },\n fileName: target,\n });\n\n await generateTypesPackage();\n\n const nodeModulesPath = COMMANDKIT_CWD;\n\n const tmpFile = join(nodeModulesPath, 'compiled-commandkit.config.mjs');\n\n fs.writeFileSync(tmpFile, outputText);\n\n generatedFilePath = tmpFile;\n\n target = tmpFile;\n }\n\n /**\n * @type {import('..').CommandKitConfig}\n */\n const config = await import(`file://${target}`).then(\n (conf) => conf.default || conf,\n );\n\n if (generatedFilePath) {\n try {\n fs.unlinkSync(generatedFilePath);\n } catch {\n //\n }\n }\n\n return config;\n}\n\n/**\n * @private\n * @internal\n */\nasync function ensureExists(loc: string) {\n const exists = fs.existsSync(loc);\n\n if (!exists) {\n throw new Error(`File not found: ${loc}`);\n }\n}\n\n/**\n * @private\n * @internal\n */\nexport function erase(dir: string) {\n rimrafSync(dir);\n}\n\n/**\n * @private\n * @internal\n */\nexport async function copyLocaleFiles(_from: string, _to: string) {\n const resolvedFrom = join(COMMANDKIT_CWD, _from);\n const resolvedTo = join(COMMANDKIT_CWD, _to);\n\n const localePaths = ['app/locales'];\n const srcLocalePaths = localePaths.map((path) => join(resolvedFrom, path));\n const destLocalePaths = localePaths.map((path) => join(resolvedTo, path));\n\n for (const localePath of srcLocalePaths) {\n if (!fs.existsSync(localePath)) {\n continue;\n }\n\n // copy localePath to destLocalePath\n const destLocalePath = destLocalePaths[srcLocalePaths.indexOf(localePath)];\n\n if (!fs.existsSync(destLocalePath)) {\n fs.promises.mkdir(destLocalePath, { recursive: true }).catch(() => {});\n }\n\n await fs.promises\n .cp(localePath, destLocalePath, {\n recursive: true,\n force: true,\n })\n .catch(() => {});\n }\n}\n\n/**\n * @private\n * @internal\n */\nexport async function loadTsdown(): Promise<typeof import('tsdown')> {\n if (tsdown) return tsdown;\n\n tsdown = await import('tsdown');\n\n return tsdown;\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { o as HMREventType } from "../constants-CuYW0K10.js";
2
- import * as chokidar0 from "chokidar";
1
+ import { o as HMREventType } from "../constants-DwxpkIeH.js";
3
2
  import { ChildProcess } from "node:child_process";
3
+ import * as chokidar from "chokidar";
4
4
 
5
5
  //#region src/cli/development.d.ts
6
6
  /**
@@ -13,7 +13,7 @@ declare function buildAndStart(configPath: string, skipStart?: boolean): Promise
13
13
  * @internal
14
14
  */
15
15
  declare function bootstrapDevelopmentServer(configPath?: string): Promise<{
16
- watcher: chokidar0.FSWatcher;
16
+ watcher: chokidar.FSWatcher;
17
17
  isConfigUpdate: (path: string) => boolean;
18
18
  performHMR: (path?: string) => Promise<boolean>;
19
19
  hmrHandler: (path: string) => Promise<void>;
@@ -1,32 +1,11 @@
1
- const require_chunk = require('../chunk-kSYXY2_d.js');
2
- const require_colors = require('../colors-Csc0X4QJ.js');
3
- require('../ActionRow-CSN_UKmM.js');
4
- const require_commandkit = require('../commandkit-SIjTLD2R.js');
5
- require('../container-DCPljKVH.js');
6
- require('../file-Ca1kpEtE.js');
7
- require('../media-gallery-u3gjX7yD.js');
8
- require('../section-BC8LF-B2.js');
9
- require('../separator-BUTiW7uz.js');
10
- require('../text-display-DANahMN3.js');
11
- require('../label-B6vXvwLM.js');
12
- require('../poll-CFe8yvoJ.js');
13
- require('../display-WDb9wMCv.js');
14
- const require_constants = require('../constants-CxkFFZ7p.js');
15
- const require_CompilerPlugin = require('../CompilerPlugin-CUsGAfgl.js');
16
- require('../types-package-CsTNfvv2.js');
17
- require('../constants-Cw8VjCVz.js');
18
- require('../EventWorkerContext-Dfhgv329.js');
19
- require('../signals-B8z1wJ6W.js');
20
- require('../helpers-Btx1FSZx.js');
21
- require('../MessageCommandParser-Bs9fimmd.js');
22
- require('../CommandsRouter-C_HLsrGX.js');
23
- require('../EventsRouter-DZYIha6m.js');
24
- require('../router-BvamdzoF.js');
25
- const require_common = require('../common-DSRs_mfw.js');
26
- require('../store-D8r_hryO.js');
27
- require('../env-CmspDhHy.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
3
+ const require_utils_colors = require('../utils/colors.js');
4
+ const require_commandkit = require('../commandkit--k6yDJEr.js');
5
+ const require_plugins_CompilerPlugin = require('../plugins/CompilerPlugin.js');
6
+ const require_utils_constants = require('../utils/constants.js');
7
+ const require_cli_common = require('./common.js');
28
8
  const require_cli_app_process = require('./app-process.js');
29
- require('../type-checker-cVd3Hpnh.js');
30
9
  const require_cli_build = require('./build.js');
31
10
  let node_crypto = require("node:crypto");
32
11
  let path = require("path");
@@ -40,11 +19,11 @@ let node_timers_promises = require("node:timers/promises");
40
19
  */
41
20
  async function buildAndStart(configPath, skipStart = false) {
42
21
  const config = await require_commandkit.loadConfigFile(configPath);
43
- const mainFile = require_common.findEntrypoint(".commandkit");
22
+ const mainFile = require_cli_common.findEntrypoint(".commandkit");
44
23
  await require_cli_build.buildApplication({
45
24
  configPath,
46
25
  isDev: true,
47
- plugins: config.plugins.flat(2).filter((p) => require_CompilerPlugin.isCompilerPlugin(p)),
26
+ plugins: config.plugins.flat(2).filter((p) => require_plugins_CompilerPlugin.isCompilerPlugin(p)),
48
27
  rolldownPlugins: config.rolldownPlugins
49
28
  });
50
29
  if (skipStart) return null;
@@ -68,7 +47,7 @@ async function bootstrapDevelopmentServer(configPath) {
68
47
  process.env.COMMANDKIT_BOOTSTRAP_MODE = "development";
69
48
  process.env.COMMANDKIT_INTERNAL_IS_CLI_PROCESS = "true";
70
49
  const start = performance.now();
71
- const cwd = configPath || require_constants.COMMANDKIT_CWD;
50
+ const cwd = configPath || require_utils_constants.COMMANDKIT_CWD;
72
51
  const configPaths = require_commandkit.getPossibleConfigPaths(cwd);
73
52
  const watcher = (0, chokidar.watch)([(0, path.join)(cwd, "src"), ...configPaths], { ignoreInitial: true });
74
53
  let ps = null;
@@ -104,50 +83,50 @@ async function bootstrapDevelopmentServer(configPath) {
104
83
  try {
105
84
  let triggered = false;
106
85
  const res = !!await Promise.race([messagePromise, (0, node_timers_promises.setTimeout)(3e3).then(() => {
107
- if (!triggered) console.warn(require_colors.colors_default.yellow(`HMR acknowledgment timed out for event ${event} on path ${path$1}`));
86
+ if (!triggered) console.warn(require_utils_colors.default.yellow(`HMR acknowledgment timed out for event ${event} on path ${path$1}`));
108
87
  return false;
109
88
  })]);
110
89
  triggered = true;
111
90
  return res;
112
91
  } catch (error) {
113
- console.error(require_colors.colors_default.red(`Error waiting for HMR acknowledgment: ${error}`));
92
+ console.error(require_utils_colors.default.red(`Error waiting for HMR acknowledgment: ${error}`));
114
93
  return false;
115
94
  }
116
95
  };
117
- const performHMR = require_commandkit.debounce(async (path$1) => {
118
- if (!path$1 || !ps) return false;
96
+ const performHMR = require_commandkit.debounce(async (path$2) => {
97
+ if (!path$2 || !ps) return false;
119
98
  let eventType = null;
120
99
  let eventDescription = "";
121
- if (isCommandSource(path$1)) {
122
- eventType = require_constants.HMREventType.ReloadCommands;
100
+ if (isCommandSource(path$2)) {
101
+ eventType = require_utils_constants.HMREventType.ReloadCommands;
123
102
  eventDescription = "command(s)";
124
- } else if (isEventSource(path$1)) {
125
- eventType = require_constants.HMREventType.ReloadEvents;
103
+ } else if (isEventSource(path$2)) {
104
+ eventType = require_utils_constants.HMREventType.ReloadEvents;
126
105
  eventDescription = "event(s)";
127
106
  } else {
128
- eventType = require_constants.HMREventType.Unknown;
107
+ eventType = require_utils_constants.HMREventType.Unknown;
129
108
  eventDescription = "unknown source";
130
109
  }
131
110
  if (eventType) {
132
- console.log(`${require_colors.colors_default.cyanBright(`Attempting to reload ${eventDescription} at`)} ${require_colors.colors_default.yellowBright(path$1)}`);
111
+ console.log(`${require_utils_colors.default.cyanBright(`Attempting to reload ${eventDescription} at`)} ${require_utils_colors.default.yellowBright(path$2)}`);
133
112
  await buildAndStart(cwd, true);
134
- if (await sendHmrEvent(eventType, path$1)) {
135
- console.log(`${require_colors.colors_default.greenBright(`Successfully hot reloaded ${eventDescription} at`)} ${require_colors.colors_default.yellowBright(path$1)}`);
113
+ if (await sendHmrEvent(eventType, path$2)) {
114
+ console.log(`${require_utils_colors.default.greenBright(`Successfully hot reloaded ${eventDescription} at`)} ${require_utils_colors.default.yellowBright(path$2)}`);
136
115
  return true;
137
116
  }
138
117
  }
139
118
  return false;
140
119
  }, 700);
141
- const isConfigUpdate = (path$1) => {
142
- const isConfig = configPaths.some((configPath$1) => path$1 === configPath$1);
120
+ const isConfigUpdate = (path$3) => {
121
+ const isConfig = configPaths.some((configPath) => path$3 === configPath);
143
122
  if (!isConfig) return false;
144
- console.log(require_colors.colors_default.yellowBright("It seems like commandkit config file was updated, please restart the server manually to apply changes."));
123
+ console.log(require_utils_colors.default.yellowBright("It seems like commandkit config file was updated, please restart the server manually to apply changes."));
145
124
  return isConfig;
146
125
  };
147
- const hmrHandler = async (path$1) => {
148
- if (isConfigUpdate(path$1)) return;
149
- if (await performHMR(path$1)) return;
150
- console.log(`${require_colors.colors_default.yellowBright("⚡️ Performing full restart due to the changes in")} ${require_colors.colors_default.cyanBright(path$1)}`);
126
+ const hmrHandler = async (path$4) => {
127
+ if (isConfigUpdate(path$4)) return;
128
+ if (await performHMR(path$4)) return;
129
+ console.log(`${require_utils_colors.default.yellowBright("⚡️ Performing full restart due to the changes in")} ${require_utils_colors.default.cyanBright(path$4)}`);
151
130
  ps === null || ps === void 0 || ps.kill();
152
131
  ps = await buildAndStart(cwd);
153
132
  };
@@ -161,11 +140,11 @@ async function bootstrapDevelopmentServer(configPath) {
161
140
  break;
162
141
  case "rc":
163
142
  console.log(`Received reload commands command, reloading...`);
164
- await sendHmrEvent(require_constants.HMREventType.ReloadCommands);
143
+ await sendHmrEvent(require_utils_constants.HMREventType.ReloadCommands);
165
144
  break;
166
145
  case "re":
167
146
  console.log(`Received reload events command, reloading...`);
168
- await sendHmrEvent(require_constants.HMREventType.ReloadEvents);
147
+ await sendHmrEvent(require_utils_constants.HMREventType.ReloadEvents);
169
148
  break;
170
149
  }
171
150
  });
@@ -176,17 +155,17 @@ async function bootstrapDevelopmentServer(configPath) {
176
155
  watcher.on("error", (e) => {
177
156
  console.error(e);
178
157
  });
179
- console.log(`${require_colors.colors_default.greenBright("Bootstrapped CommandKit Development Environment in")} ${require_colors.colors_default.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}
180
- ${require_colors.colors_default.greenBright("Watching for changes in")} ${require_colors.colors_default.yellowBright("src")} ${require_colors.colors_default.greenBright("directory")}
158
+ console.log(`${require_utils_colors.default.greenBright("Bootstrapped CommandKit Development Environment in")} ${require_utils_colors.default.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}
159
+ ${require_utils_colors.default.greenBright("Watching for changes in")} ${require_utils_colors.default.yellowBright("src")} ${require_utils_colors.default.greenBright("directory")}
181
160
 
182
- ${require_colors.colors_default.greenBright("Commands:")}
183
- ${require_colors.colors_default.yellowBright("r")} - Restart the server
184
- ${require_colors.colors_default.yellowBright("rc")} - Reload all commands
185
- ${require_colors.colors_default.yellowBright("re")} - Reload all events`);
161
+ ${require_utils_colors.default.greenBright("Commands:")}
162
+ ${require_utils_colors.default.yellowBright("r")} - Restart the server
163
+ ${require_utils_colors.default.yellowBright("rc")} - Reload all commands
164
+ ${require_utils_colors.default.yellowBright("re")} - Reload all events`);
186
165
  const buildStart = performance.now();
187
166
  ps = await buildAndStart(cwd);
188
167
  const buildEnd = performance.now();
189
- console.log(`\n${require_colors.colors_default.greenBright("Development mode compilation took")} ${require_colors.colors_default.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\n`);
168
+ console.log(`\n${require_utils_colors.default.greenBright("Development mode compilation took")} ${require_utils_colors.default.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\n`);
190
169
  return {
191
170
  watcher,
192
171
  isConfigUpdate,
@@ -1 +1 @@
1
- {"version":3,"file":"development.js","names":[],"sources":["../../src/cli/development.ts"],"sourcesContent":["import { join } from 'path';\nimport { getPossibleConfigPaths, loadConfigFile } from '../config/loader';\nimport { isCompilerPlugin } from '../plugins';\nimport { createAppProcess } from './app-process';\nimport { buildApplication } from './build';\nimport { watch } from 'chokidar';\nimport { debounce } from '../utils/utilities';\nimport colors from '../utils/colors';\nimport { ChildProcess } from 'node:child_process';\nimport { setTimeout as sleep } from 'node:timers/promises';\nimport { randomUUID } from 'node:crypto';\nimport { COMMANDKIT_CWD, HMREventType } from '../utils/constants';\nimport { findEntrypoint } from './common';\n\n/**\n * @private\n * @internal\n */\nasync function buildAndStart(configPath: string, skipStart = false) {\n const config = await loadConfigFile(configPath);\n const mainFile = findEntrypoint('.commandkit');\n\n await buildApplication({\n configPath,\n isDev: true,\n plugins: config.plugins.flat(2).filter((p) => isCompilerPlugin(p)),\n rolldownPlugins: config.rolldownPlugins,\n });\n\n if (skipStart) return null as never;\n\n const ps = createAppProcess(mainFile, configPath, true);\n\n return ps;\n}\n\n/**\n * @private\n * @internal\n */\nconst isCommandSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/commands');\n\n/**\n * @private\n * @internal\n */\nconst isEventSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/events');\n\n/**\n * @private\n * @internal\n */\nexport async function bootstrapDevelopmentServer(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'development';\n process.env.COMMANDKIT_INTERNAL_IS_CLI_PROCESS = 'true';\n const start = performance.now();\n const cwd = configPath || COMMANDKIT_CWD;\n const configPaths = getPossibleConfigPaths(cwd);\n\n const watcher = watch([join(cwd, 'src'), ...configPaths], {\n ignoreInitial: true,\n });\n\n let ps: ChildProcess | null = null;\n\n const waitForAcknowledgment = (messageId: string): Promise<boolean> => {\n return new Promise((resolve) => {\n if (!ps) return resolve(false);\n\n let _handled = false;\n const onMessage = (message: any) => {\n _handled = true;\n if (typeof message !== 'object' || message === null) return;\n\n const { type, id, handled } = message;\n if (type === 'commandkit-hmr-ack' && id === messageId) {\n ps?.off('message', onMessage);\n resolve(!!handled);\n }\n };\n\n ps.once('message', onMessage);\n\n if (!_handled) {\n sleep(3000).then(() => {\n ps?.off('message', onMessage);\n resolve(false);\n });\n }\n });\n };\n\n const sendHmrEvent = async (\n event: HMREventType,\n path?: string,\n ): Promise<boolean> => {\n if (!ps || !ps.send) return false;\n\n const messageId = randomUUID();\n const messagePromise = waitForAcknowledgment(messageId);\n\n ps.send({ event, path, id: messageId });\n\n // Wait for acknowledgment or timeout after 3 seconds\n try {\n let triggered = false;\n const res = !!(await Promise.race([\n messagePromise,\n sleep(3000).then(() => {\n if (!triggered) {\n console.warn(\n colors.yellow(\n `HMR acknowledgment timed out for event ${event} on path ${path}`,\n ),\n );\n }\n return false;\n }),\n ]));\n\n triggered = true;\n\n return res;\n } catch (error) {\n console.error(\n colors.red(`Error waiting for HMR acknowledgment: ${error}`),\n );\n return false;\n }\n };\n\n const performHMR = debounce(async (path?: string): Promise<boolean> => {\n if (!path || !ps) return false;\n\n let eventType: HMREventType | null = null;\n let eventDescription = '';\n\n if (isCommandSource(path)) {\n eventType = HMREventType.ReloadCommands;\n eventDescription = 'command(s)';\n } else if (isEventSource(path)) {\n eventType = HMREventType.ReloadEvents;\n eventDescription = 'event(s)';\n } else {\n eventType = HMREventType.Unknown;\n eventDescription = 'unknown source';\n }\n\n if (eventType) {\n console.log(\n `${colors.cyanBright(`Attempting to reload ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n\n await buildAndStart(cwd, true);\n const hmrHandled = await sendHmrEvent(eventType, path);\n\n if (hmrHandled) {\n console.log(\n `${colors.greenBright(`Successfully hot reloaded ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n return true;\n }\n }\n\n return false;\n }, 700);\n\n const isConfigUpdate = (path: string) => {\n const isConfig = configPaths.some((configPath) => path === configPath);\n\n if (!isConfig) return false;\n\n console.log(\n colors.yellowBright(\n 'It seems like commandkit config file was updated, please restart the server manually to apply changes.',\n ),\n );\n\n return isConfig;\n };\n\n const hmrHandler = async (path: string) => {\n if (isConfigUpdate(path)) return;\n const hmr = await performHMR(path);\n if (hmr) return;\n\n console.log(\n `${colors.yellowBright('⚡️ Performing full restart due to the changes in')} ${colors.cyanBright(path)}`,\n );\n\n ps?.kill();\n ps = await buildAndStart(cwd);\n };\n\n process.stdin.on('data', async (d) => {\n const command = d.toString().trim();\n\n switch (command) {\n case 'r':\n console.log(`Received restart command, restarting...`);\n ps?.kill();\n ps = null;\n ps = await buildAndStart(cwd);\n break;\n case 'rc':\n console.log(`Received reload commands command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadCommands);\n break;\n case 're':\n console.log(`Received reload events command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadEvents);\n break;\n break;\n }\n });\n\n watcher.on('change', hmrHandler);\n watcher.on('add', hmrHandler);\n watcher.on('unlink', hmrHandler);\n watcher.on('unlinkDir', hmrHandler);\n watcher.on('error', (e) => {\n console.error(e);\n });\n\n console.log(`${colors.greenBright('Bootstrapped CommandKit Development Environment in')} ${colors.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}\n${colors.greenBright('Watching for changes in')} ${colors.yellowBright('src')} ${colors.greenBright('directory')}\n\n${colors.greenBright('Commands:')}\n${colors.yellowBright('r')} - Restart the server\n${colors.yellowBright('rc')} - Reload all commands\n${colors.yellowBright('re')} - Reload all events`);\n\n const buildStart = performance.now();\n\n ps = await buildAndStart(cwd);\n\n const buildEnd = performance.now();\n\n console.log(\n `\\n${colors.greenBright('Development mode compilation took')} ${colors.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\\n`,\n );\n\n return {\n watcher,\n isConfigUpdate,\n performHMR,\n hmrHandler,\n sendHmrEvent,\n getProcess: () => ps,\n buildAndStart,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"development.js","names":[],"sources":["../../src/cli/development.ts"],"sourcesContent":["import { join } from 'path';\nimport { getPossibleConfigPaths, loadConfigFile } from '../config/loader';\nimport { isCompilerPlugin } from '../plugins';\nimport { createAppProcess } from './app-process';\nimport { buildApplication } from './build';\nimport { watch } from 'chokidar';\nimport { debounce } from '../utils/utilities';\nimport colors from '../utils/colors';\nimport { ChildProcess } from 'node:child_process';\nimport { setTimeout as sleep } from 'node:timers/promises';\nimport { randomUUID } from 'node:crypto';\nimport { COMMANDKIT_CWD, HMREventType } from '../utils/constants';\nimport { findEntrypoint } from './common';\n\n/**\n * @private\n * @internal\n */\nasync function buildAndStart(configPath: string, skipStart = false) {\n const config = await loadConfigFile(configPath);\n const mainFile = findEntrypoint('.commandkit');\n\n await buildApplication({\n configPath,\n isDev: true,\n plugins: config.plugins.flat(2).filter((p) => isCompilerPlugin(p)),\n rolldownPlugins: config.rolldownPlugins,\n });\n\n if (skipStart) return null as never;\n\n const ps = createAppProcess(mainFile, configPath, true);\n\n return ps;\n}\n\n/**\n * @private\n * @internal\n */\nconst isCommandSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/commands');\n\n/**\n * @private\n * @internal\n */\nconst isEventSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/events');\n\n/**\n * @private\n * @internal\n */\nexport async function bootstrapDevelopmentServer(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'development';\n process.env.COMMANDKIT_INTERNAL_IS_CLI_PROCESS = 'true';\n const start = performance.now();\n const cwd = configPath || COMMANDKIT_CWD;\n const configPaths = getPossibleConfigPaths(cwd);\n\n const watcher = watch([join(cwd, 'src'), ...configPaths], {\n ignoreInitial: true,\n });\n\n let ps: ChildProcess | null = null;\n\n const waitForAcknowledgment = (messageId: string): Promise<boolean> => {\n return new Promise((resolve) => {\n if (!ps) return resolve(false);\n\n let _handled = false;\n const onMessage = (message: any) => {\n _handled = true;\n if (typeof message !== 'object' || message === null) return;\n\n const { type, id, handled } = message;\n if (type === 'commandkit-hmr-ack' && id === messageId) {\n ps?.off('message', onMessage);\n resolve(!!handled);\n }\n };\n\n ps.once('message', onMessage);\n\n if (!_handled) {\n sleep(3000).then(() => {\n ps?.off('message', onMessage);\n resolve(false);\n });\n }\n });\n };\n\n const sendHmrEvent = async (\n event: HMREventType,\n path?: string,\n ): Promise<boolean> => {\n if (!ps || !ps.send) return false;\n\n const messageId = randomUUID();\n const messagePromise = waitForAcknowledgment(messageId);\n\n ps.send({ event, path, id: messageId });\n\n // Wait for acknowledgment or timeout after 3 seconds\n try {\n let triggered = false;\n const res = !!(await Promise.race([\n messagePromise,\n sleep(3000).then(() => {\n if (!triggered) {\n console.warn(\n colors.yellow(\n `HMR acknowledgment timed out for event ${event} on path ${path}`,\n ),\n );\n }\n return false;\n }),\n ]));\n\n triggered = true;\n\n return res;\n } catch (error) {\n console.error(\n colors.red(`Error waiting for HMR acknowledgment: ${error}`),\n );\n return false;\n }\n };\n\n const performHMR = debounce(async (path?: string): Promise<boolean> => {\n if (!path || !ps) return false;\n\n let eventType: HMREventType | null = null;\n let eventDescription = '';\n\n if (isCommandSource(path)) {\n eventType = HMREventType.ReloadCommands;\n eventDescription = 'command(s)';\n } else if (isEventSource(path)) {\n eventType = HMREventType.ReloadEvents;\n eventDescription = 'event(s)';\n } else {\n eventType = HMREventType.Unknown;\n eventDescription = 'unknown source';\n }\n\n if (eventType) {\n console.log(\n `${colors.cyanBright(`Attempting to reload ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n\n await buildAndStart(cwd, true);\n const hmrHandled = await sendHmrEvent(eventType, path);\n\n if (hmrHandled) {\n console.log(\n `${colors.greenBright(`Successfully hot reloaded ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n return true;\n }\n }\n\n return false;\n }, 700);\n\n const isConfigUpdate = (path: string) => {\n const isConfig = configPaths.some((configPath) => path === configPath);\n\n if (!isConfig) return false;\n\n console.log(\n colors.yellowBright(\n 'It seems like commandkit config file was updated, please restart the server manually to apply changes.',\n ),\n );\n\n return isConfig;\n };\n\n const hmrHandler = async (path: string) => {\n if (isConfigUpdate(path)) return;\n const hmr = await performHMR(path);\n if (hmr) return;\n\n console.log(\n `${colors.yellowBright('⚡️ Performing full restart due to the changes in')} ${colors.cyanBright(path)}`,\n );\n\n ps?.kill();\n ps = await buildAndStart(cwd);\n };\n\n process.stdin.on('data', async (d) => {\n const command = d.toString().trim();\n\n switch (command) {\n case 'r':\n console.log(`Received restart command, restarting...`);\n ps?.kill();\n ps = null;\n ps = await buildAndStart(cwd);\n break;\n case 'rc':\n console.log(`Received reload commands command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadCommands);\n break;\n case 're':\n console.log(`Received reload events command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadEvents);\n break;\n break;\n }\n });\n\n watcher.on('change', hmrHandler);\n watcher.on('add', hmrHandler);\n watcher.on('unlink', hmrHandler);\n watcher.on('unlinkDir', hmrHandler);\n watcher.on('error', (e) => {\n console.error(e);\n });\n\n console.log(`${colors.greenBright('Bootstrapped CommandKit Development Environment in')} ${colors.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}\n${colors.greenBright('Watching for changes in')} ${colors.yellowBright('src')} ${colors.greenBright('directory')}\n\n${colors.greenBright('Commands:')}\n${colors.yellowBright('r')} - Restart the server\n${colors.yellowBright('rc')} - Reload all commands\n${colors.yellowBright('re')} - Reload all events`);\n\n const buildStart = performance.now();\n\n ps = await buildAndStart(cwd);\n\n const buildEnd = performance.now();\n\n console.log(\n `\\n${colors.greenBright('Development mode compilation took')} ${colors.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\\n`,\n );\n\n return {\n watcher,\n isConfigUpdate,\n performHMR,\n hmrHandler,\n sendHmrEvent,\n getProcess: () => ps,\n buildAndStart,\n };\n}\n"],"mappings":"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"}