commandkit 1.2.1-dev.20260414125348 → 1.2.1-dev.20260920033200

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 (269) hide show
  1. package/README.md +1 -1
  2. package/cache.cjs +2 -0
  3. package/cache.d.ts +1 -0
  4. package/dist/{ActionRow-Bt9qi0Mb.d.ts → ActionRow-DSh9roc5.d.ts} +2 -3
  5. package/dist/{Button-DxJLcZIU.d.ts → Button-BPsE5ju0.d.ts} +5 -6
  6. package/dist/{ButtonKit-BfcyvWfj.d.ts → ButtonKit-CNPmVg3h.d.ts} +2 -3
  7. package/dist/{ChannelSelectMenuKit-DYkudikb.d.ts → ChannelSelectMenuKit-CcOdaLQ6.d.ts} +3 -4
  8. package/dist/{CommandTree-DwfiCsOl.d.ts → CommandTree-qu-8oAEV.d.ts} +1 -1
  9. package/dist/{CommandsRouter-D-b3xv38.d.ts → CommandsRouter-Co225Ae5.d.ts} +24 -4
  10. package/dist/{EventInterceptor-D9JKMcfi.d.ts → EventInterceptor-wg378vJp.d.ts} +1 -2
  11. package/dist/{EventsRouter-Dyr_oJJD.d.ts → EventsRouter-Bt63ZuEF.d.ts} +21 -2
  12. package/dist/{MentionableSelectMenuKit-Mu4xqP6B.d.ts → MentionableSelectMenuKit-8_Nkgn_a.d.ts} +3 -4
  13. package/dist/{MessageCommandParser-UTKsRvb9.d.ts → MessageCommandParser-BYbxHOSK.d.ts} +1 -2
  14. package/dist/{Modal-v9rrcMl-.d.ts → Modal-DbWK6VmV.d.ts} +5 -6
  15. package/dist/{ModalKit-XJSM65SV.d.ts → ModalKit-CnmUVpw-.d.ts} +2 -3
  16. package/dist/{RoleSelectMenuKit-CCjcp3HY.d.ts → RoleSelectMenuKit-Bei7DHqD.d.ts} +3 -4
  17. package/dist/{SelectMenu-CY0vvoSu.d.ts → SelectMenu-Bce_PClo.d.ts} +8 -9
  18. package/dist/{StringSelectMenuKit-G5nBTicX.d.ts → StringSelectMenuKit-CBeB9HqT.d.ts} +3 -4
  19. package/dist/TreeArtifact-D6FZ5SVd.d.ts +27 -0
  20. package/dist/{UserSelectMenuKit-D3SO_fXA.d.ts → UserSelectMenuKit-DZmeZ_Tp.d.ts} +3 -4
  21. package/dist/analytics/analytics-engine.d.ts +1 -1
  22. package/dist/analytics/analytics-engine.js +1 -1
  23. package/dist/analytics/analytics-provider.d.ts +1 -1
  24. package/dist/analytics/constants.js +0 -1
  25. package/dist/analytics/constants.js.map +1 -1
  26. package/dist/analytics/utils.js +1 -1
  27. package/dist/{analytics-engine-BYA0ongA.d.ts → analytics-engine-Bz1p7ud3.d.ts} +51 -15
  28. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  29. package/dist/app/commands/AppCommandRunner.js +1 -1
  30. package/dist/app/commands/Context.d.ts +1 -1
  31. package/dist/app/commands/Context.js +1 -1
  32. package/dist/app/commands/MessageCommandParser.d.ts +1 -1
  33. package/dist/app/commands/MessageCommandParser.js +4 -1
  34. package/dist/app/commands/MessageCommandParser.js.map +1 -1
  35. package/dist/app/commands/helpers.d.ts +1 -1
  36. package/dist/app/commands/helpers.js +0 -1
  37. package/dist/app/commands/helpers.js.map +1 -1
  38. package/dist/app/events/EventWorkerContext.d.ts +3 -3
  39. package/dist/app/events/EventWorkerContext.js +0 -1
  40. package/dist/app/events/EventWorkerContext.js.map +1 -1
  41. package/dist/app/handlers/AppCommandHandler.d.ts +1 -1
  42. package/dist/app/handlers/AppCommandHandler.js +1 -1
  43. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  44. package/dist/app/handlers/AppEventsHandler.js +1 -1
  45. package/dist/app/index.d.ts +5 -5
  46. package/dist/app/index.js +1 -1
  47. package/dist/app/interrupt/signals.d.ts +1 -1
  48. package/dist/app/interrupt/signals.js.map +1 -1
  49. package/dist/app/middlewares/permissions.d.ts +1 -2
  50. package/dist/app/middlewares/permissions.js +1 -1
  51. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  52. package/dist/app/register/CommandRegistrar.js +1 -1
  53. package/dist/app/router/CommandTree.d.ts +1 -1
  54. package/dist/app/router/CommandsRouter.d.ts +2 -2
  55. package/dist/app/router/CommandsRouter.js +60 -1
  56. package/dist/app/router/CommandsRouter.js.map +1 -1
  57. package/dist/app/router/EventsRouter.d.ts +2 -2
  58. package/dist/app/router/EventsRouter.js +56 -3
  59. package/dist/app/router/EventsRouter.js.map +1 -1
  60. package/dist/app/router/TreeArtifact.d.ts +2 -0
  61. package/dist/app/router/TreeArtifact.js +87 -0
  62. package/dist/app/router/TreeArtifact.js.map +1 -0
  63. package/dist/app/router/index.d.ts +6 -4
  64. package/dist/app/router/index.js +8 -1
  65. package/dist/{checkbox-CvQGiyRe.d.ts → checkbox-DoR0Pcxm.d.ts} +2 -3
  66. package/dist/cli/app-process.d.ts +2 -4
  67. package/dist/cli/app-process.js +0 -1
  68. package/dist/cli/app-process.js.map +1 -1
  69. package/dist/cli/build.d.ts +4 -9
  70. package/dist/cli/build.js +30 -4
  71. package/dist/cli/build.js.map +1 -1
  72. package/dist/cli/common.d.ts +3 -6
  73. package/dist/cli/common.js +2 -2
  74. package/dist/cli/common.js.map +1 -1
  75. package/dist/cli/development.d.ts +4 -5
  76. package/dist/cli/development.js +11 -11
  77. package/dist/cli/development.js.map +1 -1
  78. package/dist/cli/env.js.map +1 -1
  79. package/dist/cli/generators.js +0 -1
  80. package/dist/cli/generators.js.map +1 -1
  81. package/dist/cli/information.js +4 -5
  82. package/dist/cli/information.js.map +1 -1
  83. package/dist/cli/init.d.ts +1 -3
  84. package/dist/cli/init.js +37 -12
  85. package/dist/cli/init.js.map +1 -1
  86. package/dist/cli/production.d.ts +1 -3
  87. package/dist/cli/production.js +1 -2
  88. package/dist/cli/production.js.map +1 -1
  89. package/dist/cli/type-checker.js +0 -1
  90. package/dist/cli/type-checker.js.map +1 -1
  91. package/dist/cli/utils.d.ts +0 -1
  92. package/dist/cli/utils.js.map +1 -1
  93. package/dist/{commandkit-DTqT800J.js → commandkit-gJ4YjTy4.js} +165 -87
  94. package/dist/commandkit-gJ4YjTy4.js.map +1 -0
  95. package/dist/commandkit.d.ts +1 -1
  96. package/dist/commandkit.js +1 -1
  97. package/dist/{common-CCvvgnxi.d.ts → common-CIbPzguv.d.ts} +2 -3
  98. package/dist/components/common/EventInterceptor.d.ts +1 -1
  99. package/dist/components/common/EventInterceptor.js +1 -0
  100. package/dist/components/common/EventInterceptor.js.map +1 -1
  101. package/dist/components/common/element.d.ts +1 -1
  102. package/dist/components/common/element.js +1 -1
  103. package/dist/components/common/types.d.ts +1 -1
  104. package/dist/components/display/common.d.ts +0 -1
  105. package/dist/components/display/common.js +1 -1
  106. package/dist/components/display/container.d.ts +1 -1
  107. package/dist/components/display/container.js +1 -1
  108. package/dist/components/display/file.d.ts +1 -1
  109. package/dist/components/display/file.js +0 -1
  110. package/dist/components/display/file.js.map +1 -1
  111. package/dist/components/display/index.d.ts +9 -8
  112. package/dist/components/display/index.js +1 -1
  113. package/dist/components/display/label.d.ts +1 -1
  114. package/dist/components/display/label.js +1 -1
  115. package/dist/components/display/media-gallery.d.ts +1 -1
  116. package/dist/components/display/media-gallery.js +1 -1
  117. package/dist/components/display/poll.d.ts +1 -1
  118. package/dist/components/display/poll.js +4 -10
  119. package/dist/components/display/poll.js.map +1 -1
  120. package/dist/components/display/section.d.ts +1 -1
  121. package/dist/components/display/section.js +1 -1
  122. package/dist/components/display/separator.d.ts +1 -1
  123. package/dist/components/display/separator.js +0 -1
  124. package/dist/components/display/separator.js.map +1 -1
  125. package/dist/components/display/text-display.d.ts +1 -1
  126. package/dist/components/display/text-display.js +0 -1
  127. package/dist/components/display/text-display.js.map +1 -1
  128. package/dist/components/index.d.ts +25 -24
  129. package/dist/components/index.js +1 -1
  130. package/dist/components/interactive/action-row/ActionRow.d.ts +1 -1
  131. package/dist/components/interactive/action-row/ActionRow.js +0 -1
  132. package/dist/components/interactive/action-row/ActionRow.js.map +1 -1
  133. package/dist/components/interactive/button/Button.d.ts +1 -1
  134. package/dist/components/interactive/button/Button.js +1 -1
  135. package/dist/components/interactive/button/ButtonKit.d.ts +1 -1
  136. package/dist/components/interactive/button/ButtonKit.js +1 -1
  137. package/dist/components/interactive/checkbox/checkbox.d.ts +1 -1
  138. package/dist/components/interactive/checkbox/checkbox.js +1 -1
  139. package/dist/components/interactive/modal/Modal.d.ts +1 -1
  140. package/dist/components/interactive/modal/Modal.js +1 -1
  141. package/dist/components/interactive/modal/ModalKit.d.ts +1 -1
  142. package/dist/components/interactive/modal/ModalKit.js +1 -1
  143. package/dist/components/interactive/radio/radio.d.ts +1 -1
  144. package/dist/components/interactive/radio/radio.js +1 -1
  145. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.d.ts +1 -1
  146. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.js +1 -1
  147. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.d.ts +1 -1
  148. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.js +1 -1
  149. package/dist/components/interactive/select-menu/RoleSelectMenuKit.d.ts +1 -1
  150. package/dist/components/interactive/select-menu/RoleSelectMenuKit.js +1 -1
  151. package/dist/components/interactive/select-menu/SelectMenu.d.ts +1 -1
  152. package/dist/components/interactive/select-menu/SelectMenu.js +1 -1
  153. package/dist/components/interactive/select-menu/StringSelectMenuKit.d.ts +1 -1
  154. package/dist/components/interactive/select-menu/StringSelectMenuKit.js +1 -1
  155. package/dist/components/interactive/select-menu/UserSelectMenuKit.d.ts +1 -1
  156. package/dist/components/interactive/select-menu/UserSelectMenuKit.js +1 -1
  157. package/dist/components/interactive/select-menu/common.d.ts +1 -1
  158. package/dist/config/config.d.ts +1 -2
  159. package/dist/config/config.js +1 -1
  160. package/dist/config/default.d.ts +1 -2
  161. package/dist/config/default.js +1 -1
  162. package/dist/config/loader.d.ts +1 -2
  163. package/dist/config/loader.js +1 -1
  164. package/dist/config/types.d.ts +1 -1
  165. package/dist/config/utils.d.ts +1 -1
  166. package/dist/config/utils.js.map +1 -1
  167. package/dist/{constants-D_sgdBHy.d.ts → constants-B7AfnOFa.d.ts} +1 -1
  168. package/dist/{constants-GWSfiS4h.d.ts → constants-kWgE3L9F.d.ts} +15 -2
  169. package/dist/{container-B7Kmw__R.d.ts → container-NVgblXmw.d.ts} +1 -2
  170. package/dist/context/async-context.d.ts +1 -1
  171. package/dist/context/async-context.js +1 -1
  172. package/dist/context/environment.d.ts +1 -1
  173. package/dist/context/environment.js +1 -1
  174. package/dist/{element-DeLvTMfZ.d.ts → element-BMZYAAQ-.d.ts} +3 -4
  175. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  176. package/dist/events/CommandKitEventsChannel.js +3 -2
  177. package/dist/events/CommandKitEventsChannel.js.map +1 -1
  178. package/dist/{file-BP8aoN3A.d.ts → file-DYAmr697.d.ts} +1 -2
  179. package/dist/flags/FlagProvider.d.ts +1 -1
  180. package/dist/flags/FlagProvider.js +1 -0
  181. package/dist/flags/FlagProvider.js.map +1 -1
  182. package/dist/flags/feature-flags.d.ts +1 -1
  183. package/dist/flags/feature-flags.js +1 -1
  184. package/dist/flags/store.d.ts +1 -1
  185. package/dist/flags/store.js +0 -1
  186. package/dist/flags/store.js.map +1 -1
  187. package/dist/{helpers-C5jRrAM1.d.ts → helpers-vlnRvNJv.d.ts} +1 -2
  188. package/dist/index-CAFaKBs_.d.ts +8 -0
  189. package/dist/index-COt7nfC9.d.ts +2 -0
  190. package/dist/index-DvqHpiuh.d.ts +16 -0
  191. package/dist/index.d.ts +37 -34
  192. package/dist/index.js +9 -2
  193. package/dist/kv/constants.d.ts +1 -1
  194. package/dist/kv/constants.js.map +1 -1
  195. package/dist/kv/dotprops.js.map +1 -1
  196. package/dist/kv/kv.d.ts +0 -1
  197. package/dist/kv/kv.js +1 -1
  198. package/dist/kv/kv.js.map +1 -1
  199. package/dist/kv/serde.d.ts +1 -2
  200. package/dist/kv/serde.js +27 -27
  201. package/dist/kv/serde.js.map +1 -1
  202. package/dist/{label-CqHiBMXP.d.ts → label-DClaYktn.d.ts} +1 -2
  203. package/dist/logger/DefaultLogger.d.ts +0 -1
  204. package/dist/logger/DefaultLogger.js +1 -1
  205. package/dist/logger/Logger.d.ts +0 -1
  206. package/dist/logger/Logger.js +1 -1
  207. package/dist/logger/NoopLogger.d.ts +0 -1
  208. package/dist/logger/NoopLogger.js.map +1 -1
  209. package/dist/{media-gallery-hFfa57Kd.d.ts → media-gallery-z2Snzz-u.d.ts} +1 -2
  210. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  211. package/dist/plugins/CompilerPlugin.js +2 -2
  212. package/dist/plugins/CompilerPlugin.js.map +1 -1
  213. package/dist/plugins/PluginCommon.d.ts +1 -1
  214. package/dist/plugins/PluginCommon.js +1 -1
  215. package/dist/plugins/PluginCommon.js.map +1 -1
  216. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  217. package/dist/plugins/RuntimePlugin.js +2 -2
  218. package/dist/plugins/RuntimePlugin.js.map +1 -1
  219. package/dist/plugins/index.d.ts +1 -1
  220. package/dist/plugins/index.js +1 -1
  221. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  222. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +1 -1
  223. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  224. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +1 -1
  225. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  226. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +1 -1
  227. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -2
  228. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +1 -1
  229. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  230. package/dist/plugins/types.d.ts +1 -1
  231. package/dist/{poll-ElAd5Z2K.d.ts → poll-D2QDStsw.d.ts} +4 -14
  232. package/dist/{radio-Dcd4YIZx.d.ts → radio-CJH_N4lq.d.ts} +2 -3
  233. package/dist/{section-BqDLXlp3.d.ts → section-DrFBT5b-.d.ts} +1 -2
  234. package/dist/{separator-DSaCa1Tc.d.ts → separator-BVm3w6yd.d.ts} +1 -2
  235. package/dist/{signals-DVOXPkQK.d.ts → signals-DRMDrCOn.d.ts} +1 -1
  236. package/dist/{text-display-D-0dD7bR.d.ts → text-display-BG0nNqy3.d.ts} +1 -2
  237. package/dist/{types-DZy7U-Ld.d.ts → types-ur7SvktF.d.ts} +1 -1
  238. package/dist/types.d.ts +1 -1
  239. package/dist/utils/colors.d.ts +1 -3
  240. package/dist/utils/colors.js +0 -1
  241. package/dist/utils/colors.js.map +1 -1
  242. package/dist/utils/constants.d.ts +2 -2
  243. package/dist/utils/constants.js +19 -0
  244. package/dist/utils/constants.js.map +1 -1
  245. package/dist/utils/dev-hooks.d.ts +1 -1
  246. package/dist/utils/dev-hooks.js +1 -1
  247. package/dist/utils/error-codes.js +15 -0
  248. package/dist/utils/error-codes.js.map +1 -1
  249. package/dist/utils/resolve-file-url.js +2 -2
  250. package/dist/utils/resolve-file-url.js.map +1 -1
  251. package/dist/utils/types-package.d.ts +6 -2
  252. package/dist/utils/types-package.js +31 -38
  253. package/dist/utils/types-package.js.map +1 -1
  254. package/dist/utils/useful-stuff/async-queue.js.map +1 -1
  255. package/dist/utils/useful-stuff/mutex.js.map +1 -1
  256. package/dist/utils/useful-stuff/ratelimiter.js +4 -1
  257. package/dist/utils/useful-stuff/ratelimiter.js.map +1 -1
  258. package/dist/utils/useful-stuff/semaphore.js.map +1 -1
  259. package/dist/utils/utilities.js +1 -1
  260. package/dist/utils/warning.d.ts +1 -5
  261. package/dist/utils/warning.js.map +1 -1
  262. package/dist/version.js +1 -1
  263. package/dist/version.js.map +1 -1
  264. package/package.json +17 -17
  265. package/dist/commandkit-DTqT800J.js.map +0 -1
  266. package/dist/index-CQiOqvUC.d.ts +0 -1
  267. package/dist/index-CTLjHn5u.d.ts +0 -1
  268. package/dist/index-LKrIp3Oo.d.ts +0 -1
  269. /package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-C_NdSu1c.js} +0 -0
