commandkit 1.2.0-dev.20260228121941 → 1.2.0-dev.20260301122036

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 (336) hide show
  1. package/dist/{ActionRow-CT-uyxW0.d.ts → ActionRow-Bt9qi0Mb.d.ts} +2 -2
  2. package/dist/{Button-oMnlpF6W.d.ts → Button-DxJLcZIU.d.ts} +5 -5
  3. package/dist/{ButtonKit-DKu0VAe4.d.ts → ButtonKit-BfcyvWfj.d.ts} +35 -35
  4. package/dist/{ChannelSelectMenuKit-HQZ4hH5s.d.ts → ChannelSelectMenuKit-DYkudikb.d.ts} +33 -33
  5. package/dist/{CommandsRouter-C7dZEepB.d.ts → CommandsRouter-DiNoF0dq.d.ts} +48 -48
  6. package/dist/{EventInterceptor-CZmWpS08.d.ts → EventInterceptor-D9JKMcfi.d.ts} +39 -39
  7. package/dist/{EventsRouter-DZ37r54v.d.ts → EventsRouter-EuuSu6NH.d.ts} +34 -34
  8. package/dist/{MentionableSelectMenuKit-7URDUM3-.d.ts → MentionableSelectMenuKit-Mu4xqP6B.d.ts} +33 -33
  9. package/dist/MessageCommandParser-DPCbHXCS.d.ts +194 -0
  10. package/dist/{Modal--iMEUqSm.d.ts → Modal-v9rrcMl-.d.ts} +7 -7
  11. package/dist/{ModalKit-BWXI3Z26.d.ts → ModalKit-XJSM65SV.d.ts} +32 -32
  12. package/dist/{RoleSelectMenuKit-BY-JJ18w.d.ts → RoleSelectMenuKit-CCjcp3HY.d.ts} +33 -33
  13. package/dist/{SelectMenu-DQbmOp1Y.d.ts → SelectMenu-CY0vvoSu.d.ts} +8 -8
  14. package/dist/{StringSelectMenuKit-lVhUMc3g.d.ts → StringSelectMenuKit-G5nBTicX.d.ts} +33 -33
  15. package/dist/{UserSelectMenuKit-CCj4Fpkr.d.ts → UserSelectMenuKit-D3SO_fXA.d.ts} +33 -33
  16. package/dist/analytics/analytics-engine.d.ts +1 -1
  17. package/dist/analytics/analytics-engine.js +2 -19
  18. package/dist/analytics/analytics-provider.d.ts +1 -1
  19. package/dist/analytics/analytics-provider.js +1 -0
  20. package/dist/analytics/constants.js +26 -3
  21. package/dist/analytics/constants.js.map +1 -0
  22. package/dist/analytics/utils.js +2 -19
  23. package/dist/{analytics-engine-_urJ5QTH.d.ts → analytics-engine-DnRsHBId.d.ts} +843 -843
  24. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  25. package/dist/app/commands/AppCommandRunner.js +2 -19
  26. package/dist/app/commands/Context.d.ts +1 -1
  27. package/dist/app/commands/Context.js +2 -19
  28. package/dist/app/commands/MessageCommandParser.d.ts +1 -1
  29. package/dist/app/commands/MessageCommandParser.js +261 -3
  30. package/dist/app/commands/MessageCommandParser.js.map +1 -0
  31. package/dist/app/commands/helpers.d.ts +1 -1
  32. package/dist/app/commands/helpers.js +25 -3
  33. package/dist/app/commands/helpers.js.map +1 -0
  34. package/dist/app/events/EventWorkerContext.d.ts +2 -2
  35. package/dist/app/events/EventWorkerContext.js +48 -5
  36. package/dist/app/events/EventWorkerContext.js.map +1 -0
  37. package/dist/app/handlers/AppCommandHandler.d.ts +1 -1
  38. package/dist/app/handlers/AppCommandHandler.js +2 -19
  39. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  40. package/dist/app/handlers/AppEventsHandler.js +2 -19
  41. package/dist/app/index.d.ts +4 -4
  42. package/dist/app/index.js +13 -27
  43. package/dist/app/interrupt/signals.d.ts +1 -1
  44. package/dist/app/interrupt/signals.js +54 -6
  45. package/dist/app/interrupt/signals.js.map +1 -0
  46. package/dist/app/middlewares/permissions.d.ts +1 -1
  47. package/dist/app/middlewares/permissions.js +2 -19
  48. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  49. package/dist/app/register/CommandRegistrar.js +2 -19
  50. package/dist/app/router/CommandsRouter.d.ts +1 -1
  51. package/dist/app/router/CommandsRouter.js +210 -2
  52. package/dist/app/router/CommandsRouter.js.map +1 -0
  53. package/dist/app/router/EventsRouter.d.ts +1 -1
  54. package/dist/app/router/EventsRouter.js +128 -2
  55. package/dist/app/router/EventsRouter.js.map +1 -0
  56. package/dist/app/router/index.d.ts +2 -2
  57. package/dist/app/router/index.js +5 -5
  58. package/dist/{chunk-kSYXY2_d.js → chunk-BE-pF4vm.js} +1 -1
  59. package/dist/cli/app-process.d.ts +2 -2
  60. package/dist/cli/app-process.js +6 -8
  61. package/dist/cli/app-process.js.map +1 -1
  62. package/dist/cli/build.d.ts +2 -2
  63. package/dist/cli/build.js +14 -29
  64. package/dist/cli/build.js.map +1 -1
  65. package/dist/cli/common.d.ts +5 -5
  66. package/dist/cli/common.js +182 -12
  67. package/dist/cli/common.js.map +1 -0
  68. package/dist/cli/development.d.ts +3 -3
  69. package/dist/cli/development.js +38 -54
  70. package/dist/cli/development.js.map +1 -1
  71. package/dist/cli/env.js +73 -9
  72. package/dist/cli/env.js.map +1 -0
  73. package/dist/cli/generators.js +10 -10
  74. package/dist/cli/generators.js.map +1 -1
  75. package/dist/cli/information.js +9 -8
  76. package/dist/cli/information.js.map +1 -1
  77. package/dist/cli/init.d.ts +2 -2
  78. package/dist/cli/init.js +14 -28
  79. package/dist/cli/init.js.map +1 -1
  80. package/dist/cli/production.d.ts +2 -2
  81. package/dist/cli/production.js +11 -28
  82. package/dist/cli/production.js.map +1 -1
  83. package/dist/cli/type-checker.js +83 -6
  84. package/dist/cli/type-checker.js.map +1 -0
  85. package/dist/cli/utils.js +1 -0
  86. package/dist/cli/utils.js.map +1 -1
  87. package/dist/{commandkit-B1_NP74k.js → commandkit--k6yDJEr.js} +192 -192
  88. package/dist/{commandkit-B1_NP74k.js.map → commandkit--k6yDJEr.js.map} +1 -1
  89. package/dist/commandkit.d.ts +1 -1
  90. package/dist/commandkit.js +2 -19
  91. package/dist/{common-DnwCYit8.d.ts → common-CCvvgnxi.d.ts} +2 -2
  92. package/dist/components/common/EventInterceptor.d.ts +1 -1
  93. package/dist/components/common/EventInterceptor.js +137 -2
  94. package/dist/components/common/EventInterceptor.js.map +1 -0
  95. package/dist/components/common/element.d.ts +1 -1
  96. package/dist/components/common/element.js +2 -19
  97. package/dist/components/common/types.d.ts +1 -1
  98. package/dist/components/common/types.js +1 -0
  99. package/dist/components/display/common.js +2 -19
  100. package/dist/components/display/container.d.ts +1 -1
  101. package/dist/components/display/container.js +2 -19
  102. package/dist/components/display/file.d.ts +1 -1
  103. package/dist/components/display/file.js +23 -2
  104. package/dist/components/display/file.js.map +1 -0
  105. package/dist/components/display/index.d.ts +8 -8
  106. package/dist/components/display/index.js +12 -25
  107. package/dist/components/display/label.d.ts +1 -1
  108. package/dist/components/display/label.js +2 -19
  109. package/dist/components/display/media-gallery.d.ts +1 -1
  110. package/dist/components/display/media-gallery.js +2 -19
  111. package/dist/components/display/poll.d.ts +1 -1
  112. package/dist/components/display/poll.js +85 -4
  113. package/dist/{poll-ziQQQbMU.js.map → components/display/poll.js.map} +1 -1
  114. package/dist/components/display/section.d.ts +1 -1
  115. package/dist/components/display/section.js +2 -19
  116. package/dist/components/display/separator.d.ts +1 -1
  117. package/dist/components/display/separator.js +21 -2
  118. package/dist/components/display/separator.js.map +1 -0
  119. package/dist/components/display/text-display.d.ts +1 -1
  120. package/dist/components/display/text-display.js +26 -2
  121. package/dist/components/display/text-display.js.map +1 -0
  122. package/dist/components/index.d.ts +22 -22
  123. package/dist/components/index.js +14 -26
  124. package/dist/components/interactive/action-row/ActionRow.d.ts +1 -1
  125. package/dist/components/interactive/action-row/ActionRow.js +20 -2
  126. package/dist/{ActionRow-CSN_UKmM.js.map → components/interactive/action-row/ActionRow.js.map} +1 -1
  127. package/dist/components/interactive/button/Button.d.ts +1 -1
  128. package/dist/components/interactive/button/Button.js +2 -19
  129. package/dist/components/interactive/button/ButtonKit.d.ts +1 -1
  130. package/dist/components/interactive/button/ButtonKit.js +2 -19
  131. package/dist/components/interactive/modal/Modal.d.ts +1 -1
  132. package/dist/components/interactive/modal/Modal.js +2 -19
  133. package/dist/components/interactive/modal/ModalKit.d.ts +1 -1
  134. package/dist/components/interactive/modal/ModalKit.js +2 -19
  135. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.d.ts +1 -1
  136. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.js +2 -19
  137. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.d.ts +1 -1
  138. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.js +2 -19
  139. package/dist/components/interactive/select-menu/RoleSelectMenuKit.d.ts +1 -1
  140. package/dist/components/interactive/select-menu/RoleSelectMenuKit.js +2 -19
  141. package/dist/components/interactive/select-menu/SelectMenu.d.ts +1 -1
  142. package/dist/components/interactive/select-menu/SelectMenu.js +2 -19
  143. package/dist/components/interactive/select-menu/StringSelectMenuKit.d.ts +1 -1
  144. package/dist/components/interactive/select-menu/StringSelectMenuKit.js +2 -19
  145. package/dist/components/interactive/select-menu/UserSelectMenuKit.d.ts +1 -1
  146. package/dist/components/interactive/select-menu/UserSelectMenuKit.js +2 -19
  147. package/dist/components/interactive/select-menu/common.d.ts +1 -1
  148. package/dist/components/interactive/select-menu/common.js +1 -0
  149. package/dist/config/config.d.ts +1 -1
  150. package/dist/config/config.js +2 -19
  151. package/dist/config/default.d.ts +1 -1
  152. package/dist/config/default.js +2 -19
  153. package/dist/config/loader.d.ts +1 -1
  154. package/dist/config/loader.js +2 -19
  155. package/dist/config/types.d.ts +1 -1
  156. package/dist/config/types.js +1 -0
  157. package/dist/config/utils.d.ts +1 -1
  158. package/dist/config/utils.js +29 -2
  159. package/dist/config/utils.js.map +1 -0
  160. package/dist/{constants-EpKcj0dH.d.ts → constants-DqtJY0t-.d.ts} +2 -2
  161. package/dist/{constants-CuYW0K10.d.ts → constants-DwxpkIeH.d.ts} +7 -7
  162. package/dist/{container-DYcb7zGw.d.ts → container-CYojOA9d.d.ts} +1 -1
  163. package/dist/context/async-context.d.ts +1 -1
  164. package/dist/context/async-context.js +2 -19
  165. package/dist/context/environment.d.ts +1 -1
  166. package/dist/context/environment.js +2 -19
  167. package/dist/{element-DZeqbSTk.d.ts → element-DeLvTMfZ.d.ts} +3 -3
  168. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  169. package/dist/events/CommandKitEventsChannel.js +83 -2
  170. package/dist/events/CommandKitEventsChannel.js.map +1 -0
  171. package/dist/{file-CrV4lSnl.d.ts → file-DLO1zEcH.d.ts} +1 -1
  172. package/dist/flags/FlagProvider.d.ts +1 -1
  173. package/dist/flags/FlagProvider.js +1 -0
  174. package/dist/flags/FlagProvider.js.map +1 -1
  175. package/dist/flags/feature-flags.d.ts +1 -1
  176. package/dist/flags/feature-flags.js +2 -19
  177. package/dist/flags/store.d.ts +1 -1
  178. package/dist/flags/store.js +13 -2
  179. package/dist/flags/store.js.map +1 -0
  180. package/dist/{helpers-AQPLVY35.d.ts → helpers-zmC44Mcu.d.ts} +1 -1
  181. package/dist/index.d.ts +30 -30
  182. package/dist/index.js +61 -67
  183. package/dist/kv/constants.d.ts +1 -1
  184. package/dist/kv/constants.js +22 -2
  185. package/dist/kv/constants.js.map +1 -0
  186. package/dist/kv/dotprops.js +1 -0
  187. package/dist/kv/dotprops.js.map +1 -1
  188. package/dist/kv/kv.d.ts +288 -288
  189. package/dist/kv/kv.js +2 -1
  190. package/dist/kv/kv.js.map +1 -1
  191. package/dist/kv/serde.d.ts +1 -1
  192. package/dist/kv/serde.js +29 -28
  193. package/dist/kv/serde.js.map +1 -1
  194. package/dist/{label-37kaNWMH.d.ts → label-DqGRqodo.d.ts} +3 -3
  195. package/dist/logger/DefaultLogger.d.ts +19 -19
  196. package/dist/logger/DefaultLogger.js +2 -19
  197. package/dist/logger/ILogger.d.ts +35 -35
  198. package/dist/logger/ILogger.js +1 -0
  199. package/dist/logger/Logger.d.ts +5 -5
  200. package/dist/logger/Logger.js +2 -19
  201. package/dist/logger/NoopLogger.d.ts +35 -35
  202. package/dist/logger/NoopLogger.js +1 -0
  203. package/dist/logger/NoopLogger.js.map +1 -1
  204. package/dist/{media-gallery-Ci3I4ElH.d.ts → media-gallery-Ca8es-eB.d.ts} +1 -1
  205. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  206. package/dist/plugins/CompilerPlugin.js +33 -3
  207. package/dist/plugins/CompilerPlugin.js.map +1 -0
  208. package/dist/plugins/PluginCommon.d.ts +1 -1
  209. package/dist/plugins/PluginCommon.js +55 -4
  210. package/dist/plugins/PluginCommon.js.map +1 -0
  211. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  212. package/dist/plugins/RuntimePlugin.js +124 -3
  213. package/dist/plugins/RuntimePlugin.js.map +1 -0
  214. package/dist/plugins/index.d.ts +1 -1
  215. package/dist/plugins/index.js +8 -25
  216. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  217. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +2 -19
  218. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  219. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +2 -19
  220. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  221. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +2 -19
  222. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -1
  223. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +2 -19
  224. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  225. package/dist/plugins/plugin-runtime/runtime.js +1 -0
  226. package/dist/plugins/types.d.ts +1 -1
  227. package/dist/plugins/types.js +1 -0
  228. package/dist/{poll-Ddtapd6n.d.ts → poll-DQ6DX_Tt.d.ts} +8 -8
  229. package/dist/{section-DkUKULnB.d.ts → section-Q8nwx_-q.d.ts} +1 -1
  230. package/dist/{separator-CbXsIFCa.d.ts → separator-B8P-kdIK.d.ts} +1 -1
  231. package/dist/{signals-BbTgTc0i.d.ts → signals-CBXwugBW.d.ts} +1 -1
  232. package/dist/{text-display-D7j39VC-.d.ts → text-display-CL9C2yMc.d.ts} +1 -1
  233. package/dist/{types-BywA9d2Z.d.ts → types-DZy7U-Ld.d.ts} +1 -1
  234. package/dist/types.d.ts +1 -1
  235. package/dist/types.js +1 -0
  236. package/dist/utils/colors.js +9 -3
  237. package/dist/utils/colors.js.map +1 -0
  238. package/dist/utils/constants.d.ts +1 -1
  239. package/dist/utils/constants.js +50 -8
  240. package/dist/utils/constants.js.map +1 -0
  241. package/dist/utils/dev-hooks.d.ts +1 -1
  242. package/dist/utils/dev-hooks.js +2 -19
  243. package/dist/utils/error-codes.d.ts +10 -10
  244. package/dist/utils/error-codes.js +53 -5
  245. package/dist/utils/error-codes.js.map +1 -0
  246. package/dist/utils/resolve-file-url.js +18 -2
  247. package/dist/utils/resolve-file-url.js.map +1 -0
  248. package/dist/utils/types-package.js +61 -4
  249. package/dist/utils/types-package.js.map +1 -0
  250. package/dist/utils/useful-stuff/async-queue.d.ts +21 -21
  251. package/dist/utils/useful-stuff/async-queue.js +1 -0
  252. package/dist/utils/useful-stuff/async-queue.js.map +1 -1
  253. package/dist/utils/useful-stuff/mutex.d.ts +62 -62
  254. package/dist/utils/useful-stuff/mutex.js +1 -0
  255. package/dist/utils/useful-stuff/mutex.js.map +1 -1
  256. package/dist/utils/useful-stuff/ratelimiter.d.ts +56 -56
  257. package/dist/utils/useful-stuff/ratelimiter.js +1 -0
  258. package/dist/utils/useful-stuff/ratelimiter.js.map +1 -1
  259. package/dist/utils/useful-stuff/semaphore.d.ts +82 -82
  260. package/dist/utils/useful-stuff/semaphore.js +1 -0
  261. package/dist/utils/useful-stuff/semaphore.js.map +1 -1
  262. package/dist/utils/utilities.d.ts +5 -5
  263. package/dist/utils/utilities.js +2 -19
  264. package/dist/utils/warning.js +38 -4
  265. package/dist/utils/warning.js.map +1 -0
  266. package/dist/version.js +13 -2
  267. package/dist/version.js.map +1 -0
  268. package/package.json +11 -14
  269. package/dist/ActionRow-CSN_UKmM.js +0 -25
  270. package/dist/CommandKitEventsChannel-DDI0UVh9.js +0 -88
  271. package/dist/CommandKitEventsChannel-DDI0UVh9.js.map +0 -1
  272. package/dist/CommandsRouter-D5mGRFEr.js +0 -215
  273. package/dist/CommandsRouter-D5mGRFEr.js.map +0 -1
  274. package/dist/CompilerPlugin-DZidFuHJ.js +0 -43
  275. package/dist/CompilerPlugin-DZidFuHJ.js.map +0 -1
  276. package/dist/EventInterceptor-CxA95XYA.js +0 -142
  277. package/dist/EventInterceptor-CxA95XYA.js.map +0 -1
  278. package/dist/EventWorkerContext-CfqamFWu.js +0 -68
  279. package/dist/EventWorkerContext-CfqamFWu.js.map +0 -1
  280. package/dist/EventsRouter-Be5NDOX4.js +0 -133
  281. package/dist/EventsRouter-Be5NDOX4.js.map +0 -1
  282. package/dist/ILogger-JI8VGyJf.js +0 -0
  283. package/dist/MessageCommandParser-VMFFGs0R.js +0 -271
  284. package/dist/MessageCommandParser-VMFFGs0R.js.map +0 -1
  285. package/dist/MessageCommandParser-q3dQcE5N.d.ts +0 -194
  286. package/dist/PluginCommon-Bfs8d9s7.js +0 -70
  287. package/dist/PluginCommon-Bfs8d9s7.js.map +0 -1
  288. package/dist/RuntimePlugin-BYQXQO8w.js +0 -134
  289. package/dist/RuntimePlugin-BYQXQO8w.js.map +0 -1
  290. package/dist/colors-Csc0X4QJ.js +0 -14
  291. package/dist/colors-Csc0X4QJ.js.map +0 -1
  292. package/dist/common-vGj3fpz3.js +0 -0
  293. package/dist/common-zQwj90Nz.js +0 -222
  294. package/dist/common-zQwj90Nz.js.map +0 -1
  295. package/dist/constants-BA0TJU6e.js +0 -36
  296. package/dist/constants-BA0TJU6e.js.map +0 -1
  297. package/dist/constants-BS9N2avz.js +0 -27
  298. package/dist/constants-BS9N2avz.js.map +0 -1
  299. package/dist/constants-CeIMhMD0.js +0 -85
  300. package/dist/constants-CeIMhMD0.js.map +0 -1
  301. package/dist/env-FxaiNasU.js +0 -113
  302. package/dist/env-FxaiNasU.js.map +0 -1
  303. package/dist/error-codes-Ds0bnPvT.js +0 -73
  304. package/dist/error-codes-Ds0bnPvT.js.map +0 -1
  305. package/dist/file-DqI3v90P.js +0 -28
  306. package/dist/file-DqI3v90P.js.map +0 -1
  307. package/dist/helpers-DSy7EjzP.js +0 -35
  308. package/dist/helpers-DSy7EjzP.js.map +0 -1
  309. package/dist/poll-ziQQQbMU.js +0 -100
  310. package/dist/resolve-file-url-BmjHzIKe.js +0 -23
  311. package/dist/resolve-file-url-BmjHzIKe.js.map +0 -1
  312. package/dist/router-CtcApqrw.js +0 -0
  313. package/dist/runtime-UJIpkNww.js +0 -0
  314. package/dist/separator-DGwA_b1J.js +0 -26
  315. package/dist/separator-DGwA_b1J.js.map +0 -1
  316. package/dist/signals-ewEPW2cO.js +0 -74
  317. package/dist/signals-ewEPW2cO.js.map +0 -1
  318. package/dist/store-DK4JA-fQ.js +0 -18
  319. package/dist/store-DK4JA-fQ.js.map +0 -1
  320. package/dist/text-display-BVuG7dT-.js +0 -31
  321. package/dist/text-display-BVuG7dT-.js.map +0 -1
  322. package/dist/type-checker-CFpKDDs8.js +0 -88
  323. package/dist/type-checker-CFpKDDs8.js.map +0 -1
  324. package/dist/types-Bx1EKe0v.js +0 -0
  325. package/dist/types-CAwOz52q.js +0 -0
  326. package/dist/types-package-Bjh_ap0V.js +0 -71
  327. package/dist/types-package-Bjh_ap0V.js.map +0 -1
  328. package/dist/utils-CVaVycsK.js +0 -34
  329. package/dist/utils-CVaVycsK.js.map +0 -1
  330. package/dist/version-rRfNG5vY.js +0 -18
  331. package/dist/version-rRfNG5vY.js.map +0 -1
  332. package/dist/warning-BWiQltHE.js +0 -53
  333. package/dist/warning-BWiQltHE.js.map +0 -1
  334. /package/dist/{index-BJfko-dP.d.ts → index-BIsCUWAs.d.ts} +0 -0
  335. /package/dist/{index-CCggO_hw.d.ts → index-CwHYpK-f.d.ts} +0 -0
  336. /package/dist/{index-CLjpoGi1.d.ts → index-DHrsNvX1.d.ts} +0 -0
