commandkit 1.2.0-rc.7 → 1.2.0-rc.9

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 (124) hide show
  1. package/dist/{CommandKitEventsChannel-B5vbINtP.js → CommandKitEventsChannel-BtRzr3Tz.js} +1 -1
  2. package/dist/{CommandKitEventsChannel-B5vbINtP.js.map → CommandKitEventsChannel-BtRzr3Tz.js.map} +1 -1
  3. package/dist/{CommandsRouter-DZAeB2v_.js → CommandsRouter-Cgcy6cK9.js} +1 -1
  4. package/dist/{CommandsRouter-DZAeB2v_.js.map → CommandsRouter-Cgcy6cK9.js.map} +1 -1
  5. package/dist/{EventWorkerContext-xgEc2N2T.d.ts → EventWorkerContext-BMk7IXpC.d.ts} +2 -2
  6. package/dist/{EventsRouter-Dzpm7ubq.js → EventsRouter-3Gygh-km.js} +1 -1
  7. package/dist/{EventsRouter-Dzpm7ubq.js.map → EventsRouter-3Gygh-km.js.map} +1 -1
  8. package/dist/analytics/analytics-engine.d.ts +1 -1
  9. package/dist/analytics/analytics-engine.js +8 -7
  10. package/dist/analytics/analytics-provider.d.ts +1 -1
  11. package/dist/analytics/utils.js +8 -7
  12. package/dist/{analytics-engine-6_M8tCeD.d.ts → analytics-engine-B7JNRnEN.d.ts} +8 -2
  13. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  14. package/dist/app/commands/AppCommandRunner.js +8 -7
  15. package/dist/app/commands/Context.d.ts +1 -1
  16. package/dist/app/commands/Context.js +8 -7
  17. package/dist/app/commands/helpers.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 +8 -7
  21. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  22. package/dist/app/handlers/AppEventsHandler.js +8 -7
  23. package/dist/app/index.d.ts +1 -1
  24. package/dist/app/index.js +8 -8
  25. package/dist/app/middlewares/permissions.d.ts +1 -1
  26. package/dist/app/middlewares/permissions.js +8 -7
  27. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  28. package/dist/app/register/CommandRegistrar.js +8 -7
  29. package/dist/app/router/CommandsRouter.js +1 -1
  30. package/dist/app/router/EventsRouter.js +1 -1
  31. package/dist/app/router/index.js +3 -3
  32. package/dist/{app-process-u2DXakNv.js → app-process-DoG6Spkf.js} +2 -2
  33. package/dist/{app-process-u2DXakNv.js.map → app-process-DoG6Spkf.js.map} +1 -1
  34. package/dist/{build-e6PlVFfe.js → build-C9ltqPmn.js} +4 -4
  35. package/dist/{build-e6PlVFfe.js.map → build-C9ltqPmn.js.map} +1 -1
  36. package/dist/cli/app-process.js +2 -2
  37. package/dist/cli/build.d.ts +1 -1
  38. package/dist/cli/build.js +10 -9
  39. package/dist/cli/common.d.ts +1 -1
  40. package/dist/cli/common.js +1 -1
  41. package/dist/cli/development.js +11 -10
  42. package/dist/cli/development.js.map +1 -1
  43. package/dist/cli/generators.js +1 -1
  44. package/dist/cli/information.js +1 -1
  45. package/dist/cli/init.js +9 -8
  46. package/dist/cli/production.js +11 -10
  47. package/dist/cli/production.js.map +1 -1
  48. package/dist/cli/type-checker.js +2 -2
  49. package/dist/{commandkit-Dy4V-Rk2.js → commandkit-Bm0gLN8i.js} +46 -29
  50. package/dist/{commandkit-Dy4V-Rk2.js.map → commandkit-Bm0gLN8i.js.map} +1 -1
  51. package/dist/commandkit.d.ts +1 -1
  52. package/dist/commandkit.js +8 -7
  53. package/dist/{common-DVM_onKu.js → common-Dxr9-XPa.js} +1 -1
  54. package/dist/{common-DVM_onKu.js.map → common-Dxr9-XPa.js.map} +1 -1
  55. package/dist/components/index.js +8 -7
  56. package/dist/components/v1/button/Button.js +8 -7
  57. package/dist/components/v1/button/ButtonKit.js +8 -7
  58. package/dist/components/v1/modal/Modal.js +8 -7
  59. package/dist/components/v1/modal/ModalKit.js +8 -7
  60. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +8 -7
  61. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +8 -7
  62. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +8 -7
  63. package/dist/components/v1/select-menu/SelectMenu.js +8 -7
  64. package/dist/components/v1/select-menu/StringSelectMenuKit.js +8 -7
  65. package/dist/components/v1/select-menu/UserSelectMenuKit.js +8 -7
  66. package/dist/config/config.d.ts +2 -2
  67. package/dist/config/config.js +8 -7
  68. package/dist/config/default.d.ts +1 -1
  69. package/dist/config/default.js +8 -7
  70. package/dist/config/loader.d.ts +1 -1
  71. package/dist/config/loader.js +8 -7
  72. package/dist/config/types.d.ts +1 -1
  73. package/dist/config/utils.d.ts +1 -1
  74. package/dist/{config-nD7V_D7G.d.ts → config-BhVxyjmZ.d.ts} +2 -2
  75. package/dist/context/async-context.d.ts +1 -1
  76. package/dist/context/async-context.js +8 -7
  77. package/dist/context/environment.d.ts +1 -1
  78. package/dist/context/environment.js +8 -7
  79. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  80. package/dist/events/CommandKitEventsChannel.js +1 -1
  81. package/dist/{feature-flags-3TQSPAVn.js → feature-flags-nZJB7-e5.js} +2 -2
  82. package/dist/{feature-flags-3TQSPAVn.js.map → feature-flags-nZJB7-e5.js.map} +1 -1
  83. package/dist/flags/FlagProvider.d.ts +1 -1
  84. package/dist/flags/feature-flags.d.ts +1 -1
  85. package/dist/flags/feature-flags.js +9 -8
  86. package/dist/flags/store.d.ts +1 -1
  87. package/dist/flags/store.js +1 -1
  88. package/dist/{helpers-CiuN7y5B.js → helpers-BSwwrKJW.js} +1 -1
  89. package/dist/{helpers-CiuN7y5B.js.map → helpers-BSwwrKJW.js.map} +1 -1
  90. package/dist/index.d.ts +3 -3
  91. package/dist/index.js +11 -11
  92. package/dist/{init-Bo01I_h_.js → init-Cy_bcUt4.js} +3 -3
  93. package/dist/{init-Bo01I_h_.js.map → init-Cy_bcUt4.js.map} +1 -1
  94. package/dist/logger/DefaultLogger.js +8 -7
  95. package/dist/logger/Logger.js +8 -7
  96. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  97. package/dist/plugins/PluginCommon.d.ts +1 -1
  98. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  99. package/dist/plugins/index.d.ts +1 -1
  100. package/dist/plugins/index.js +8 -7
  101. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  102. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +8 -7
  103. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  104. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +8 -7
  105. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  106. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +8 -7
  107. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -1
  108. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +8 -7
  109. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  110. package/dist/plugins/types.d.ts +1 -1
  111. package/dist/{store-Hcgz7DSt.js → store-CM6pWVZh.js} +1 -1
  112. package/dist/{store-Hcgz7DSt.js.map → store-CM6pWVZh.js.map} +1 -1
  113. package/dist/{type-checker-M1NIIoWL.js → type-checker-DR7RZFs5.js} +2 -2
  114. package/dist/{type-checker-M1NIIoWL.js.map → type-checker-DR7RZFs5.js.map} +1 -1
  115. package/dist/types.d.ts +1 -1
  116. package/dist/utils/dev-hooks.d.ts +1 -1
  117. package/dist/utils/dev-hooks.js +8 -7
  118. package/dist/utils/utilities.js +8 -7
  119. package/dist/{version-CphQqt4J.js → version-DRSQMx0w.js} +2 -2
  120. package/dist/{version-CphQqt4J.js.map → version-DRSQMx0w.js.map} +1 -1
  121. package/dist/version.js +1 -1
  122. package/hooks.d.ts +3 -1
  123. package/package.json +2 -2
  124. /package/dist/{router-DHnFRADH.js → router-Dn35v30f.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"app-process-u2DXakNv.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.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,sBAAM,yCAAyC,WAAW;CAG5D,MAAM,QAAQ,SAAS,MAAM;CAE7B,MAAM,WAAW,CACjB,uBAAuB,QAAQ,gBAAgB,aAAa,IAC5D,uBAAuB;CAGvB,MAAM,cAAc,QAAQ,IAAI;CAChC,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,IAAI,WAAW,WAAW,CACzB;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,oBAAQ,GAAG,qBAAS;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-DoG6Spkf.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.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,sBAAM,yCAAyC,WAAW;CAG5D,MAAM,QAAQ,SAAS,MAAM;CAE7B,MAAM,WAAW,CACjB,uBAAuB,QAAQ,gBAAgB,aAAa,IAC5D,uBAAuB;CAGvB,MAAM,cAAc,QAAQ,IAAI;CAChC,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,IAAI,WAAW,WAAW,CACzB;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,oBAAQ,GAAG,qBAAS;EACjC;EACD,CAAC;AAEF,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAC/B,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAE/B,QAAO"}
