commandkit 1.2.0-dev.20251108074143 → 1.2.0-dev.20251108082950

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 (54) hide show
  1. package/dist/analytics/analytics-engine.js +1 -1
  2. package/dist/analytics/utils.js +1 -1
  3. package/dist/app/commands/AppCommandRunner.js +1 -1
  4. package/dist/app/commands/Context.js +1 -1
  5. package/dist/app/handlers/AppCommandHandler.js +1 -1
  6. package/dist/app/handlers/AppEventsHandler.js +1 -1
  7. package/dist/app/index.js +1 -1
  8. package/dist/app/middlewares/permissions.js +1 -1
  9. package/dist/app/register/CommandRegistrar.js +1 -1
  10. package/dist/{build-BtdjPnMr.js → build-CaoHQPvm.js} +2 -2
  11. package/dist/{build-BtdjPnMr.js.map → build-CaoHQPvm.js.map} +1 -1
  12. package/dist/cli/build.js +2 -2
  13. package/dist/cli/development.js +2 -2
  14. package/dist/cli/information.js +1 -1
  15. package/dist/cli/init.js +1 -1
  16. package/dist/cli/production.js +2 -2
  17. package/dist/{commandkit-DfAoP5wK.js → commandkit-B0wT0Mxx.js} +2 -2
  18. package/dist/commandkit-B0wT0Mxx.js.map +1 -0
  19. package/dist/commandkit.js +1 -1
  20. package/dist/components/index.js +1 -1
  21. package/dist/components/interactive/button/Button.js +1 -1
  22. package/dist/components/interactive/button/ButtonKit.js +1 -1
  23. package/dist/components/interactive/modal/Modal.js +1 -1
  24. package/dist/components/interactive/modal/ModalKit.js +1 -1
  25. package/dist/components/interactive/select-menu/ChannelSelectMenuKit.js +1 -1
  26. package/dist/components/interactive/select-menu/MentionableSelectMenuKit.js +1 -1
  27. package/dist/components/interactive/select-menu/RoleSelectMenuKit.js +1 -1
  28. package/dist/components/interactive/select-menu/SelectMenu.js +1 -1
  29. package/dist/components/interactive/select-menu/StringSelectMenuKit.js +1 -1
  30. package/dist/components/interactive/select-menu/UserSelectMenuKit.js +1 -1
  31. package/dist/config/config.js +1 -1
  32. package/dist/config/default.js +1 -1
  33. package/dist/config/loader.js +1 -1
  34. package/dist/context/async-context.js +1 -1
  35. package/dist/context/environment.js +1 -1
  36. package/dist/{feature-flags-CYb0Feae.js → feature-flags-BRF8OH7U.js} +2 -2
  37. package/dist/{feature-flags-CYb0Feae.js.map → feature-flags-BRF8OH7U.js.map} +1 -1
  38. package/dist/flags/feature-flags.js +2 -2
  39. package/dist/index.js +3 -3
  40. package/dist/logger/DefaultLogger.js +1 -1
  41. package/dist/logger/Logger.js +1 -1
  42. package/dist/plugins/index.js +1 -1
  43. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +1 -1
  44. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +1 -1
  45. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +1 -1
  46. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +1 -1
  47. package/dist/utils/dev-hooks.js +1 -1
  48. package/dist/utils/utilities.js +1 -1
  49. package/dist/{version-B9xiS1lg.js → version-u6nVzNva.js} +2 -2
  50. package/dist/{version-B9xiS1lg.js.map → version-u6nVzNva.js.map} +1 -1
  51. package/dist/version.js +1 -1
  52. package/hooks.cjs +11 -4
  53. package/package.json +2 -2
  54. package/dist/commandkit-DfAoP5wK.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  require('../colors-CLmBiP9I.js');
2
2
  require('../ActionRow-D6knpVd6.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../commandkit-B0wT0Mxx.js');
5
5
  require('../warning-CszH8HeS.js');
6
6
  require('../common-CEordwf3.js');
7
7
  require('../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../colors-CLmBiP9I.js');
