commandkit 1.2.1-dev.20260411122819 → 1.2.1-dev.20260411144916

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 (100) hide show
  1. package/dist/analytics/analytics-engine.d.ts +1 -1
  2. package/dist/analytics/analytics-engine.js +1 -1
  3. package/dist/analytics/analytics-provider.d.ts +1 -1
  4. package/dist/analytics/utils.js +1 -1
  5. package/dist/{analytics-engine-BimOLPwO.d.ts → analytics-engine-BYA0ongA.d.ts} +16 -2
  6. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  7. package/dist/app/commands/AppCommandRunner.js +1 -1
  8. package/dist/app/commands/Context.d.ts +1 -1
  9. package/dist/app/commands/Context.js +1 -1
  10. package/dist/app/events/EventWorkerContext.d.ts +1 -1
  11. package/dist/app/handlers/AppCommandHandler.d.ts +1 -1
  12. package/dist/app/handlers/AppCommandHandler.js +1 -1
  13. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  14. package/dist/app/handlers/AppEventsHandler.js +1 -1
  15. package/dist/app/index.d.ts +1 -1
  16. package/dist/app/index.js +1 -1
  17. package/dist/app/middlewares/permissions.d.ts +1 -1
  18. package/dist/app/middlewares/permissions.js +1 -1
  19. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  20. package/dist/app/register/CommandRegistrar.js +1 -1
  21. package/dist/cli/app-process.d.ts +2 -1
  22. package/dist/cli/app-process.js +15 -3
  23. package/dist/cli/app-process.js.map +1 -1
  24. package/dist/cli/build.d.ts +1 -1
  25. package/dist/cli/build.js +4 -2
  26. package/dist/cli/build.js.map +1 -1
  27. package/dist/cli/common.d.ts +1 -1
  28. package/dist/cli/development.d.ts +2 -2
  29. package/dist/cli/development.js +2 -2
  30. package/dist/cli/development.js.map +1 -1
  31. package/dist/cli/init.js +1 -1
  32. package/dist/cli/production.js +4 -3
  33. package/dist/cli/production.js.map +1 -1
  34. package/dist/{commandkit-D2HMPuRQ.js → commandkit-DTqT800J.js} +8 -3
  35. package/dist/commandkit-DTqT800J.js.map +1 -0
  36. package/dist/commandkit.d.ts +1 -1
  37. package/dist/commandkit.js +1 -1
  38. package/dist/components/common/element.js +1 -1
  39. package/dist/components/display/common.js +1 -1
  40. package/dist/components/display/container.js +1 -1
  41. package/dist/components/display/index.js +1 -1
  42. package/dist/components/display/label.js +1 -1
  43. package/dist/components/display/media-gallery.js +1 -1
  44. package/dist/components/display/section.js +1 -1
  45. package/dist/components/index.js +1 -1
  46. package/dist/components/interactive/button/Button.js +1 -1
  47. package/dist/components/interactive/button/ButtonKit.js +1 -1
  48. package/dist/components/interactive/checkbox/checkbox.js +1 -1
  49. package/dist/components/interactive/modal/Modal.js +1 -1
  50. package/dist/components/interactive/modal/ModalKit.js +1 -1
  51. package/dist/components/interactive/radio/radio.js +1 -1
  52. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.js +1 -1
  53. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.js +1 -1
  54. package/dist/components/interactive/select-menu/RoleSelectMenuKit.js +1 -1
  55. package/dist/components/interactive/select-menu/SelectMenu.js +1 -1
  56. package/dist/components/interactive/select-menu/StringSelectMenuKit.js +1 -1
  57. package/dist/components/interactive/select-menu/UserSelectMenuKit.js +1 -1
  58. package/dist/config/config.d.ts +1 -1
  59. package/dist/config/config.js +1 -1
  60. package/dist/config/default.d.ts +1 -1
  61. package/dist/config/default.js +1 -1
  62. package/dist/config/loader.d.ts +1 -1
  63. package/dist/config/loader.js +1 -1
  64. package/dist/config/types.d.ts +2 -2
  65. package/dist/config/utils.d.ts +1 -1
  66. package/dist/context/async-context.d.ts +1 -1
  67. package/dist/context/async-context.js +1 -1
  68. package/dist/context/environment.d.ts +1 -1
  69. package/dist/context/environment.js +1 -1
  70. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  71. package/dist/flags/FlagProvider.d.ts +1 -1
  72. package/dist/flags/feature-flags.d.ts +1 -1
  73. package/dist/flags/feature-flags.js +1 -1
  74. package/dist/flags/store.d.ts +1 -1
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/logger/DefaultLogger.js +1 -1
  78. package/dist/logger/Logger.js +1 -1
  79. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  80. package/dist/plugins/PluginCommon.d.ts +1 -1
  81. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  82. package/dist/plugins/index.d.ts +1 -1
  83. package/dist/plugins/index.js +1 -1
  84. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  85. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +1 -1
  86. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  87. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +1 -1
  88. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  89. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +1 -1
  90. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -1
  91. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +1 -1
  92. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  93. package/dist/plugins/types.d.ts +1 -1
  94. package/dist/types.d.ts +1 -1
  95. package/dist/utils/dev-hooks.d.ts +1 -1
  96. package/dist/utils/dev-hooks.js +1 -1
  97. package/dist/utils/utilities.js +1 -1
  98. package/dist/version.js +1 -1
  99. package/package.json +2 -2
  100. package/dist/commandkit-D2HMPuRQ.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import { n as FilterFunction, t as AnalyticsEngine } from "../analytics-engine-BimOLPwO.js";
1
+ import { n as FilterFunction, t as AnalyticsEngine } from "../analytics-engine-BYA0ongA.js";
2
2
  export { AnalyticsEngine, FilterFunction };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.AnalyticsEngine = require_commandkit.AnalyticsEngine;
@@ -1,2 +1,2 @@
1
- import { a as IdentifyEvent, i as AnalyticsProvider, r as AnalyticsEvent } from "../analytics-engine-BimOLPwO.js";
1
+ import { a as IdentifyEvent, i as AnalyticsProvider, r as AnalyticsEvent } from "../analytics-engine-BYA0ongA.js";
2
2
  export { AnalyticsEvent, AnalyticsProvider, IdentifyEvent };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.getDoNotTrack = require_commandkit.getDoNotTrack;
5
5
  exports.noAnalytics = require_commandkit.noAnalytics;