package/dist/cli/build.js CHANGED
@@ -1,26 +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-B1_NP74k.js');
5
- const require_constants = require('../constants-CeIMhMD0.js');
6
- const require_utils = require('../utils-CVaVycsK.js');
7
- require('../types-package-Bjh_ap0V.js');
8
- require('../constants-BA0TJU6e.js');
9
- require('../EventWorkerContext-CfqamFWu.js');
10
- require('../signals-ewEPW2cO.js');
11
- require('../helpers-DSy7EjzP.js');
12
- require('../MessageCommandParser-VMFFGs0R.js');
13
- require('../CommandsRouter-D5mGRFEr.js');
14
- require('../EventsRouter-Be5NDOX4.js');
15
- require('../router-CtcApqrw.js');
16
- require('../file-DqI3v90P.js');
17
- require('../separator-DGwA_b1J.js');
18
- require('../text-display-BVuG7dT-.js');
19
- require('../poll-ziQQQbMU.js');
20
- const require_common = require('../common-zQwj90Nz.js');
21
- require('../store-DK4JA-fQ.js');
22
- const require_env = require('../env-FxaiNasU.js');
23
- const require_type_checker = require('../type-checker-CFpKDDs8.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');
24
9
  let node_fs = require("node:fs");
25
10
  let node_path = require("node:path");