@@ -1,10 +1,10 @@
1
1
  const require_chunk = require('./chunk-nOFOJqeH.js');
2
- const require_commandkit = require('./commandkit-Dy4V-Rk2.js');
2
+ const require_commandkit = require('./commandkit-Bm0gLN8i.js');
3
3
  const require_constants = require('./constants-B5_Ta7PR.js');
4
4
  const require_utils = require('./utils-KsNof0Xz.js');
5
- const require_common = require('./common-DVM_onKu.js');
5
+ const require_common = require('./common-Dxr9-XPa.js');
6
6
  const require_env = require('./env-_68PRRoA.js');
7
- const require_type_checker = require('./type-checker-M1NIIoWL.js');
7
+ const require_type_checker = require('./type-checker-DR7RZFs5.js');
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
10
10
  let node_path = require("node:path");
@@ -172,4 +172,4 @@ Object.defineProperty(exports, 'buildApplication', {
172
172
  return buildApplication;
173
173
  }
174
174
  });
175
- //# sourceMappingURL=build-e6PlVFfe.js.map
175
+ //# sourceMappingURL=build-C9ltqPmn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-e6PlVFfe.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 { build, Options } 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 } 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 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 );\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 silent: !!isDev,\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': 'js',\n '.node': 'binary',\n },\n },\n plugins: rolldownPlugins,\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap:\n config.sourceMap?.[isDev ? 'development' : 'production'] ?? true,\n target: 'node16',\n outDir: dest,\n env: mergeDefinitionsIfNeeded(config.env || {}, !!isDev),\n entry: Array.from(\n new Set([\n 'src/**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}',\n `!${config.distDir}`,\n '!.commandkit',\n '!**/*.test.*',\n '!**/*.spec.*',\n ...(config.entrypoints ?? []),\n ]),\n ),\n outputOptions: {\n sanitizeFileName: (name) => name,\n },\n unbundle: isDev\n ? true\n : (config.compilerOptions?.disableChunking ?? false),\n } satisfies Options,\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\nimport { commandkit } from 'commandkit';\nimport { Client } from 'discord.js';\n\nasync function bootstrap() {\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"build-C9ltqPmn.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 { build, Options } 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 } 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 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 );\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 silent: !!isDev,\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': 'js',\n '.node': 'binary',\n },\n },\n plugins: rolldownPlugins,\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap:\n config.sourceMap?.[isDev ? 'development' : 'production'] ?? true,\n target: 'node16',\n outDir: dest,\n env: mergeDefinitionsIfNeeded(config.env || {}, !!isDev),\n entry: Array.from(\n new Set([\n 'src/**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}',\n `!${config.distDir}`,\n '!.commandkit',\n '!**/*.test.*',\n '!**/*.spec.*',\n ...(config.entrypoints ?? []),\n ]),\n ),\n outputOptions: {\n sanitizeFileName: (name) => name,\n },\n unbundle: isDev\n ? true\n : (config.compilerOptions?.disableChunking ?? false),\n } satisfies Options,\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\nimport { commandkit } from 'commandkit';\nimport { Client } from 'discord.js';\n\nasync function bootstrap() {\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../constants-B5_Ta7PR.js');
3
3
  require('../types-package-BWArjyBF.js');