@@ -1947,6 +1947,10 @@ declare function flag<Returns = boolean, Entity = Record<any, any>>(options: Fea
1947
1947
  declare class FlagStore extends Collection<string, FeatureFlag<any, any>> {}
1948
1948
  //#endregion
1949
1949
  //#region src/config/types.d.ts
1950
+ /**
1951
+ * The JavaScript runtime to use for the development server.
1952
+ */
1953
+ type CommandKitJsRuntime = 'node' | 'bun' | 'deno' | 'auto';
1950
1954
  interface CommandKitCompilerOptions {
1951
1955
  /**
1952
1956
  * The macro compiler options to use with CommandKit.
@@ -2063,6 +2067,16 @@ interface CommandKitConfig {
2063
2067
  * @default true
2064
2068
  */
2065
2069
  jsxDefaultOptionalComponents?: boolean;
2070
+ /**
2071
+ * Experimental features configuration. These features are not stable and may be removed or changed without a major version bump. Use with caution.
2072
+ */
2073
+ experimental?: {
2074
+ /**
2075
+ * The runtime to use for the development server. This is an experimental feature and may be removed or changed without a major version bump. Use with caution.
2076
+ * @default null
2077
+ */
2078
+ devServerRuntime?: CommandKitJsRuntime | null;
2079
+ };
2066
2080
  }
2067
2081
  //#endregion
2068
2082
  //#region src/config/utils.d.ts
@@ -2372,5 +2386,5 @@ declare class AnalyticsEngine {
2372
2386
  track(event: AnalyticsEvent): Promise<void>;
2373
2387
  }
2374
2388
  //#endregion
2375
- export { isRuntimePlugin as $, MessageCommand as $t, flag as A, makeContextAwareFunction as At, CommonPluginRuntime as B, PreRegisterCommandsEvent as Bt, EvaluationContext as C, RunCommandOptions as Ct, FlagRunner as D, getCommandKit as Dt, FeatureFlagDefinition as E, exitContext as Et, CommandKitPluginRuntime as F, CommandKitEnvironmentInternalData as Ft, PluginTransformParameters as G, ChatInputCommand as Gt, CommonDirectiveTransformer as H, AutocompleteCommand as Ht, PluginCommon as I, CommandKitEnvironmentType as It, CommandKitEventDispatch as J, CommandExecutionMode as Jt, TransformedResult as K, ChatInputCommandContext as Kt, PluginOptions as L, after as Lt, FlagConfiguration as M, useEnvironment as Mt, FlagProvider as N, useStore as Nt, IdentifyFunction as O, getContext as Ot, JsonFlagProvider as P, CommandKitEnvironment as Pt, RuntimePlugin as Q, InteractionCommandMiddlewareContext as Qt, PluginType as R, cancelAfter as Rt, DecideFunction as S, AppCommandRunner as St, FeatureFlag as T, GenericFunction as Tt, CommonDirectiveTransformerOptions as U, AutocompleteCommandContext as Ut, CompilerPluginRuntime as V, AnyCommandExecute as Vt, CompilerPlugin as W, AutocompleteCommandMiddlewareContext as Wt, MaybeFalsey as X, ContextParameters as Xt, CommandKitPlugin as Y, Context as Yt, TemplateHandler as Z, InteractionCommandContext as Zt, CommandKitConfig as _, CustomAppCommandProps as _t, IdentifyEvent as a, MiddlewareContext as an, EventListener as at, CustomEvaluationContext as b, ResolvableCommand as bt, CommandKitConfiguration as c, UserContextMenuCommand as cn, ListenerFunction as ct, onBootstrap as d, CommandContext as dn, AppCommandNative as dt, MessageCommandContext as en, CommandKitHMREvent as et, DeepPartial as f, CommandData as fn, CommandBuilderLike as ft, CommandKitCompilerOptions as g, EventHandler as gn, CommandTypeData as gt, mergeDeep as h, CommandMetadataFunction as hn, CommandDataSchemaValue as ht, AnalyticsProvider as i, MessageContextMenuCommandMiddlewareContext as in, AppEventsHandlerLoadedData as it, setFlagProvider as j, provideContext as jt, MaybePromise as k, isCommandWorkerContext as kt, commandkit as l, UserContextMenuCommandContext as ln, AppCommand as lt, ResolvedCommandKitConfig as m, CommandMetadata as mn, CommandDataSchemaKey as mt, FilterFunction as n, MessageContextMenuCommand as nn, registerDevHooks as nt, BootstrapFunction as o, MiddlewareContextArgs as on, LoadedEvent as ot, DeepRequired as p, CommandKitOptions as pn, CommandDataSchema as pt, isCompilerPlugin as q, CommandContextOptions as qt, AnalyticsEvent as r, MessageContextMenuCommandContext as rn, AppEventsHandler as rt, CommandKit as s, SlashCommandMiddlewareContext as sn, CommandKitEventsChannel as st, AnalyticsEngine as t, MessageCommandMiddlewareContext as tn, IpcMessageCommand as tt, onApplicationBootstrap as u, UserContextMenuCommandMiddlewareContext as un, AppCommandHandler as ut, FlagStore as v, LoadedCommand as vt, EventFlagContext as w, AsyncFunction as wt, CustomEvaluationFunction as x, RunCommand as xt, CommandFlagContext as y, PreparedAppCommandExecution as yt, isPlugin as z, CommandRegistrar as zt };
2376
- //# sourceMappingURL=analytics-engine-BimOLPwO.d.ts.map
2389
+ export { RuntimePlugin as $, InteractionCommandMiddlewareContext as $t, MaybePromise as A, isCommandWorkerContext as At, isPlugin as B, CommandRegistrar as Bt, DecideFunction as C, AppCommandRunner as Ct, FeatureFlagDefinition as D, exitContext as Dt, FeatureFlag as E, GenericFunction as Et, JsonFlagProvider as F, CommandKitEnvironment as Ft, CompilerPlugin as G, AutocompleteCommandMiddlewareContext as Gt, CompilerPluginRuntime as H, AnyCommandExecute as Ht, CommandKitPluginRuntime as I, CommandKitEnvironmentInternalData as It, isCompilerPlugin as J, CommandContextOptions as Jt, PluginTransformParameters as K, ChatInputCommand as Kt, PluginCommon as L, CommandKitEnvironmentType as Lt, setFlagProvider as M, provideContext as Mt, FlagConfiguration as N, useEnvironment as Nt, FlagRunner as O, getCommandKit as Ot, FlagProvider as P, useStore as Pt, TemplateHandler as Q, InteractionCommandContext as Qt, PluginOptions as R, after as Rt, CustomEvaluationFunction as S, RunCommand as St, EventFlagContext as T, AsyncFunction as Tt, CommonDirectiveTransformer as U, AutocompleteCommand as Ut, CommonPluginRuntime as V, PreRegisterCommandsEvent as Vt, CommonDirectiveTransformerOptions as W, AutocompleteCommandContext as Wt, CommandKitPlugin as X, Context as Xt, CommandKitEventDispatch as Y, CommandExecutionMode as Yt, MaybeFalsey as Z, ContextParameters as Zt, CommandKitConfig as _, EventHandler as _n, CommandTypeData as _t, IdentifyEvent as a, MessageContextMenuCommandMiddlewareContext as an, AppEventsHandlerLoadedData as at, CommandFlagContext as b, PreparedAppCommandExecution as bt, CommandKitConfiguration as c, SlashCommandMiddlewareContext as cn, CommandKitEventsChannel as ct, onBootstrap as d, UserContextMenuCommandMiddlewareContext as dn, AppCommandHandler as dt, MessageCommand as en, isRuntimePlugin as et, DeepPartial as f, CommandContext as fn, AppCommandNative as ft, CommandKitCompilerOptions as g, CommandMetadataFunction as gn, CommandDataSchemaValue as gt, mergeDeep as h, CommandMetadata as hn, CommandDataSchemaKey as ht, AnalyticsProvider as i, MessageContextMenuCommandContext as in, AppEventsHandler as it, flag as j, makeContextAwareFunction as jt, IdentifyFunction as k, getContext as kt, commandkit as l, UserContextMenuCommand as ln, ListenerFunction as lt, ResolvedCommandKitConfig as m, CommandKitOptions as mn, CommandDataSchema as mt, FilterFunction as n, MessageCommandMiddlewareContext as nn, IpcMessageCommand as nt, BootstrapFunction as o, MiddlewareContext as on, EventListener as ot, DeepRequired as p, CommandData as pn, CommandBuilderLike as pt, TransformedResult as q, ChatInputCommandContext as qt, AnalyticsEvent as r, MessageContextMenuCommand as rn, registerDevHooks as rt, CommandKit as s, MiddlewareContextArgs as sn, LoadedEvent as st, AnalyticsEngine as t, MessageCommandContext as tn, CommandKitHMREvent as tt, onApplicationBootstrap as u, UserContextMenuCommandContext as un, AppCommand as ut, CommandKitJsRuntime as v, CustomAppCommandProps as vt, EvaluationContext as w, RunCommandOptions as wt, CustomEvaluationContext as x, ResolvableCommand as xt, FlagStore as y, LoadedCommand as yt, PluginType as z, cancelAfter as zt };
2390
+ //# sourceMappingURL=analytics-engine-BYA0ongA.d.ts.map
@@ -1,2 +1,2 @@
1
- import { Ct as RunCommandOptions, St as AppCommandRunner } from "../../analytics-engine-BimOLPwO.js";
1
+ import { Ct as AppCommandRunner, wt as RunCommandOptions } from "../../analytics-engine-BYA0ongA.js";
2
2
  export { AppCommandRunner, RunCommandOptions };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.AppCommandRunner = require_commandkit.AppCommandRunner;
@@ -1,2 +1,2 @@
1
- import { $t as MessageCommand, Gt as ChatInputCommand, Ht as AutocompleteCommand, Jt as CommandExecutionMode, Kt as ChatInputCommandContext, Qt as InteractionCommandMiddlewareContext, Ut as AutocompleteCommandContext, Vt as AnyCommandExecute, Wt as AutocompleteCommandMiddlewareContext, Xt as ContextParameters, Yt as Context, Zt as InteractionCommandContext, an as MiddlewareContext, cn as UserContextMenuCommand, en as MessageCommandContext, in as MessageContextMenuCommandMiddlewareContext, ln as UserContextMenuCommandContext, nn as MessageContextMenuCommand, on as MiddlewareContextArgs, qt as CommandContextOptions, rn as MessageContextMenuCommandContext, sn as SlashCommandMiddlewareContext, tn as MessageCommandMiddlewareContext, un as UserContextMenuCommandMiddlewareContext } from "../../analytics-engine-BimOLPwO.js";
1
+ import { $t as InteractionCommandMiddlewareContext, Gt as AutocompleteCommandMiddlewareContext, Ht as AnyCommandExecute, Jt as CommandContextOptions, Kt as ChatInputCommand, Qt as InteractionCommandContext, Ut as AutocompleteCommand, Wt as AutocompleteCommandContext, Xt as Context, Yt as CommandExecutionMode, Zt as ContextParameters, an as MessageContextMenuCommandMiddlewareContext, cn as SlashCommandMiddlewareContext, dn as UserContextMenuCommandMiddlewareContext, en as MessageCommand, in as MessageContextMenuCommandContext, ln as UserContextMenuCommand, nn as MessageCommandMiddlewareContext, on as MiddlewareContext, qt as ChatInputCommandContext, rn as MessageContextMenuCommand, sn as MiddlewareContextArgs, tn as MessageCommandContext, un as UserContextMenuCommandContext } from "../../analytics-engine-BYA0ongA.js";
2
2
  export { AnyCommandExecute, AutocompleteCommand, AutocompleteCommandContext, AutocompleteCommandMiddlewareContext, ChatInputCommand, ChatInputCommandContext, CommandContextOptions, CommandExecutionMode, Context, ContextParameters, InteractionCommandContext, InteractionCommandMiddlewareContext, MessageCommand, MessageCommandContext, MessageCommandMiddlewareContext, MessageContextMenuCommand, MessageContextMenuCommandContext, MessageContextMenuCommandMiddlewareContext, MiddlewareContext, MiddlewareContextArgs, SlashCommandMiddlewareContext, UserContextMenuCommand, UserContextMenuCommandContext, UserContextMenuCommandMiddlewareContext };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.CommandExecutionMode = require_commandkit.CommandExecutionMode;
5
5
  exports.Context = require_commandkit.Context;
@@ -1,4 +1,4 @@
1
- import { s as CommandKit } from "../../analytics-engine-BimOLPwO.js";
1
+ import { s as CommandKit } from "../../analytics-engine-BYA0ongA.js";
2
2
  import { i as ParsedEvent } from "../../EventsRouter-Dyr_oJJD.js";
3
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
4
 
@@ -1,2 +1,2 @@
1
- import { _t as CustomAppCommandProps, bt as ResolvableCommand, dt as AppCommandNative, ft as CommandBuilderLike, gt as CommandTypeData, ht as CommandDataSchemaValue, lt as AppCommand, mt as CommandDataSchemaKey, pt as CommandDataSchema, ut as AppCommandHandler, vt as LoadedCommand, xt as RunCommand, yt as PreparedAppCommandExecution } from "../../analytics-engine-BimOLPwO.js";
1
+ import { St as RunCommand, _t as CommandTypeData, bt as PreparedAppCommandExecution, dt as AppCommandHandler, ft as AppCommandNative, gt as CommandDataSchemaValue, ht as CommandDataSchemaKey, mt as CommandDataSchema, pt as CommandBuilderLike, ut as AppCommand, vt as CustomAppCommandProps, xt as ResolvableCommand, yt as LoadedCommand } from "../../analytics-engine-BYA0ongA.js";
2
2
  export { AppCommand, AppCommandHandler, AppCommandNative, CommandBuilderLike, CommandDataSchema, CommandDataSchemaKey, CommandDataSchemaValue, CommandTypeData, CustomAppCommandProps, LoadedCommand, PreparedAppCommandExecution, ResolvableCommand, RunCommand };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.AppCommandHandler = require_commandkit.AppCommandHandler;
@@ -1,2 +1,2 @@
1
- import { at as EventListener, it as AppEventsHandlerLoadedData, ot as LoadedEvent, rt as AppEventsHandler } from "../../analytics-engine-BimOLPwO.js";
1
+ import { at as AppEventsHandlerLoadedData, it as AppEventsHandler, ot as EventListener, st as LoadedEvent } from "../../analytics-engine-BYA0ongA.js";
2
2
  export { AppEventsHandler, AppEventsHandlerLoadedData, EventListener, LoadedEvent };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.AppEventsHandler = require_commandkit.AppEventsHandler;
@@ -1,4 +1,4 @@
1
- import { $t as MessageCommand, Bt as PreRegisterCommandsEvent, Gt as ChatInputCommand, Ht as AutocompleteCommand, Jt as CommandExecutionMode, Kt as ChatInputCommandContext, Qt as InteractionCommandMiddlewareContext, Ut as AutocompleteCommandContext, Vt as AnyCommandExecute, Wt as AutocompleteCommandMiddlewareContext, Xt as ContextParameters, Yt as Context, Zt as InteractionCommandContext, _t as CustomAppCommandProps, an as MiddlewareContext, bt as ResolvableCommand, cn as UserContextMenuCommand, dt as AppCommandNative, en as MessageCommandContext, ft as CommandBuilderLike, gt as CommandTypeData, ht as CommandDataSchemaValue, in as MessageContextMenuCommandMiddlewareContext, ln as UserContextMenuCommandContext, lt as AppCommand, mt as CommandDataSchemaKey, nn as MessageContextMenuCommand, on as MiddlewareContextArgs, pt as CommandDataSchema, qt as CommandContextOptions, rn as MessageContextMenuCommandContext, sn as SlashCommandMiddlewareContext, tn as MessageCommandMiddlewareContext, un as UserContextMenuCommandMiddlewareContext, ut as AppCommandHandler, vt as LoadedCommand, xt as RunCommand, yt as PreparedAppCommandExecution, zt as CommandRegistrar } from "../analytics-engine-BimOLPwO.js";
1
+ import { $t as InteractionCommandMiddlewareContext, Bt as CommandRegistrar, Gt as AutocompleteCommandMiddlewareContext, Ht as AnyCommandExecute, Jt as CommandContextOptions, Kt as ChatInputCommand, Qt as InteractionCommandContext, St as RunCommand, Ut as AutocompleteCommand, Vt as PreRegisterCommandsEvent, Wt as AutocompleteCommandContext, Xt as Context, Yt as CommandExecutionMode, Zt as ContextParameters, _t as CommandTypeData, an as MessageContextMenuCommandMiddlewareContext, bt as PreparedAppCommandExecution, cn as SlashCommandMiddlewareContext, dn as UserContextMenuCommandMiddlewareContext, dt as AppCommandHandler, en as MessageCommand, ft as AppCommandNative, gt as CommandDataSchemaValue, ht as CommandDataSchemaKey, in as MessageContextMenuCommandContext, ln as UserContextMenuCommand, mt as CommandDataSchema, nn as MessageCommandMiddlewareContext, on as MiddlewareContext, pt as CommandBuilderLike, qt as ChatInputCommandContext, rn as MessageContextMenuCommand, sn as MiddlewareContextArgs, tn as MessageCommandContext, un as UserContextMenuCommandContext, ut as AppCommand, vt as CustomAppCommandProps, xt as ResolvableCommand, yt as LoadedCommand } from "../analytics-engine-BYA0ongA.js";
2
2
  import { i as ParsedMessageCommand, n as MessageCommandOptionsSchema, r as MessageCommandParser, t as MessageCommandOptions } from "../MessageCommandParser-UTKsRvb9.js";
3
3
  import { i as stopMiddlewares, n as rethrow, r as stopEvents, t as redirect } from "../signals-DVOXPkQK.js";
4
4
  import { n as isInteractionSource, r as isMessageSource, t as CommandSource } from "../helpers-C5jRrAM1.js";
package/dist/app/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../commandkit-DTqT800J.js');
3
3
  const require_app_interrupt_signals = require('./interrupt/signals.js');
4
4
  const require_app_commands_helpers = require('./commands/helpers.js');
5
5
  const require_app_commands_MessageCommandParser = require('./commands/MessageCommandParser.js');
@@ -1,4 +1,4 @@
1
- import { an as MiddlewareContext } from "../../analytics-engine-BimOLPwO.js";
1
+ import { on as MiddlewareContext } from "../../analytics-engine-BYA0ongA.js";
2
2
 
3
3
  //#region src/app/middlewares/permissions.d.ts
4
4
  declare const middlewareId: `${string}-${string}-${string}-${string}-${string}`;
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.beforeExecute = require_commandkit.beforeExecute;
5
5
  exports.middlewareId = require_commandkit.middlewareId;
@@ -1,2 +1,2 @@
1
- import { Bt as PreRegisterCommandsEvent, zt as CommandRegistrar } from "../../analytics-engine-BimOLPwO.js";
1
+ import { Bt as CommandRegistrar, Vt as PreRegisterCommandsEvent } from "../../analytics-engine-BYA0ongA.js";
2
2
  export { CommandRegistrar, PreRegisterCommandsEvent };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_commandkit = require('../../commandkit-D2HMPuRQ.js');
2
+ const require_commandkit = require('../../commandkit-DTqT800J.js');
3
3
 
4
4
  exports.CommandRegistrar = require_commandkit.CommandRegistrar;
@@ -1,3 +1,4 @@
1
+ import { m as ResolvedCommandKitConfig } from "../analytics-engine-BYA0ongA.js";
1
2
  import * as node_child_process0 from "node:child_process";
2
3
 
3
4
  //#region src/cli/app-process.d.ts
@@ -5,7 +6,7 @@ import * as node_child_process0 from "node:child_process";
5
6
  * @private
6
7
  * @internal
7
8
  */
8
- declare function createAppProcess(fileName: string, cwd: string, isDev: boolean): node_child_process0.ChildProcess;
9
+ declare function createAppProcess(fileName: string, cwd: string, isDev: boolean, config: ResolvedCommandKitConfig): node_child_process0.ChildProcess;
9
10
  //#endregion
10
11
  export { createAppProcess };
11
12
  //# sourceMappingURL=app-process.d.ts.map
@@ -24,15 +24,27 @@ function getStdio(supportsCommands) {
24
24
  "pipe"
25
25
  ];
26
26
  }
