commandkit 1.0.0-dev.20250624020525 → 1.0.0-dev.20250624130949

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 (114) hide show
  1. package/dist/{CommandKit-DV3O3x3J.js → CommandKit-BZVEqKzs.js} +51 -36
  2. package/dist/CommandKit-BZVEqKzs.js.map +1 -0
  3. package/dist/{CommandKit-SL7ggUn-.d.ts → CommandKit-CGl1oEv3.d.ts} +108 -13
  4. package/dist/CommandKit.d.ts +1 -1
  5. package/dist/CommandKit.js +1 -1
  6. package/dist/{DefaultLogger-pWzrSxMd.d.ts → DefaultLogger-Cy55-uPl.d.ts} +2 -2
  7. package/dist/{EventWorkerContext-D9Q_ENWf.d.ts → EventWorkerContext-rYysGdKJ.d.ts} +2 -2
  8. package/dist/{ILogger-Cs5SFzqd.d.ts → ILogger-DBGON5wx.d.ts} +1 -1
  9. package/dist/{Logger-5ew_YS4P.d.ts → Logger-iSjA-DWN.d.ts} +2 -2
  10. package/dist/analytics/analytics-engine.d.ts +1 -1
  11. package/dist/analytics/analytics-engine.js +1 -1
  12. package/dist/analytics/analytics-provider.d.ts +1 -1
  13. package/dist/analytics/utils.js +1 -1
  14. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  15. package/dist/app/commands/AppCommandRunner.js +1 -1
  16. package/dist/app/commands/Context.d.ts +1 -1
  17. package/dist/app/commands/Context.js +1 -1
  18. package/dist/app/events/EventWorkerContext.d.ts +2 -2
  19. package/dist/app/handlers/AppCommandHandler.d.ts +1 -1
  20. package/dist/app/handlers/AppCommandHandler.js +1 -1
  21. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  22. package/dist/app/handlers/AppEventsHandler.js +1 -1
  23. package/dist/app/index.d.ts +1 -1
  24. package/dist/app/index.js +1 -1
  25. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  26. package/dist/app/register/CommandRegistrar.js +1 -1
  27. package/dist/{build-CjQg1n-5.js → build-CI-WOwAi.js} +2 -2
  28. package/dist/{build-CjQg1n-5.js.map → build-CI-WOwAi.js.map} +1 -1
  29. package/dist/cli/app-process.d.ts +2 -2
  30. package/dist/cli/build.d.ts +1 -1
  31. package/dist/cli/build.js +2 -2
  32. package/dist/cli/common.d.ts +3 -5
  33. package/dist/cli/development.js +7 -5
  34. package/dist/cli/development.js.map +1 -1
  35. package/dist/cli/information.js +1 -1
  36. package/dist/cli/init.d.ts +1 -1
  37. package/dist/cli/init.js +2 -2
  38. package/dist/cli/production.js +2 -2
  39. package/dist/components/index.js +1 -1
  40. package/dist/components/v1/button/Button.js +1 -1
  41. package/dist/components/v1/button/ButtonKit.js +1 -1
  42. package/dist/components/v1/modal/Modal.js +1 -1
  43. package/dist/components/v1/modal/ModalKit.js +1 -1
  44. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +1 -1
  45. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +1 -1
  46. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +1 -1
  47. package/dist/components/v1/select-menu/SelectMenu.js +1 -1
  48. package/dist/components/v1/select-menu/StringSelectMenuKit.js +1 -1
  49. package/dist/components/v1/select-menu/UserSelectMenuKit.js +1 -1
  50. package/dist/config/config.d.ts +2 -4
  51. package/dist/config/config.js +1 -1
  52. package/dist/config/default.d.ts +1 -3
  53. package/dist/config/default.js +1 -1
  54. package/dist/config/loader.d.ts +1 -3
  55. package/dist/config/loader.js +1 -1
  56. package/dist/config/types.d.ts +1 -2
  57. package/dist/config/utils.d.ts +1 -3
  58. package/dist/{config-Cs_7avuG.d.ts → config-BL8EHesJ.d.ts} +2 -3
  59. package/dist/context/async-context.d.ts +1 -1
  60. package/dist/context/async-context.js +1 -1
  61. package/dist/context/environment.d.ts +1 -1
  62. package/dist/context/environment.js +1 -1
  63. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  64. package/dist/{feature-flags-CFoqosTw.js → feature-flags-IU-pT6k_.js} +2 -2
  65. package/dist/{feature-flags-CFoqosTw.js.map → feature-flags-IU-pT6k_.js.map} +1 -1
  66. package/dist/flags/FlagProvider.d.ts +1 -1
  67. package/dist/flags/feature-flags.d.ts +1 -1
  68. package/dist/flags/feature-flags.js +2 -2
  69. package/dist/flags/store.d.ts +1 -1
  70. package/dist/index.d.ts +9 -11
  71. package/dist/index.js +4 -4
  72. package/dist/{init-muFynnQh.js → init-D3mhxEzo.js} +2 -2
  73. package/dist/{init-muFynnQh.js.map → init-D3mhxEzo.js.map} +1 -1
  74. package/dist/{init-CT348Okf.d.ts → init-DsaK1AfD.d.ts} +1 -1
  75. package/dist/logger/DefaultLogger.d.ts +2 -2
  76. package/dist/logger/DefaultLogger.js +1 -1
  77. package/dist/logger/ILogger.d.ts +1 -1
  78. package/dist/logger/Logger.d.ts +2 -2
  79. package/dist/logger/Logger.js +1 -1
  80. package/dist/logger/NoopLogger.d.ts +37 -0
  81. package/dist/logger/NoopLogger.js +36 -0
  82. package/dist/logger/NoopLogger.js.map +1 -0
  83. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  84. package/dist/plugins/PluginCommon.d.ts +1 -1
  85. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  86. package/dist/plugins/index.d.ts +1 -1
  87. package/dist/plugins/index.js +1 -1
  88. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  89. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +1 -1
  90. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  91. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +1 -1
  92. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  93. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +1 -1
  94. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -1
  95. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +1 -1
  96. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  97. package/dist/plugins/types.d.ts +1 -1
  98. package/dist/types.d.ts +1 -1
  99. package/dist/{utilities-CQUaua43.d.ts → utilities-DtdPlr4c.d.ts} +1 -1
  100. package/dist/utils/dev-hooks.d.ts +1 -1
  101. package/dist/utils/dev-hooks.js +1 -1
  102. package/dist/utils/utilities.d.ts +1 -1
  103. package/dist/utils/utilities.js +1 -1
  104. package/dist/{version-DggMfP_1.d.ts → version-CtJtBJXI.d.ts} +1 -1
  105. package/dist/{version-D3SkBVwJ.js → version-t3Nw0T3Q.js} +2 -2
  106. package/dist/{version-D3SkBVwJ.js.map → version-t3Nw0T3Q.js.map} +1 -1
  107. package/dist/version.d.ts +1 -1
  108. package/dist/version.js +1 -1
  109. package/logger.cjs +2 -0
  110. package/logger.d.ts +3 -0
  111. package/package.json +2 -2
  112. package/dist/CommandKit-DV3O3x3J.js.map +0 -1
  113. package/dist/types-DI20wefl.d.ts +0 -78
  114. package/dist/utils-NtJ5thv2.d.ts +0 -20