4
- require('../common-DVM_onKu.js');
4
+ require('../common-Dxr9-XPa.js');
5
5
  require('../env-_68PRRoA.js');
6
- const require_app_process = require('../app-process-u2DXakNv.js');
6
+ const require_app_process = require('../app-process-DoG6Spkf.js');
7
7
 
8
8
  exports.createAppProcess = require_app_process.createAppProcess;
@@ -1,4 +1,4 @@
1
- import { CompilerPlugin } from "../analytics-engine-6_M8tCeD.js";
1
+ import { CompilerPlugin } from "../analytics-engine-B7JNRnEN.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
package/dist/cli/build.js CHANGED
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../ActionRow-CbdGFWMT.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- require('../commandkit-Dy4V-Rk2.js');
4
+ require('../commandkit-Bm0gLN8i.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -27,14 +27,15 @@ require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  require('../signals-ChFMD7mB.js');
29
29
  require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../CommandsRouter-DZAeB2v_.js');
31
- require('../EventsRouter-Dzpm7ubq.js');
32
- require('../router-DHnFRADH.js');
33
- require('../common-DVM_onKu.js');
34
- require('../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../store-Hcgz7DSt.js');
30
+ require('../helpers-BSwwrKJW.js');
31
+ require('../CommandsRouter-Cgcy6cK9.js');
32
+ require('../EventsRouter-3Gygh-km.js');
33
+ require('../router-Dn35v30f.js');
34
+ require('../common-Dxr9-XPa.js');
35
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../store-CM6pWVZh.js');
36
37
  require('../env-_68PRRoA.js');
37
- require('../type-checker-M1NIIoWL.js');
38
- const require_build = require('../build-e6PlVFfe.js');
38
+ require('../type-checker-DR7RZFs5.js');
39
+ const require_build = require('../build-C9ltqPmn.js');
39
40
 
40
41
  exports.buildApplication = require_build.buildApplication;
@@ -1,4 +1,4 @@
1
- import { ResolvedCommandKitConfig } from "../analytics-engine-6_M8tCeD.js";
1
+ import { ResolvedCommandKitConfig } from "../analytics-engine-B7JNRnEN.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../constants-B5_Ta7PR.js');
3
3
  require('../types-package-BWArjyBF.js');
4
- const require_common = require('../common-DVM_onKu.js');
4
+ const require_common = require('../common-Dxr9-XPa.js');
5
5
 
6
6
  exports.copyLocaleFiles = require_common.copyLocaleFiles;
7
7
  exports.erase = require_common.erase;
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_colors = require('../colors-DL3ucTiT.js');
3
3
  require('../ActionRow-CbdGFWMT.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-Dy4V-Rk2.js');
5
+ const require_commandkit = require('../commandkit-Bm0gLN8i.js');
6
6
  require('../common-CcfjYnPG.js');
7
7
  require('../common-vnMIelAE.js');
8
8
  require('../container-C6GtfAPW.js');
@@ -28,16 +28,17 @@ require('../constants-BOOGN85p.js');
28
28
  require('../EventWorkerContext-Dq29tieI.js');
29
29
  require('../signals-ChFMD7mB.js');
30
30
  require('../MessageCommandParser-CEuO6Ex3.js');
31
- require('../CommandsRouter-DZAeB2v_.js');
32
- require('../EventsRouter-Dzpm7ubq.js');
33
- require('../router-DHnFRADH.js');
34
- const require_common$2 = require('../common-DVM_onKu.js');
35
- require('../CommandKitEventsChannel-B5vbINtP.js');
36
- require('../store-Hcgz7DSt.js');
31
+ require('../helpers-BSwwrKJW.js');
32
+ require('../CommandsRouter-Cgcy6cK9.js');
33
+ require('../EventsRouter-3Gygh-km.js');
34
+ require('../router-Dn35v30f.js');
35
+ const require_common$2 = require('../common-Dxr9-XPa.js');
36
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
37
+ require('../store-CM6pWVZh.js');
37
38
  require('../env-_68PRRoA.js');
38
- const require_app_process = require('../app-process-u2DXakNv.js');
39
- require('../type-checker-M1NIIoWL.js');
40
- const require_build = require('../build-e6PlVFfe.js');
39
+ const require_app_process = require('../app-process-DoG6Spkf.js');
40
+ require('../type-checker-DR7RZFs5.js');
41
+ const require_build = require('../build-C9ltqPmn.js');
41
42
  let node_crypto = require("node:crypto");
42
43
  node_crypto = require_chunk.__toESM(node_crypto);
43
44
  let path = require("path");
@@ -1 +1 @@
1
- {"version":3,"file":"development.js","names":[],"sources":["../../src/cli/development.ts"],"sourcesContent":["import { join } from 'path';\nimport { getPossibleConfigPaths, loadConfigFile } from '../config/loader';\nimport { isCompilerPlugin } from '../plugins';\nimport { createAppProcess } from './app-process';\nimport { buildApplication } from './build';\nimport { watch } from 'chokidar';\nimport { debounce } from '../utils/utilities';\nimport colors from '../utils/colors';\nimport { ChildProcess } from 'node:child_process';\nimport { setTimeout as sleep } from 'node:timers/promises';\nimport { randomUUID } from 'node:crypto';\nimport { COMMANDKIT_CWD, HMREventType } from '../utils/constants';\nimport { findEntrypoint } from './common';\n\n/**\n * @private\n * @internal\n */\nasync function buildAndStart(configPath: string, skipStart = false) {\n const config = await loadConfigFile(configPath);\n const mainFile = findEntrypoint('.commandkit');\n\n await buildApplication({\n configPath,\n isDev: true,\n plugins: config.plugins.flat(2).filter((p) => isCompilerPlugin(p)),\n rolldownPlugins: config.rolldownPlugins,\n });\n\n if (skipStart) return null as never;\n\n const ps = createAppProcess(mainFile, configPath, true);\n\n return ps;\n}\n\n/**\n * @private\n * @internal\n */\nconst isCommandSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/commands');\n\n/**\n * @private\n * @internal\n */\nconst isEventSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/events');\n\n/**\n * @private\n * @internal\n */\nexport async function bootstrapDevelopmentServer(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'development';\n const start = performance.now();\n const cwd = configPath || COMMANDKIT_CWD;\n const configPaths = getPossibleConfigPaths(cwd);\n\n const watcher = watch([join(cwd, 'src'), ...configPaths], {\n ignoreInitial: true,\n });\n\n let ps: ChildProcess | null = null;\n\n const waitForAcknowledgment = (messageId: string): Promise<boolean> => {\n return new Promise((resolve) => {\n if (!ps) return resolve(false);\n\n let _handled = false;\n const onMessage = (message: any) => {\n _handled = true;\n if (typeof message !== 'object' || message === null) return;\n\n const { type, id, handled } = message;\n if (type === 'commandkit-hmr-ack' && id === messageId) {\n ps?.off('message', onMessage);\n resolve(!!handled);\n }\n };\n\n ps.once('message', onMessage);\n\n if (!_handled) {\n sleep(3000).then(() => {\n ps?.off('message', onMessage);\n resolve(false);\n });\n }\n });\n };\n\n const sendHmrEvent = async (\n event: HMREventType,\n path?: string,\n ): Promise<boolean> => {\n if (!ps || !ps.send) return false;\n\n const messageId = randomUUID();\n const messagePromise = waitForAcknowledgment(messageId);\n\n ps.send({ event, path, id: messageId });\n\n // Wait for acknowledgment or timeout after 3 seconds\n try {\n let triggered = false;\n const res = !!(await Promise.race([\n messagePromise,\n sleep(3000).then(() => {\n if (!triggered) {\n console.warn(\n colors.yellow(\n `HMR acknowledgment timed out for event ${event} on path ${path}`,\n ),\n );\n }\n return false;\n }),\n ]));\n\n triggered = true;\n\n return res;\n } catch (error) {\n console.error(\n colors.red(`Error waiting for HMR acknowledgment: ${error}`),\n );\n return false;\n }\n };\n\n const performHMR = debounce(async (path?: string): Promise<boolean> => {\n if (!path || !ps) return false;\n\n let eventType: HMREventType | null = null;\n let eventDescription = '';\n\n if (isCommandSource(path)) {\n eventType = HMREventType.ReloadCommands;\n eventDescription = 'command(s)';\n } else if (isEventSource(path)) {\n eventType = HMREventType.ReloadEvents;\n eventDescription = 'event(s)';\n } else {\n eventType = HMREventType.Unknown;\n eventDescription = 'unknown source';\n }\n\n if (eventType) {\n console.log(\n `${colors.cyanBright(`Attempting to reload ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n\n await buildAndStart(cwd, true);\n const hmrHandled = await sendHmrEvent(eventType, path);\n\n if (hmrHandled) {\n console.log(\n `${colors.greenBright(`Successfully hot reloaded ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n return true;\n }\n }\n\n return false;\n }, 700);\n\n const isConfigUpdate = (path: string) => {\n const isConfig = configPaths.some((configPath) => path === configPath);\n\n if (!isConfig) return false;\n\n console.log(\n colors.yellowBright(\n 'It seems like commandkit config file was updated, please restart the server manually to apply changes.',\n ),\n );\n\n return isConfig;\n };\n\n const hmrHandler = async (path: string) => {\n if (isConfigUpdate(path)) return;\n const hmr = await performHMR(path);\n if (hmr) return;\n\n console.log(\n `${colors.yellowBright('⚡️ Performing full restart due to the changes in')} ${colors.cyanBright(path)}`,\n );\n\n ps?.kill();\n ps = await buildAndStart(cwd);\n };\n\n process.stdin.on('data', async (d) => {\n const command = d.toString().trim();\n\n switch (command) {\n case 'r':\n console.log(`Received restart command, restarting...`);\n ps?.kill();\n ps = null;\n ps = await buildAndStart(cwd);\n break;\n case 'rc':\n console.log(`Received reload commands command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadCommands);\n break;\n case 're':\n console.log(`Received reload events command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadEvents);\n break;\n break;\n }\n });\n\n watcher.on('change', hmrHandler);\n watcher.on('add', hmrHandler);\n watcher.on('unlink', hmrHandler);\n watcher.on('unlinkDir', hmrHandler);\n watcher.on('error', (e) => {\n console.error(e);\n });\n\n console.log(`${colors.greenBright('Bootstrapped CommandKit Development Environment in')} ${colors.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}\n${colors.greenBright('Watching for changes in')} ${colors.yellowBright('src')} ${colors.greenBright('directory')}\n\n${colors.greenBright('Commands:')}\n${colors.yellowBright('r')} - Restart the server\n${colors.yellowBright('rc')} - Reload all commands\n${colors.yellowBright('re')} - Reload all events`);\n\n const buildStart = performance.now();\n\n ps = await buildAndStart(cwd);\n\n const buildEnd = performance.now();\n\n console.log(\n `\\n${colors.greenBright('Development mode compilation took')} ${colors.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\\n`,\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"development.js","names":[],"sources":["../../src/cli/development.ts"],"sourcesContent":["import { join } from 'path';\nimport { getPossibleConfigPaths, loadConfigFile } from '../config/loader';\nimport { isCompilerPlugin } from '../plugins';\nimport { createAppProcess } from './app-process';\nimport { buildApplication } from './build';\nimport { watch } from 'chokidar';\nimport { debounce } from '../utils/utilities';\nimport colors from '../utils/colors';\nimport { ChildProcess } from 'node:child_process';\nimport { setTimeout as sleep } from 'node:timers/promises';\nimport { randomUUID } from 'node:crypto';\nimport { COMMANDKIT_CWD, HMREventType } from '../utils/constants';\nimport { findEntrypoint } from './common';\n\n/**\n * @private\n * @internal\n */\nasync function buildAndStart(configPath: string, skipStart = false) {\n const config = await loadConfigFile(configPath);\n const mainFile = findEntrypoint('.commandkit');\n\n await buildApplication({\n configPath,\n isDev: true,\n plugins: config.plugins.flat(2).filter((p) => isCompilerPlugin(p)),\n rolldownPlugins: config.rolldownPlugins,\n });\n\n if (skipStart) return null as never;\n\n const ps = createAppProcess(mainFile, configPath, true);\n\n return ps;\n}\n\n/**\n * @private\n * @internal\n */\nconst isCommandSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/commands');\n\n/**\n * @private\n * @internal\n */\nconst isEventSource = (p: string) =>\n p.replaceAll('\\\\', '/').includes('src/app/events');\n\n/**\n * @private\n * @internal\n */\nexport async function bootstrapDevelopmentServer(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'development';\n const start = performance.now();\n const cwd = configPath || COMMANDKIT_CWD;\n const configPaths = getPossibleConfigPaths(cwd);\n\n const watcher = watch([join(cwd, 'src'), ...configPaths], {\n ignoreInitial: true,\n });\n\n let ps: ChildProcess | null = null;\n\n const waitForAcknowledgment = (messageId: string): Promise<boolean> => {\n return new Promise((resolve) => {\n if (!ps) return resolve(false);\n\n let _handled = false;\n const onMessage = (message: any) => {\n _handled = true;\n if (typeof message !== 'object' || message === null) return;\n\n const { type, id, handled } = message;\n if (type === 'commandkit-hmr-ack' && id === messageId) {\n ps?.off('message', onMessage);\n resolve(!!handled);\n }\n };\n\n ps.once('message', onMessage);\n\n if (!_handled) {\n sleep(3000).then(() => {\n ps?.off('message', onMessage);\n resolve(false);\n });\n }\n });\n };\n\n const sendHmrEvent = async (\n event: HMREventType,\n path?: string,\n ): Promise<boolean> => {\n if (!ps || !ps.send) return false;\n\n const messageId = randomUUID();\n const messagePromise = waitForAcknowledgment(messageId);\n\n ps.send({ event, path, id: messageId });\n\n // Wait for acknowledgment or timeout after 3 seconds\n try {\n let triggered = false;\n const res = !!(await Promise.race([\n messagePromise,\n sleep(3000).then(() => {\n if (!triggered) {\n console.warn(\n colors.yellow(\n `HMR acknowledgment timed out for event ${event} on path ${path}`,\n ),\n );\n }\n return false;\n }),\n ]));\n\n triggered = true;\n\n return res;\n } catch (error) {\n console.error(\n colors.red(`Error waiting for HMR acknowledgment: ${error}`),\n );\n return false;\n }\n };\n\n const performHMR = debounce(async (path?: string): Promise<boolean> => {\n if (!path || !ps) return false;\n\n let eventType: HMREventType | null = null;\n let eventDescription = '';\n\n if (isCommandSource(path)) {\n eventType = HMREventType.ReloadCommands;\n eventDescription = 'command(s)';\n } else if (isEventSource(path)) {\n eventType = HMREventType.ReloadEvents;\n eventDescription = 'event(s)';\n } else {\n eventType = HMREventType.Unknown;\n eventDescription = 'unknown source';\n }\n\n if (eventType) {\n console.log(\n `${colors.cyanBright(`Attempting to reload ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n\n await buildAndStart(cwd, true);\n const hmrHandled = await sendHmrEvent(eventType, path);\n\n if (hmrHandled) {\n console.log(\n `${colors.greenBright(`Successfully hot reloaded ${eventDescription} at`)} ${colors.yellowBright(path)}`,\n );\n return true;\n }\n }\n\n return false;\n }, 700);\n\n const isConfigUpdate = (path: string) => {\n const isConfig = configPaths.some((configPath) => path === configPath);\n\n if (!isConfig) return false;\n\n console.log(\n colors.yellowBright(\n 'It seems like commandkit config file was updated, please restart the server manually to apply changes.',\n ),\n );\n\n return isConfig;\n };\n\n const hmrHandler = async (path: string) => {\n if (isConfigUpdate(path)) return;\n const hmr = await performHMR(path);\n if (hmr) return;\n\n console.log(\n `${colors.yellowBright('⚡️ Performing full restart due to the changes in')} ${colors.cyanBright(path)}`,\n );\n\n ps?.kill();\n ps = await buildAndStart(cwd);\n };\n\n process.stdin.on('data', async (d) => {\n const command = d.toString().trim();\n\n switch (command) {\n case 'r':\n console.log(`Received restart command, restarting...`);\n ps?.kill();\n ps = null;\n ps = await buildAndStart(cwd);\n break;\n case 'rc':\n console.log(`Received reload commands command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadCommands);\n break;\n case 're':\n console.log(`Received reload events command, reloading...`);\n await sendHmrEvent(HMREventType.ReloadEvents);\n break;\n break;\n }\n });\n\n watcher.on('change', hmrHandler);\n watcher.on('add', hmrHandler);\n watcher.on('unlink', hmrHandler);\n watcher.on('unlinkDir', hmrHandler);\n watcher.on('error', (e) => {\n console.error(e);\n });\n\n console.log(`${colors.greenBright('Bootstrapped CommandKit Development Environment in')} ${colors.yellowBright(`${(performance.now() - start).toFixed(2)}ms`)}\n${colors.greenBright('Watching for changes in')} ${colors.yellowBright('src')} ${colors.greenBright('directory')}\n\n${colors.greenBright('Commands:')}\n${colors.yellowBright('r')} - Restart the server\n${colors.yellowBright('rc')} - Reload all commands\n${colors.yellowBright('re')} - Reload all events`);\n\n const buildStart = performance.now();\n\n ps = await buildAndStart(cwd);\n\n const buildEnd = performance.now();\n\n console.log(\n `\\n${colors.greenBright('Development mode compilation took')} ${colors.yellowBright(`${(buildEnd - buildStart).toFixed(2)}ms`)}\\n`,\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,eAAe,cAAc,YAAoB,YAAY,OAAO;CAClE,MAAM,SAAS,MAAM,kCAAe,WAAW;CAC/C,MAAM,WAAW,gCAAe,cAAc;AAE9C,OAAM,+BAAiB;EACrB;EACA,OAAO;EACP,SAAS,OAAO,QAAQ,KAAK,EAAE,CAAC,QAAQ,MAAM,wCAAiB,EAAE,CAAC;EAClE,iBAAiB,OAAO;EACzB,CAAC;AAEF,KAAI,UAAW,QAAO;AAItB,QAFW,qCAAiB,UAAU,YAAY,KAAK;;;;;;AASzD,MAAM,mBAAmB,MACzB,EAAE,WAAW,MAAM,IAAI,CAAC,SAAS,mBAAmB;;;;;AAMpD,MAAM,iBAAiB,MACvB,EAAE,WAAW,MAAM,IAAI,CAAC,SAAS,iBAAiB;;;;;AAMlD,eAAsB,2BAA2B,YAAqB;AACpE,SAAQ,IAAI,4BAA4B;CACxC,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,qDACM,IAAK,CAAC,WAAW;AACrB,QAAI,CAAC,UACH,SAAQ,KACN,8BAAO,OACL,0CAA0C,MAAM,WAAW,SAC5D,CACF;AAEH,WAAO;KACP,CAAC,CACF;AAED,eAAY;AAEZ,UAAO;WACA,OAAO;AACd,WAAQ,MACN,8BAAO,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,+BAAa;AACzB,sBAAmB;aACV,cAAc,OAAK,EAAE;AAC9B,eAAY,+BAAa;AACzB,sBAAmB;SACd;AACL,eAAY,+BAAa;AACzB,sBAAmB;;AAGrB,MAAI,WAAW;AACb,WAAQ,IACN,GAAG,8BAAO,WAAW,wBAAwB,iBAAiB,KAAK,CAAC,GAAG,8BAAO,aAAa,OAAK,GACjG;AAED,SAAM,cAAc,KAAK,KAAK;AAG9B,OAFmB,MAAM,aAAa,WAAW,OAAK,EAEtC;AACd,YAAQ,IACN,GAAG,8BAAO,YAAY,6BAA6B,iBAAiB,KAAK,CAAC,GAAG,8BAAO,aAAa,OAAK,GACvG;AACD,WAAO;;;AAIX,SAAO;IACN,IAAI;CAEP,MAAM,kBAAkB,WAAiB;EACvC,MAAM,WAAW,YAAY,MAAM,iBAAe,WAAS,aAAW;AAEtE,MAAI,CAAC,SAAU,QAAO;AAEtB,UAAQ,IACN,8BAAO,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,8BAAO,aAAa,mDAAmD,CAAC,GAAG,8BAAO,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,+BAAa,eAAe;AAC/C;GACF,KAAK;AACH,YAAQ,IAAI,+CAA+C;AAC3D,UAAM,aAAa,+BAAa,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,8BAAO,YAAY,qDAAqD,CAAC,GAAG,8BAAO,aAAa,IAAI,YAAY,KAAK,GAAG,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAA;EAC7J,8BAAO,YAAY,0BAA0B,CAAC,GAAG,8BAAO,aAAa,MAAM,CAAC,GAAG,8BAAO,YAAY,YAAY,CAAA;;EAE9G,8BAAO,YAAY,YAAY,CAAA;EAC/B,8BAAO,aAAa,IAAI,CAAC;EACzB,8BAAO,aAAa,KAAK,CAAC;EAC1B,8BAAO,aAAa,KAAK,CAAC,sBAAsB;CAEhD,MAAM,aAAa,YAAY,KAAK;AAEpC,MAAK,MAAM,cAAc,IAAI;CAE7B,MAAM,WAAW,YAAY,KAAK;AAElC,SAAQ,IACN,KAAK,8BAAO,YAAY,oCAAoC,CAAC,GAAG,8BAAO,aAAa,IAAI,WAAW,YAAY,QAAQ,EAAE,CAAC,IAAI,CAAC,IAChI"}
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_colors = require('../colors-DL3ucTiT.js');
3
3
  const require_constants = require('../constants-B5_Ta7PR.js');
4
4
  require('../types-package-BWArjyBF.js');
5
- const require_common = require('../common-DVM_onKu.js');
5
+ const require_common = require('../common-Dxr9-XPa.js');
6
6
  let path = require("path");
7
7
  path = require_chunk.__toESM(path);
8
8
  let fs_promises = require("fs/promises");
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_constants = require('../constants-B5_Ta7PR.js');
3
- const require_version = require('../version-CphQqt4J.js');
3
+ const require_version = require('../version-DRSQMx0w.js');
4
4
  let node_fs = require("node:fs");
5
5
  node_fs = require_chunk.__toESM(node_fs);
6
6
  let node_path = require("node:path");
package/dist/cli/init.js CHANGED
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../ActionRow-CbdGFWMT.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- require('../commandkit-Dy4V-Rk2.js');
4
+ require('../commandkit-Bm0gLN8i.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -27,12 +27,13 @@ require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  require('../signals-ChFMD7mB.js');
29
29
  require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../CommandsRouter-DZAeB2v_.js');
31
- require('../EventsRouter-Dzpm7ubq.js');
32
- require('../router-DHnFRADH.js');
33
- require('../common-DVM_onKu.js');
34
- require('../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../store-Hcgz7DSt.js');
36
- const require_init = require('../init-Bo01I_h_.js');
30
+ require('../helpers-BSwwrKJW.js');
31
+ require('../CommandsRouter-Cgcy6cK9.js');
32
+ require('../EventsRouter-3Gygh-km.js');
33
+ require('../router-Dn35v30f.js');
34
+ require('../common-Dxr9-XPa.js');
35
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../store-CM6pWVZh.js');
37
+ const require_init = require('../init-Cy_bcUt4.js');
37
38
 
38
39
  exports.bootstrapCommandkitCLI = require_init.bootstrapCommandkitCLI;
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  require('../colors-DL3ucTiT.js');
3
3
  require('../ActionRow-CbdGFWMT.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-Dy4V-Rk2.js');
5
+ const require_commandkit = require('../commandkit-Bm0gLN8i.js');
6
6
  require('../common-CcfjYnPG.js');
7
7
  require('../common-vnMIelAE.js');
8
8
  require('../container-C6GtfAPW.js');
@@ -28,16 +28,17 @@ require('../constants-BOOGN85p.js');
28
28
  require('../EventWorkerContext-Dq29tieI.js');
29
29
  require('../signals-ChFMD7mB.js');
30
30
  require('../MessageCommandParser-CEuO6Ex3.js');
31
- require('../CommandsRouter-DZAeB2v_.js');
32
- require('../EventsRouter-Dzpm7ubq.js');
33
- require('../router-DHnFRADH.js');
34
- const require_common$2 = require('../common-DVM_onKu.js');
35
- require('../CommandKitEventsChannel-B5vbINtP.js');
36
- require('../store-Hcgz7DSt.js');
31
+ require('../helpers-BSwwrKJW.js');
32
+ require('../CommandsRouter-Cgcy6cK9.js');
33
+ require('../EventsRouter-3Gygh-km.js');
34
+ require('../router-Dn35v30f.js');
35
+ const require_common$2 = require('../common-Dxr9-XPa.js');
36
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
37
+ require('../store-CM6pWVZh.js');
37
38
  require('../env-_68PRRoA.js');
38
- const require_app_process = require('../app-process-u2DXakNv.js');
39
- require('../type-checker-M1NIIoWL.js');
40
- const require_build = require('../build-e6PlVFfe.js');
39
+ const require_app_process = require('../app-process-DoG6Spkf.js');
40
+ require('../type-checker-DR7RZFs5.js');
41
+ const require_build = require('../build-C9ltqPmn.js');
41
42
  const require_utils$1 = require('../utils-DCSnVAZ6.js');
42
43
  let fs = require("fs");
43
44
  fs = require_chunk.__toESM(fs);
@@ -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 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,gCAAe,OAAO,QAAQ;AAE/C,KAAI,oBAAY,SAAS,CACvB,wBACE,mIACD;AAGH,QAAO,qCAAiB,UAAU,KAAK,MAAM;;;;;;AAO/C,eAAsB,sBAAsB,YAAqB;AAC/D,SAAQ,IAAI,4BAA4B;CACxC,MAAM,MAAM,cAAc;CAC1B,MAAM,SAAS,MAAM,kCAAe,IAAI;CAExC,MAAM,UAAU,MAAM,8BACpB,2CACD;AAED,SAAQ,OAAO;AAEf,OAAM,+BAAiB;EACrB,YAAY;EACZ,OAAO;EACP,SAAS,OAAO,QAAQ,QAAQ,MAChC,wCAAiB,EAAE,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);\n}\n\n/**\n * @private\n * @internal\n */\nexport async function createProductionBuild(configPath?: string) {\n process.env.COMMANDKIT_BOOTSTRAP_MODE = 'production';\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,gCAAe,OAAO,QAAQ;AAE/C,KAAI,oBAAY,SAAS,CACvB,wBACE,mIACD;AAGH,QAAO,qCAAiB,UAAU,KAAK,MAAM;;;;;;AAO/C,eAAsB,sBAAsB,YAAqB;AAC/D,SAAQ,IAAI,4BAA4B;CACxC,MAAM,MAAM,cAAc;CAC1B,MAAM,SAAS,MAAM,kCAAe,IAAI;CAExC,MAAM,UAAU,MAAM,8BACpB,2CACD;AAED,SAAQ,OAAO;AAEf,OAAM,+BAAiB;EACrB,YAAY;EACZ,OAAO;EACP,SAAS,OAAO,QAAQ,QAAQ,MAChC,wCAAiB,EAAE,CAClB;EACD,iBAAiB,OAAO;EACzB,CAAC;AAEF,SAAQ,QAAQ,8BAA8B"}
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../constants-B5_Ta7PR.js');
3
3
  require('../types-package-BWArjyBF.js');
4
- require('../common-DVM_onKu.js');
5
- const require_type_checker = require('../type-checker-M1NIIoWL.js');
4
+ require('../common-Dxr9-XPa.js');
5
+ const require_type_checker = require('../type-checker-DR7RZFs5.js');
6
6
 
7
7
  exports.performTypeCheck = require_type_checker.performTypeCheck;
@@ -13,11 +13,12 @@ const require_constants$1 = require('./constants-BOOGN85p.js');
13
13
  const require_EventWorkerContext = require('./EventWorkerContext-Dq29tieI.js');
14
14
  const require_signals = require('./signals-ChFMD7mB.js');
15
15
  const require_MessageCommandParser = require('./MessageCommandParser-CEuO6Ex3.js');
16
- const require_CommandsRouter = require('./CommandsRouter-DZAeB2v_.js');
17
- const require_EventsRouter = require('./EventsRouter-Dzpm7ubq.js');
18
- const require_common = require('./common-DVM_onKu.js');
19
- const require_CommandKitEventsChannel = require('./CommandKitEventsChannel-B5vbINtP.js');
20
- const require_store = require('./store-Hcgz7DSt.js');
16
+ const require_helpers = require('./helpers-BSwwrKJW.js');
17
+ const require_CommandsRouter = require('./CommandsRouter-Cgcy6cK9.js');
18
+ const require_EventsRouter = require('./EventsRouter-3Gygh-km.js');
19
+ const require_common = require('./common-Dxr9-XPa.js');
20
+ const require_CommandKitEventsChannel = require('./CommandKitEventsChannel-BtRzr3Tz.js');
21
+ const require_store = require('./store-CM6pWVZh.js');
21
22
  let node_events = require("node:events");
22
23
  node_events = require_chunk.__toESM(node_events);
23
24
  let discord_js = require("discord.js");
@@ -2661,22 +2662,30 @@ var CommandRegistrar = class {
2661
2662
  ...json,
2662
2663
  __metadata
2663
2664
  }];
2664
- if (cmd.data.userContextMenu && json.type !== discord_js.ApplicationCommandType.User) collections.push({
2665
- ...json,
2666
- type: discord_js.ApplicationCommandType.User,
2667
- options: void 0,
2668
- description_localizations: void 0,
2669
- description: void 0,
2670
- __metadata
2671
- });
2672
- if (cmd.data.messageContextMenu && json.type !== discord_js.ApplicationCommandType.Message) collections.push({
2673
- ...json,
2674
- type: discord_js.ApplicationCommandType.Message,
2675
- description_localizations: void 0,
2676
- description: void 0,
2677
- options: void 0,
2678
- __metadata
2679
- });
2665
+ if (cmd.data.userContextMenu && json.type !== discord_js.ApplicationCommandType.User) {
2666
+ var _metadata$nameAliases;
2667
+ collections.push({
2668
+ ...json,
2669
+ name: (__metadata === null || __metadata === void 0 || (_metadata$nameAliases = __metadata.nameAliases) === null || _metadata$nameAliases === void 0 ? void 0 : _metadata$nameAliases.user) ?? json.name,
2670
+ type: discord_js.ApplicationCommandType.User,
2671
+ options: void 0,
2672
+ description_localizations: void 0,
2673
+ description: void 0,
2674
+ __metadata
2675
+ });
2676
+ }
2677
+ if (cmd.data.messageContextMenu && json.type !== discord_js.ApplicationCommandType.Message) {
2678
+ var _metadata$nameAliases2;
2679
+ collections.push({
2680
+ ...json,
2681
+ name: (__metadata === null || __metadata === void 0 || (_metadata$nameAliases2 = __metadata.nameAliases) === null || _metadata$nameAliases2 === void 0 ? void 0 : _metadata$nameAliases2.message) ?? json.name,
2682
+ type: discord_js.ApplicationCommandType.Message,
2683
+ description_localizations: void 0,
2684
+ description: void 0,
2685
+ options: void 0,
2686
+ __metadata
2687
+ });
2688
+ }
2680
2689
  return collections;
2681
2690
  });