27
+ const RuntimeLookup = [["bun", () => typeof Bun !== "undefined" && typeof Bun.version === "string"], ["deno", () => typeof Deno !== "undefined" && typeof Deno.version === "object" && typeof Deno.version.deno === "string"]];
28
+ function resolveRuntime(config) {
29
+ var _config$experimental;
30
+ const maybeRuntime = config === null || config === void 0 || (_config$experimental = config.experimental) === null || _config$experimental === void 0 ? void 0 : _config$experimental.devServerRuntime;
31
+ if (!maybeRuntime) return "node";
32
+ if (maybeRuntime === "auto") {
33
+ for (const [runtime, check] of RuntimeLookup) if (check()) return runtime;
34
+ return "node";
35
+ }
36
+ return maybeRuntime;
37
+ }
27
38
  /**
28
39
  * @private
29
40
  * @internal
30
41
  */
31
- function createAppProcess(fileName, cwd, isDev) {
42
+ function createAppProcess(fileName, cwd, isDev, config) {
32
43
  var _ps$stdout, _ps$stderr;
33
44
  if (!(0, node_fs.existsSync)((0, node_path.join)(cwd, fileName))) require_cli_common.panic(`Could not locate the entrypoint file: ${fileName}`);
34
45
  const stdio = getStdio(isDev);
35
- const baseArgs = [`--title="CommandKit ${isDev ? "Development" : "Production"}"`, "--enable-source-maps"];
46
+ const targetRuntime = resolveRuntime(config);
47
+ const baseArgs = targetRuntime === "node" ? [`--title="CommandKit ${isDev ? "Development" : "Production"}"`, "--enable-source-maps"] : [];
36
48
  const nodeOptions = process.env.CK_NODE_OPTIONS || process.env.NODE_OPTIONS;
37
49
  let nodeArgs = [...baseArgs];
38
50
  if (nodeOptions) {
@@ -45,7 +57,7 @@ function createAppProcess(fileName, cwd, isDev) {
45
57
  }
46
58
  }
47
59
  nodeArgs.push(fileName);
48
- const ps = (0, node_child_process.spawn)("node", nodeArgs, {
60
+ const ps = (0, node_child_process.spawn)(targetRuntime, nodeArgs, {
49
61
  cwd,
50
62
  windowsHide: true,
51
63
  env: isDev ? require_cli_env.DevEnv() : require_cli_env.ProdEnv(),
@@ -1 +1 @@
1
- {"version":3,"file":"app-process.js","names":[],"sources":["../../src/cli/app-process.ts"],"sourcesContent":["import { IOType, spawn } from 'node:child_process';\nimport { DevEnv, ProdEnv } from './env';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\nimport { panic } from './common';\n\n/**\n * @private\n * @internal\n */\nfunction getStdio(supportsCommands: boolean) {\n if (supportsCommands) {\n return ['pipe', 'pipe', 'pipe', 'ipc'];\n }\n\n return ['pipe', 'pipe', 'pipe'];\n}\n\n/**\n * @private\n * @internal\n */\nexport function createAppProcess(\n fileName: string,\n cwd: string,\n isDev: boolean,\n) {\n if (!existsSync(join(cwd, fileName))) {\n panic(`Could not locate the entrypoint file: ${fileName}`);\n }\n\n const stdio = getStdio(isDev) as IOType[];\n\n const baseArgs = [\n `--title=\"CommandKit ${isDev ? 'Development' : 'Production'}\"`,\n '--enable-source-maps',\n ];\n\n const nodeOptions = process.env.CK_NODE_OPTIONS || process.env.NODE_OPTIONS;\n let nodeArgs = [...baseArgs];\n\n if (nodeOptions) {\n const options = nodeOptions.trim().split(/\\s+/);\n\n for (const option of options) {\n const optionName = option.split('=')[0];\n const existingIndex = nodeArgs.findIndex((arg) =>\n arg.startsWith(optionName),\n );\n\n if (existingIndex !== -1) {\n nodeArgs[existingIndex] = option;\n } else {\n nodeArgs.push(option);\n }\n }\n }\n\n nodeArgs.push(fileName);\n\n const ps = spawn('node', nodeArgs, {\n cwd,\n windowsHide: true,\n env: isDev ? DevEnv() : ProdEnv(),\n stdio,\n });\n\n ps.stdout?.pipe(process.stdout);\n ps.stderr?.pipe(process.stderr);\n\n return ps;\n}\n"],"mappings":";;;;;;;;;;;;;AAUA,SAAS,SAAS,kBAA2B;AAC3C,KAAI,iBACF,QAAO;EAAC;EAAQ;EAAQ;EAAQ;EAAM;AAGxC,QAAO;EAAC;EAAQ;EAAQ;EAAO;;;;;;AAOjC,SAAgB,iBAChB,UACA,KACA,OACA;;AACE,KAAI,6CAAiB,KAAK,SAAS,CAAC,CAClC,0BAAM,yCAAyC,WAAW;CAG5D,MAAM,QAAQ,SAAS,MAAM;CAE7B,MAAM,WAAW,CACjB,uBAAuB,QAAQ,gBAAgB,aAAa,IAC5D,uBAAuB;CAGvB,MAAM,cAAc,QAAQ,IAAI,mBAAmB,QAAQ,IAAI;CAC/D,IAAI,WAAW,CAAC,GAAG,SAAS;AAE5B,KAAI,aAAa;EACf,MAAM,UAAU,YAAY,MAAM,CAAC,MAAM,MAAM;AAE/C,OAAK,MAAM,UAAU,SAAS;GAC5B,MAAM,aAAa,OAAO,MAAM,IAAI,CAAC;GACrC,MAAM,gBAAgB,SAAS,WAAW,QAC1C,IAAE,WAAI,WAAW,CAChB;AAED,OAAI,kBAAkB,GACpB,UAAS,iBAAiB;OAE1B,UAAS,KAAK,OAAO;;;AAK3B,UAAS,KAAK,SAAS;CAEvB,MAAM,mCAAW,QAAQ,UAAU;EACjC;EACA,aAAa;EACb,KAAK,QAAQ,wBAAQ,GAAG,yBAAS;EACjC;EACD,CAAC;AAEF,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAC/B,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAE/B,QAAO"}
1
+ {"version":3,"file":"app-process.js","names":[],"sources":["../../src/cli/app-process.ts"],"sourcesContent":["import { IOType, spawn } from 'node:child_process';\nimport { DevEnv, ProdEnv } from './env';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\nimport { panic } from './common';\nimport { ResolvedCommandKitConfig } from '../config/utils';\nimport { CommandKitJsRuntime } from '../config/types';\n\n/**\n * @private\n * @internal\n */\nfunction getStdio(supportsCommands: boolean) {\n if (supportsCommands) {\n return ['pipe', 'pipe', 'pipe', 'ipc'];\n }\n\n return ['pipe', 'pipe', 'pipe'];\n}\n\nconst RuntimeLookup: [CommandKitJsRuntime, () => boolean][] = [\n // @ts-ignore Bun types\n ['bun', () => typeof Bun !== 'undefined' && typeof Bun.version === 'string'],\n [\n 'deno',\n () =>\n // @ts-ignore Deno types\n typeof Deno !== 'undefined' &&\n // @ts-ignore Deno types\n typeof Deno.version === 'object' &&\n // @ts-ignore Deno types\n typeof Deno.version.deno === 'string',\n ],\n];\n\nfunction resolveRuntime(config: ResolvedCommandKitConfig): CommandKitJsRuntime {\n const maybeRuntime = config?.experimental?.devServerRuntime;\n\n // TODO: once stable enough, we should try 'auto' option here\n if (!maybeRuntime) return 'node';\n\n if (maybeRuntime === 'auto') {\n for (const [runtime, check] of RuntimeLookup) {\n if (check()) {\n return runtime as CommandKitJsRuntime;\n }\n }\n\n return 'node';\n }\n\n return maybeRuntime;\n}\n\n/**\n * @private\n * @internal\n */\nexport function createAppProcess(\n fileName: string,\n cwd: string,\n isDev: boolean,\n config: ResolvedCommandKitConfig,\n) {\n if (!existsSync(join(cwd, fileName))) {\n panic(`Could not locate the entrypoint file: ${fileName}`);\n }\n\n const stdio = getStdio(isDev) as IOType[];\n const targetRuntime = resolveRuntime(config);\n\n const baseArgs =\n targetRuntime === 'node'\n ? [\n `--title=\"CommandKit ${isDev ? 'Development' : 'Production'}\"`,\n '--enable-source-maps',\n ]\n : [];\n\n const nodeOptions = process.env.CK_NODE_OPTIONS || process.env.NODE_OPTIONS;\n let nodeArgs = [...baseArgs];\n\n if (nodeOptions) {\n const options = nodeOptions.trim().split(/\\s+/);\n\n for (const option of options) {\n const optionName = option.split('=')[0];\n const existingIndex = nodeArgs.findIndex((arg) =>\n arg.startsWith(optionName),\n );\n\n if (existingIndex !== -1) {\n nodeArgs[existingIndex] = option;\n } else {\n nodeArgs.push(option);\n }\n }\n }\n\n nodeArgs.push(fileName);\n\n const ps = spawn(targetRuntime, nodeArgs, {\n cwd,\n windowsHide: true,\n env: isDev ? DevEnv() : ProdEnv(),\n stdio,\n });\n\n ps.stdout?.pipe(process.stdout);\n ps.stderr?.pipe(process.stderr);\n\n return ps;\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAS,SAAS,kBAA2B;AAC3C,KAAI,iBACF,QAAO;EAAC;EAAQ;EAAQ;EAAQ;EAAM;AAGxC,QAAO;EAAC;EAAQ;EAAQ;EAAO;;AAGjC,MAAM,gBAAwD,CAE9D,CAAC,aAAa,OAAE,QAAa,eAAe,OAAE,IAAO,YAAc,SAAS,EAC5E,CACA,cAGA,OAAM,SAAO,eAEb,OAAM,KAAM,YAAM,YAElB,OAAM,KAAM,QAAM,SAAQ,SAAU,CAAA;AAIpC,SAAS,eAAe,QAAuD;;CAC7E,MAAM,+EAAe,OAAQ,0FAAc;AAG3C,KAAI,CAAC,aAAc,QAAO;AAE1B,KAAI,iBAAiB,QAAQ;AAC3B,OAAK,MAAM,CAAC,SAAS,UAAU,cAC7B,KAAI,OAAO,CACT,QAAO;AAIX,SAAO;;AAGT,QAAO;;;;;;AAOT,SAAgB,iBAChB,UACA,KACA,OACA,QACA;;AACE,KAAI,6CAAiB,KAAK,SAAS,CAAC,CAClC,0BAAM,yCAAyC,WAAW;CAG5D,MAAM,QAAQ,SAAS,MAAM;CAC7B,MAAM,gBAAgB,eAAe,OAAO;CAE5C,MAAM,WACN,kBAAkB,SAClB,CACA,uBAAkB,QAAa,gBAAS,aAAgB,IACxD,uBAAkB,GAElB,EAAE;CAEF,MAAM,cAAc,QAAQ,IAAI,mBAAmB,QAAQ,IAAI;CAC/D,IAAI,WAAW,CAAC,GAAG,SAAS;AAE5B,KAAI,aAAa;EACf,MAAM,UAAU,YAAY,MAAM,CAAC,MAAM,MAAM;AAE/C,OAAK,MAAM,UAAU,SAAS;GAC5B,MAAM,aAAa,OAAO,MAAM,IAAI,CAAC;GACrC,MAAM,gBAAgB,SAAS,WAAW,QAC1C,IAAE,WAAI,WAAW,CAChB;AAED,OAAI,kBAAkB,GACpB,UAAS,iBAAiB;OAE1B,UAAS,KAAK,OAAO;;;AAK3B,UAAS,KAAK,SAAS;CAEvB,MAAM,mCAAW,eAAe,UAAU;EACxC;EACA,aAAa;EACb,KAAK,QAAQ,wBAAQ,GAAG,yBAAS;EACjC;EACD,CAAC;AAEF,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAC/B,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAE/B,QAAO"}
@@ -1,4 +1,4 @@
1
- import { W as CompilerPlugin } from "../analytics-engine-BimOLPwO.js";
1
+ import { G as CompilerPlugin } from "../analytics-engine-BYA0ongA.js";
2
2
  import { t as MaybeArray } from "../types-DZy7U-Ld.js";
3
3
 
4
4
  //#region src/cli/build.d.ts
package/dist/cli/build.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_chunk = require('../chunk-BE-pF4vm.js');
3
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
3
+ const require_commandkit = require('../commandkit-DTqT800J.js');
4
4
  const require_utils_constants = require('../utils/constants.js');
5
5
  const require_config_utils = require('../config/utils.js');
6
6
  const require_cli_common = require('./common.js');
@@ -161,7 +161,9 @@ async function bootstrap() {
161
161
  }
162
162
 
163
163
  await bootstrap().catch((e) => {
164
- console.error('Failed to bootstrap CommandKit application:\\n', e.stack);
164
+ const error = new Error('Failed to bootstrap the application', { cause: e });
165
+ console.error(error);
166
+ console.error(\`Caused by \${e?.stack || e}\`);
165
167
  })
166
168
  `);
167
169
  }
@@ -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":";;;;;;;;;;;;;;;;;;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
+ {"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 const error = new Error('Failed to bootstrap the application', { cause: e });\n console.error(error);\n console.error(\\`Caused by \\${e?.stack || e}\\`);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { m as ResolvedCommandKitConfig } from "../analytics-engine-BimOLPwO.js";
1
+ import { m as ResolvedCommandKitConfig } from "../analytics-engine-BYA0ongA.js";
2
2
  import * as tsdown from "tsdown";
3
3
  import * as typescript from "typescript";
4
4
 
@@ -1,6 +1,6 @@
1
1
  import { o as HMREventType } from "../constants-GWSfiS4h.js";
2
2
  import { ChildProcess } from "node:child_process";
3
- import * as chokidar from "chokidar";
3
+ import { watch } 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: chokidar.FSWatcher;
16
+ watcher: ReturnType<typeof watch>;
17
17
  isConfigUpdate: (path: string) => boolean;
18
18
  performHMR: (path?: string) => Promise<boolean>;
19
19
  hmrHandler: (path: string) => Promise<void>;
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_chunk = require('../chunk-BE-pF4vm.js');
3
3
  const require_utils_colors = require('../utils/colors.js');
4
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
4
+ const require_commandkit = require('../commandkit-DTqT800J.js');
5
5
  const require_plugins_CompilerPlugin = require('../plugins/CompilerPlugin.js');
6
6
  const require_utils_constants = require('../utils/constants.js');
7
7
  const require_cli_common = require('./common.js');
@@ -27,7 +27,7 @@ async function buildAndStart(configPath, skipStart = false) {
27
27
  rolldownPlugins: config.rolldownPlugins
28
28
  });
29
29
  if (skipStart) return null;
30
- return require_cli_app_process.createAppProcess(mainFile, configPath, true);
30
+ return require_cli_app_process.createAppProcess(mainFile, configPath, true, config);
31
31
  }
32
32
  /**
33
33
  * @private
@@ -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, config);\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): Promise<{\n watcher: ReturnType<typeof watch>;\n isConfigUpdate: (path: string) => boolean;\n performHMR: (path?: string) => Promise<boolean>;\n hmrHandler: (path: string) => Promise<void>;\n sendHmrEvent: (event: HMREventType, path?: string) => Promise<boolean>;\n getProcess: () => ChildProcess | null;\n buildAndStart: typeof buildAndStart;\n}> {\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":";;;;;;;;;;;;;;;;;;;AAkBA,eAAe,cAAc,YAAoB,YAAY,OAAO;CAClE,MAAM,SAAS,MAAM,kCAAe,WAAW;CAC/C,MAAM,WAAW,kCAAe,cAAc;AAE9C,OAAM,mCAAiB;EACrB;EACA,OAAO;EACP,SAAS,OAAO,QAAQ,KAAK,EAAE,CAAC,QAAQ,MAAM,gDAAiB,EAAE,CAAC;EAClE,iBAAiB,OAAO;EACzB,CAAC;AAEF,KAAI,UAAW,QAAO;AAItB,QAFW,yCAAiB,UAAU,YAAY,MAAM,OAAO;;;;;;AASjE,MAAM,mBAAmB,MACzB,EAAE,WAAE,MAAe,IAAI,CAAC,SAAE,mBAA0B;;;;;AAMpD,MAAM,iBAAiB,MACvB,EAAE,WAAE,MAAe,IAAI,CAAC,SAAE,iBAAwB;;;;;AAMlD,eAAsB,2BAA2B,YAQ9C;AACD,SAAQ,IAAI,4BAA4B;AACxC,SAAQ,IAAI,qCAAqC;CACjD,MAAM,QAAQ,YAAY,KAAK;CAC/B,MAAM,MAAM,cAAc;CAC1B,MAAM,cAAc,0CAAuB,IAAI;CAE/C,MAAM,8BAAgB,gBAAM,KAAK,MAAM,EAAE,GAAG,YAAY,EAAE,EACxD,eAAe,MAChB,CAAC;CAEF,IAAI,KAA0B;CAE9B,MAAM,yBAAyB,cAAwC;AACrE,SAAO,IAAI,SAAS,YAAY;AAC9B,OAAI,CAAC,GAAI,QAAO,QAAQ,MAAM;GAE9B,IAAI,WAAW;GACf,MAAM,aAAa,YAAiB;AAClC,eAAW;AACX,QAAI,OAAO,YAAY,YAAY,YAAY,KAAM;IAErD,MAAM,EAAE,MAAM,IAAI,YAAY;AAC9B,QAAI,SAAS,wBAAwB,OAAO,WAAW;AACrD,wCAAI,IAAI,WAAW,UAAU;AAC7B,aAAQ,CAAC,CAAC,QAAQ;;;AAItB,MAAG,KAAK,WAAW,UAAU;AAE7B,OAAI,CAAC,SACH,sCAAM,IAAK,CAAC,WAAW;AACrB,uCAAI,IAAI,WAAW,UAAU;AAC7B,YAAQ,MAAM;KACd;IAEJ;;CAGJ,MAAM,eAAe,OACrB,OACA,WACsB;AACpB,MAAI,CAAC,MAAM,CAAC,GAAG,KAAM,QAAO;EAE5B,MAAM,yCAAwB;EAC9B,MAAM,iBAAiB,sBAAsB,UAAU;AAEvD,KAAG,KAAK;GAAE;GAAO;GAAM,IAAI;GAAW,CAAC;AAGvC,MAAI;GACF,IAAI,YAAY;GAChB,MAAM,MAAM,CAAC,CAAE,MAAM,QAAQ,KAAK,CAClC,qDACE,IAAM,CAAI,WAAW;AACrB,QAAI,CAAC,UACH,SAAE,KACA,6BAAE,OACA,0CAA0C,MAAE,WAAe,SAC5D,CACF;AAEH,WAAE;KACF,CAAC,CACF;AAED,eAAY;AAEZ,UAAO;WACA,OAAO;AACd,WAAQ,MACN,6BAAO,IAAI,yCAAyC,QAAQ,CAC7D;AACD,UAAO;;;CAIX,MAAM,aAAa,4BAAS,OAAO,WAAoC;AACrE,MAAI,CAAC,UAAQ,CAAC,GAAI,QAAO;EAEzB,IAAI,YAAiC;EACrC,IAAI,mBAAmB;AAEvB,MAAI,gBAAgB,OAAK,EAAE;AACzB,eAAY,qCAAa;AACzB,sBAAmB;aACV,cAAc,OAAK,EAAE;AAC9B,eAAY,qCAAa;AACzB,sBAAmB;SACd;AACL,eAAY,qCAAa;AACzB,sBAAmB;;AAGrB,MAAI,WAAW;AACb,WAAQ,IACN,GAAG,6BAAO,WAAW,wBAAwB,iBAAiB,KAAK,CAAC,GAAG,6BAAO,aAAa,OAAK,GACjG;AAED,SAAM,cAAc,KAAK,KAAK;AAG9B,OAFmB,MAAM,aAAa,WAAW,OAAK,EAEtC;AACd,YAAQ,IACN,GAAG,6BAAO,YAAY,6BAA6B,iBAAiB,KAAK,CAAC,GAAG,6BAAO,aAAa,OAAK,GACvG;AACD,WAAO;;;AAIX,SAAO;IACN,IAAI;CAEP,MAAM,kBAAkB,WAAiB;EACvC,MAAM,WAAW,YAAY,MAAM,eAAe,WAAS,WAAW;AAEtE,MAAI,CAAC,SAAU,QAAO;AAEtB,UAAQ,IACN,6BAAO,aACL,yGACD,CACF;AAED,SAAO;;CAGT,MAAM,aAAa,OAAO,WAAiB;AACzC,MAAI,eAAe,OAAK,CAAE;AAE1B,MADY,MAAM,WAAW,OAAK,CACzB;AAET,UAAQ,IACN,GAAG,6BAAO,aAAa,mDAAmD,CAAC,GAAG,6BAAO,WAAW,OAAK,GACtG;AAED,qCAAI,MAAM;AACV,OAAK,MAAM,cAAc,IAAI;;AAG/B,SAAQ,MAAM,GAAG,QAAQ,OAAO,MAAM;AAGpC,UAFgB,EAAE,UAAU,CAAC,MAAM,EAEnC;GACE,KAAK;AACH,YAAQ,IAAI,0CAA0C;AACtD,uCAAI,MAAM;AACV,SAAK;AACL,SAAK,MAAM,cAAc,IAAI;AAC7B;GACF,KAAK;AACH,YAAQ,IAAI,iDAAiD;AAC7D,UAAM,aAAa,qCAAa,eAAe;AAC/C;GACF,KAAK;AACH,YAAQ,IAAI,+CAA+C;AAC3D,UAAM,aAAa,qCAAa,aAAa;AAC7C;;GAGJ;AAEF,SAAQ,GAAG,UAAU,WAAW;AAChC,SAAQ,GAAG,OAAO,WAAW;AAC7B,SAAQ,GAAG,UAAU,WAAW;AAChC,SAAQ,GAAG,aAAa,WAAW;AACnC,SAAQ,GAAG,UAAU,MAAM;AACzB,UAAQ,MAAM,EAAE;GAChB;AAEF,SAAQ,IAAI,GAAG,6BAAO,YAAY,qDAAqD,CAAC,GAAG,6BAAO,aAAa,IAAI,YAAY,KAAK,GAAG,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAA;EAC7J,6BAAO,YAAY,0BAA0B,CAAC,GAAG,6BAAO,aAAa,MAAM,CAAC,GAAG,6BAAO,YAAY,YAAY,CAAA;;EAE9G,6BAAO,YAAY,YAAY,CAAA;EAC/B,6BAAO,aAAa,IAAI,CAAC;EACzB,6BAAO,aAAa,KAAK,CAAC;EAC1B,6BAAO,aAAa,KAAK,CAAC,sBAAsB;CAEhD,MAAM,aAAa,YAAY,KAAK;AAEpC,MAAK,MAAM,cAAc,IAAI;CAE7B,MAAM,WAAW,YAAY,KAAK;AAElC,SAAQ,IACN,KAAK,6BAAO,YAAY,oCAAoC,CAAC,GAAG,6BAAO,aAAa,IAAI,WAAW,YAAY,QAAQ,EAAE,CAAC,IAAI,CAAC,IAChI;AAED,QAAO;EACL;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB;EACD"}
package/dist/cli/init.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_chunk = require('../chunk-BE-pF4vm.js');
3
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
3
+ const require_commandkit = require('../commandkit-DTqT800J.js');
4
4
  const require_plugins_CompilerPlugin = require('../plugins/CompilerPlugin.js');
5
5
  const require_utils_constants = require('../utils/constants.js');
6
6
  const require_utils_types_package = require('../utils/types-package.js');
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
2
  const require_chunk = require('../chunk-BE-pF4vm.js');
3
- const require_commandkit = require('../commandkit-D2HMPuRQ.js');
3
+ const require_commandkit = require('../commandkit-DTqT800J.js');
4
4
  const require_plugins_CompilerPlugin = require('../plugins/CompilerPlugin.js');
5
5
  const require_utils_constants = require('../utils/constants.js');
6
6
  const require_cli_common = require('./common.js');
@@ -17,9 +17,10 @@ let fs = require("fs");
17
17
  async function bootstrapProductionServer(configPath) {
18
18
  process.env.COMMANDKIT_BOOTSTRAP_MODE = "production";
19
19
  const cwd = configPath || require_utils_constants.COMMANDKIT_CWD;
20
- const mainFile = require_cli_common.findEntrypoint((await require_commandkit.loadConfigFile(cwd)).distDir);
20
+ const config = await require_commandkit.loadConfigFile(cwd);
21
+ const mainFile = require_cli_common.findEntrypoint(config.distDir);
21
22
  if (!(0, fs.existsSync)(mainFile)) require_cli_common.panic(`Could not locate the entrypoint. Did you forget to build the application? Run 'commandkit build' to build the application first.`);
22
- return require_cli_app_process.createAppProcess(mainFile, cwd, false);
23
+ return require_cli_app_process.createAppProcess(mainFile, cwd, false, config);
23
24
  }
24
25
  /**
25
26
  * @private
@@ -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);\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;CAE1B,MAAM,WAAW,mCADF,MAAM,kCAAe,IAAI,EACD,QAAQ;AAE/C,KAAI,oBAAY,SAAS,CACvB,0BACE,mIACD;AAGH,QAAO,yCAAiB,UAAU,KAAK,MAAM;;;;;;AAO/C,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":["../../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"}
@@ -1176,7 +1176,8 @@ const defaultConfig = {
1176
1176
  development: true,
1177
1177
  production: false
1178
1178
  },
1179
- jsxDefaultOptionalComponents: true
1179
+ jsxDefaultOptionalComponents: true,
1180
+ experimental: { devServerRuntime: null }
1180
1181
  };
1181
1182
 
1182
1183
  //#endregion
@@ -1232,7 +1233,11 @@ function defineConfig(config = {}) {
1232
1233
  ...config.antiCrashScript
1233
1234
  },
1234
1235
  disablePermissionsMiddleware: config.disablePermissionsMiddleware ?? defaultConfig.disablePermissionsMiddleware,
1235
- jsxDefaultOptionalComponents: config.jsxDefaultOptionalComponents ?? defaultConfig.jsxDefaultOptionalComponents
1236
+ jsxDefaultOptionalComponents: config.jsxDefaultOptionalComponents ?? defaultConfig.jsxDefaultOptionalComponents,
1237
+ experimental: {
1238
+ ...defaultConfig.experimental,
1239
+ ...config.experimental
1240
+ }
1236
1241
  };
1237
1242
  return defined;
1238
1243
  }
@@ -5583,4 +5588,4 @@ Object.defineProperty(exports, 'useStore', {
5583
5588
  return useStore;
5584
5589
  }
5585
5590
  });
5586
- //# sourceMappingURL=commandkit-D2HMPuRQ.js.map
5591
+ //# sourceMappingURL=commandkit-DTqT800J.js.map