26
11
  let node_fs_promises = require("node:fs/promises");
@@ -55,9 +40,9 @@ function mergeDefinitionsIfNeeded(env, isDev) {
55
40
  */
56
41
  async function buildApplication({ plugins, rolldownPlugins, isDev, configPath }) {
57
42
  var _config$typescript;
58
- const { build } = await require_common.loadTsdown();
43
+ const { build } = await require_cli_common.loadTsdown();
59
44
  const config = await require_commandkit.loadConfigFile(configPath);
60
- 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);
61
46
  const pluginRuntime = new require_commandkit.CompilerPluginRuntime(plugins || [], !!isDev);
62
47
  rolldownPlugins ??= [];
63
48
  rolldownPlugins.push(pluginRuntime.toJSON());
@@ -66,7 +51,7 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
66
51
  const dest = isDev ? ".commandkit" : config.distDir;
67
52
  await (0, rimraf.rimraf)(dest);
68
53
  await pluginRuntime.init();
69
- await build(require_utils.mergeDeep({
54
+ await build(require_config_utils.mergeDeep({
70
55
  watch: false,
71
56
  dts: false,
72
57
  clean: true,
@@ -118,8 +103,8 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
118
103
  outputOptions: { sanitizeFileName: (name) => name.replace(/\0/g, "") },
119
104
  unbundle: isDev ? true : ((_config$compilerOptio = config.compilerOptions) === null || _config$compilerOptio === void 0 ? void 0 : _config$compilerOptio.disableChunking) ?? false
120
105
  }, (_config$compilerOptio2 = config.compilerOptions) === null || _config$compilerOptio2 === void 0 ? void 0 : _config$compilerOptio2.tsdown));
121
- await require_common.copyLocaleFiles("src", dest);
122
- 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);
123
108
  } catch (error) {
124
109
  console.error("Build failed:", error);
125
110
  if (error instanceof Error) console.error("Error details:", error.stack);
@@ -129,7 +114,7 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
129
114
  }
130
115
  }
131
116
  const envScript = (dev) => `// --- Environment Variables Loader ---
132
- 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(", ")}];
133
118
  for (const file of $env) {
134
119
  try {
135
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.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
+ {"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":";;;;;;;;;;;;;;;;;;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,+BAAY;CACpC,MAAM,SAAS,MAAM,kCAAe,WAAW;AAE/C,KAAI,CAAC,SAAS,gEAAC,OAAQ,oFAAY,mBACjC,OAAM,0CAAiB,cAAc,uCAAe;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,+BACE;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,KAAK,QAAQ,OAAO,GAAG,EACpD;GACD,UAAU,QACV,iCACA,OAAK,+FAAO,oBAAiB;GAC9B,4BACD,OAAO,iGAAiB,OACzB,CACF;AAED,QAAM,mCAAgB,OAAO,KAAK;AAClC,QAAM,gBACJ,cAAc,wCACd,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,iCAAiB,iCAAiB,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,6 +1,6 @@
1
- import { m as ResolvedCommandKitConfig } from "../analytics-engine-_urJ5QTH.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-CeIMhMD0.js');
3
- require('../types-package-Bjh_ap0V.js');
4
- const require_common = require('../common-zQwj90Nz.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,27 +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-B1_NP74k.js');
5
- const require_CompilerPlugin = require('../CompilerPlugin-DZidFuHJ.js');
6
- const require_constants = require('../constants-CeIMhMD0.js');
7
- require('../types-package-Bjh_ap0V.js');
8
- require('../constants-BA0TJU6e.js');
9
- require('../EventWorkerContext-CfqamFWu.js');
10
- require('../signals-ewEPW2cO.js');
11
- require('../helpers-DSy7EjzP.js');
12
- require('../MessageCommandParser-VMFFGs0R.js');
13
- require('../CommandsRouter-D5mGRFEr.js');
14
- require('../EventsRouter-Be5NDOX4.js');
15
- require('../router-CtcApqrw.js');
16
- require('../file-DqI3v90P.js');
17
- require('../separator-DGwA_b1J.js');
18
- require('../text-display-BVuG7dT-.js');
19
- require('../poll-ziQQQbMU.js');
20
- const require_common = require('../common-zQwj90Nz.js');
21
- require('../store-DK4JA-fQ.js');
22
- require('../env-FxaiNasU.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');
23
8
  const require_cli_app_process = require('./app-process.js');
24
- require('../type-checker-CFpKDDs8.js');
25
9
  const require_cli_build = require('./build.js');
26
10
  let node_crypto = require("node:crypto");
27
11
  let path = require("path");
@@ -35,11 +19,11 @@ let node_timers_promises = require("node:timers/promises");
35
19
  */
36
20
  async function buildAndStart(configPath, skipStart = false) {
37
21
  const config = await require_commandkit.loadConfigFile(configPath);
38
- const mainFile = require_common.findEntrypoint(".commandkit");
22
+ const mainFile = require_cli_common.findEntrypoint(".commandkit");
39
23
  await require_cli_build.buildApplication({
40
24
  configPath,
41
25
  isDev: true,
42
- plugins: config.plugins.flat(2).filter((p) => require_CompilerPlugin.isCompilerPlugin(p)),
26
+ plugins: config.plugins.flat(2).filter((p) => require_plugins_CompilerPlugin.isCompilerPlugin(p)),
43
27
  rolldownPlugins: config.rolldownPlugins
44
28
  });
45
29
  if (skipStart) return null;
@@ -63,7 +47,7 @@ async function bootstrapDevelopmentServer(configPath) {
63
47
  process.env.COMMANDKIT_BOOTSTRAP_MODE = "development";
64
48
  process.env.COMMANDKIT_INTERNAL_IS_CLI_PROCESS = "true";
65
49
  const start = performance.now();
66
- const cwd = configPath || require_constants.COMMANDKIT_CWD;
50
+ const cwd = configPath || require_utils_constants.COMMANDKIT_CWD;
67
51
  const configPaths = require_commandkit.getPossibleConfigPaths(cwd);
68
52
  const watcher = (0, chokidar.watch)([(0, path.join)(cwd, "src"), ...configPaths], { ignoreInitial: true });
69
53
  let ps = null;
@@ -99,50 +83,50 @@ async function bootstrapDevelopmentServer(configPath) {
99
83
  try {
100
84
  let triggered = false;
101
85
  const res = !!await Promise.race([messagePromise, (0, node_timers_promises.setTimeout)(3e3).then(() => {
102
- 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}`));
103
87
  return false;