2
2
  require('../ActionRow-D6knpVd6.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../commandkit-B0wT0Mxx.js');
5
5
  require('../warning-CszH8HeS.js');
6
6
  require('../common-CEordwf3.js');
7
7
  require('../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../../colors-CLmBiP9I.js');
2
2
  require('../../ActionRow-D6knpVd6.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../../commandkit-B0wT0Mxx.js');
5
5
  require('../../warning-CszH8HeS.js');
6
6
  require('../../common-CEordwf3.js');
7
7
  require('../../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../../colors-CLmBiP9I.js');
2
2
  require('../../ActionRow-D6knpVd6.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../../commandkit-B0wT0Mxx.js');
5
5
  require('../../warning-CszH8HeS.js');
6
6
  require('../../common-CEordwf3.js');
7
7
  require('../../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../../colors-CLmBiP9I.js');
2
2
  require('../../ActionRow-D6knpVd6.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../../commandkit-B0wT0Mxx.js');
5
5
  require('../../warning-CszH8HeS.js');
6
6
  require('../../common-CEordwf3.js');
7
7
  require('../../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../../colors-CLmBiP9I.js');
2
2
  require('../../ActionRow-D6knpVd6.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../../commandkit-B0wT0Mxx.js');
5
5
  require('../../warning-CszH8HeS.js');
6
6
  require('../../common-CEordwf3.js');
7
7
  require('../../common-C2jAjX4U.js');
package/dist/app/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  require('../colors-CLmBiP9I.js');
2
2
  require('../ActionRow-D6knpVd6.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../commandkit-B0wT0Mxx.js');
5
5
  require('../warning-CszH8HeS.js');
6
6
  require('../common-CEordwf3.js');
7
7
  require('../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../../colors-CLmBiP9I.js');
2
2
  require('../../ActionRow-D6knpVd6.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../../commandkit-B0wT0Mxx.js');
5
5
  require('../../warning-CszH8HeS.js');
6
6
  require('../../common-CEordwf3.js');
7
7
  require('../../common-C2jAjX4U.js');
@@ -1,7 +1,7 @@
1
1
  require('../../colors-CLmBiP9I.js');
2
2
  require('../../ActionRow-D6knpVd6.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-DfAoP5wK.js');
4
+ const require_commandkit = require('../../commandkit-B0wT0Mxx.js');
5
5
  require('../../warning-CszH8HeS.js');
6
6
  require('../../common-CEordwf3.js');
7
7
  require('../../common-C2jAjX4U.js');
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-nOFOJqeH.js');
2
- const require_commandkit = require('./commandkit-DfAoP5wK.js');
2
+ const require_commandkit = require('./commandkit-B0wT0Mxx.js');
3
3
  const require_constants = require('./constants-CxkFFZ7p.js');
4
4
  const require_utils = require('./utils-Br3eenD1.js');
5
5
  const require_common = require('./common-B2-sF49Q.js');
@@ -166,4 +166,4 @@ Object.defineProperty(exports, 'buildApplication', {
166
166
  return buildApplication;
167
167
  }
168
168
  });
169
- //# sourceMappingURL=build-BtdjPnMr.js.map
169
+ //# sourceMappingURL=build-CaoHQPvm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-BtdjPnMr.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 { 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, 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 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': 'json',\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\n\nasync function bootstrap() {\n const { Client } = await import('discord.js');\n const { commandkit } = await import('commandkit');\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"build-CaoHQPvm.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 { 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, 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 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': 'json',\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\n\nasync function bootstrap() {\n const { Client } = await import('discord.js');\n const { commandkit } = await import('commandkit');\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
package/dist/cli/build.js CHANGED
@@ -1,7 +1,7 @@
1
1
  require('../colors-CLmBiP9I.js');