2682
2691
  }
@@ -3094,7 +3103,8 @@ var AppCommandHandler = class {
3094
3103
  if (!(source.isChatInputCommand() || source.isAutocomplete() || source.isContextMenuCommand())) return null;
3095
3104
  cmdName = source.commandName;
3096
3105
  }
3097
- const loadedCommand = this.findCommandByName(cmdName);
3106
+ const hint = require_helpers.isInteractionSource(source) ? source.isUserContextMenuCommand() ? "user" : source.isMessageContextMenuCommand() ? "message" : void 0 : void 0;
3107
+ const loadedCommand = this.findCommandByName(cmdName, hint);
3098
3108
  if (!loadedCommand) return null;
3099
3109
  if ((source instanceof discord_js.CommandInteraction || source instanceof discord_js.AutocompleteInteraction) && source.guildId && ((_loadedCommand$metada3 = loadedCommand.metadata) === null || _loadedCommand$metada3 === void 0 || (_loadedCommand$metada3 = _loadedCommand$metada3.guilds) === null || _loadedCommand$metada3 === void 0 ? void 0 : _loadedCommand$metada3.length) && !((_loadedCommand$metada4 = loadedCommand.metadata) === null || _loadedCommand$metada4 === void 0 ? void 0 : _loadedCommand$metada4.guilds.includes(source.guildId))) return null;