104
88
  })]);
105
89
  triggered = true;
106
90
  return res;
107
91
  } catch (error) {
108
- 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}`));
109
93
  return false;
110
94
  }
111
95
  };
112
- const performHMR = require_commandkit.debounce(async (path$1) => {
113
- if (!path$1 || !ps) return false;
96
+ const performHMR = require_commandkit.debounce(async (path$2) => {
97
+ if (!path$2 || !ps) return false;
114
98
  let eventType = null;
115
99
  let eventDescription = "";
116
- if (isCommandSource(path$1)) {
117
- eventType = require_constants.HMREventType.ReloadCommands;
100
+ if (isCommandSource(path$2)) {
101
+ eventType = require_utils_constants.HMREventType.ReloadCommands;
118
102
  eventDescription = "command(s)";
119
- } else if (isEventSource(path$1)) {
120
- eventType = require_constants.HMREventType.ReloadEvents;
103
+ } else if (isEventSource(path$2)) {
104
+ eventType = require_utils_constants.HMREventType.ReloadEvents;
121
105
  eventDescription = "event(s)";
122
106
  } else {
123
- eventType = require_constants.HMREventType.Unknown;
107
+ eventType = require_utils_constants.HMREventType.Unknown;
124
108
  eventDescription = "unknown source";
125
109
  }
126
110
  if (eventType) {
127
- 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)}`);
128
112
  await buildAndStart(cwd, true);
