commandkit 1.0.0-dev.20250710020746 → 1.0.0-dev.20250710125439

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 (126) hide show
  1. package/dist/{CommandKit-DuH9iT2t.js → CommandKit-BBC-yzRf.js} +10 -10
  2. package/dist/CommandKit-BBC-yzRf.js.map +1 -0
  3. package/dist/{CommandKit-CGl1oEv3.d.ts → CommandKit-Bt5GNyzq.d.ts} +2 -2
  4. package/dist/CommandKit.d.ts +2 -2
  5. package/dist/CommandKit.js +4 -4
  6. package/dist/{EventWorkerContext-rYysGdKJ.d.ts → EventWorkerContext-BIed73bA.d.ts} +2 -2
  7. package/dist/analytics/analytics-engine.d.ts +2 -2
  8. package/dist/analytics/analytics-engine.js +4 -4
  9. package/dist/analytics/analytics-provider.d.ts +2 -2
  10. package/dist/analytics/utils.js +4 -4
  11. package/dist/app/commands/AppCommandRunner.d.ts +2 -2
  12. package/dist/app/commands/AppCommandRunner.js +4 -4
  13. package/dist/app/commands/Context.d.ts +2 -2
  14. package/dist/app/commands/Context.js +4 -4
  15. package/dist/app/events/EventWorkerContext.d.ts +3 -3
  16. package/dist/app/handlers/AppCommandHandler.d.ts +2 -2
  17. package/dist/app/handlers/AppCommandHandler.js +4 -4
  18. package/dist/app/handlers/AppEventsHandler.d.ts +2 -2
  19. package/dist/app/handlers/AppEventsHandler.js +4 -4
  20. package/dist/app/index.d.ts +2 -2
  21. package/dist/app/index.js +4 -4
  22. package/dist/app/register/CommandRegistrar.d.ts +2 -2
  23. package/dist/app/register/CommandRegistrar.js +4 -4
  24. package/dist/{app-process-CMtPJoA5.js → app-process-CKLJAmil.js} +2 -2
  25. package/dist/{app-process-CMtPJoA5.js.map → app-process-CKLJAmil.js.map} +1 -1
  26. package/dist/{build-CICWK6YT.js → build-DXo8U0Mv.js} +7 -6
  27. package/dist/build-DXo8U0Mv.js.map +1 -0
  28. package/dist/cli/app-process.js +4 -4
  29. package/dist/cli/build.d.ts +2 -2
  30. package/dist/cli/build.js +6 -6
  31. package/dist/cli/common.d.ts +5 -10
  32. package/dist/cli/common.js +3 -4
  33. package/dist/cli/development.js +8 -8
  34. package/dist/cli/development.js.map +1 -1
  35. package/dist/cli/generators.js +5 -5
  36. package/dist/cli/generators.js.map +1 -1
  37. package/dist/cli/information.js +7 -6
  38. package/dist/cli/information.js.map +1 -1
  39. package/dist/cli/init.d.ts +1 -1
  40. package/dist/cli/init.js +5 -5
  41. package/dist/cli/production.d.ts +2 -2
  42. package/dist/cli/production.js +9 -9
  43. package/dist/cli/production.js.map +1 -1
  44. package/dist/cli/type-checker.js +4 -4
  45. package/dist/{common-Cx8Kw8DO.js → common-DoZjgUs0.js} +8 -23
  46. package/dist/common-DoZjgUs0.js.map +1 -0
  47. package/dist/components/index.js +4 -4
  48. package/dist/components/v1/button/Button.js +4 -4
  49. package/dist/components/v1/button/ButtonKit.js +4 -4
  50. package/dist/components/v1/modal/Modal.js +4 -4
  51. package/dist/components/v1/modal/ModalKit.js +4 -4
  52. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +4 -4
  53. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +4 -4
  54. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +4 -4
  55. package/dist/components/v1/select-menu/SelectMenu.js +4 -4
  56. package/dist/components/v1/select-menu/StringSelectMenuKit.js +4 -4
  57. package/dist/components/v1/select-menu/UserSelectMenuKit.js +4 -4
  58. package/dist/config/config.d.ts +3 -3
  59. package/dist/config/config.js +4 -4
  60. package/dist/config/default.d.ts +2 -2
  61. package/dist/config/default.js +4 -4
  62. package/dist/config/loader.d.ts +2 -2
  63. package/dist/config/loader.js +4 -4
  64. package/dist/config/types.d.ts +2 -2
  65. package/dist/config/utils.d.ts +2 -2
  66. package/dist/{config-BL8EHesJ.d.ts → config-CuyEJdAz.d.ts} +2 -2
  67. package/dist/{constants-BttALJIr.js → constants-B5_Ta7PR.js} +11 -1
  68. package/dist/constants-B5_Ta7PR.js.map +1 -0
  69. package/dist/{constants-BTttfrm3.d.ts → constants-MKu-Q1jh.d.ts} +6 -2
  70. package/dist/context/async-context.d.ts +2 -2
  71. package/dist/context/async-context.js +4 -4
  72. package/dist/context/environment.d.ts +2 -2
  73. package/dist/context/environment.js +4 -4
  74. package/dist/events/CommandKitEventsChannel.d.ts +2 -2
  75. package/dist/{feature-flags-D-KWdT5L.js → feature-flags-5JXbEcqH.js} +2 -2
  76. package/dist/{feature-flags-D-KWdT5L.js.map → feature-flags-5JXbEcqH.js.map} +1 -1
  77. package/dist/flags/FlagProvider.d.ts +2 -2
  78. package/dist/flags/feature-flags.d.ts +2 -2
  79. package/dist/flags/feature-flags.js +5 -5
  80. package/dist/flags/store.d.ts +2 -2
  81. package/dist/index.d.ts +6 -6
  82. package/dist/index.js +8 -7
  83. package/dist/{init-Ccmk0dsY.js → init-Cc9uNaNk.js} +6 -5
  84. package/dist/init-Cc9uNaNk.js.map +1 -0
  85. package/dist/{init-BbVFAxJw.d.ts → init-DsaK1AfD.d.ts} +3 -3
  86. package/dist/logger/DefaultLogger.js +4 -4
  87. package/dist/logger/Logger.js +4 -4
  88. package/dist/plugins/CompilerPlugin.d.ts +2 -2
  89. package/dist/plugins/PluginCommon.d.ts +2 -2
  90. package/dist/plugins/RuntimePlugin.d.ts +2 -2
  91. package/dist/plugins/index.d.ts +2 -2
  92. package/dist/plugins/index.js +4 -4
  93. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +2 -2
  94. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +4 -4
  95. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +2 -2
  96. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +4 -4
  97. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +2 -2
  98. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +4 -4
  99. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +2 -2
  100. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +4 -4
  101. package/dist/plugins/plugin-runtime/runtime.d.ts +2 -2
  102. package/dist/plugins/types.d.ts +2 -2
  103. package/dist/{type-checker-BATr8TiL.js → type-checker-DDHZIEBi.js} +2 -2
  104. package/dist/{type-checker-BATr8TiL.js.map → type-checker-DDHZIEBi.js.map} +1 -1
  105. package/dist/{types-package-MDczrp9f.js → types-package-Dwub9JsW.js} +4 -4
  106. package/dist/types-package-Dwub9JsW.js.map +1 -0
  107. package/dist/types.d.ts +2 -2
  108. package/dist/utils/colors.d.ts +2 -2
  109. package/dist/utils/constants.d.ts +2 -2
  110. package/dist/utils/constants.js +2 -1
  111. package/dist/utils/dev-hooks.d.ts +2 -2
  112. package/dist/utils/dev-hooks.js +4 -4
  113. package/dist/utils/types-package.js +2 -2
  114. package/dist/utils/utilities.js +4 -4
  115. package/dist/{version-BQHu7i74.js → version-CsziRloe.js} +2 -2
  116. package/dist/{version-BQHu7i74.js.map → version-CsziRloe.js.map} +1 -1
  117. package/dist/version.js +1 -1
  118. package/env.cjs +3 -1
  119. package/env.d.ts +2 -1
  120. package/package.json +2 -2
  121. package/dist/CommandKit-DuH9iT2t.js.map +0 -1
  122. package/dist/build-CICWK6YT.js.map +0 -1
  123. package/dist/common-Cx8Kw8DO.js.map +0 -1
  124. package/dist/constants-BttALJIr.js.map +0 -1
  125. package/dist/init-Ccmk0dsY.js.map +0 -1
  126. package/dist/types-package-MDczrp9f.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-CICWK6YT.js","names":[],"sources":["../src/cli/build.ts"],"sourcesContent":["import { build } from 'tsdown';\nimport { CompilerPlugin, CompilerPluginRuntime } from '../plugins';\nimport { loadConfigFile } from '../config/loader';\nimport { writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { DevEnv, devEnvFileArgs, ProdEnv, prodEnvFileArgs } from './env';\nimport { rimraf } from 'rimraf';\nimport { performTypeCheck } from './type-checker';\nimport { copyLocaleFiles } from './common';\nimport { MaybeArray } from '../components';\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>) {\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 };\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 || process.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 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: true,\n target: 'node16',\n outDir: dest,\n env: mergeDefinitionsIfNeeded(config.env || {}),\n entry: [\n 'src',\n `!${config.distDir}`,\n '!.commandkit',\n '!**/*.test.*',\n '!**/*.spec.*',\n ],\n unbundle: !!isDev,\n });\n\n await copyLocaleFiles('src', dest);\n await injectEntryFile(configPath || process.cwd(), !!isDev, config.distDir);\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 distDir?: string,\n) {\n const code = `/* Entrypoint File Generated By CommandKit */\n${isDev ? `\\n\\n// Injected for development\\n${wrapInAsyncIIFE([envScript(isDev), 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 const dist = isDev ? '.commandkit' : distDir || 'dist';\n\n await writeFile(join(configPath, dist, 'index.js'), code);\n}\n"],"mappings":";;;;;;;;;;;;;;;AA2BA,SAAS,yBAAyB,KAA6B;CAC7D,MAAM,SAAS,OAAO,YACpB,OAAO,QAAQ,QAAQ,IAAI,CAAC,OAC1B,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQ,EAAE,WAAW,qBAAqB,CAC3D,CACF;AAED,QAAO;EACL,GAAG;EACH,GAAG;CACJ;AACH;;;;;AAMA,eAAsB,iBAAiB,EACrC,SACA,iBACA,OACA,YACwB,EAAE;;CAC1B,MAAM,SAAS,MAAM,kCAAe,WAAW;AAE/C,MAAK,yEAAU,OAAQ,oFAAY,mBACjC,OAAM,sCAAiB,cAAc,QAAQ,KAAK,CAAC;CAGrD,MAAM,gBAAgB,IAAI,yCACvB,WAAW,CAAE;AAGhB,qBAAoB,CAAE;AAEtB,iBAAgB,KAAK,cAAc,QAAQ,CAAC;AAE5C,KAAI;EACF,MAAM,OAAO,QAAQ,gBAAgB,OAAO;AAG5C,QAAM,mBAAO,KAAK;AAElB,QAAM,cAAc,MAAM;AAE1B,QAAM,kBAAM;GACV,OAAO;GACP,KAAK;GACL,OAAO;GACP,QAAQ,CAAC,KAAM;GACf,OAAO;GACP,QAAQ;GACR,UAAU;GACV,cAAc;IACZ,WAAW,EACT,KAAK;KACH,SAAS;KACT,cAAc;IACf,EACF;IACD,QAAQ,EACN,oBAAoB,KACrB;IACD,QAAQ,CAAC,SAAS,gBAAgB;;AAChC,uEAAI,QAAS,4DAAT,iBAAkB,SAAS,sBAAsB,CAAE;AAEvD,YAAO,YAAY,QAAQ;IAC5B;IACD,OAAO,CAAC,OAAO,KAAK,eAAe;AACjC,SAAI,MAAO;AAEX,YAAO,WAAW,OAAO,IAAI;IAC9B;IACD,aAAa;KACX,SAAS;KACT,SAAS;IACV;GACF;GACD,SAAS;GACT,UAAU;GACV,uBAAuB;GACvB,WAAW;GACX,QAAQ;GACR,QAAQ;GACR,KAAK,yBAAyB,OAAO,OAAO,CAAE,EAAC;GAC/C,OAAO;IACP;KACC,GAAG,OAAO;IACX;IACA;IACA;GAAe;GAEf,YAAY;EACb,EAAC;AAEF,QAAM,+BAAgB,OAAO,KAAK;AAClC,QAAM,gBAAgB,cAAc,QAAQ,KAAK,IAAI,OAAO,OAAO,QAAQ;CAC5E,SAAQ,OAAO;AACd,UAAQ,MAAM,iBAAiB,MAAM;AACrC,MAAI,iBAAiB,MACnB,SAAQ,MAAM,kBAAkB,MAAM,MAAM;AAE9C,UAAQ,KAAK,EAAE;CAChB,UAAS;AAER,QAAM,cAAc,SAAS;CAC/B;AACF;AAEA,MAAM,YAAY,CAAC,SAAkB;gBACrB,CAAC,MAAM,6BAAiB,6BAAiB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC;;;;;;;;AASzF,MAAM,kBAAkB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAA2C,EAC3C,KAAK,KAAK;AAEV,MAAM,kBAAkB,CAAC,UACxB,yBAAyB,KAAK,KAAK,OAAO,CAAC;AAE5C,eAAe,gBACf,YACA,OACA,SACA;CACE,MAAM,QAAQ;EACd,SAAS,mCAAmC,gBAAgB,CAAC,UAAU,MAAM,EAAE,eAAgB,EAAC,CAAC,QAAQ,gBAAgB,CAAC,UAAU,MAAM,AAAC,EAAC,CAAA;;;;;;;;;;;;;;;;;;;;;CAsB5I,MAAM,OAAO,QAAQ,gBAAgB,WAAW;AAEhD,OAAM,gCAAU,oBAAK,YAAY,MAAM,WAAW,EAAE,KAAK;AAC3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-Cx8Kw8DO.js","names":[],"sources":["../src/cli/common.ts"],"sourcesContent":["import { rimrafSync } from 'rimraf';\nimport { join } from 'node:path';\nimport fs from 'node:fs';\nimport colors from '../utils/colors';\nimport { ResolvedCommandKitConfig } from '../config/utils';\nimport { generateTypesPackage } from '../utils/types-package';\nimport { execSync } from 'node:child_process';\n\nlet ts: typeof import('typescript') | undefined;\n\n/**\n * @private\n * @internal\n */\nexport function write(message: any) {\n process.stdout.write(message);\n process.stdout.write('\\n');\n}\n\n/**\n * @private\n * @internal\n */\nexport function findEntrypoint(dir: string) {\n const target = join(dir, 'sharding-manager.js');\n\n // if sharding manager exists, return that file instead\n if (fs.existsSync(target)) return target;\n\n return join(dir, 'index.js');\n}\n\n/**\n * @returns {never}\n * @internal\n * @private\n */\nexport function panic(message: any): never {\n write(colors.red(`Error: ${message}`));\n process.exit(1);\n}\n\n/**\n * @private\n * @internal\n */\nexport function findPackageJSON() {\n const cwd = process.cwd();\n const target = join(cwd, 'package.json');\n\n if (!fs.existsSync(target)) {\n panic('Could not find package.json in current directory.');\n }\n\n return JSON.parse(fs.readFileSync(target, 'utf8'));\n}\n\n/**\n * @private\n * @internal\n */\nasync function ensureTypeScript(target: string) {\n const isTypeScript = /\\.(c|m)?tsx?$/.test(target);\n\n if (!isTypeScript) return false;\n if (process.features.typescript) return true;\n\n await loadTypeScript();\n\n return true;\n}\n\nlet packageManager: string;\n\n/**\n * @private\n * @internal\n */\nfunction detectPackageManager() {\n if (packageManager) return packageManager;\n\n const lockfiles = {\n 'yarn.lock': 'yarn',\n 'pnpm-lock.yaml': 'pnpm',\n 'package-lock.json': 'npm',\n 'bun.lock': 'bun',\n 'bun.lockb': 'bun',\n 'deno.lock': 'deno',\n };\n\n for (const [lockfile, manager] of Object.entries(lockfiles)) {\n if (fs.existsSync(join(process.cwd(), lockfile))) {\n packageManager = manager;\n break;\n }\n }\n\n if (!packageManager) {\n packageManager = 'npm';\n }\n\n return packageManager;\n}\n\n/**\n * @private\n * @internal\n */\nexport async function loadTypeScript(e?: string) {\n if (ts) return ts;\n\n try {\n ts = await import('typescript');\n } catch (e) {\n if (e instanceof Error && 'code' in e && e.code === 'MODULE_NOT_FOUND') {\n try {\n const packageManager = detectPackageManager();\n const prefix = packageManager === 'deno' ? 'npm:' : '';\n execSync(`${packageManager} add -D ${prefix}typescript`, {\n stdio: 'inherit',\n cwd: process.cwd(),\n });\n\n console.log(\n colors.cyan(\n `TypeScript has been installed automatically, restarting...`,\n ),\n );\n\n ts = await import('typescript');\n\n return ts;\n } catch {\n panic(\n 'TypeScript is not installed and could not be installed automatically. Please install it manually.',\n );\n }\n }\n panic(e || 'TypeScript must be installed to use TypeScript config files.');\n }\n\n return ts;\n}\n\n/**\n * @private\n * @internal\n */\nexport async function loadConfigFileFromPath(\n target: string,\n): Promise<ResolvedCommandKitConfig> {\n await ensureExists(target);\n\n const isTs = await ensureTypeScript(target);\n\n let generatedFilePath: string | undefined;\n\n if (isTs && ts) {\n const { transpileModule } = ts;\n const src = fs.readFileSync(target, 'utf8');\n const { outputText } = transpileModule(src, {\n compilerOptions: {\n module: ts.ModuleKind.ESNext,\n target: ts.ScriptTarget.ESNext,\n moduleResolution: ts.ModuleResolutionKind.NodeNext,\n },\n fileName: target,\n });\n\n await generateTypesPackage();\n\n const nodeModulesPath = process.cwd();\n\n const tmpFile = join(nodeModulesPath, 'compiled-commandkit.config.mjs');\n\n fs.writeFileSync(tmpFile, outputText);\n\n generatedFilePath = tmpFile;\n\n target = tmpFile;\n }\n\n /**\n * @type {import('..').CommandKitConfig}\n */\n const config = await import(`file://${target}`).then(\n (conf) => conf.default || conf,\n );\n\n if (generatedFilePath) {\n try {\n fs.unlinkSync(generatedFilePath);\n } catch {\n //\n }\n }\n\n return config;\n}\n\n/**\n * @private\n * @internal\n */\nasync function ensureExists(loc: string) {\n const exists = fs.existsSync(loc);\n\n if (!exists) {\n throw new Error(`File not found: ${loc}`);\n }\n}\n\n/**\n * @private\n * @internal\n */\nexport function erase(dir: string) {\n rimrafSync(dir);\n}\n\n/**\n * @private\n * @internal\n */\nexport async function copyLocaleFiles(_from: string, _to: string) {\n const resolvedFrom = join(process.cwd(), _from);\n const resolvedTo = join(process.cwd(), _to);\n\n const localePaths = ['app/locales'];\n const srcLocalePaths = localePaths.map((path) => join(resolvedFrom, path));\n const destLocalePaths = localePaths.map((path) => join(resolvedTo, path));\n\n for (const localePath of srcLocalePaths) {\n if (!fs.existsSync(localePath)) {\n continue;\n }\n\n // copy localePath to destLocalePath\n const destLocalePath = destLocalePaths[srcLocalePaths.indexOf(localePath)];\n\n if (!fs.existsSync(destLocalePath)) {\n fs.promises.mkdir(destLocalePath, { recursive: true });\n }\n\n await fs.promises.cp(localePath, destLocalePath, {\n recursive: true,\n force: true,\n });\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants-BttALJIr.js","names":[],"sources":["../src/utils/constants.ts"],"sourcesContent":["/**\n * Indicates whether CommandKit is running in development mode.\n */\nexport const COMMANDKIT_IS_DEV = process.env.COMMANDKIT_IS_DEV === 'true';\n\n/**\n * Indicates whether CommandKit is running in CLI thread.\n */\nexport const COMMANDKIT_IS_CLI = process.env.COMMANDKIT_IS_CLI === 'true';\n\n/**\n * Indicates whether CommandKit is running in test mode.\n */\nexport const COMMANDKIT_IS_TEST = process.env.COMMANDKIT_IS_TEST === 'true';\n\n/**\n * The current bootstrap mode of CommandKit.\n * This can be 'development' or 'production'.\n */\nexport const COMMANDKIT_BOOTSTRAP_MODE = (process.env\n .COMMANDKIT_BOOTSTRAP_MODE || 'development') as 'development' | 'production';\n\n/**\n * Types of Hot Module Replacement events\n */\nexport const HMREventType = {\n /**\n * HMR event for reloading commands.\n */\n ReloadCommands: 'reload-commands',\n /**\n * HMR event for reloading events.\n */\n ReloadEvents: 'reload-events',\n /**\n * HMR event for reloading unknown path, typically used by the plugins.\n */\n Unknown: 'unknown',\n} as const;\n\n/**\n * The type for HMR events.\n */\nexport type HMREventType = (typeof HMREventType)[keyof typeof HMREventType];\n"],"mappings":";;;;;AAGA,MAAa,oBAAoB,QAAQ,IAAI,sBAAsB;;;;AAKnE,MAAa,oBAAoB,QAAQ,IAAI,sBAAsB;;;;AAKnE,MAAa,qBAAqB,QAAQ,IAAI,uBAAuB;;;;;AAMrE,MAAa,4BAA6B,QAAQ,IAClD,6BAA6B;;;;AAK7B,MAAa,eAAe;CAI1B,gBAAgB;CAIhB,cAAc;CAId,SAAS;AACV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-Ccmk0dsY.js","names":[],"sources":["../src/cli/init.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { mkdir } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { generateTypesPackage } from '../utils/types-package';\nimport { loadConfigFile } from '../config/loader';\nimport {\n CompilerPlugin,\n CompilerPluginRuntime,\n isCompilerPlugin,\n} from '../plugins';\nimport { panic } from './common';\n\n/**\n * Creates a command line interface for CommandKit.\n * @param argv The arguments passed to the CLI.\n * @param options The options passed to the CLI.\n */\nexport async function bootstrapCommandkitCLI(\n argv: string[],\n options?: import('commander').ParseOptions | undefined,\n) {\n process.title = 'CommandKit CLI';\n\n // imports are lazily loaded when the cli is used, instead of loading it with the lib itself\n const { Command } = await import('commander');\n const { bootstrapDevelopmentServer } = await import('./development');\n const { bootstrapProductionServer, createProductionBuild } = await import(\n './production'\n );\n const { generateCommand, generateEvent } = await import('./generators');\n const { version } = await import('../version');\n const { showInformation } = await import('./information');\n const { setCLIEnv } = await import('./env');\n\n const program = new Command('commandkit');\n\n program\n .command('dev')\n .version(version)\n .description('Start your bot in development mode.')\n .option(\n '-c, --config [path]',\n 'Path to your commandkit config file.',\n './commandkit.js',\n )\n .action(() => {\n const options = program.opts();\n bootstrapDevelopmentServer(options.config);\n });\n\n program\n .command('info')\n .description(\n 'Show information about the system which can be used to report bugs.',\n )\n .action(async () => {\n await showInformation();\n });\n\n program\n .command('start')\n .description(\n 'Start your bot in production mode after running the build command.',\n )\n .option('-c, --config [path]', 'Path to your commandkit config file.')\n .action(() => {\n const options = program.opts();\n bootstrapProductionServer(options.config);\n });\n\n program\n .command('build')\n .description('Build your project for production usage.')\n .option('-c, --config [path]', 'Path to your commandkit config file.')\n .action(() => {\n setCLIEnv();\n const options = program.opts();\n return createProductionBuild(options.config);\n });\n\n program\n .command('create')\n .description(\n 'Create new files using built-in templates or custom plugin templates',\n )\n .argument(\n '<template>',\n 'The template to use (e.g. command, event, or custom plugin template)',\n )\n .argument('[args...]', 'Additional arguments for the template')\n .action(async (template, args) => {\n setCLIEnv();\n\n // Handle custom plugin templates\n const { plugins } = await loadConfigFile();\n const runtime = new CompilerPluginRuntime(\n plugins.filter((p) => isCompilerPlugin(p)) as CompilerPlugin[],\n );\n\n try {\n await runtime.init();\n const templateHandler = runtime.getTemplate(template);\n\n if (!templateHandler) {\n // Handle built-in templates\n if (template === 'command') {\n const [name] = args;\n if (!name) {\n panic('Command name is required');\n }\n await generateCommand(name);\n return;\n }\n\n if (template === 'event') {\n const [name] = args;\n if (!name) {\n panic('Event name is required');\n }\n await generateEvent(name);\n return;\n }\n\n const valid = Array.from(\n new Set([\n 'command',\n 'event',\n ...Array.from(runtime.getTemplates().keys()),\n ]),\n ).map((t) => `\"${t}\"`);\n\n panic(\n `Template \"${template}\" not found. Available templates: ${valid.join(', ')}`,\n );\n }\n\n await templateHandler(args);\n } catch (e: any) {\n panic(`Failed to execute template \"${template}\": ${e?.message || e}`);\n } finally {\n await runtime.destroy();\n }\n });\n\n const types = join(process.cwd(), 'node_modules', 'commandkit-types');\n\n if (!existsSync(types)) {\n await mkdir(types, { recursive: true }).catch(() => {});\n await generateTypesPackage(true).catch(() => {});\n }\n\n await program.parseAsync(argv, options);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAiBA,eAAsB,uBACtB,MACA,SACA;AACE,SAAQ,QAAQ;CAGhB,MAAM,EAAE,SAAS,GAAG,MAAM,OAAO;CACjC,MAAM,EAAE,4BAA4B,GAAG,2CAAM;CAC7C,MAAM,EAAE,2BAA2B,uBAAuB,GAAG,2CAAM;CAGnE,MAAM,EAAE,iBAAiB,eAAe,GAAG,2CAAM;CACjD,MAAM,EAAE,SAAS,GAAG,2CAAM;CAC1B,MAAM,EAAE,iBAAiB,GAAG,2CAAM;CAClC,MAAM,EAAE,WAAW,GAAG,2CAAM;CAE5B,MAAM,UAAU,IAAI,QAAQ;AAE5B,SACA,QAAQ,MAAM,CACd,QAAQ,QAAQ,CAChB,YAAY,sCAAsC,CAClD,OACE,uBACA,wCACA,kBACD,CACD,OAAO,MAAM;EACX,MAAM,YAAU,QAAQ,MAAM;AAC9B,6BAA2B,UAAQ,OAAO;CAC3C,EAAC;AAEF,SACA,QAAQ,OAAO,CACf,YACE,sEACD,CACD,OAAO,YAAY;AACjB,QAAM,iBAAiB;CACxB,EAAC;AAEF,SACA,QAAQ,QAAQ,CAChB,YACE,qEACD,CACD,OAAO,uBAAuB,uCAAuC,CACrE,OAAO,MAAM;EACX,MAAM,YAAU,QAAQ,MAAM;AAC9B,4BAA0B,UAAQ,OAAO;CAC1C,EAAC;AAEF,SACA,QAAQ,QAAQ,CAChB,YAAY,2CAA2C,CACvD,OAAO,uBAAuB,uCAAuC,CACrE,OAAO,MAAM;AACX,aAAW;EACX,MAAM,YAAU,QAAQ,MAAM;AAC9B,SAAO,sBAAsB,UAAQ,OAAO;CAC7C,EAAC;AAEF,SACA,QAAQ,SAAS,CACjB,YACE,uEACD,CACD,SACE,cACA,uEACD,CACD,SAAS,aAAa,wCAAwC,CAC9D,OAAO,OAAO,UAAU,SAAS;AAC/B,aAAW;EAGX,MAAM,EAAE,SAAS,GAAG,MAAM,mCAAgB;EAC1C,MAAM,UAAU,IAAI,yCAClB,QAAQ,OAAO,CAAC,MAAM,wCAAiB,EAAE,CAAC;AAG5C,MAAI;AACF,SAAM,QAAQ,MAAM;GACpB,MAAM,kBAAkB,QAAQ,YAAY,SAAS;AAErD,QAAK,iBAAiB;AAEpB,QAAI,aAAa,WAAW;KAC1B,MAAM,CAAC,KAAK,GAAG;AACf,UAAK,KACH,sBAAM,2BAA2B;AAEnC,WAAM,gBAAgB,KAAK;AAC3B;IACD;AAED,QAAI,aAAa,SAAS;KACxB,MAAM,CAAC,KAAK,GAAG;AACf,UAAK,KACH,sBAAM,yBAAyB;AAEjC,WAAM,cAAc,KAAK;AACzB;IACD;IAED,MAAM,QAAQ,MAAM,KAClB,IAAI,IAAI;KACR;KACA;KACA,GAAG,MAAM,KAAK,QAAQ,cAAc,CAAC,MAAM,CAAC;IAAC,GAE9C,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG;AAEtB,0BACG,YAAY,SAAS,oCAAoC,MAAM,KAAK,KAAK,GAC3E;GACF;AAED,SAAM,gBAAgB,KAAK;EAC5B,SAAQ,GAAQ;AACf,yBAAO,8BAA8B,SAAS,4CAAK,EAAG,YAAW,IAAI;EACtE,UAAS;AACR,SAAM,QAAQ,SAAS;EACxB;CACF,EAAC;CAEF,MAAM,QAAQ,oBAAK,QAAQ,KAAK,EAAE,gBAAgB,mBAAmB;AAErE,MAAK,wBAAW,MAAM,EAAE;AACtB,QAAM,4BAAM,OAAO,EAAE,WAAW,KAAM,EAAC,CAAC,MAAM,MAAM,CAAE,EAAC;AACvD,QAAM,2CAAqB,KAAK,CAAC,MAAM,MAAM,CAAE,EAAC;CAClD;AAEA,OAAM,QAAQ,WAAW,MAAM,QAAQ;AACzC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-package-MDczrp9f.js","names":[],"sources":["../src/utils/types-package.ts"],"sourcesContent":["import { mkdir, writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { COMMANDKIT_IS_DEV } from './constants';\nimport { existsSync } from 'node:fs';\n\n/**\n * @private\n */\nexport async function generateTypesPackage(force = false) {\n const location = join(process.cwd(), 'node_modules', 'commandkit-types');\n if (!COMMANDKIT_IS_DEV && !force) return location;\n const packageJSON = join(location, 'package.json');\n const index = join(location, 'index.js');\n const types = join(location, 'index.d.ts');\n const command = join(location, 'command.d.ts');\n\n const packageJSONContent = {\n name: 'commandkit-types',\n version: '1.0.0',\n description: 'CommandKit types package',\n type: 'commonjs',\n main: 'index.js',\n types: 'index.d.ts',\n };\n\n const indexContent = `module.exports = {};`;\n\n // Restructuring the type declarations to properly extend rather than replace types\n const typesContent = `// Main types index file - imports all type declarations\nimport './command';\nexport {};\n`;\n\n // Properly set up command types to extend the CommandTypeData interface\n const commandTypesContent = `// Auto-generated command types\n export {};\ndeclare module 'commandkit' {\n type CommandTypeData = string\n}`;\n\n await mkdir(location, { recursive: true }).catch(() => {});\n await writeFile(packageJSON, JSON.stringify(packageJSONContent, null, 2));\n await writeFile(index, indexContent);\n await writeFile(types, typesContent);\n await writeFile(command, commandTypesContent);\n\n return location;\n}\n\n/**\n * @private\n */\nexport async function rewriteCommandDeclaration(data: string) {\n const commandTypesContent = `// Auto-generated command types\n declare module 'commandkit' {\n ${data}\n}\n export {};\n`;\n\n const location = join(process.cwd(), 'node_modules', 'commandkit-types');\n\n if (!existsSync(location)) return;\n\n const type = join(location, 'command.d.ts');\n\n await writeFile(type, commandTypesContent, { encoding: 'utf-8' });\n}\n"],"mappings":";;;;;;;;;;AAQA,eAAsB,qBAAqB,QAAQ,OAAO;CACxD,MAAM,WAAW,oBAAK,QAAQ,KAAK,EAAE,gBAAgB,mBAAmB;AACxE,MAAK,wCAAsB,MAAO,QAAO;CACzC,MAAM,cAAc,oBAAK,UAAU,eAAe;CAClD,MAAM,QAAQ,oBAAK,UAAU,WAAW;CACxC,MAAM,QAAQ,oBAAK,UAAU,aAAa;CAC1C,MAAM,UAAU,oBAAK,UAAU,eAAe;CAE9C,MAAM,qBAAqB;EACzB,MAAM;EACN,SAAS;EACT,aAAa;EACb,MAAM;EACN,MAAM;EACN,OAAO;CACR;CAED,MAAM,gBAAgB;CAGtB,MAAM,gBAAgB;;;;CAMtB,MAAM,uBAAuB;;;;;AAM7B,OAAM,4BAAM,UAAU,EAAE,WAAW,KAAM,EAAC,CAAC,MAAM,MAAM,CAAE,EAAC;AAC1D,OAAM,gCAAU,aAAa,KAAK,UAAU,oBAAoB,MAAM,EAAE,CAAC;AACzE,OAAM,gCAAU,OAAO,aAAa;AACpC,OAAM,gCAAU,OAAO,aAAa;AACpC,OAAM,gCAAU,SAAS,oBAAoB;AAE7C,QAAO;AACT;;;;AAKA,eAAsB,0BAA0B,MAAc;CAC5D,MAAM,uBAAuB;;MAEzB,KAAI;;;;CAKR,MAAM,WAAW,oBAAK,QAAQ,KAAK,EAAE,gBAAgB,mBAAmB;AAExE,MAAK,wBAAW,SAAS,CAAE;CAE3B,MAAM,OAAO,oBAAK,UAAU,eAAe;AAE3C,OAAM,gCAAU,MAAM,qBAAqB,EAAE,UAAU,QAAS,EAAC;AACnE"}