package/dist/cli/init.js CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../chunk-BE-pF4vm.js');
3
- const require_commandkit = require('../commandkit-DTqT800J.js');
2
+ const require_commandkit = require('../commandkit-gJ4YjTy4.js');
4
3
  const require_plugins_CompilerPlugin = require('../plugins/CompilerPlugin.js');
5
4
  const require_utils_constants = require('../utils/constants.js');
6
5
  const require_utils_types_package = require('../utils/types-package.js');
6
+ const require_app_router_CommandsRouter = require('../app/router/CommandsRouter.js');
7
+ require('../app/router/index.js');
7
8
  const require_cli_common = require('./common.js');
8
9
  let node_fs = require("node:fs");
9
10
  let node_path = require("node:path");
10
- let node_fs_promises = require("node:fs/promises");
11
11
 
12
12
  //#region src/cli/init.ts
13
13
  /**
@@ -26,17 +26,41 @@ async function bootstrapCommandkitCLI(argv, options) {
26
26
  const { setCLIEnv } = await Promise.resolve().then(() => require("./env.js"));
27
27
  const program = new Command("commandkit");
28
28
  program.command("dev").version(version).description("Start your bot in development mode.").option("-c, --config [path]", "Path to your commandkit config file.", "./commandkit.js").action(() => {
29
- bootstrapDevelopmentServer(program.opts().config);
29
+ const options = program.opts();
30
+ bootstrapDevelopmentServer(options.config);
30
31
  });
31
32
  program.command("info").description("Show information about the system which can be used to report bugs.").action(async () => {
32
33
  await showInformation();
33
34
  });
34
35
  program.command("start").description("Start your bot in production mode after running the build command.").option("-c, --config [path]", "Path to your commandkit config file.").action(() => {
35
- bootstrapProductionServer(program.opts().config);
36
+ const options = program.opts();
37
+ bootstrapProductionServer(options.config);
36
38
  });
37
39
  program.command("build").description("Build your project for production usage.").option("-c, --config [path]", "Path to your commandkit config file.").action(() => {
38
40
  setCLIEnv();
39
- return createProductionBuild(program.opts().config);
41
+ const options = program.opts();
42
+ return createProductionBuild(options.config);
43
+ });
44
+ program.command("typegen").description("Generate command type declarations for this project.").option("-c, --config [path]", "Path to your commandkit config file.").action(async () => {
45
+ setCLIEnv();
46
+ const cwd = program.opts().config || require_utils_constants.COMMANDKIT_CWD;
47
+ await require_utils_types_package.generateTypesPackage(true);
48
+ const commandsEntrypoint = resolveCommandsEntrypoint(cwd);
49
+ if (!commandsEntrypoint) {
50
+ await require_utils_types_package.rewriteCommandDeclaration([]);
51
+ return;
52
+ }
53
+ const router = new require_app_router_CommandsRouter.CommandsRouter({ entrypoint: commandsEntrypoint });
54
+ if (!router.isValidPath()) {
55
+ await require_utils_types_package.rewriteCommandDeclaration([]);
56
+ return;
57
+ }
58
+ const result = await router.scan();
59
+ const commandNames = Object.values(result.commands).map((cmd) => cmd.name);
60
+ const routeNames = Object.keys(result.compiledRoutes ?? {});
61
+ const names = Array.from(/* @__PURE__ */ new Set([...commandNames, ...routeNames])).sort();
62
+ if (!(0, node_fs.existsSync)((0, node_path.join)(cwd, "commandkit-env.d.ts"))) await require_utils_types_package.generateTypesPackage(true);
63
+ await require_utils_types_package.rewriteCommandDeclaration(names);
40
64
  });