@@ -1716,7 +1716,8 @@ const defaultConfig = {
1716
1716
  production: true
1717
1717
  },
1718
1718
  typedCommands: true,
1719
- disablePrefixCommands: false
1719
+ disablePrefixCommands: false,
1720
+ showUnknownPrefixCommandsWarning: true
1720
1721
  };
1721
1722
 
1722
1723
  //#endregion
@@ -1756,7 +1757,8 @@ function defineConfig(config = {}) {
1756
1757
  ...defaultConfig.typescript,
1757
1758
  ...config.typescript
1758
1759
  },
1759
- disablePrefixCommands: config.disablePrefixCommands ?? defaultConfig.disablePrefixCommands
1760
+ disablePrefixCommands: config.disablePrefixCommands ?? defaultConfig.disablePrefixCommands,
1761
+ showUnknownPrefixCommandsWarning: config.showUnknownPrefixCommandsWarning ?? defaultConfig.showUnknownPrefixCommandsWarning
1760
1762
  };
1761
1763
  return defined;
1762
1764
  }
@@ -2353,7 +2355,7 @@ var Context = class Context {
2353
2355
  getLocale(preferUser = false) {
2354
2356
  if (this._locale) return this._locale;
2355
2357
  const locale = preferUser ? this.getUserLocale() : this.getGuildLocale();
2356
- if (!locale) return this.commandkit.config.defaultLocale;
2358
+ if (!locale) return this.commandkit.appConfig.defaultLocale;
2357
2359
  return locale;
2358
2360
  }
2359
2361
  /**
@@ -2797,16 +2799,6 @@ var AppCommandHandler = class {
2797
2799
  */
2798
2800
  loadedMiddlewares = new discord_js.Collection();
2799
2801
  /**
2800
- * @private
2801
- * @internal
2802
- */
2803
- commandNameToId = /* @__PURE__ */ new Map();
2804
- /**
2805
- * @private
2806
- * @internal
2807
- */
2808
- subcommandPathToId = /* @__PURE__ */ new Map();
2809
- /**
2810
2802
  * Command registrar for handling Discord API registration.
2811
2803
  */
2812
2804
  registrar;
@@ -2966,14 +2958,15 @@ var AppCommandHandler = class {
2966
2958
  let parser;
2967
2959
  if (!cmdName) if (source instanceof discord_js.Message) {
2968
2960
  if (source.author.bot) return null;
2969
- const prefix = await this.commandkit.config.getMessageCommandPrefix(source);
2961
+ const prefix = await this.commandkit.appConfig.getMessageCommandPrefix(source);
2970
2962
  if (!prefix || !prefix.length) return null;
2971
2963
  parser = new require_MessageCommandParser.MessageCommandParser(source, Array.isArray(prefix) ? prefix : [prefix], (command) => {
2972
2964
  var _loadedCommand$guilds, _json$options;
2973
- const commandId$1 = this.commandNameToId.get(command);
2974
- if (!commandId$1) return null;
2975
- const loadedCommand$1 = this.loadedCommands.get(commandId$1);
2976
- if (!loadedCommand$1) return null;
2965
+ const loadedCommand$1 = this.findCommandByName(command);
2966
+ if (!loadedCommand$1) {
2967
+ if (require_constants.COMMANDKIT_IS_DEV && this.commandkit.config.showUnknownPrefixCommandsWarning) Logger.error(`Prefix command "${command}" was not found.\nNote: This warning is only shown in development mode as an alert to help you find the command. If you wish to remove this warning, set \`showUnknownPrefixCommandsWarning\` to \`false\` in your commandkit config.`);
2968
+ return null;
2969
+ }
2977
2970
  if (source.guildId && ((_loadedCommand$guilds = loadedCommand$1.guilds) === null || _loadedCommand$guilds === void 0 ? void 0 : _loadedCommand$guilds.length) && !loadedCommand$1.guilds.includes(source.guildId)) return null;
2978
2971
  const json$1 = "toJSON" in loadedCommand$1.data.command ? loadedCommand$1.data.command.toJSON() : loadedCommand$1.data.command;
2979
2972
  return ((_json$options = json$1.options) === null || _json$options === void 0 ? void 0 : _json$options.reduce((acc, opt) => {
@@ -2995,9 +2988,7 @@ var AppCommandHandler = class {
2995
2988
  if (!isAnyCommand) return null;
2996
2989
  cmdName = source.commandName;
2997
2990
  }
2998
- const commandId = this.commandNameToId.get(cmdName);
2999
- if (!commandId) return null;
3000
- const loadedCommand = this.loadedCommands.get(commandId);
2991
+ const loadedCommand = this.findCommandByName(cmdName);
3001
2992
  if (!loadedCommand) return null;
3002
2993
  if ((source instanceof discord_js.CommandInteraction || source instanceof discord_js.AutocompleteInteraction) && source.guildId && ((_loadedCommand$guilds2 = loadedCommand.guilds) === null || _loadedCommand$guilds2 === void 0 ? void 0 : _loadedCommand$guilds2.length) && !loadedCommand.guilds.includes(source.guildId)) return null;
3003
2994
  const middlewares = [];
@@ -3012,13 +3003,24 @@ var AppCommandHandler = class {
3012
3003
  };
3013
3004
  }
3014
3005
  /**
3006
+ * Finds a command by name.
3007
+ * @param name - The command name to search for
3008
+ * @returns The loaded command or null if not found
3009
+ */
3010
+ findCommandByName(name) {
3011
+ for (const [, loadedCommand] of this.loadedCommands) {
3012
+ if (loadedCommand.data.command.name === name) return loadedCommand;
3013
+ const aliases = loadedCommand.data.command.aliases;
3014
+ if (aliases && Array.isArray(aliases) && aliases.includes(name)) return loadedCommand;
3015
+ }
3016
+ return null;
3017
+ }
3018
+ /**
3015
3019
  * Reloads all commands and middleware from scratch.
3016
3020
  */
3017
3021
  async reloadCommands() {
3018
3022
  this.loadedCommands.clear();
3019
3023
  this.loadedMiddlewares.clear();
3020
- this.commandNameToId.clear();
3021
- this.subcommandPathToId.clear();
3022
3024
  this.externalCommandData.clear();
3023
3025
  this.externalMiddlewareData.clear();
3024
3026
  await this.loadCommands();
@@ -3055,10 +3057,7 @@ var AppCommandHandler = class {
3055
3057
  * @param data - Array of loaded commands to register
3056
3058
  */
3057
3059
  async registerExternalLoadedCommands(data) {
3058
- for (const command of data) {
3059
- this.loadedCommands.set(command.command.id, command);
3060
- this.commandNameToId.set(command.command.name, command.command.id);
3061
- }
3060
+ for (const command of data) this.loadedCommands.set(command.command.id, command);
3062
3061
  }
3063
3062
  /**
3064
3063
  * Loads all commands and middleware from the router.
@@ -3074,7 +3073,12 @@ var AppCommandHandler = class {
3074
3073
  const combinedMiddlewares = this.externalMiddlewareData.size ? middlewares.concat(this.externalMiddlewareData) : middlewares;
3075
3074
  for (const [id, middleware] of combinedMiddlewares) await this.loadMiddleware(id, middleware);
3076
3075
  for (const [id, command] of combinedCommands) await this.loadCommand(id, command);
3077
- if (require_constants.COMMANDKIT_IS_DEV) await require_types_package.rewriteCommandDeclaration(`type CommandTypeData = ${Array.from(this.loadedCommands.mapValues((v) => JSON.stringify(v.command.name)).values()).join(" | ")}`);
3076
+ if (require_constants.COMMANDKIT_IS_DEV) {
3077
+ const commandNames = Array.from(this.loadedCommands.values()).map((v) => v.data.command.name);
3078
+ const aliases = Array.from(this.loadedCommands.values()).flatMap((v) => v.data.command.aliases || []);
3079
+ const allNames = [...commandNames, ...aliases];
3080
+ await require_types_package.rewriteCommandDeclaration(`type CommandTypeData = ${allNames.map((name) => JSON.stringify(name)).join(" | ")}`);
3081
+ }
3078
3082
  await this.commandkit.plugins.execute((ctx, plugin) => {
3079
3083
  return plugin.onAfterCommandsLoad(ctx);
3080
3084
  });
@@ -3119,7 +3123,14 @@ var AppCommandHandler = class {
3119
3123
  }
3120
3124
  const commandFileData = await import(`${require_resolve_file_url.toFileURL(command.path)}?t=${Date.now()}`);
3121
3125
  if (!commandFileData.command) throw new Error(`Invalid export for command ${command.name}: no command definition found`);
3122
- if ((!commandFileData.command.type || commandFileData.command.type === discord_js.ApplicationCommandType.ChatInput) && !commandFileData.command.description) commandFileData.command.description = `${command.name} command`;
3126
+ const commandName = commandFileData.command.name || command.name;
3127
+ const commandDescription = commandFileData.command.description || `${commandName} command`;
3128
+ const updatedCommandData = {
3129
+ ...commandFileData.command,
3130
+ name: commandName,
3131
+ description: commandDescription,
3132
+ aliases: commandFileData.command.aliases
3133
+ };
3123
3134
  let handlerCount = 0;
3124
3135
  for (const [key, propValidator] of Object.entries(commandDataSchema)) {
3125
3136
  const exportedProp = commandFileData[key];
@@ -3129,7 +3140,7 @@ var AppCommandHandler = class {
3129
3140
  }
3130
3141
  }
3131
3142
  if (handlerCount === 0) throw new Error(`Invalid export for command ${command.name}: at least one handler function must be provided`);
3132
- let lastUpdated = commandFileData.command;
3143
+ let lastUpdated = updatedCommandData;
3133
3144
  await this.commandkit.plugins.execute(async (ctx, plugin) => {
3134
3145
  const res = await plugin.prepareCommand(ctx, lastUpdated);
3135
3146
  if (res) lastUpdated = res;
@@ -3139,10 +3150,9 @@ var AppCommandHandler = class {
3139
3150
  guilds: commandFileData.command.guilds,
3140
3151
  data: {
3141
3152
  ...commandFileData,
3142
- command: "toJSON" in lastUpdated ? lastUpdated.toJSON() : lastUpdated
3153
+ command: "toJSON" in lastUpdated && typeof lastUpdated.toJSON === "function" ? lastUpdated.toJSON() : lastUpdated
3143
3154
  }
3144
3155
  });
3145
- this.commandNameToId.set(command.name, id);
3146
3156
  } catch (error) {
3147
3157
  Logger.error(`Failed to load command ${command.name} (${id})`, error);
3148
3158
  }
@@ -3636,11 +3646,15 @@ var CommandKit = class CommandKit extends node_events.default {
3636
3646
  /**
3637
3647
  * The configuration for the CommandKit instance.
3638
3648
  */
3639
- config = {
3649
+ appConfig = {
3640
3650
  defaultLocale: discord_js.Locale.EnglishUS,
3641
3651
  getMessageCommandPrefix: () => "!"
3642
3652
  };
3643
3653
  /**
3654
+ * The configuration for the CommandKit environment.
3655
+ */
3656
+ config = getConfig();
3657
+ /**
3644
3658
  * A key-value store for storing arbitrary data.
3645
3659
  */
3646
3660
  store = /* @__PURE__ */ new Map();
@@ -3691,6 +3705,7 @@ var CommandKit = class CommandKit extends node_events.default {
3691
3705
  constructor(options = {}) {
3692
3706
  if (CommandKit.instance) process.emitWarning("CommandKit instance already exists. Having multiple instance in same project is discouraged and it may lead to unexpected behavior.", { code: "MultiInstanceWarning" });
3693
3707
  super();
3708
+ loadConfigFile().then((config) => this.config = config);
3694
3709
  if (!CommandKit.instance) CommandKit.instance = this;
3695
3710
  if (options === null || options === void 0 ? void 0 : options.client) this.setClient(options.client);
3696
3711
  this.plugins = new CommandKitPluginRuntime(this);
@@ -3773,7 +3788,7 @@ var CommandKit = class CommandKit extends node_events.default {
3773
3788
  * @param resolver The resolver function.
3774
3789
  */
3775
3790
  setPrefixResolver(resolver) {
3776
- this.config.getMessageCommandPrefix = resolver;
3791
+ this.appConfig.getMessageCommandPrefix = resolver;
3777
3792
  return this;
3778
3793
  }
3779
3794
  /**
@@ -3781,7 +3796,7 @@ var CommandKit = class CommandKit extends node_events.default {
3781
3796
  * @param locale The default locale.
3782
3797
  */
3783
3798
  setDefaultLocale(locale) {
3784
- this.config.defaultLocale = locale;
3799
+ this.appConfig.defaultLocale = locale;
3785
3800
  return this;
3786
3801
  }
3787
3802
  /**
@@ -4274,4 +4289,4 @@ Object.defineProperty(exports, 'useEnvironment', {
4274
4289
  return useEnvironment;
4275
4290
  }
4276
4291
  });
4277
- //# sourceMappingURL=CommandKit-DV3O3x3J.js.map
4292
+ //# sourceMappingURL=CommandKit-BZVEqKzs.js.map