3100
3110
  const middlewares = [];
@@ -3123,13 +3133,19 @@ var AppCommandHandler = class {
3123
3133
  /**
3124
3134
  * Finds a command by name.
3125
3135
  * @param name - The command name to search for
3136
+ * @param hint - The hint for the command type (user or message)
3126
3137
  * @returns The loaded command or null if not found
3127
3138
  */
3128
- findCommandByName(name) {
3139
+ findCommandByName(name, hint) {
3129
3140
  for (const [, loadedCommand] of this.loadedCommands) {
3130
- var _loadedCommand$data$m;
3141
+ var _loadedCommand$data$m2;
3142
+ if (hint) {
3143
+ var _loadedCommand$data$m;
3144
+ const nameAliases = (_loadedCommand$data$m = loadedCommand.data.metadata) === null || _loadedCommand$data$m === void 0 ? void 0 : _loadedCommand$data$m.nameAliases;
3145
+ if (nameAliases && nameAliases[hint] === name) return loadedCommand;
3146
+ }
3131
3147
  if (loadedCommand.data.command.name === name) return loadedCommand;
3132
- const aliases = (_loadedCommand$data$m = loadedCommand.data.metadata) === null || _loadedCommand$data$m === void 0 ? void 0 : _loadedCommand$data$m.aliases;
3148
+ const aliases = (_loadedCommand$data$m2 = loadedCommand.data.metadata) === null || _loadedCommand$data$m2 === void 0 ? void 0 : _loadedCommand$data$m2.aliases;
3133
3149
  if (aliases && Array.isArray(aliases) && aliases.includes(name)) return loadedCommand;
3134
3150
  }
3135
3151
  return null;
@@ -3304,10 +3320,11 @@ var AppCommandHandler = class {
3304
3320
  /**
3305
3321
  * Gets the metadata for a command.
3306
3322
  * @param command - The command name to get metadata for
3323
+ * @param hint - The hint for the command type (user or message)
3307
3324
  * @returns The command metadata or null if not found
3308
3325
  */
3309
- getMetadataFor(command) {
3310
- const loadedCommand = this.findCommandByName(command);
3326
+ getMetadataFor(command, hint) {
3327
+ const loadedCommand = this.findCommandByName(command, hint);
3311
3328
  if (!loadedCommand) return null;
3312
3329
  return loadedCommand.metadata ??= {
3313
3330
  aliases: [],
@@ -3975,7 +3992,7 @@ var CommandKit = class CommandKit extends node_events.default {
3975
3992
  return this;
3976
3993
  }
3977
3994
  async #init() {
3978
- if (!this.getAppDirectory()) return;
3995
+ if (!this.getAppDirectory()) throw new Error("CommandKit could not determine the application directory. This issue is common when you are not using the `commandkit dev` command to start the project. You can either use `commandkit dev` to start the project, or set the `COMMANDKIT_IS_CLI=true` environment variable (Note that adding this to `.env` file may not work).");
3979
3996
  const commandsPath = this.getPath("commands");
3980
3997
  const events = this.getPath("events");
3981
3998
  this.commandHandler = new AppCommandHandler(this);
@@ -4460,4 +4477,4 @@ Object.defineProperty(exports, 'useStore', {
4460
4477
  return useStore;
4461
4478
  }
4462
4479
  });
4463
- //# sourceMappingURL=commandkit-Dy4V-Rk2.js.map
4480
+ //# sourceMappingURL=commandkit-Bm0gLN8i.js.map