41
65
  program.command("create").description("Create new files using built-in templates or custom plugin templates").argument("<template>", "The template to use (e.g. command, event, or custom plugin template)").argument("[args...]", "Additional arguments for the template").action(async (template, args) => {
42
66
  setCLIEnv();
@@ -58,7 +82,7 @@ async function bootstrapCommandkitCLI(argv, options) {
58
82
  await generateEvent(name);
59
83
  return;
60
84
  }
61
- require_cli_common.panic(`Template "${template}" not found. Available templates: ${Array.from(new Set([
85
+ require_cli_common.panic(`Template "${template}" not found. Available templates: ${Array.from(/* @__PURE__ */ new Set([
62
86
  "command",
63
87
  "event",
64
88
  ...Array.from(runtime.getTemplates().keys())
@@ -71,13 +95,14 @@ async function bootstrapCommandkitCLI(argv, options) {
71
95
  await runtime.destroy();
72
96
  }
73
97
  });
74
- const types = (0, node_path.join)(require_utils_constants.COMMANDKIT_CWD, "node_modules", "commandkit-types");
75
- if (!(0, node_fs.existsSync)(types)) {
76
- await (0, node_fs_promises.mkdir)(types, { recursive: true }).catch(() => {});
77
- await require_utils_types_package.generateTypesPackage(true).catch(() => {});
78
- }
98
+ if (!(0, node_fs.existsSync)(require_utils_types_package.getTypesFilePath())) await require_utils_types_package.generateTypesPackage(true).catch(() => {});
79
99
  await program.parseAsync(argv, options);
80
100
  }
101
+ function resolveCommandsEntrypoint(cwd) {
102
+ const sourceLikeRoots = [(0, node_path.join)(cwd, "src", "app", "commands"), (0, node_path.join)(cwd, "app", "commands")];
103
+ for (const candidate of sourceLikeRoots) if ((0, node_fs.existsSync)(candidate)) return candidate;
104
+ return null;
105
+ }
81
106
 
82
107
  //#endregion
83
108
  exports.bootstrapCommandkitCLI = bootstrapCommandkitCLI;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","names":[],"sources":["../../src/cli/init.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { generateTypesPackage } from '../utils/types-package';\nimport { loadConfigFile } from '../config/loader';\nimport {\n CompilerPlugin,\n CompilerPluginRuntime,\n isCompilerPlugin,\n} from '../plugins';\nimport { panic } from './common';\nimport { COMMANDKIT_CWD } from '../utils/constants';\n\n/**\n * Creates a command line interface for CommandKit.\n * @param argv The arguments passed to the CLI.\n * @param options The options passed to the CLI.\n */\nexport async function bootstrapCommandkitCLI(\n argv: string[],\n options?: import('commander').ParseOptions | undefined,\n) {\n process.title = 'CommandKit CLI';\n\n // imports are lazily loaded when the cli is used, instead of loading it with the lib itself\n const { Command } = await import('commander');\n const { bootstrapDevelopmentServer } = await import('./development');\n const { bootstrapProductionServer, createProductionBuild } =\n await import('./production');\n const { generateCommand, generateEvent } = await import('./generators');\n const { version } = await import('../version');\n const { showInformation } = await import('./information');\n const { setCLIEnv } = await import('./env');\n\n const program = new Command('commandkit');\n\n program\n .command('dev')\n .version(version)\n .description('Start your bot in development mode.')\n .option(\n '-c, --config [path]',\n 'Path to your commandkit config file.',\n './commandkit.js',\n )\n .action(() => {\n const options = program.opts();\n bootstrapDevelopmentServer(options.config);\n });\n\n program\n .command('info')\n .description(\n 'Show information about the system which can be used to report bugs.',\n )\n .action(async () => {\n await showInformation();\n });\n\n program\n .command('start')\n .description(\n 'Start your bot in production mode after running the build command.',\n )\n .option('-c, --config [path]', 'Path to your commandkit config file.')\n .action(() => {\n const options = program.opts();\n bootstrapProductionServer(options.config);\n });\n\n program\n .command('build')\n .description('Build your project for production usage.')\n .option('-c, --config [path]', 'Path to your commandkit config file.')\n .action(() => {\n setCLIEnv();\n const options = program.opts();\n return createProductionBuild(options.config);\n });\n\n program\n .command('create')\n .description(\n 'Create new files using built-in templates or custom plugin templates',\n )\n .argument(\n '<template>',\n 'The template to use (e.g. command, event, or custom plugin template)',\n )\n .argument('[args...]', 'Additional arguments for the template')\n .action(async (template, args) => {\n setCLIEnv();\n\n // Handle custom plugin templates\n const { plugins } = await loadConfigFile();\n const runtime = new CompilerPluginRuntime(\n plugins.filter((p) => isCompilerPlugin(p)) as CompilerPlugin[],\n true,\n );\n\n try {\n await runtime.init();\n const templateHandler = runtime.getTemplate(template);\n\n if (!templateHandler) {\n // Handle built-in templates\n if (template === 'command') {\n const [name] = args;\n if (!name) {\n panic('Command name is required');\n }\n await generateCommand(name);\n return;\n }\n\n if (template === 'event') {\n const [name] = args;\n if (!name) {\n panic('Event name is required');\n }\n await generateEvent(name);\n return;\n }\n\n const valid = Array.from(\n new Set([\n 'command',\n 'event',\n ...Array.from(runtime.getTemplates().keys()),\n ]),\n ).map((t) => `\"${t}\"`);\n\n panic(\n `Template \"${template}\" not found. Available templates: ${valid.join(', ')}`,\n );\n }\n\n await templateHandler(args);\n } catch (e: any) {\n panic(`Failed to execute template \"${template}\": ${e?.message || e}`);\n } finally {\n await runtime.destroy();\n }\n });\n\n const types = join(COMMANDKIT_CWD, 'node_modules', 'commandkit-types');\n\n if (!existsSync(types)) {\n await mkdir(types, { recursive: true }).catch(() => {});\n await generateTypesPackage(true).catch(() => {});\n }\n\n await program.parseAsync(argv, options);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,eAAsB,uBACtB,MACA,SACA;AACE,SAAQ,QAAQ;CAGhB,MAAM,EAAE,YAAY,MAAM,OAAO;CACjC,MAAM,EAAE,+BAA+B,2CAAM;CAC7C,MAAM,EAAE,2BAA2B,0BACnC,2CAAE;CACF,MAAM,EAAE,iBAAiB,kBAAkB,2CAAM;CACjD,MAAM,EAAE,YAAY,2CAAM;CAC1B,MAAM,EAAE,oBAAoB,2CAAM;CAClC,MAAM,EAAE,cAAc,2CAAM;CAE5B,MAAM,UAAU,IAAI,QAAQ,aAAa;AAEzC,SACA,QAAG,MAAS,CACZ,QAAG,QAAQ,CACX,YAAG,sCAA+C,CAClD,OACE,uBACA,wCACA,kBACD,CACD,aAAa;AAEX,6BADgB,QAAE,MAAY,CACD,OAAQ;GACrC;AAEF,SACA,QAAG,OAAS,CACZ,YACE,sEACD,CACD,OAAG,YAAgB;AACjB,QAAE,iBAAqB;GACvB;AAEF,SACA,QAAG,QAAS,CACZ,YACE,qEACD,CACD,OAAG,uBAA2B,uCAAuC,CACrE,aAAa;AAEX,4BADgB,QAAE,MAAY,CACF,OAAQ;GACpC;AAEF,SACA,QAAG,QAAS,CACZ,YAAG,2CAAoD,CACvD,OAAG,uBAA2B,uCAAuC,CACrE,aAAa;AACX,aAAW;AAEX,SAAE,sBADc,QAAE,MAAY,CACC,OAAQ;GACvC;AAEF,SACA,QAAG,SAAS,CACZ,YACE,uEACD,CACD,SACE,cACA,uEACD,CACD,SAAG,aAAmB,wCAAiC,CACvD,OAAG,OAAO,UAAO,SAAgB;AAC/B,aAAW;EAGX,MAAE,EAAM,YAAY,MAAE,mCAAoB;EAC1C,MAAE,UAAc,IAAE,yCAChB,QAAE,QAAc,MAAM,gDAAE,EAAiB,CAAC,EAC1C,KACD;AAED,MAAE;AACA,SAAE,QAAM,MAAY;GACpB,MAAE,kBAAsB,QAAE,YAAQ,SAAY;AAE9C,OAAI,CAAC,iBAAiB;AAEpB,QAAI,aAAa,WAAW;KAC1B,MAAE,CAAK,QAAQ;AACf,SAAI,CAAC,KACH,0BAAE,2BAA+B;AAEnC,WAAE,gBAAM,KAAgB;AACxB;;AAGF,QAAI,aAAa,SAAS;KACxB,MAAE,CAAK,QAAQ;AACf,SAAI,CAAC,KACH,0BAAE,yBAA6B;AAEjC,WAAE,cAAM,KAAc;AACtB;;AAWF,6BACE,aAAa,SAAE,oCATH,MAAE,KACd,IAAE,IAAI;KACN;KACA;KACA,GAAG,MAAI,KAAM,QAAK,cAAQ,CAAA,MAAe,CAAA;KAAI,CAC5C,CACF,CAAC,KAAK,MAAM,IAAI,EAAE,GAAG,CAGwC,KAAM,KAAQ,GAC3E;;AAGH,SAAE,gBAAM,KAAgB;WACjB,GAAQ;AACf,4BAAE,+BAAmC,SAAE,4CAAY,EAAG,YAAW,IAAI;YACnE;AACF,SAAE,QAAM,SAAe;;GAEzB;CAEF,MAAM,4BAAa,wCAAgB,gBAAgB,mBAAmB;AAEtE,KAAI,yBAAY,MAAM,EAAE;AACtB,oCAAY,OAAO,EAAE,WAAW,MAAM,CAAC,CAAC,YAAY,GAAG;AACvD,QAAM,iDAAqB,KAAK,CAAC,YAAY,GAAG;;AAGlD,OAAM,QAAQ,WAAW,MAAM,QAAQ"}
1
+ {"version":3,"file":"init.js","names":[],"sources":[],"mappings":""}
@@ -1,11 +1,9 @@
1
- import * as node_child_process0 from "node:child_process";
2
-
3
1
  //#region src/cli/production.d.ts
4
2
  /**
5
3
  * @private
6
4
  * @internal
7
5
  */
8
- declare function bootstrapProductionServer(configPath?: string): Promise<node_child_process0.ChildProcess>;
6
+ declare function bootstrapProductionServer(configPath?: string): Promise<import("node:child_process").ChildProcess>;
9
7
  /**
10
8
  * @private
11
9
  * @internal
@@ -1,6 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../chunk-BE-pF4vm.js');
3
- const require_commandkit = require('../commandkit-DTqT800J.js');
2
+ const require_commandkit = require('../commandkit-gJ4YjTy4.js');
4
3
  const require_plugins_CompilerPlugin = require('../plugins/CompilerPlugin.js');
5
4
  const require_utils_constants = require('../utils/constants.js');
6
5
  const require_cli_common = require('./common.js');
@@ -1 +1 @@
1
- {"version":3,"file":"production.js","names":[],"sources":["../../src/cli/production.ts"],"sourcesContent":["import { loadConfigFile } from '../config/loader';\nimport { createAppProcess } from './app-process';\nimport { existsSync } from 'fs';\nimport { findEntrypoint, panic } from './common';\nimport { buildApplication } from './build';\nimport { CompilerPlugin, isCompilerPlugin } from '../plugins';\nimport { createSpinner } from './utils';\nimport { COMMANDKIT_CWD } from '../utils/constants';\n\n/**\n * @private\n * @internal\n */\nexport async function bootstrapProductionServer(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'production';\n const cwd = configPath || COMMANDKIT_CWD;\n const config = await loadConfigFile(cwd);\n const mainFile = findEntrypoint(config.distDir);\n\n if (!existsSync(mainFile)) {\n panic(\n `Could not locate the entrypoint. Did you forget to build the application? Run 'commandkit build' to build the application first.`,\n );\n }\n\n return createAppProcess(mainFile, cwd, false, config);\n}\n\n/**\n * @private\n * @internal\n */\nexport async function createProductionBuild(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'production';\n process.env.COMMANDKIT_INTERNAL_IS_CLI_PROCESS = 'true';\n process.env.COMMANDKIT_IS_BUILD ??= 'true';\n const cwd = configPath || COMMANDKIT_CWD;\n const config = await loadConfigFile(cwd);\n\n const spinner = await createSpinner(\n 'Creating an optimized production build\\n',\n );\n\n spinner.start();\n\n await buildApplication({\n configPath: cwd,\n isDev: false,\n plugins: config.plugins.filter((p) =>\n isCompilerPlugin(p),\n ) as CompilerPlugin[],\n rolldownPlugins: config.rolldownPlugins,\n });\n\n spinner.succeed('Production build completed!');\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAaA,eAAsB,0BAA0B,YAAqB;AACnE,SAAQ,IAAI,4BAA4B;CACxC,MAAM,MAAM,cAAc;CAC1B,MAAM,SAAS,MAAM,kCAAe,IAAI;CACxC,MAAM,WAAW,kCAAe,OAAO,QAAQ;AAE/C,KAAI,oBAAY,SAAS,CACvB,0BACE,mIACD;AAGH,QAAO,yCAAiB,UAAU,KAAK,OAAO,OAAO;;;;;;AAOvD,eAAsB,sBAAsB,YAAqB;AAC/D,SAAQ,IAAI,4BAA4B;AACxC,SAAQ,IAAI,qCAAqC;AACjD,SAAQ,IAAI,wBAAwB;CACpC,MAAM,MAAM,cAAc;CAC1B,MAAM,SAAS,MAAM,kCAAe,IAAI;CAExC,MAAM,UAAU,MAAM,gCACpB,2CACD;AAED,SAAQ,OAAO;AAEf,OAAM,mCAAiB;EACrB,YAAY;EACZ,OAAO;EACP,SAAS,OAAO,QAAQ,QAAQ,MAChC,gDAAE,EAAiB,CAClB;EACD,iBAAiB,OAAO;EACzB,CAAC;AAEF,SAAQ,QAAQ,8BAA8B"}
1
+ {"version":3,"file":"production.js","names":[],"sources":[],"mappings":""}
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../chunk-BE-pF4vm.js');
3
2
  const require_utils_colors = require('../utils/colors.js');
4
3
  const require_cli_common = require('./common.js');
5
4
  let node_fs = require("node:fs");
@@ -1 +1 @@
1
- {"version":3,"file":"type-checker.js","names":[],"sources":["../../src/cli/type-checker.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { loadTypeScript } from './common';\nimport { join, relative } from 'node:path';\nimport colors from '../utils/colors';\n\nconst TS_NOT_FOUND_ERR = `TypeScript must be installed in order to use the type checker. Please install it using \\`npm install typescript\\` or \\`yarn add typescript\\``;\n\n/**\n * Formats a TypeScript diagnostic message in a pretty, readable format\n * @private\n * @internal\n */\nfunction formatDiagnostic(\n ts: typeof import('typescript'),\n diagnostic: import('typescript').Diagnostic,\n cwd: string,\n): string {\n const messageText = ts.flattenDiagnosticMessageText(\n diagnostic.messageText,\n '\\n',\n );\n\n if (!diagnostic.file) {\n return `${colors.red('error')}: ${messageText}`;\n }\n\n const { line, character } = ts.getLineAndCharacterOfPosition(\n diagnostic.file,\n diagnostic.start!,\n );\n const fileName = relative(cwd, diagnostic.file.fileName);\n const position = `${line + 1}:${character + 1}`;\n const errorCode = diagnostic.code ? `TS${diagnostic.code}` : '';\n\n // Format the error message nicely\n return [\n `${colors.bold(colors.cyan(fileName))}:${colors.bold(colors.yellow(position))} - ${colors.red('error')} ${colors.gray(errorCode)}`,\n `${messageText}`,\n ].join('\\n');\n}\n\n/**\n * Performs a type check on the project using TypeScript.\n * @param path The project root or cwd\n * @private\n * @internal\n */\nexport async function performTypeCheck(path: string) {\n const tsconfigPath = join(path, 'tsconfig.json');\n\n if (!existsSync(tsconfigPath)) return;\n\n const ts = await loadTypeScript(TS_NOT_FOUND_ERR);\n\n // Format host for error reporting\n const formatHost = {\n getCanonicalFileName: (path: string) => path,\n getCurrentDirectory: ts.sys.getCurrentDirectory,\n getNewLine: () => ts.sys.newLine,\n };\n\n // Read tsconfig.json\n const configFile = ts.readConfigFile(tsconfigPath, ts.sys.readFile);\n\n if (configFile.error) {\n console.error(\n colors.red(\n `Error reading tsconfig.json: ${ts.formatDiagnostic(configFile.error, formatHost)}`,\n ),\n );\n process.exit(1);\n }\n\n // Parse the config file\n const parsedConfig = ts.parseJsonConfigFileContent(\n configFile.config,\n ts.sys,\n path,\n );\n\n // Force noEmit to true as we only want type checking\n parsedConfig.options.noEmit = true;\n\n // Create a program\n const program = ts.createProgram({\n rootNames: parsedConfig.fileNames,\n options: parsedConfig.options,\n projectReferences: parsedConfig.projectReferences,\n });\n\n // Get the diagnostics\n const diagnostics = [\n ...program.getOptionsDiagnostics(),\n ...program.getGlobalDiagnostics(),\n ...program.getSyntacticDiagnostics(),\n ...program.getSemanticDiagnostics(),\n ];\n\n // Report any errors\n if (diagnostics.length > 0) {\n console.log('');\n console.error(\n colors.bold(\n colors.red('Type checking failed with the following errors:'),\n ),\n );\n console.log('');\n\n // Group diagnostics by file for better readability\n const byFile = new Map<string, import('typescript').Diagnostic[]>();\n\n for (const diagnostic of diagnostics) {\n const fileName = diagnostic.file ? diagnostic.file.fileName : 'Global';\n if (!byFile.has(fileName)) {\n byFile.set(fileName, []);\n }\n byFile.get(fileName)!.push(diagnostic);\n }\n\n // Pretty-print each diagnostic\n const totalErrors = diagnostics.length;\n let counter = 0;\n\n for (const [_, fileDiags] of byFile) {\n for (const diagnostic of fileDiags) {\n counter++;\n console.log(formatDiagnostic(ts, diagnostic, path));\n // Add separator between errors for better readability, except for the last one\n if (counter < totalErrors) {\n console.log('');\n }\n }\n }\n\n console.log('');\n console.error(\n colors.bold(\n colors.red(`Found ${totalErrors} error${totalErrors > 1 ? 's' : ''}`),\n ),\n );\n console.log('');\n\n process.exit(1);\n }\n\n console.log(colors.green('✓ Type checking completed successfully.'));\n}\n"],"mappings":";;;;;;;;AAKA,MAAM,mBAAmB;;;;;;AAOzB,SAAS,iBACT,IACA,YACA,KACS;CACP,MAAM,cAAc,GAAG,6BACrB,WAAW,aACX,KACD;AAED,KAAI,CAAC,WAAW,KACd,QAAO,GAAG,6BAAO,IAAI,QAAQ,CAAC,IAAI;CAGpC,MAAM,EAAE,MAAM,cAAc,GAAG,8BAC7B,WAAW,MACX,WAAW,MACZ;CACD,MAAM,mCAAoB,KAAK,WAAW,KAAK,SAAS;CACxD,MAAM,WAAW,GAAG,OAAO,EAAE,GAAG,YAAY;CAC5C,MAAM,YAAY,WAAW,OAAO,KAAK,WAAW,SAAS;AAG7D,QAAO,CACP,GAAG,6BAAE,KAAO,6BAAK,KAAO,SAAK,CAAQ,CAAC,GAAG,6BAAE,KAAO,6BAAK,OAAO,SAAO,CAAQ,CAAC,KAAK,6BAAE,IAAO,QAAU,CAAC,GAAG,6BAAE,KAAO,UAAK,IACxH,GAAG,cAAc,CACjB,KAAE,KAAQ;;;;;;;;AASZ,eAAsB,iBAAiB,MAAc;CACnD,MAAM,mCAAoB,MAAM,gBAAgB;AAEhD,KAAI,yBAAY,aAAa,CAAE;CAE/B,MAAM,KAAK,MAAM,kCAAe,iBAAiB;CAGjD,MAAM,aAAa;EACjB,uBAAuB,SAAiB;EACxC,qBAAqB,GAAG,IAAI;EAC5B,kBAAkB,GAAG,IAAI;EAC1B;CAGD,MAAM,aAAa,GAAG,eAAe,cAAc,GAAG,IAAI,SAAS;AAEnE,KAAI,WAAW,OAAO;AACpB,UAAQ,MACN,6BAAO,IACL,gCAAgC,GAAG,iBAAiB,WAAW,OAAO,WAAW,GAClF,CACF;AACD,UAAQ,KAAK,EAAE;;CAIjB,MAAM,eAAe,GAAG,2BACtB,WAAW,QACX,GAAG,KACH,KACD;AAGD,cAAa,QAAQ,SAAS;CAG9B,MAAM,UAAU,GAAG,cAAc;EAC/B,WAAW,aAAa;EACxB,SAAS,aAAa;EACtB,mBAAmB,aAAa;EACjC,CAAC;CAGF,MAAM,cAAc;EACpB,GAAG,QAAE,uBAA6B;EAClC,GAAG,QAAE,sBAA4B;EACjC,GAAG,QAAE,yBAA+B;EACpC,GAAG,QAAE,wBAA8B;EAAC;AAIpC,KAAI,YAAY,SAAS,GAAG;AAC1B,UAAQ,IAAI,GAAG;AACf,UAAQ,MACN,6BAAO,KACL,6BAAO,IAAI,kDAAkD,CAC9D,CACF;AACD,UAAQ,IAAI,GAAG;EAGf,MAAM,yBAAS,IAAI,KAAgD;AAEnE,OAAK,MAAM,cAAc,aAAa;GACpC,MAAM,WAAW,WAAW,OAAO,WAAW,KAAK,WAAW;AAC9D,OAAI,CAAC,OAAO,IAAI,SAAS,CACvB,QAAO,IAAI,UAAU,EAAE,CAAC;AAE1B,UAAO,IAAI,SAAS,CAAE,KAAK,WAAW;;EAIxC,MAAM,cAAc,YAAY;EAChC,IAAI,UAAU;AAEd,OAAK,MAAM,CAAC,GAAG,cAAc,OAC3B,MAAK,MAAM,cAAc,WAAW;AAClC;AACA,WAAQ,IAAI,iBAAiB,IAAI,YAAY,KAAK,CAAC;AAEnD,OAAI,UAAU,YACZ,SAAQ,IAAI,GAAG;;AAKrB,UAAQ,IAAI,GAAG;AACf,UAAQ,MACN,6BAAO,KACL,6BAAO,IAAI,SAAS,YAAY,QAAQ,cAAc,IAAI,MAAM,KAAK,CACtE,CACF;AACD,UAAQ,IAAI,GAAG;AAEf,UAAQ,KAAK,EAAE;;AAGjB,SAAQ,IAAI,6BAAO,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"type-checker.js","names":[],"sources":[],"mappings":""}
@@ -1,5 +1,4 @@
1
1
  import { Ora } from "ora";
2
-
3
2
  //#region src/cli/utils.d.ts
4
3
  /**
5
4
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../src/cli/utils.ts"],"sourcesContent":["import type { Ora } from 'ora';\n\nlet ora: typeof import('ora') | undefined;\n\n/**\n * @private\n * @internal\n */\nexport async function createSpinner(text: string): Promise<Ora> {\n if (!ora) {\n ora = await import('ora');\n }\n\n return (ora.default || ora)({\n text,\n color: 'cyan',\n });\n}\n"],"mappings":";;;AAEA,IAAI;;;;;AAMJ,eAAsB,cAAc,MAA4B;AAC9D,KAAI,CAAC,IACH,OAAM,MAAM,OAAO;AAGrB,SAAQ,IAAI,WAAW,KAAK;EAC1B;EACA,OAAO;EACR,CAAC"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":[],"mappings":""}