2
2
  require('../ActionRow-D6knpVd6.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- require('../commandkit-DfAoP5wK.js');
4
+ require('../commandkit-B0wT0Mxx.js');
5
5
  require('../warning-CszH8HeS.js');
6
6
  require('../common-CEordwf3.js');
7
7
  require('../common-C2jAjX4U.js');
@@ -39,6 +39,6 @@ require('../CommandKitEventsChannel-2l9Za-le.js');
39
39
  require('../store-GrsErvli.js');
40
40
  require('../env-CQJgOkQD.js');
41
41
  require('../type-checker-CEt5Inbw.js');
42
- const require_build = require('../build-BtdjPnMr.js');
42
+ const require_build = require('../build-CaoHQPvm.js');
43
43
 
44
44
  exports.buildApplication = require_build.buildApplication;
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_colors = require('../colors-CLmBiP9I.js');
3
3
  require('../ActionRow-D6knpVd6.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-DfAoP5wK.js');
5
+ const require_commandkit = require('../commandkit-B0wT0Mxx.js');
6
6
  require('../warning-CszH8HeS.js');
7
7
  require('../common-CEordwf3.js');
8
8
  require('../common-C2jAjX4U.js');
@@ -41,7 +41,7 @@ require('../store-GrsErvli.js');
41
41
  require('../env-CQJgOkQD.js');
42
42
  const require_app_process = require('../app-process-DCkz7RlU.js');
43
43
  require('../type-checker-CEt5Inbw.js');
44
- const require_build = require('../build-BtdjPnMr.js');
44
+ const require_build = require('../build-CaoHQPvm.js');
45
45
  let node_crypto = require("node:crypto");
46
46
  let path = require("path");
47
47
  let chokidar = require("chokidar");
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_constants = require('../constants-CxkFFZ7p.js');
3
- const require_version = require('../version-B9xiS1lg.js');
3
+ const require_version = require('../version-u6nVzNva.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
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  require('../colors-CLmBiP9I.js');
3
3
  require('../ActionRow-D6knpVd6.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-DfAoP5wK.js');
5
+ const require_commandkit = require('../commandkit-B0wT0Mxx.js');
6
6
  require('../warning-CszH8HeS.js');
7
7
  require('../common-CEordwf3.js');
8
8
  require('../common-C2jAjX4U.js');
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  require('../colors-CLmBiP9I.js');
3
3
  require('../ActionRow-D6knpVd6.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-DfAoP5wK.js');
5
+ const require_commandkit = require('../commandkit-B0wT0Mxx.js');
6
6
  require('../warning-CszH8HeS.js');
7
7
  require('../common-CEordwf3.js');
8
8
  require('../common-C2jAjX4U.js');
@@ -41,7 +41,7 @@ require('../store-GrsErvli.js');
41
41
  require('../env-CQJgOkQD.js');
42
42
  const require_app_process = require('../app-process-DCkz7RlU.js');
43
43
  require('../type-checker-CEt5Inbw.js');
44
- const require_build = require('../build-BtdjPnMr.js');
44
+ const require_build = require('../build-CaoHQPvm.js');
45
45
  const require_utils$1 = require('../utils-DGovVwyA.js');
46
46
  let fs = require("fs");
47
47
 
@@ -1433,7 +1433,7 @@ var CommandKitPluginRuntime = class {
1433
1433
  * @param plugin The plugin to pre-load.
1434
1434
  */
1435
1435
  async preload(plugin) {
1436
- for (const entrypoint of plugin.preload) await import(require_resolve_file_url.toFileURL(`${getCurrentDirectory()}/${entrypoint}`));
1436
+ for (const entrypoint of plugin.preload) await (entrypoint.startsWith("module:") ? import(entrypoint.slice(7)) : import(require_resolve_file_url.toFileURL(`${getCurrentDirectory()}/${entrypoint}`)));
1437
1437
  }
1438
1438
  /**
1439
1439
  * Soft registers a plugin in the runtime.
@@ -4622,4 +4622,4 @@ Object.defineProperty(exports, 'useStore', {
4622
4622
  return useStore;
4623
4623
  }
4624
4624
  });
4625
- //# sourceMappingURL=commandkit-DfAoP5wK.js.map
4625
+ //# sourceMappingURL=commandkit-B0wT0Mxx.js.map