commandkit 1.2.0-rc.11 → 1.2.0-rc.13

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 (411) hide show
  1. package/{COPYING.md → LICENSE.md} +3 -3
  2. package/README.md +3 -3
  3. package/bin/index.mjs +1 -1
  4. package/cli.d.ts +19 -0
  5. package/config.cjs +3 -0
  6. package/config.d.ts +1 -0
  7. package/dist/{ActionRow-DKnFVDME.d.ts → ActionRow-B-CGmjDp.d.ts} +4 -5
  8. package/dist/{ActionRow-CbdGFWMT.js → ActionRow-CSN_UKmM.js} +3 -4
  9. package/dist/ActionRow-CSN_UKmM.js.map +1 -0
  10. package/dist/{Button-4ZUXdA56.d.ts → Button-C-GPeFA3.d.ts} +7 -8
  11. package/dist/{ButtonKit-C7r7RPNf.d.ts → ButtonKit-DKu0VAe4.d.ts} +37 -38
  12. package/dist/ChannelSelectMenuKit-HQZ4hH5s.d.ts +66 -0
  13. package/dist/{CommandKitEventsChannel-BtRzr3Tz.js → CommandKitEventsChannel-CnT5ymYe.js} +2 -2
  14. package/dist/{CommandKitEventsChannel-BtRzr3Tz.js.map → CommandKitEventsChannel-CnT5ymYe.js.map} +1 -1
  15. package/dist/{CommandsRouter-CoOA7hkf.d.ts → CommandsRouter-C7dZEepB.d.ts} +49 -50
  16. package/dist/{CommandsRouter-Dmzw-ikm.js → CommandsRouter-C_HLsrGX.js} +2 -6
  17. package/dist/{CommandsRouter-Dmzw-ikm.js.map → CommandsRouter-C_HLsrGX.js.map} +1 -1
  18. package/dist/{CompilerPlugin-M8r3yNAl.js → CompilerPlugin-CUsGAfgl.js} +2 -2
  19. package/dist/{CompilerPlugin-M8r3yNAl.js.map → CompilerPlugin-CUsGAfgl.js.map} +1 -1
  20. package/dist/{EventInterceptor-CQEXyUTp.js → EventInterceptor-BWoEJMHZ.js} +1 -1
  21. package/dist/{EventInterceptor-CQEXyUTp.js.map → EventInterceptor-BWoEJMHZ.js.map} +1 -1
  22. package/dist/{EventInterceptor-x-R2qshQ.d.ts → EventInterceptor-CZmWpS08.d.ts} +40 -40
  23. package/dist/{EventWorkerContext-Dq29tieI.js → EventWorkerContext-Dfhgv329.js} +2 -3
  24. package/dist/EventWorkerContext-Dfhgv329.js.map +1 -0
  25. package/dist/EventsRouter-DZ37r54v.d.ts +90 -0
  26. package/dist/{EventsRouter-3Gygh-km.js → EventsRouter-DZYIha6m.js} +2 -6
  27. package/dist/{EventsRouter-3Gygh-km.js.map → EventsRouter-DZYIha6m.js.map} +1 -1
  28. package/dist/MentionableSelectMenuKit-7URDUM3-.d.ts +61 -0
  29. package/dist/{MessageCommandParser-Dl0xxtdr.js → MessageCommandParser-Bs9fimmd.js} +53 -55
  30. package/dist/{MessageCommandParser-Dl0xxtdr.js.map → MessageCommandParser-Bs9fimmd.js.map} +1 -1
  31. package/dist/MessageCommandParser-q3dQcE5N.d.ts +194 -0
  32. package/dist/{Modal-C6UTRdYQ.d.ts → Modal-CZT9MZsy.d.ts} +25 -12
  33. package/dist/{ModalKit-Btz58KYn.d.ts → ModalKit-BWXI3Z26.d.ts} +34 -35
  34. package/dist/{PluginCommon-Cvl5yYM_.js → PluginCommon-BLxWww5u.js} +6 -7
  35. package/dist/{PluginCommon-Cvl5yYM_.js.map → PluginCommon-BLxWww5u.js.map} +1 -1
  36. package/dist/RoleSelectMenuKit-BY-JJ18w.d.ts +66 -0
  37. package/dist/{RuntimePlugin-BUecuBIU.js → RuntimePlugin-CtobluSU.js} +2 -2
  38. package/dist/{RuntimePlugin-BUecuBIU.js.map → RuntimePlugin-CtobluSU.js.map} +1 -1
  39. package/dist/{SelectMenu-Diy87_ba.d.ts → SelectMenu-q_b3Mjv9.d.ts} +10 -11
  40. package/dist/StringSelectMenuKit-lVhUMc3g.d.ts +66 -0
  41. package/dist/UserSelectMenuKit-CCj4Fpkr.d.ts +66 -0
  42. package/dist/analytics/analytics-engine.d.ts +1 -31
  43. package/dist/analytics/analytics-engine.js +24 -36
  44. package/dist/analytics/analytics-provider.d.ts +1 -31
  45. package/dist/analytics/constants.js +1 -1
  46. package/dist/analytics/utils.js +24 -36
  47. package/dist/{analytics-engine-AaAl3kQM.d.ts → analytics-engine-WQhXmx3H.d.ts} +855 -830
  48. package/dist/app/commands/AppCommandRunner.d.ts +1 -31
  49. package/dist/app/commands/AppCommandRunner.js +24 -36
  50. package/dist/app/commands/Context.d.ts +1 -31
  51. package/dist/app/commands/Context.js +24 -36
  52. package/dist/app/commands/MessageCommandParser.d.ts +1 -1
  53. package/dist/app/commands/MessageCommandParser.js +1 -2
  54. package/dist/app/commands/helpers.d.ts +1 -1
  55. package/dist/app/commands/helpers.js +1 -1
  56. package/dist/app/events/EventWorkerContext.d.ts +42 -33
  57. package/dist/app/events/EventWorkerContext.js +1 -1
  58. package/dist/app/handlers/AppCommandHandler.d.ts +1 -31
  59. package/dist/app/handlers/AppCommandHandler.js +24 -36
  60. package/dist/app/handlers/AppEventsHandler.d.ts +1 -31
  61. package/dist/app/handlers/AppEventsHandler.js +24 -36
  62. package/dist/app/index.d.ts +4 -31
  63. package/dist/app/index.js +24 -37
  64. package/dist/app/interrupt/signals.d.ts +1 -1
  65. package/dist/app/interrupt/signals.js +2 -3
  66. package/dist/app/middlewares/permissions.d.ts +1 -31
  67. package/dist/app/middlewares/permissions.js +24 -36
  68. package/dist/app/register/CommandRegistrar.d.ts +1 -31
  69. package/dist/app/register/CommandRegistrar.js +24 -36
  70. package/dist/app/router/CommandsRouter.d.ts +1 -1
  71. package/dist/app/router/CommandsRouter.js +1 -1
  72. package/dist/app/router/EventsRouter.d.ts +1 -1
  73. package/dist/app/router/EventsRouter.js +1 -1
  74. package/dist/app/router/index.d.ts +2 -3
  75. package/dist/app/router/index.js +3 -3
  76. package/dist/{chunk-nOFOJqeH.js → chunk-kSYXY2_d.js} +10 -6
  77. package/dist/cli/app-process.d.ts +0 -1
  78. package/dist/cli/app-process.js +62 -7
  79. package/dist/cli/app-process.js.map +1 -0
  80. package/dist/cli/build.d.ts +2 -31
  81. package/dist/cli/build.js +191 -41
  82. package/dist/cli/build.js.map +1 -0
  83. package/dist/cli/common.d.ts +1 -31
  84. package/dist/cli/common.js +4 -4
  85. package/dist/cli/development.d.ts +18 -1
  86. package/dist/cli/development.js +43 -48
  87. package/dist/cli/development.js.map +1 -1
  88. package/dist/cli/env.d.ts +4 -0
  89. package/dist/cli/env.js +1 -1
  90. package/dist/cli/generators.js +5 -8
  91. package/dist/cli/generators.js.map +1 -1
  92. package/dist/cli/information.js +5 -5
  93. package/dist/cli/information.js.map +1 -1
  94. package/dist/cli/init.d.ts +12 -2
  95. package/dist/cli/init.js +102 -38
  96. package/dist/cli/init.js.map +1 -0
  97. package/dist/cli/production.d.ts +0 -1
  98. package/dist/cli/production.js +38 -49
  99. package/dist/cli/production.js.map +1 -1
  100. package/dist/cli/type-checker.js +5 -5
  101. package/dist/cli/utils.d.ts +0 -1
  102. package/dist/cli/utils.js +17 -2
  103. package/dist/cli/utils.js.map +1 -0
  104. package/dist/{colors-DL3ucTiT.js → colors-Csc0X4QJ.js} +2 -3
  105. package/dist/{colors-DL3ucTiT.js.map → colors-Csc0X4QJ.js.map} +1 -1
  106. package/dist/{commandkit-ZoBBh0Q_.js → commandkit-SIjTLD2R.js} +229 -88
  107. package/dist/commandkit-SIjTLD2R.js.map +1 -0
  108. package/dist/commandkit.d.ts +1 -31
  109. package/dist/commandkit.js +24 -36
  110. package/dist/{common-vnMIelAE.js → common-CEordwf3.js} +3 -3
  111. package/dist/common-CEordwf3.js.map +1 -0
  112. package/dist/{common-CrqwC-sx.js → common-DSRs_mfw.js} +10 -14
  113. package/dist/{common-CrqwC-sx.js.map → common-DSRs_mfw.js.map} +1 -1
  114. package/dist/{common-DOCvOVC4.d.ts → common-DnwCYit8.d.ts} +4 -5
  115. package/dist/components/common/EventInterceptor.d.ts +1 -1
  116. package/dist/components/common/EventInterceptor.js +1 -1
  117. package/dist/components/common/element.d.ts +1 -4
  118. package/dist/components/common/element.js +1 -1
  119. package/dist/components/common/types.d.ts +1 -1
  120. package/dist/components/common/types.js +0 -1
  121. package/dist/components/{v2 → display}/common.d.ts +1 -2
  122. package/dist/components/display/common.js +3 -0
  123. package/dist/components/display/container.d.ts +2 -0
  124. package/dist/components/display/container.js +3 -0
  125. package/dist/components/display/file.d.ts +2 -0
  126. package/dist/components/display/file.js +3 -0
  127. package/dist/components/display/index.d.ts +9 -0
  128. package/dist/components/display/index.js +22 -0
  129. package/dist/components/display/label.d.ts +2 -0
  130. package/dist/components/display/label.js +3 -0
  131. package/dist/components/display/media-gallery.d.ts +2 -0
  132. package/dist/components/{v2 → display}/media-gallery.js +1 -2
  133. package/dist/components/display/poll.d.ts +2 -0
  134. package/dist/components/display/poll.js +5 -0
  135. package/dist/components/display/section.d.ts +2 -0
  136. package/dist/components/display/section.js +4 -0
  137. package/dist/components/display/separator.d.ts +2 -0
  138. package/dist/components/display/separator.js +3 -0
  139. package/dist/components/display/text-display.d.ts +2 -0
  140. package/dist/components/display/text-display.js +3 -0
  141. package/dist/components/index.d.ts +23 -24
  142. package/dist/components/index.js +30 -37
  143. package/dist/components/interactive/action-row/ActionRow.d.ts +2 -0
  144. package/dist/components/interactive/action-row/ActionRow.js +3 -0
  145. package/dist/components/interactive/button/Button.d.ts +2 -0
  146. package/dist/components/interactive/button/Button.js +26 -0
  147. package/dist/components/interactive/button/ButtonKit.d.ts +2 -0
  148. package/dist/components/interactive/button/ButtonKit.js +26 -0
  149. package/dist/components/interactive/modal/Modal.d.ts +2 -0
  150. package/dist/components/interactive/modal/Modal.js +30 -0
  151. package/dist/components/interactive/modal/ModalKit.d.ts +2 -0
  152. package/dist/components/interactive/modal/ModalKit.js +26 -0
  153. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.d.ts +2 -0
  154. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.js +26 -0
  155. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.d.ts +2 -0
  156. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.js +26 -0
  157. package/dist/components/interactive/select-menu/RoleSelectMenuKit.d.ts +2 -0
  158. package/dist/components/interactive/select-menu/RoleSelectMenuKit.js +26 -0
  159. package/dist/components/interactive/select-menu/SelectMenu.d.ts +2 -0
  160. package/dist/components/interactive/select-menu/SelectMenu.js +31 -0
  161. package/dist/components/interactive/select-menu/StringSelectMenuKit.d.ts +2 -0
  162. package/dist/components/interactive/select-menu/StringSelectMenuKit.js +26 -0
  163. package/dist/components/interactive/select-menu/UserSelectMenuKit.d.ts +2 -0
  164. package/dist/components/interactive/select-menu/UserSelectMenuKit.js +26 -0
  165. package/dist/components/interactive/select-menu/common.d.ts +2 -0
  166. package/dist/config/config.d.ts +15 -33
  167. package/dist/config/config.js +24 -36
  168. package/dist/config/default.d.ts +1 -31
  169. package/dist/config/default.js +24 -36
  170. package/dist/config/loader.d.ts +1 -31
  171. package/dist/config/loader.js +24 -36
  172. package/dist/config/types.d.ts +1 -31
  173. package/dist/config/utils.d.ts +1 -31
  174. package/dist/config/utils.js +1 -1
  175. package/dist/constants-BFFK-hfP.js +27 -0
  176. package/dist/{constants-4oxxvaJA.js.map → constants-BFFK-hfP.js.map} +1 -1
  177. package/dist/{constants-MKu-Q1jh.d.ts → constants-CuYW0K10.d.ts} +14 -8
  178. package/dist/{constants-BOOGN85p.js → constants-Cw8VjCVz.js} +2 -3
  179. package/dist/{constants-BOOGN85p.js.map → constants-Cw8VjCVz.js.map} +1 -1
  180. package/dist/{constants-B5_Ta7PR.js → constants-CxkFFZ7p.js} +16 -1
  181. package/dist/constants-CxkFFZ7p.js.map +1 -0
  182. package/dist/{constants-D8PMA9on.d.ts → constants-EpKcj0dH.d.ts} +2 -2
  183. package/dist/{container-C6GtfAPW.js → container-DCPljKVH.js} +4 -5
  184. package/dist/container-DCPljKVH.js.map +1 -0
  185. package/dist/{container-DHBELeJ3.d.ts → container-DYcb7zGw.d.ts} +3 -4
  186. package/dist/context/async-context.d.ts +1 -31
  187. package/dist/context/async-context.js +24 -36
  188. package/dist/context/environment.d.ts +1 -31
  189. package/dist/context/environment.js +24 -36
  190. package/dist/{element-Bak9llw_.js → element-DibzzA5L.js} +1 -1
  191. package/dist/element-DibzzA5L.js.map +1 -0
  192. package/dist/{element-CAXu1XtK.d.ts → element-wQo0heGj.d.ts} +4 -5
  193. package/dist/{env-_68PRRoA.js → env-CmspDhHy.js} +7 -3
  194. package/dist/env-CmspDhHy.js.map +1 -0
  195. package/dist/error-codes-Ds0bnPvT.js.map +1 -1
  196. package/dist/events/CommandKitEventsChannel.d.ts +1 -31
  197. package/dist/events/CommandKitEventsChannel.js +1 -1
  198. package/dist/{file-DVOELoNv.js → file-Ca1kpEtE.js} +3 -4
  199. package/dist/file-Ca1kpEtE.js.map +1 -0
  200. package/dist/{file-DTrr-p09.d.ts → file-CrV4lSnl.d.ts} +3 -4
  201. package/dist/flags/FlagProvider.d.ts +1 -31
  202. package/dist/flags/feature-flags.d.ts +1 -31
  203. package/dist/flags/feature-flags.js +165 -40
  204. package/dist/flags/feature-flags.js.map +1 -0
  205. package/dist/flags/store.d.ts +1 -31
  206. package/dist/flags/store.js +1 -1
  207. package/dist/{helpers-Wg6P5fRQ.d.ts → helpers-AQPLVY35.d.ts} +2 -3
  208. package/dist/{helpers-Dl8wW6aO.js → helpers-Btx1FSZx.js} +2 -3
  209. package/dist/{helpers-Dl8wW6aO.js.map → helpers-Btx1FSZx.js.map} +1 -1
  210. package/dist/index.d.ts +41 -42
  211. package/dist/index.js +47 -46
  212. package/dist/index.js.map +1 -1
  213. package/dist/kv/constants.d.ts +1 -1
  214. package/dist/kv/constants.js +1 -1
  215. package/dist/kv/dotprops.js +25 -3
  216. package/dist/kv/dotprops.js.map +1 -0
  217. package/dist/kv/kv.d.ts +289 -290
  218. package/dist/kv/kv.js +14 -18
  219. package/dist/kv/kv.js.map +1 -1
  220. package/dist/kv/serde.d.ts +12 -3
  221. package/dist/kv/serde.js +86 -4
  222. package/dist/kv/serde.js.map +1 -0
  223. package/dist/label-37kaNWMH.d.ts +28 -0
  224. package/dist/label-B6vXvwLM.js +35 -0
  225. package/dist/label-B6vXvwLM.js.map +1 -0
  226. package/dist/logger/DefaultLogger.d.ts +66 -3
  227. package/dist/logger/DefaultLogger.js +24 -36
  228. package/dist/logger/ILogger.d.ts +64 -2
  229. package/dist/logger/ILogger.js +0 -1
  230. package/dist/logger/Logger.d.ts +36 -3
  231. package/dist/logger/Logger.js +24 -36
  232. package/dist/logger/NoopLogger.d.ts +36 -37
  233. package/dist/{media-gallery-BMsXSot3.d.ts → media-gallery-Ci3I4ElH.d.ts} +3 -4
  234. package/dist/{media-gallery-zDtJ3kxb.js → media-gallery-u3gjX7yD.js} +4 -5
  235. package/dist/media-gallery-u3gjX7yD.js.map +1 -0
  236. package/dist/plugins/CompilerPlugin.d.ts +1 -31
  237. package/dist/plugins/CompilerPlugin.js +1 -2
  238. package/dist/plugins/PluginCommon.d.ts +1 -31
  239. package/dist/plugins/PluginCommon.js +1 -1
  240. package/dist/plugins/RuntimePlugin.d.ts +1 -31
  241. package/dist/plugins/RuntimePlugin.js +1 -2
  242. package/dist/plugins/index.d.ts +1 -31
  243. package/dist/plugins/index.js +26 -36
  244. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -31
  245. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +24 -36
  246. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -31
  247. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +24 -36
  248. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -31
  249. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +24 -36
  250. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -31
  251. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +24 -36
  252. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -31
  253. package/dist/plugins/plugin-runtime/runtime.js +0 -1
  254. package/dist/plugins/types.d.ts +1 -31
  255. package/dist/plugins/types.js +0 -1
  256. package/dist/poll-CFe8yvoJ.js +100 -0
  257. package/dist/poll-CFe8yvoJ.js.map +1 -0
  258. package/dist/poll-Ddtapd6n.d.ts +88 -0
  259. package/dist/{resolve-file-url-ChIyw-Vf.js → resolve-file-url-CdHqwWs3.js} +2 -2
  260. package/dist/{resolve-file-url-ChIyw-Vf.js.map → resolve-file-url-CdHqwWs3.js.map} +1 -1
  261. package/dist/{section-DlvrDoJK.js → section-BC8LF-B2.js} +4 -5
  262. package/dist/section-BC8LF-B2.js.map +1 -0
  263. package/dist/{section-Dh_FhPeC.d.ts → section-DkUKULnB.d.ts} +3 -4
  264. package/dist/{separator-DL6QH5H1.js → separator-BUTiW7uz.js} +3 -4
  265. package/dist/separator-BUTiW7uz.js.map +1 -0
  266. package/dist/{separator-CMf6Cyy5.d.ts → separator-CbXsIFCa.d.ts} +3 -4
  267. package/dist/{signals-ChFMD7mB.js → signals-B8z1wJ6W.js} +2 -2
  268. package/dist/{signals-ChFMD7mB.js.map → signals-B8z1wJ6W.js.map} +1 -1
  269. package/dist/{signals-SHg7J1U_.d.ts → signals-BbTgTc0i.d.ts} +2 -2
  270. package/dist/{store-CM6pWVZh.js → store-D8r_hryO.js} +2 -3
  271. package/dist/{store-CM6pWVZh.js.map → store-D8r_hryO.js.map} +1 -1
  272. package/dist/{text-display-DRw3r_lK.d.ts → text-display-D7j39VC-.d.ts} +3 -4
  273. package/dist/{text-display-DbMumig_.js → text-display-DANahMN3.js} +3 -4
  274. package/dist/text-display-DANahMN3.js.map +1 -0
  275. package/dist/{type-checker-ocNSZh0W.js → type-checker-cVd3Hpnh.js} +4 -6
  276. package/dist/{type-checker-ocNSZh0W.js.map → type-checker-cVd3Hpnh.js.map} +1 -1
  277. package/dist/{types-CJ-XvOFN.d.ts → types-BywA9d2Z.d.ts} +2 -2
  278. package/dist/{types-package-BWArjyBF.js → types-package-CsTNfvv2.js} +4 -8
  279. package/dist/{types-package-BWArjyBF.js.map → types-package-CsTNfvv2.js.map} +1 -1
  280. package/dist/types.d.ts +1 -31
  281. package/dist/utils/colors.js +1 -1
  282. package/dist/utils/constants.d.ts +2 -2
  283. package/dist/utils/constants.js +3 -2
  284. package/dist/utils/dev-hooks.d.ts +1 -31
  285. package/dist/utils/dev-hooks.js +24 -36
  286. package/dist/utils/error-codes.d.ts +54 -2
  287. package/dist/utils/resolve-file-url.d.ts +11 -2
  288. package/dist/utils/resolve-file-url.js +1 -1
  289. package/dist/utils/types-package.js +2 -2
  290. package/dist/utils/useful-stuff/async-queue.d.ts +21 -21
  291. package/dist/utils/useful-stuff/async-queue.js +1 -2
  292. package/dist/utils/useful-stuff/async-queue.js.map +1 -1
  293. package/dist/utils/useful-stuff/mutex.d.ts +62 -62
  294. package/dist/utils/useful-stuff/ratelimiter.d.ts +56 -56
  295. package/dist/utils/useful-stuff/ratelimiter.js +1 -2
  296. package/dist/utils/useful-stuff/ratelimiter.js.map +1 -1
  297. package/dist/utils/useful-stuff/semaphore.d.ts +82 -82
  298. package/dist/utils/useful-stuff/semaphore.js +1 -3
  299. package/dist/utils/useful-stuff/semaphore.js.map +1 -1
  300. package/dist/utils/utilities.d.ts +113 -2
  301. package/dist/utils/utilities.js +27 -37
  302. package/dist/utils/{warn-unstable.d.ts → warning.d.ts} +12 -3
  303. package/dist/utils/warning.js +5 -0
  304. package/dist/{utils-KsNof0Xz.js → utils-Br3eenD1.js} +1 -1
  305. package/dist/{utils-KsNof0Xz.js.map → utils-Br3eenD1.js.map} +1 -1
  306. package/dist/version.d.ts +8 -2
  307. package/dist/version.js +12 -2
  308. package/dist/version.js.map +1 -0
  309. package/dist/warning-CszH8HeS.js +53 -0
  310. package/dist/warning-CszH8HeS.js.map +1 -0
  311. package/hooks.cjs +11 -4
  312. package/package.json +14 -7
  313. package/dist/ActionRow-CbdGFWMT.js.map +0 -1
  314. package/dist/ChannelSelectMenuKit-BrXvBYNH.d.ts +0 -67
  315. package/dist/DefaultLogger-XCOl5nLd.d.ts +0 -67
  316. package/dist/EventWorkerContext-Dq29tieI.js.map +0 -1
  317. package/dist/EventWorkerContext-XNgriym3.d.ts +0 -43
  318. package/dist/EventsRouter-BacqK6z3.d.ts +0 -90
  319. package/dist/ILogger-BW8GM-YZ.d.ts +0 -64
  320. package/dist/Logger-DyfkPk7u.d.ts +0 -37
  321. package/dist/MentionableSelectMenuKit-CPTKqx-O.d.ts +0 -62
  322. package/dist/MessageCommandParser-BsGMOTDo.d.ts +0 -195
  323. package/dist/RoleSelectMenuKit-C26lU3sN.d.ts +0 -67
  324. package/dist/StringSelectMenuKit-Bhs8U6WI.d.ts +0 -67
  325. package/dist/UserSelectMenuKit-CfqFJdxz.d.ts +0 -67
  326. package/dist/app-process-cj2vF12T.js +0 -68
  327. package/dist/app-process-cj2vF12T.js.map +0 -1
  328. package/dist/build-B5qTswWF.js +0 -174
  329. package/dist/build-B5qTswWF.js.map +0 -1
  330. package/dist/commandkit-ZoBBh0Q_.js.map +0 -1
  331. package/dist/common-vnMIelAE.js.map +0 -1
  332. package/dist/components/v1/action-row/ActionRow.d.ts +0 -6
  333. package/dist/components/v1/action-row/ActionRow.js +0 -3
  334. package/dist/components/v1/button/Button.d.ts +0 -7
  335. package/dist/components/v1/button/Button.js +0 -38
  336. package/dist/components/v1/button/ButtonKit.d.ts +0 -3
  337. package/dist/components/v1/button/ButtonKit.js +0 -38
  338. package/dist/components/v1/modal/Modal.d.ts +0 -7
  339. package/dist/components/v1/modal/Modal.js +0 -41
  340. package/dist/components/v1/modal/ModalKit.d.ts +0 -3
  341. package/dist/components/v1/modal/ModalKit.js +0 -38
  342. package/dist/components/v1/select-menu/ChannelSelectMenuKit.d.ts +0 -4
  343. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +0 -38
  344. package/dist/components/v1/select-menu/MentionableSelectMenuKit.d.ts +0 -4
  345. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +0 -38
  346. package/dist/components/v1/select-menu/RoleSelectMenuKit.d.ts +0 -4
  347. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +0 -38
  348. package/dist/components/v1/select-menu/SelectMenu.d.ts +0 -10
  349. package/dist/components/v1/select-menu/SelectMenu.js +0 -43
  350. package/dist/components/v1/select-menu/StringSelectMenuKit.d.ts +0 -4
  351. package/dist/components/v1/select-menu/StringSelectMenuKit.js +0 -38
  352. package/dist/components/v1/select-menu/UserSelectMenuKit.d.ts +0 -4
  353. package/dist/components/v1/select-menu/UserSelectMenuKit.js +0 -38
  354. package/dist/components/v1/select-menu/common.d.ts +0 -3
  355. package/dist/components/v1/select-menu/common.js +0 -1
  356. package/dist/components/v2/common.js +0 -3
  357. package/dist/components/v2/container.d.ts +0 -2
  358. package/dist/components/v2/container.js +0 -4
  359. package/dist/components/v2/file.d.ts +0 -2
  360. package/dist/components/v2/file.js +0 -3
  361. package/dist/components/v2/index.d.ts +0 -8
  362. package/dist/components/v2/index.js +0 -17
  363. package/dist/components/v2/media-gallery.d.ts +0 -2
  364. package/dist/components/v2/section.d.ts +0 -2
  365. package/dist/components/v2/section.js +0 -5
  366. package/dist/components/v2/separator.d.ts +0 -2
  367. package/dist/components/v2/separator.js +0 -3
  368. package/dist/components/v2/text-display.d.ts +0 -2
  369. package/dist/components/v2/text-display.js +0 -3
  370. package/dist/config-D-JMp2IO.d.ts +0 -16
  371. package/dist/constants-4oxxvaJA.js +0 -27
  372. package/dist/constants-B5_Ta7PR.js.map +0 -1
  373. package/dist/container-C6GtfAPW.js.map +0 -1
  374. package/dist/dotprops-tnhpnszJ.js +0 -36
  375. package/dist/dotprops-tnhpnszJ.js.map +0 -1
  376. package/dist/element-Bak9llw_.js.map +0 -1
  377. package/dist/env-_68PRRoA.js.map +0 -1
  378. package/dist/error-codes-B4TyW4Ct.d.ts +0 -54
  379. package/dist/feature-flags-CKNrjgqg.js +0 -160
  380. package/dist/feature-flags-CKNrjgqg.js.map +0 -1
  381. package/dist/file-DVOELoNv.js.map +0 -1
  382. package/dist/init-DOr-Y3GQ.d.ts +0 -13
  383. package/dist/init-_7_QDifv.js +0 -95
  384. package/dist/init-_7_QDifv.js.map +0 -1
  385. package/dist/media-gallery-zDtJ3kxb.js.map +0 -1
  386. package/dist/resolve-file-url-yO8bUxok.d.ts +0 -11
  387. package/dist/section-DlvrDoJK.js.map +0 -1
  388. package/dist/separator-DL6QH5H1.js.map +0 -1
  389. package/dist/serde-BYaKrsOV.d.ts +0 -12
  390. package/dist/serde-Cc8iUa9J.js +0 -97
  391. package/dist/serde-Cc8iUa9J.js.map +0 -1
  392. package/dist/text-display-DbMumig_.js.map +0 -1
  393. package/dist/utilities-DtdPlr4c.d.ts +0 -87
  394. package/dist/utils/warn-unstable.js +0 -26
  395. package/dist/utils/warn-unstable.js.map +0 -1
  396. package/dist/utils-DCSnVAZ6.js +0 -23
  397. package/dist/utils-DCSnVAZ6.js.map +0 -1
  398. package/dist/v2-DofkPKHs.js +0 -0
  399. package/dist/version--Q1nmlBz.js +0 -18
  400. package/dist/version--Q1nmlBz.js.map +0 -1
  401. package/dist/version-CtJtBJXI.d.ts +0 -8
  402. /package/dist/{ILogger-dQ7Y9X1f.js → common-C2jAjX4U.js} +0 -0
  403. /package/dist/{app-HN1cVg8J.js → components/interactive/select-menu/common.js} +0 -0
  404. /package/dist/{common-CcfjYnPG.js → display-WDb9wMCv.js} +0 -0
  405. /package/dist/{index-CUPkUUOR.d.ts → index-BJfko-dP.d.ts} +0 -0
  406. /package/dist/{index-Dw5cCt-A.d.ts → index-CCggO_hw.d.ts} +0 -0
  407. /package/dist/{index-E7Wvm5uX.d.ts → index-CLjpoGi1.d.ts} +0 -0
  408. /package/dist/{router-Dn35v30f.js → router-BvamdzoF.js} +0 -0
  409. /package/dist/{runtime-DB9CiPfe.js → runtime-Skt5NiOc.js} +0 -0
  410. /package/dist/{types-CUZOquUl.js → types-Cdh4uaFR.js} +0 -0
  411. /package/dist/{types-q0Nm882H.js → types-TC4g3w91.js} +0 -0