129
- if (await sendHmrEvent(eventType, path$1)) {
130
- 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)}`);
131
115
  return true;
132
116
  }
133
117
  }
134
118
  return false;
135
119
  }, 700);
136
- const isConfigUpdate = (path$1) => {
137
- const isConfig = configPaths.some((configPath$1) => path$1 === configPath$1);
120
+ const isConfigUpdate = (path$3) => {
121
+ const isConfig = configPaths.some((configPath) => path$3 === configPath);
138
122
  if (!isConfig) return false;
139
- 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."));
140
124
  return isConfig;
141
125
  };
142
- const hmrHandler = async (path$1) => {
143
- if (isConfigUpdate(path$1)) return;
144
- if (await performHMR(path$1)) return;
145
- 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)}`);
146
130
  ps === null || ps === void 0 || ps.kill();
147
131
  ps = await buildAndStart(cwd);
148
132
  };
@@ -156,11 +140,11 @@ async function bootstrapDevelopmentServer(configPath) {
156
140
  break;
157
141
  case "rc":
158
142
  console.log(`Received reload commands command, reloading...`);
159
- await sendHmrEvent(require_constants.HMREventType.ReloadCommands);
143
+ await sendHmrEvent(require_utils_constants.HMREventType.ReloadCommands);
160
144
  break;
161
145
  case "re":
162
146
  console.log(`Received reload events command, reloading...`);
163
- await sendHmrEvent(require_constants.HMREventType.ReloadEvents);
147
+ await sendHmrEvent(require_utils_constants.HMREventType.ReloadEvents);
164
148
  break;
165
149
  }
166
150
  });
@@ -171,17 +155,17 @@ async function bootstrapDevelopmentServer(configPath) {
171
155
  watcher.on("error", (e) => {
172
156
  console.error(e);
173
157
  });
174
- console.log(`${require_colors.colors_default.greenBright("Bootstrapped CommandKit Development Environment in")} ${require_colors.colors_default.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}
175
- ${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")}
176
160
 
177
- ${require_colors.colors_default.greenBright("Commands:")}
178
- ${require_colors.colors_default.yellowBright("r")} - Restart the server
179
- ${require_colors.colors_default.yellowBright("rc")} - Reload all commands
180
- ${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`);
181
165
  const buildStart = performance.now();
182
166
  ps = await buildAndStart(cwd);
183
167
  const buildEnd = performance.now();
184
- 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`);
185
169
  return {
186
170
  watcher,
187
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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"}