package/dist/cli/build.js CHANGED
@@ -1,41 +1,191 @@
1
- require('../colors-DL3ucTiT.js');
2
- require('../ActionRow-CbdGFWMT.js');
3
- require('../error-codes-Ds0bnPvT.js');
4
- require('../commandkit-ZoBBh0Q_.js');
5
- require('../common-CcfjYnPG.js');
6
- require('../common-vnMIelAE.js');
7
- require('../container-C6GtfAPW.js');
8
- require('../file-DVOELoNv.js');
9
- require('../media-gallery-zDtJ3kxb.js');
10
- require('../section-DlvrDoJK.js');
11
- require('../separator-DL6QH5H1.js');
12
- require('../text-display-DbMumig_.js');
13
- require('../v2-DofkPKHs.js');
14
- require('../element-Bak9llw_.js');
15
- require('../types-CUZOquUl.js');
16
- require('../EventInterceptor-CQEXyUTp.js');
17
- require('../constants-B5_Ta7PR.js');
18
- require('../PluginCommon-Cvl5yYM_.js');
19
- require('../CompilerPlugin-M8r3yNAl.js');
20
- require('../RuntimePlugin-BUecuBIU.js');
21
- require('../types-q0Nm882H.js');
22
- require('../resolve-file-url-ChIyw-Vf.js');
23
- require('../runtime-DB9CiPfe.js');
24
- require('../utils-KsNof0Xz.js');
25
- require('../types-package-BWArjyBF.js');
26
- require('../constants-BOOGN85p.js');
27
- require('../EventWorkerContext-Dq29tieI.js');
28
- require('../signals-ChFMD7mB.js');
29
- require('../helpers-Dl8wW6aO.js');
30
- require('../MessageCommandParser-Dl0xxtdr.js');
31
- require('../CommandsRouter-Dmzw-ikm.js');
32
- require('../EventsRouter-3Gygh-km.js');
33
- require('../router-Dn35v30f.js');
34
- require('../common-CrqwC-sx.js');
35
- require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
- require('../store-CM6pWVZh.js');
37
- require('../env-_68PRRoA.js');
38
- require('../type-checker-ocNSZh0W.js');
39
- const require_build = require('../build-B5qTswWF.js');
40
-
41
- exports.buildApplication = require_build.buildApplication;
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');
29
+ let node_fs = require("node:fs");
30
+ let node_path = require("node:path");
31
+ let node_fs_promises = require("node:fs/promises");
32
+ let rimraf = require("rimraf");
33
+
34
+ //#region src/cli/build.ts
35
+ /**
36
+ * @private
37
+ * @internal
38
+ */
39
+ function mergeDefinitionsIfNeeded(env, isDev) {
40
+ const values = Object.fromEntries(Object.entries(process.env).filter(([k]) => !(k in env) && k.startsWith("COMMANDKIT_PUBLIC_")));
41
+ return {
42
+ ...env,
43
+ ...values,
44
+ ...isDev ? {
45
+ NODE_ENV: "development",
46
+ COMMANDKIT_BOOTSTRAP_MODE: "development",
47
+ COMMANDKIT_IS_DEV: "true",
48
+ COMMANDKIT_IS_TEST: "false"
49
+ } : {
50
+ NODE_ENV: "production",
51
+ COMMANDKIT_BOOTSTRAP_MODE: "production",
52
+ COMMANDKIT_IS_DEV: "false",
53
+ COMMANDKIT_IS_TEST: "false"
54
+ }
55
+ };
56
+ }
57
+ /**
58
+ * @private
59
+ * @internal
60
+ */
61
+ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath }) {
62
+ var _config$typescript;
63
+ const { build } = await require_common.loadTsdown();
64
+ 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);
66
+ const pluginRuntime = new require_commandkit.CompilerPluginRuntime(plugins || [], !!isDev);
67
+ rolldownPlugins ??= [];
68
+ rolldownPlugins.push(pluginRuntime.toJSON());
69
+ try {
70
+ var _config$sourceMap, _config$compilerOptio, _config$compilerOptio2, _config$antiCrashScri;
71
+ const dest = isDev ? ".commandkit" : config.distDir;
72
+ await (0, rimraf.rimraf)(dest);
73
+ await pluginRuntime.init();
74
+ await build(require_utils.mergeDeep({
75
+ watch: false,
76
+ dts: false,
77
+ clean: true,
78
+ format: ["esm"],
79
+ shims: true,
80
+ minify: false,
81
+ logLevel: !!isDev ? "silent" : "info",
82
+ inputOptions: {
83
+ transform: { jsx: {
84
+ runtime: "automatic",
85
+ importSource: "commandkit"
86
+ } },
87
+ checks: { circularDependency: true },
88
+ onwarn: (warning, defaultWarn) => {
89
+ var _warning$message;
90
+ if (warning === null || warning === void 0 || (_warning$message = warning.message) === null || _warning$message === void 0 ? void 0 : _warning$message.includes("compilerOptions.jsx")) return;
91
+ return defaultWarn(warning);
92
+ },
93
+ onLog: (level, log, defaultLog) => {
94
+ if (isDev) return;
95
+ return defaultLog(level, log);
96
+ },
97
+ moduleTypes: {
98
+ ".json": "json",
99
+ ".node": "binary"
100
+ }
101
+ },
102
+ outExtensions: (context) => {
103
+ return {
104
+ dts: ".d.ts",
105
+ js: context.format === "cjs" ? ".cjs" : ".js"
106
+ };
107
+ },
108
+ plugins: rolldownPlugins,
109
+ platform: "node",
110
+ skipNodeModulesBundle: true,
111
+ sourcemap: ((_config$sourceMap = config.sourceMap) === null || _config$sourceMap === void 0 ? void 0 : _config$sourceMap[isDev ? "development" : "production"]) ?? true,
112
+ target: "node16",
113
+ outDir: dest,
114
+ env: mergeDefinitionsIfNeeded(config.env || {}, !!isDev),
115
+ entry: Array.from(new Set([
116
+ "src/**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}",
117
+ `!${config.distDir}`,
118
+ "!.commandkit",
119
+ "!**/*.test.*",
120
+ "!**/*.spec.*",
121
+ ...config.entrypoints ?? []
122
+ ])),
123
+ outputOptions: { sanitizeFileName: (name) => name },
124
+ unbundle: isDev ? true : ((_config$compilerOptio = config.compilerOptions) === null || _config$compilerOptio === void 0 ? void 0 : _config$compilerOptio.disableChunking) ?? false
125
+ }, (_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);
128
+ } catch (error) {
129
+ console.error("Build failed:", error);
130
+ if (error instanceof Error) console.error("Error details:", error.stack);
131
+ process.exit(1);
132
+ } finally {
133
+ await pluginRuntime.destroy();
134
+ }
135
+ }
136
+ const envScript = (dev) => `// --- Environment Variables Loader ---
137
+ const $env = [${(dev ? require_env.devEnvFileArgs : require_env.prodEnvFileArgs).map((p) => `"${p}"`).join(", ")}];
138
+ for (const file of $env) {
139
+ try {
140
+ process.loadEnvFile(file);
141
+ console.log('\\x1b[36m✔ Loaded \\x1b[0m\\x1b[33m%s\\x1b[0m', file);
142
+ } catch {}
143
+ }
144
+ `;
145
+ const antiCrashScript = [
146
+ "// --- CommandKit Anti-Crash Monitor ---",
147
+ " // 'uncaughtException' event is supposed to be used to perform synchronous cleanup before shutting down the process",
148
+ " // instead of using it as a means to resume operation.",
149
+ " // But it exists here due to compatibility reasons with discord bot ecosystem.",
150
+ " const p = (t) => `\\x1b[31m${t}\\x1b[0m`, b = '[CommandKit Anti-Crash Monitor]', l = console.log, e1 = 'uncaughtException', e2 = 'unhandledRejection';",
151
+ " if (!process.eventNames().includes(e1)) // skip if it is already handled",
152
+ " process.on(e1, (e) => {",
153
+ " l(p(`${b} Uncaught Exception`)); l(p(b), p(e.stack || e));",
154
+ " })",
155
+ " if (!process.eventNames().includes(e2)) // skip if it is already handled",
156
+ " process.on(e2, (r) => {",
157
+ " l(p(`${b} Unhandled promise rejection`)); l(p(`${b} ${r.stack || r}`));",
158
+ " });",
159
+ "// --- CommandKit Anti-Crash Monitor ---"
160
+ ].join("\n");
161
+ const wrapInAsyncIIFE = (code) => `;await (async () => {\n${code.join("\n\n")}\n})();`;
162
+ async function injectEntryFile(configPath, isDev, emitAntiCrashScript, distDir) {
163
+ const entryFilePath = (0, node_path.join)(configPath, isDev ? ".commandkit" : distDir || "dist", "index.js");
164
+ if ((0, node_fs.existsSync)(entryFilePath)) return;
165
+ await (0, node_fs_promises.writeFile)(entryFilePath, `/* Entrypoint File Generated By CommandKit */
166
+ ${isDev ? `\n\n// Injected for development\n${wrapInAsyncIIFE([envScript(isDev), emitAntiCrashScript ? antiCrashScript : ""])}\n\n` : wrapInAsyncIIFE([envScript(isDev)])}
167
+
168
+
169
+ async function bootstrap() {
170
+ const { Client } = await import('discord.js');
171
+ const { commandkit } = await import('commandkit');
172
+ const app = await import('./app.js').then((m) => m.default ?? m);
173
+
174
+ if (!app || !(app instanceof Client)) {
175
+ throw new Error('The app file must default export the discord.js client instance');
176
+ }
177
+
178
+ commandkit.setClient(app);
179
+
180
+ await commandkit.start();
181
+ }
182
+
183
+ await bootstrap().catch((e) => {
184
+ console.error('Failed to bootstrap CommandKit application:\\n', e.stack);
185
+ })
186
+ `);
187
+ }
188
+
189
+ //#endregion
190
+ exports.buildApplication = buildApplication;
191
+ //# sourceMappingURL=build.js.map
@@ -0,0 +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":"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"}
@@ -1,34 +1,4 @@
1
- import { ResolvedCommandKitConfig } from "../analytics-engine-AaAl3kQM.js";
2
- import "../EventInterceptor-x-R2qshQ.js";
3
- import "../ButtonKit-C7r7RPNf.js";
4
- import "../ModalKit-Btz58KYn.js";
5
- import "../element-CAXu1XtK.js";
6
- import "../ActionRow-DKnFVDME.js";
7
- import "../types-CJ-XvOFN.js";
8
- import "../Button-4ZUXdA56.js";
9
- import "../Modal-C6UTRdYQ.js";
10
- import "../common-DOCvOVC4.js";
11
- import "../StringSelectMenuKit-Bhs8U6WI.js";
12
- import "../ChannelSelectMenuKit-BrXvBYNH.js";
13
- import "../MentionableSelectMenuKit-CPTKqx-O.js";
14
- import "../UserSelectMenuKit-CfqFJdxz.js";
15
- import "../RoleSelectMenuKit-C26lU3sN.js";
16
- import "../SelectMenu-Diy87_ba.js";
17
- import "../container-DHBELeJ3.js";
18
- import "../file-DTrr-p09.js";
19
- import "../media-gallery-BMsXSot3.js";
20
- import "../section-Dh_FhPeC.js";
21
- import "../separator-CMf6Cyy5.js";
22
- import "../text-display-DRw3r_lK.js";
23
- import "../index-Dw5cCt-A.js";
24
- import "../index-E7Wvm5uX.js";
25
- import "../MessageCommandParser-BsGMOTDo.js";
26
- import "../signals-SHg7J1U_.js";
27
- import "../helpers-Wg6P5fRQ.js";
28
- import "../CommandsRouter-CoOA7hkf.js";
29
- import "../EventsRouter-BacqK6z3.js";
30
- import "../index-CUPkUUOR.js";
31
- import "../constants-MKu-Q1jh.js";
1
+ import { m as ResolvedCommandKitConfig } from "../analytics-engine-WQhXmx3H.js";
32
2
  import * as tsdown0 from "tsdown";
33
3
  import * as typescript0 from "typescript";
34
4
 
@@ -1,7 +1,7 @@
1
- require('../colors-DL3ucTiT.js');
2
- require('../constants-B5_Ta7PR.js');
3
- require('../types-package-BWArjyBF.js');
4
- const require_common = require('../common-CrqwC-sx.js');
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');
5
5
 
6
6
  exports.copyLocaleFiles = require_common.copyLocaleFiles;
7
7
  exports.erase = require_common.erase;
@@ -1,9 +1,26 @@
1
+ import { o as HMREventType } from "../constants-CuYW0K10.js";
2
+ import * as chokidar0 from "chokidar";
3
+ import { ChildProcess } from "node:child_process";
4
+
1
5
  //#region src/cli/development.d.ts
2
6
  /**
3
7
  * @private
4
8
  * @internal
5
9
  */
6
- declare function bootstrapDevelopmentServer(configPath?: string): Promise<void>;
10
+ declare function buildAndStart(configPath: string, skipStart?: boolean): Promise<ChildProcess>;
11
+ /**
12
+ * @private
13
+ * @internal
14
+ */
15
+ declare function bootstrapDevelopmentServer(configPath?: string): Promise<{
16
+ watcher: chokidar0.FSWatcher;
17
+ isConfigUpdate: (path: string) => boolean;
18
+ performHMR: (path?: string) => Promise<boolean>;
19
+ hmrHandler: (path: string) => Promise<void>;
20
+ sendHmrEvent: (event: HMREventType, path?: string) => Promise<boolean>;
21
+ getProcess: () => ChildProcess | null;
22
+ buildAndStart: typeof buildAndStart;
23
+ }>;
7
24
  //#endregion
8
25
  export { bootstrapDevelopmentServer };
9
26
  //# sourceMappingURL=development.d.ts.map
@@ -1,52 +1,37 @@
1
- const require_chunk = require('../chunk-nOFOJqeH.js');
2
- const require_colors = require('../colors-DL3ucTiT.js');
3
- require('../ActionRow-CbdGFWMT.js');
4
- require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-ZoBBh0Q_.js');
6
- require('../common-CcfjYnPG.js');
7
- require('../common-vnMIelAE.js');
8
- require('../container-C6GtfAPW.js');
9
- require('../file-DVOELoNv.js');
10
- require('../media-gallery-zDtJ3kxb.js');
11
- require('../section-DlvrDoJK.js');
12
- require('../separator-DL6QH5H1.js');
13
- require('../text-display-DbMumig_.js');
14
- require('../v2-DofkPKHs.js');
15
- require('../element-Bak9llw_.js');
16
- require('../types-CUZOquUl.js');
17
- require('../EventInterceptor-CQEXyUTp.js');
18
- const require_constants = require('../constants-B5_Ta7PR.js');
19
- require('../PluginCommon-Cvl5yYM_.js');
20
- const require_CompilerPlugin = require('../CompilerPlugin-M8r3yNAl.js');
21
- require('../RuntimePlugin-BUecuBIU.js');
22
- require('../types-q0Nm882H.js');
23
- require('../resolve-file-url-ChIyw-Vf.js');
24
- require('../runtime-DB9CiPfe.js');
25
- require('../utils-KsNof0Xz.js');
26
- require('../types-package-BWArjyBF.js');
27
- require('../constants-BOOGN85p.js');
28
- require('../EventWorkerContext-Dq29tieI.js');
29
- require('../signals-ChFMD7mB.js');
30
- require('../helpers-Dl8wW6aO.js');
31
- require('../MessageCommandParser-Dl0xxtdr.js');
32
- require('../CommandsRouter-Dmzw-ikm.js');
33
- require('../EventsRouter-3Gygh-km.js');
34
- require('../router-Dn35v30f.js');
35
- const require_common$2 = require('../common-CrqwC-sx.js');
36
- require('../CommandKitEventsChannel-BtRzr3Tz.js');
37
- require('../store-CM6pWVZh.js');
38
- require('../env-_68PRRoA.js');
39
- const require_app_process = require('../app-process-cj2vF12T.js');
40
- require('../type-checker-ocNSZh0W.js');
41
- const require_build = require('../build-B5qTswWF.js');
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');
28
+ const require_cli_app_process = require('./app-process.js');
29
+ require('../type-checker-cVd3Hpnh.js');
30
+ const require_cli_build = require('./build.js');
42
31
  let node_crypto = require("node:crypto");
43
- node_crypto = require_chunk.__toESM(node_crypto);
44
32
  let path = require("path");
45
- path = require_chunk.__toESM(path);
46
33
  let chokidar = require("chokidar");
47
- chokidar = require_chunk.__toESM(chokidar);
48
34
  let node_timers_promises = require("node:timers/promises");
49
- node_timers_promises = require_chunk.__toESM(node_timers_promises);
50
35
 
51
36
  //#region src/cli/development.ts
52
37
  /**
@@ -55,15 +40,15 @@ node_timers_promises = require_chunk.__toESM(node_timers_promises);
55
40
  */
56
41
  async function buildAndStart(configPath, skipStart = false) {
57
42
  const config = await require_commandkit.loadConfigFile(configPath);
58
- const mainFile = require_common$2.findEntrypoint(".commandkit");
59
- await require_build.buildApplication({
43
+ const mainFile = require_common.findEntrypoint(".commandkit");
44
+ await require_cli_build.buildApplication({
60
45
  configPath,
61
46
  isDev: true,
62
47
  plugins: config.plugins.flat(2).filter((p) => require_CompilerPlugin.isCompilerPlugin(p)),
63
48
  rolldownPlugins: config.rolldownPlugins
64
49
  });
65
50
  if (skipStart) return null;
66
- return require_app_process.createAppProcess(mainFile, configPath, true);
51
+ return require_cli_app_process.createAppProcess(mainFile, configPath, true);
67
52
  }
68
53
  /**
69
54
  * @private
@@ -81,6 +66,7 @@ const isEventSource = (p) => p.replaceAll("\\", "/").includes("src/app/events");
81
66
  */
82
67
  async function bootstrapDevelopmentServer(configPath) {
83
68
  process.env.COMMANDKIT_BOOTSTRAP_MODE = "development";
69
+ process.env.COMMANDKIT_INTERNAL_IS_CLI_PROCESS = "true";
84
70
  const start = performance.now();
85
71
  const cwd = configPath || require_constants.COMMANDKIT_CWD;
86
72
  const configPaths = require_commandkit.getPossibleConfigPaths(cwd);
@@ -201,6 +187,15 @@ ${require_colors.colors_default.yellowBright("re")} - Reload all events`);
201
187
  ps = await buildAndStart(cwd);
202
188
  const buildEnd = performance.now();
203
189
  console.log(`\n${require_colors.colors_default.greenBright("Development mode compilation took")} ${require_colors.colors_default.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\n`);
190
+ return {
191
+ watcher,
192
+ isConfigUpdate,
193
+ performHMR,
194
+ hmrHandler,
195
+ sendHmrEvent,
196
+ getProcess: () => ps,
197
+ buildAndStart
198
+ };
204
199
  }
205
200
 
206
201
  //#endregion
@@ -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 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"],"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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"}
package/dist/cli/env.d.ts CHANGED
@@ -6,6 +6,8 @@
6
6
  declare function DevEnv(_static?: boolean): {
7
7
  NODE_ENV: string;
8
8
  COMMANDKIT_IS_DEV: string;
9
+ COMMANDKIT_INTERNAL_IS_CLI_PROCESS: string;
10
+ COMMANDKIT_IS_BUILD: string;
9
11
  };
10
12
  /**
11
13
  * @private
@@ -14,6 +16,8 @@ declare function DevEnv(_static?: boolean): {
14
16
  declare function ProdEnv(_static?: boolean): {
15
17
  NODE_ENV: string;
16
18
  COMMANDKIT_IS_DEV: string;
19
+ COMMANDKIT_INTERNAL_IS_CLI_PROCESS: string;
20
+ COMMANDKIT_IS_BUILD: string;
17
21
  };
18
22
  /**
19
23
  * @private
package/dist/cli/env.js CHANGED
@@ -1,4 +1,4 @@
1
- const require_env = require('../env-_68PRRoA.js');
1
+ const require_env = require('../env-CmspDhHy.js');
2
2
 
3
3
  exports.CommonEnvFiles = require_env.CommonEnvFiles;
4
4
  exports.DevEnv = require_env.DevEnv;
@@ -1,14 +1,11 @@
1
- const require_chunk = require('../chunk-nOFOJqeH.js');
2
- const require_colors = require('../colors-DL3ucTiT.js');
3
- const require_constants = require('../constants-B5_Ta7PR.js');
4
- require('../types-package-BWArjyBF.js');
5
- const require_common = require('../common-CrqwC-sx.js');
1
+ const require_chunk = require('../chunk-kSYXY2_d.js');
2
+ const require_colors = require('../colors-Csc0X4QJ.js');
3
+ const require_constants = require('../constants-CxkFFZ7p.js');
4
+ require('../types-package-CsTNfvv2.js');
5
+ const require_common = require('../common-DSRs_mfw.js');
6
6
  let path = require("path");
7
- path = require_chunk.__toESM(path);
8
7
  let fs_promises = require("fs/promises");
9
- fs_promises = require_chunk.__toESM(fs_promises);
10
8
  let fs = require("fs");
11
- fs = require_chunk.__toESM(fs);
12
9
 
13
10
  //#region src/cli/generators.ts
14
11
  const BASE_PATH = require_constants.COMMANDKIT_CWD;
@@ -1 +1 @@
1
- {"version":3,"file":"generators.js","names":[],"sources":["../../src/cli/generators.ts"],"sourcesContent":["import { mkdir, writeFile, readdir } from 'fs/promises';\nimport { join } from 'path';\nimport { panic } from './common';\nimport { existsSync } from 'fs';\nimport colors from '../utils/colors';\nimport { COMMANDKIT_CWD } from '../utils/constants';\n\nconst BASE_PATH = COMMANDKIT_CWD;\nconst COMMANDS_DIR = join(BASE_PATH, 'src/app/commands');\nconst EVENTS_DIR = join(BASE_PATH, 'src/app/events');\n\n/**\n * @private\n * @internal\n */\nconst formatPath = (path: string) =>\n path.replace(COMMANDKIT_CWD, '.').replace(/\\\\/g, '/');\n\n/**\n * @private\n * @internal\n */\nfunction determineExtension() {\n return existsSync(join(BASE_PATH, 'tsconfig.json')) ? 'ts' : 'js';\n}\n\n/**\n * @private\n * @internal\n */\nfunction TS_COMMAND_SOURCE(name: string) {\n return `import type { CommandData, ChatInputCommand, MessageCommand } from 'commandkit';\n\nexport const command: CommandData = {\n name: '${name}',\n description: '${name} command',\n};\n\nexport const chatInput: ChatInputCommand = async (ctx) => {\n await ctx.interaction.reply('Hello from ${name}!');\n};\n\nexport const message: MessageCommand = async (ctx) => {\n await ctx.message.reply('Hello from ${name}!');\n};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nfunction JS_COMMAND_SOURCE(name: string) {\n return `/**\n * @type {import('commandkit').CommandData}\n */\nexport const command = {\n name: '${name}',\n description: '${name} command',\n};\n\n/**\n * @type {import('commandkit').ChatInputCommand}\n */\nexport const chatInput = async (ctx) => {\n await ctx.interaction.reply('Hello from ${name}!');\n};\n\n/**\n * @type {import('commandkit').MessageCommand}\n */\nexport const message = async (ctx) => {\n await ctx.message.reply('Hello from ${name}!');\n};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nfunction TS_EVENT_SOURCE(name: string) {\n const eventName = name[0].toUpperCase() + name.slice(1);\n return `import type { EventHandler } from 'commandkit';\n\nconst ${eventName}: EventHandler<'${name}'> = async () => {\n console.log('${name} event fired!');\n};\n\nexport default ${eventName};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nfunction JS_EVENT_SOURCE(name: string) {\n const eventName = `on${name[0].toUpperCase() + name.slice(1)}`;\n return `/**\n * @type {import('commandkit').EventHandler<'${name}'>}\n */\nconst ${eventName} = async () => {\n console.log('${name} event fired!');\n};\n\nexport default ${eventName};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nexport async function generateCommand(name: string, customPath?: string) {\n const cmdPath = join(customPath || COMMANDS_DIR);\n if (!existsSync(cmdPath)) await mkdir(cmdPath, { recursive: true });\n\n const ext = determineExtension();\n const isTypeScript = ext === 'ts';\n\n const fileName = `${name}.${ext}`;\n\n if (existsSync(join(cmdPath, fileName))) {\n panic(`Command ${name} already exists.`);\n }\n\n const commandFile = isTypeScript\n ? TS_COMMAND_SOURCE(name)\n : JS_COMMAND_SOURCE(name);\n\n await writeFile(join(cmdPath, fileName), commandFile);\n\n console.log(\n colors.green(\n `Command ${colors.magenta(name)} created at ${colors.blue(formatPath(`${cmdPath}/${fileName}`))}`,\n ),\n );\n}\n\n/**\n * @private\n * @internal\n */\nexport async function generateEvent(name: string, customPath?: string) {\n const eventPath = join(customPath || EVENTS_DIR, name);\n if (!existsSync(eventPath)) await mkdir(eventPath, { recursive: true });\n\n const ext = determineExtension();\n const isTypeScript = ext === 'ts';\n\n let filename = `event.${ext}`;\n\n if (existsSync(join(eventPath, filename))) {\n const count = (await readdir(eventPath)).length;\n filename = `${String(count).padStart(2, '0')}_${filename}`;\n }\n\n const eventFile = isTypeScript\n ? TS_EVENT_SOURCE(name)\n : JS_EVENT_SOURCE(name);\n\n await writeFile(join(eventPath, filename), eventFile);\n\n console.log(\n colors.green(\n `Event ${colors.magenta(name)} created at ${colors.blue(formatPath(eventPath))}/${colors.magenta(filename)}`,\n ),\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAOA,MAAM,YAAY;AAClB,MAAM,8BAAoB,WAAW,mBAAmB;AACxD,MAAM,4BAAkB,WAAW,iBAAiB;;;;;AAMpD,MAAM,cAAc,WACpB,OAAK,QAAQ,kCAAgB,IAAI,CAAC,QAAQ,OAAO,IAAI;;;;;AAMrD,SAAS,qBAAqB;AAC5B,0CAAuB,WAAW,gBAAgB,CAAC,GAAG,OAAO;;;;;;AAO/D,SAAS,kBAAkB,MAAc;AACvC,QAAO;;;WAGE,KAAK;kBACE,KAAK;;;;4CAIqB,KAAK;;;;wCAIT,KAAK;;;;;;;;AAS7C,SAAS,kBAAkB,MAAc;AACvC,QAAO;;;;WAIE,KAAK;kBACE,KAAK;;;;;;;4CAOqB,KAAK;;;;;;;wCAOT,KAAK;;;;;;;;AAS7C,SAAS,gBAAgB,MAAc;CACrC,MAAM,YAAY,KAAK,GAAG,aAAa,GAAG,KAAK,MAAM,EAAE;AACvD,QAAO;;QAED,UAAU,kBAAkB,KAAK;iBACxB,KAAK;;;iBAGL,UAAU;;;;;;;AAQ3B,SAAS,gBAAgB,MAAc;CACrC,MAAM,YAAY,KAAK,KAAK,GAAG,aAAa,GAAG,KAAK,MAAM,EAAE;AAC5D,QAAO;+CACsC,KAAK;;QAE5C,UAAU;iBACD,KAAK;;;iBAGL,UAAU;;;;;;;AAQ3B,eAAsB,gBAAgB,MAAc,YAAqB;CACvE,MAAM,yBAAe,cAAc,aAAa;AAChD,KAAI,oBAAY,QAAQ,CAAE,8BAAY,SAAS,EAAE,WAAW,MAAM,CAAC;CAEnE,MAAM,MAAM,oBAAoB;CAChC,MAAM,eAAe,QAAQ;CAE7B,MAAM,WAAW,GAAG,KAAK,GAAG;AAE5B,uCAAoB,SAAS,SAAS,CAAC,CACrC,sBAAM,WAAW,KAAK,kBAAkB;CAG1C,MAAM,cAAc,eACpB,kBAAkB,KAAK,GACvB,kBAAkB,KAAK;AAEvB,iDAAqB,SAAS,SAAS,EAAE,YAAY;AAErD,SAAQ,IACN,8BAAO,MACL,WAAW,8BAAO,QAAQ,KAAK,CAAC,cAAc,8BAAO,KAAK,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC,GAChG,CACF;;;;;;AAOH,eAAsB,cAAc,MAAc,YAAqB;CACrE,MAAM,2BAAiB,cAAc,YAAY,KAAK;AACtD,KAAI,oBAAY,UAAU,CAAE,8BAAY,WAAW,EAAE,WAAW,MAAM,CAAC;CAEvE,MAAM,MAAM,oBAAoB;CAChC,MAAM,eAAe,QAAQ;CAE7B,IAAI,WAAW,SAAS;AAExB,uCAAoB,WAAW,SAAS,CAAC,EAAE;EACzC,MAAM,SAAS,+BAAc,UAAU,EAAE;AACzC,aAAW,GAAG,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG;;CAGlD,MAAM,YAAY,eAClB,gBAAgB,KAAK,GACrB,gBAAgB,KAAK;AAErB,iDAAqB,WAAW,SAAS,EAAE,UAAU;AAErD,SAAQ,IACN,8BAAO,MACL,SAAS,8BAAO,QAAQ,KAAK,CAAC,cAAc,8BAAO,KAAK,WAAW,UAAU,CAAC,CAAC,GAAG,8BAAO,QAAQ,SAAS,GAC3G,CACF"}
1
+ {"version":3,"file":"generators.js","names":[],"sources":["../../src/cli/generators.ts"],"sourcesContent":["import { mkdir, writeFile, readdir } from 'fs/promises';\nimport { join } from 'path';\nimport { panic } from './common';\nimport { existsSync } from 'fs';\nimport colors from '../utils/colors';\nimport { COMMANDKIT_CWD } from '../utils/constants';\n\nconst BASE_PATH = COMMANDKIT_CWD;\nconst COMMANDS_DIR = join(BASE_PATH, 'src/app/commands');\nconst EVENTS_DIR = join(BASE_PATH, 'src/app/events');\n\n/**\n * @private\n * @internal\n */\nconst formatPath = (path: string) =>\n path.replace(COMMANDKIT_CWD, '.').replace(/\\\\/g, '/');\n\n/**\n * @private\n * @internal\n */\nfunction determineExtension() {\n return existsSync(join(BASE_PATH, 'tsconfig.json')) ? 'ts' : 'js';\n}\n\n/**\n * @private\n * @internal\n */\nfunction TS_COMMAND_SOURCE(name: string) {\n return `import type { CommandData, ChatInputCommand, MessageCommand } from 'commandkit';\n\nexport const command: CommandData = {\n name: '${name}',\n description: '${name} command',\n};\n\nexport const chatInput: ChatInputCommand = async (ctx) => {\n await ctx.interaction.reply('Hello from ${name}!');\n};\n\nexport const message: MessageCommand = async (ctx) => {\n await ctx.message.reply('Hello from ${name}!');\n};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nfunction JS_COMMAND_SOURCE(name: string) {\n return `/**\n * @type {import('commandkit').CommandData}\n */\nexport const command = {\n name: '${name}',\n description: '${name} command',\n};\n\n/**\n * @type {import('commandkit').ChatInputCommand}\n */\nexport const chatInput = async (ctx) => {\n await ctx.interaction.reply('Hello from ${name}!');\n};\n\n/**\n * @type {import('commandkit').MessageCommand}\n */\nexport const message = async (ctx) => {\n await ctx.message.reply('Hello from ${name}!');\n};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nfunction TS_EVENT_SOURCE(name: string) {\n const eventName = name[0].toUpperCase() + name.slice(1);\n return `import type { EventHandler } from 'commandkit';\n\nconst ${eventName}: EventHandler<'${name}'> = async () => {\n console.log('${name} event fired!');\n};\n\nexport default ${eventName};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nfunction JS_EVENT_SOURCE(name: string) {\n const eventName = `on${name[0].toUpperCase() + name.slice(1)}`;\n return `/**\n * @type {import('commandkit').EventHandler<'${name}'>}\n */\nconst ${eventName} = async () => {\n console.log('${name} event fired!');\n};\n\nexport default ${eventName};\n`;\n}\n\n/**\n * @private\n * @internal\n */\nexport async function generateCommand(name: string, customPath?: string) {\n const cmdPath = join(customPath || COMMANDS_DIR);\n if (!existsSync(cmdPath)) await mkdir(cmdPath, { recursive: true });\n\n const ext = determineExtension();\n const isTypeScript = ext === 'ts';\n\n const fileName = `${name}.${ext}`;\n\n if (existsSync(join(cmdPath, fileName))) {\n panic(`Command ${name} already exists.`);\n }\n\n const commandFile = isTypeScript\n ? TS_COMMAND_SOURCE(name)\n : JS_COMMAND_SOURCE(name);\n\n await writeFile(join(cmdPath, fileName), commandFile);\n\n console.log(\n colors.green(\n `Command ${colors.magenta(name)} created at ${colors.blue(formatPath(`${cmdPath}/${fileName}`))}`,\n ),\n );\n}\n\n/**\n * @private\n * @internal\n */\nexport async function generateEvent(name: string, customPath?: string) {\n const eventPath = join(customPath || EVENTS_DIR, name);\n if (!existsSync(eventPath)) await mkdir(eventPath, { recursive: true });\n\n const ext = determineExtension();\n const isTypeScript = ext === 'ts';\n\n let filename = `event.${ext}`;\n\n if (existsSync(join(eventPath, filename))) {\n const count = (await readdir(eventPath)).length;\n filename = `${String(count).padStart(2, '0')}_${filename}`;\n }\n\n const eventFile = isTypeScript\n ? TS_EVENT_SOURCE(name)\n : JS_EVENT_SOURCE(name);\n\n await writeFile(join(eventPath, filename), eventFile);\n\n console.log(\n colors.green(\n `Event ${colors.magenta(name)} created at ${colors.blue(formatPath(eventPath))}/${colors.magenta(filename)}`,\n ),\n );\n}\n"],"mappings":";;;;;;;;;;AAOA,MAAM,YAAY;AAClB,MAAM,8BAAoB,WAAW,mBAAmB;AACxD,MAAM,4BAAkB,WAAW,iBAAiB;;;;;AAMpD,MAAM,cAAc,WACpB,OAAE,QAAK,kCAAsB,IAAI,CAAC,QAAE,OAAa,IAAI;;;;;AAMrD,SAAS,qBAAqB;AAC5B,0CAAuB,WAAW,gBAAgB,CAAC,GAAG,OAAO;;;;;;AAO/D,SAAS,kBAAkB,MAAc;AACvC,QAAO;;;WAGE,KAAK;kBACE,KAAK;;;;4CAIqB,KAAK;;;;wCAIT,KAAK;;;;;;;;AAS7C,SAAS,kBAAkB,MAAc;AACvC,QAAO;;;;WAIE,KAAK;kBACE,KAAK;;;;;;;4CAOqB,KAAK;;;;;;;wCAOT,KAAK;;;;;;;;AAS7C,SAAS,gBAAgB,MAAc;CACrC,MAAM,YAAY,KAAK,GAAG,aAAa,GAAG,KAAK,MAAM,EAAE;AACvD,QAAO;;QAED,UAAU,kBAAkB,KAAK;iBACxB,KAAK;;;iBAGL,UAAU;;;;;;;AAQ3B,SAAS,gBAAgB,MAAc;CACrC,MAAM,YAAY,KAAK,KAAK,GAAG,aAAa,GAAG,KAAK,MAAM,EAAE;AAC5D,QAAO;+CACsC,KAAK;;QAE5C,UAAU;iBACD,KAAK;;;iBAGL,UAAU;;;;;;;AAQ3B,eAAsB,gBAAgB,MAAc,YAAqB;CACvE,MAAM,yBAAe,cAAc,aAAa;AAChD,KAAI,oBAAY,QAAQ,CAAE,8BAAY,SAAS,EAAE,WAAW,MAAM,CAAC;CAEnE,MAAM,MAAM,oBAAoB;CAChC,MAAM,eAAe,QAAQ;CAE7B,MAAM,WAAW,GAAG,KAAK,GAAG;AAE5B,uCAAoB,SAAS,SAAS,CAAC,CACrC,sBAAM,WAAW,KAAK,kBAAkB;CAG1C,MAAM,cAAc,eACpB,kBAAI,KAAkB,GACtB,kBAAI,KAAkB;AAEtB,iDAAqB,SAAS,SAAS,EAAE,YAAY;AAErD,SAAQ,IACN,8BAAO,MACL,WAAW,8BAAO,QAAQ,KAAK,CAAC,cAAc,8BAAO,KAAK,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC,GAChG,CACF;;;;;;AAOH,eAAsB,cAAc,MAAc,YAAqB;CACrE,MAAM,2BAAiB,cAAc,YAAY,KAAK;AACtD,KAAI,oBAAY,UAAU,CAAE,8BAAY,WAAW,EAAE,WAAW,MAAM,CAAC;CAEvE,MAAM,MAAM,oBAAoB;CAChC,MAAM,eAAe,QAAQ;CAE7B,IAAI,WAAW,SAAS;AAExB,uCAAoB,WAAW,SAAS,CAAC,EAAE;EACzC,MAAM,SAAS,+BAAc,UAAU,EAAE;AACzC,aAAW,GAAG,OAAO,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG;;CAGlD,MAAM,YAAY,eAClB,gBAAI,KAAgB,GACpB,gBAAI,KAAgB;AAEpB,iDAAqB,WAAW,SAAS,EAAE,UAAU;AAErD,SAAQ,IACN,8BAAO,MACL,SAAS,8BAAO,QAAQ,KAAK,CAAC,cAAc,8BAAO,KAAK,WAAW,UAAU,CAAC,CAAC,GAAG,8BAAO,QAAQ,SAAS,GAC3G,CACF"}
@@ -1,12 +1,11 @@
1
- const require_chunk = require('../chunk-nOFOJqeH.js');
2
- const require_constants = require('../constants-B5_Ta7PR.js');
3
- const require_version = require('../version--Q1nmlBz.js');
1
+ const require_chunk = require('../chunk-kSYXY2_d.js');
2
+ const require_constants = require('../constants-CxkFFZ7p.js');
3
+ const require_version = require('../version.js');
4
4
  let node_fs = require("node:fs");
5
5
  node_fs = require_chunk.__toESM(node_fs);
6
6
  let node_path = require("node:path");
7
7
  node_path = require_chunk.__toESM(node_path);
8
8
  let node_child_process = require("node:child_process");
9
- node_child_process = require_chunk.__toESM(node_child_process);
10
9
  let node_os = require("node:os");
11
10
  node_os = require_chunk.__toESM(node_os);
12
11
 
@@ -23,7 +22,8 @@ const knownPlugins = [
23
22
  "@commandkit/i18n",
24
23
  "@commandkit/legacy",
25
24
  "@commandkit/queue",
26
- "@commandkit/redis"
25
+ "@commandkit/redis",
26
+ "@commandkit/workflow"
27
27
  ];
28
28
  /**
29
29
  * @private