commandkit 1.2.0-dev.20250917014851 → 1.2.0-dev.20250917125101
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.
- package/dist/{CommandsRouter-Cgcy6cK9.js → CommandsRouter-Dmzw-ikm.js} +3 -4
- package/dist/{CommandsRouter-Cgcy6cK9.js.map → CommandsRouter-Dmzw-ikm.js.map} +1 -1
- package/dist/analytics/analytics-engine.js +2 -2
- package/dist/analytics/utils.js +2 -2
- package/dist/app/commands/AppCommandRunner.js +2 -2
- package/dist/app/commands/Context.js +2 -2
- package/dist/app/handlers/AppCommandHandler.js +2 -2
- package/dist/app/handlers/AppEventsHandler.js +2 -2
- package/dist/app/index.js +2 -2
- package/dist/app/middlewares/permissions.js +2 -2
- package/dist/app/register/CommandRegistrar.js +2 -2
- package/dist/app/router/CommandsRouter.js +1 -1
- package/dist/app/router/index.js +1 -1
- package/dist/{build-zI120dU_.js → build-B-NgO2L-.js} +2 -2
- package/dist/{build-zI120dU_.js.map → build-B-NgO2L-.js.map} +1 -1
- package/dist/cli/build.js +3 -3
- package/dist/cli/development.js +3 -3
- package/dist/cli/information.js +1 -1
- package/dist/cli/init.js +3 -3
- package/dist/cli/production.js +3 -3
- package/dist/{commandkit-Da438cut.js → commandkit-IgQcMJMi.js} +2 -2
- package/dist/{commandkit-Da438cut.js.map → commandkit-IgQcMJMi.js.map} +1 -1
- package/dist/commandkit.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/v1/button/Button.js +2 -2
- package/dist/components/v1/button/ButtonKit.js +2 -2
- package/dist/components/v1/modal/Modal.js +2 -2
- package/dist/components/v1/modal/ModalKit.js +2 -2
- package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +2 -2
- package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +2 -2
- package/dist/components/v1/select-menu/RoleSelectMenuKit.js +2 -2
- package/dist/components/v1/select-menu/SelectMenu.js +2 -2
- package/dist/components/v1/select-menu/StringSelectMenuKit.js +2 -2
- package/dist/components/v1/select-menu/UserSelectMenuKit.js +2 -2
- package/dist/config/config.js +2 -2
- package/dist/config/default.js +2 -2
- package/dist/config/loader.js +2 -2
- package/dist/context/async-context.js +2 -2
- package/dist/context/environment.js +2 -2
- package/dist/{feature-flags-CnZzZy6q.js → feature-flags-yRS7ZNzU.js} +2 -2
- package/dist/{feature-flags-CnZzZy6q.js.map → feature-flags-yRS7ZNzU.js.map} +1 -1
- package/dist/flags/feature-flags.js +3 -3
- package/dist/index.js +5 -5
- package/dist/{init-DWQ83PP4.js → init-BsuMbWJY.js} +2 -2
- package/dist/{init-DWQ83PP4.js.map → init-BsuMbWJY.js.map} +1 -1
- package/dist/logger/DefaultLogger.js +2 -2
- package/dist/logger/Logger.js +2 -2
- package/dist/plugins/index.js +2 -2
- package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +2 -2
- package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +2 -2
- package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +2 -2
- package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +2 -2
- package/dist/utils/dev-hooks.js +2 -2
- package/dist/utils/utilities.js +2 -2
- package/dist/{version-DHgkzhsR.js → version-Dw9EMVza.js} +2 -2
- package/dist/{version-DHgkzhsR.js.map → version-Dw9EMVza.js.map} +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -193,11 +193,10 @@ var CommandsRouter = class {
|
|
|
193
193
|
const allMiddlewares = Array.from(this.middlewares.values());
|
|
194
194
|
const commandSpecificMiddlewares = allMiddlewares.filter((middleware) => middleware.command === command.name).map((middleware) => middleware.id);
|
|
195
195
|
const directorySpecificMiddlewares = allMiddlewares.filter((middleware) => !middleware.global && !middleware.command && middleware.parentPath === commandPath).map((middleware) => middleware.id);
|
|
196
|
-
const globalMiddlewares = allMiddlewares.filter((middleware) => middleware.global).map((middleware) => middleware.id);
|
|
197
196
|
command.middlewares = [
|
|
198
|
-
...
|
|
197
|
+
...allMiddlewares.filter((middleware) => middleware.global).map((middleware) => middleware.id),
|
|
199
198
|
...directorySpecificMiddlewares,
|
|
200
|
-
...
|
|
199
|
+
...commandSpecificMiddlewares
|
|
201
200
|
];
|
|
202
201
|
});
|
|
203
202
|
}
|
|
@@ -217,4 +216,4 @@ Object.defineProperty(exports, 'CommandsRouter', {
|
|
|
217
216
|
return CommandsRouter;
|
|
218
217
|
}
|
|
219
218
|
});
|
|
220
|
-
//# sourceMappingURL=CommandsRouter-
|
|
219
|
+
//# sourceMappingURL=CommandsRouter-Dmzw-ikm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandsRouter-Cgcy6cK9.js","names":[],"sources":["../src/app/router/CommandsRouter.ts"],"sourcesContent":["import { Collection } from 'discord.js';\nimport { Dirent, existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { basename, extname, join, normalize } from 'node:path';\n\n/**\n * Represents a command with its metadata and middleware associations.\n */\nexport interface Command {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n middlewares: Array<string>;\n category: string | null;\n}\n\n/**\n * Represents a middleware with its metadata and scope.\n */\nexport interface Middleware {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n global: boolean;\n command: string | null;\n}\n\n/**\n * Data structure containing parsed commands and middleware.\n */\nexport interface ParsedCommandData {\n commands: Record<string, Command>;\n middlewares: Record<string, Middleware>;\n}\n\n/**\n * Configuration options for the commands router.\n */\nexport interface CommandsRouterOptions {\n entrypoint: string;\n}\n\n/**\n * @private\n * @internal\n */\nconst MIDDLEWARE_PATTERN = /^\\+middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_MIDDLEWARE_PATTERN =\n /^\\+([^+().][^().]*)\\.middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst GLOBAL_MIDDLEWARE_PATTERN = /^\\+global-middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_PATTERN = /^([^+().][^().]*)\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst CATEGORY_PATTERN = /^\\(.+\\)$/;\n\n/**\n * Handles discovery and parsing of command and middleware files in the filesystem.\n */\nexport class CommandsRouter {\n /**\n * @private\n * @internal\n */\n private commands = new Collection<string, Command>();\n\n /**\n * @private\n * @internal\n */\n private middlewares = new Collection<string, Middleware>();\n\n /**\n * Creates a new CommandsRouter instance.\n * @param options - Configuration options for the router\n */\n public constructor(private readonly options: CommandsRouterOptions) {}\n\n /**\n * Populates the router with existing command and middleware data.\n * @param data - Parsed command data to populate with\n */\n public populate(data: ParsedCommandData) {\n for (const [id, command] of Object.entries(data.commands)) {\n this.commands.set(id, command);\n }\n\n for (const [id, middleware] of Object.entries(data.middlewares)) {\n this.middlewares.set(id, middleware);\n }\n }\n\n /**\n * Checks if the configured entrypoint path exists.\n * @returns True if the path exists\n */\n public isValidPath(): boolean {\n return existsSync(this.options.entrypoint);\n }\n\n /**\n * @private\n * @internal\n */\n private isCommand(name: string): boolean {\n return COMMAND_PATTERN.test(name);\n }\n\n /**\n * @private\n * @internal\n */\n private isMiddleware(name: string): boolean {\n return (\n MIDDLEWARE_PATTERN.test(name) ||\n GLOBAL_MIDDLEWARE_PATTERN.test(name) ||\n COMMAND_MIDDLEWARE_PATTERN.test(name)\n );\n }\n\n /**\n * @private\n * @internal\n */\n private isCategory(name: string): boolean {\n return CATEGORY_PATTERN.test(name);\n }\n\n /**\n * Clears all loaded commands and middleware.\n */\n public clear() {\n this.commands.clear();\n this.middlewares.clear();\n }\n\n /**\n * Scans the filesystem for commands and middleware files.\n * @returns Parsed command data\n */\n public async scan() {\n const entries = await readdir(this.options.entrypoint, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n const fullPath = join(this.options.entrypoint, entry.name);\n\n if (entry.isDirectory()) {\n const category = this.isCategory(entry.name)\n ? entry.name.slice(1, -1)\n : null;\n\n await this.traverse(fullPath, category);\n } else {\n await this.handle(entry);\n }\n }\n\n await this.applyMiddlewares();\n\n return this.toJSON();\n }\n\n /**\n * Gets the raw command and middleware collections.\n * @returns Object containing commands and middlewares collections\n */\n public getData() {\n return {\n commands: this.commands,\n middlewares: this.middlewares,\n };\n }\n\n /**\n * Converts the loaded data to a JSON-serializable format.\n * @returns Plain object with commands and middlewares\n */\n public toJSON() {\n return {\n commands: Object.fromEntries(this.commands.entries()),\n middlewares: Object.fromEntries(this.middlewares.entries()),\n };\n }\n\n /**\n * @private\n * @internal\n */\n private async traverse(path: string, category: string | null) {\n const entries = await readdir(path, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n if (entry.isFile()) {\n if (this.isCommand(entry.name) || this.isMiddleware(entry.name)) {\n await this.handle(entry, category);\n }\n } else if (\n entry.isDirectory() &&\n this.isCategory(entry.name) &&\n category\n ) {\n // nested category\n const nestedCategory = this.isCategory(entry.name)\n ? `${category}:${entry.name.slice(1, -1)}`\n : null;\n await this.traverse(join(path, entry.name), nestedCategory);\n }\n\n // TODO: handle subcommands\n }\n }\n\n /**\n * @private\n * @internal\n */\n private async handle(entry: Dirent, category: string | null = null) {\n const name = entry.name;\n const path = join(entry.parentPath, entry.name);\n\n if (this.isCommand(name)) {\n const command: Command = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n category,\n parentPath: entry.parentPath,\n relativePath: this.replaceEntrypoint(path),\n middlewares: [],\n };\n\n this.commands.set(command.id, command);\n } else if (this.isMiddleware(name)) {\n const middleware: Middleware = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n relativePath: this.replaceEntrypoint(path),\n parentPath: entry.parentPath,\n global: GLOBAL_MIDDLEWARE_PATTERN.test(name),\n command: COMMAND_MIDDLEWARE_PATTERN.test(name)\n ? name.match(COMMAND_MIDDLEWARE_PATTERN)?.[1] || null\n : null,\n };\n\n this.middlewares.set(middleware.id, middleware);\n }\n }\n\n /**\n * @private\n * @internal\n */\n private applyMiddlewares() {\n this.commands.forEach((command) => {\n const commandPath = command.parentPath;\n const allMiddlewares = Array.from(this.middlewares.values());\n\n const commandSpecificMiddlewares = allMiddlewares\n .filter((middleware) => middleware.command === command.name)\n .map((middleware) => middleware.id);\n\n const directorySpecificMiddlewares = allMiddlewares\n .filter(\n (middleware) =>\n !middleware.global &&\n !middleware.command &&\n middleware.parentPath === commandPath,\n )\n .map((middleware) => middleware.id);\n\n const globalMiddlewares = allMiddlewares\n .filter((middleware) => middleware.global)\n .map((middleware) => middleware.id);\n\n command.middlewares = [\n ...commandSpecificMiddlewares,\n ...directorySpecificMiddlewares,\n ...globalMiddlewares,\n ];\n });\n }\n\n /**\n * @private\n * @internal\n */\n private replaceEntrypoint(path: string) {\n const normalized = normalize(path);\n return normalized.replace(this.options.entrypoint, '');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CommandsRouter-Dmzw-ikm.js","names":[],"sources":["../src/app/router/CommandsRouter.ts"],"sourcesContent":["import { Collection } from 'discord.js';\nimport { Dirent, existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { basename, extname, join, normalize } from 'node:path';\n\n/**\n * Represents a command with its metadata and middleware associations.\n */\nexport interface Command {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n middlewares: Array<string>;\n category: string | null;\n}\n\n/**\n * Represents a middleware with its metadata and scope.\n */\nexport interface Middleware {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n global: boolean;\n command: string | null;\n}\n\n/**\n * Data structure containing parsed commands and middleware.\n */\nexport interface ParsedCommandData {\n commands: Record<string, Command>;\n middlewares: Record<string, Middleware>;\n}\n\n/**\n * Configuration options for the commands router.\n */\nexport interface CommandsRouterOptions {\n entrypoint: string;\n}\n\n/**\n * @private\n * @internal\n */\nconst MIDDLEWARE_PATTERN = /^\\+middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_MIDDLEWARE_PATTERN =\n /^\\+([^+().][^().]*)\\.middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst GLOBAL_MIDDLEWARE_PATTERN = /^\\+global-middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_PATTERN = /^([^+().][^().]*)\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst CATEGORY_PATTERN = /^\\(.+\\)$/;\n\n/**\n * Handles discovery and parsing of command and middleware files in the filesystem.\n */\nexport class CommandsRouter {\n /**\n * @private\n * @internal\n */\n private commands = new Collection<string, Command>();\n\n /**\n * @private\n * @internal\n */\n private middlewares = new Collection<string, Middleware>();\n\n /**\n * Creates a new CommandsRouter instance.\n * @param options - Configuration options for the router\n */\n public constructor(private readonly options: CommandsRouterOptions) {}\n\n /**\n * Populates the router with existing command and middleware data.\n * @param data - Parsed command data to populate with\n */\n public populate(data: ParsedCommandData) {\n for (const [id, command] of Object.entries(data.commands)) {\n this.commands.set(id, command);\n }\n\n for (const [id, middleware] of Object.entries(data.middlewares)) {\n this.middlewares.set(id, middleware);\n }\n }\n\n /**\n * Checks if the configured entrypoint path exists.\n * @returns True if the path exists\n */\n public isValidPath(): boolean {\n return existsSync(this.options.entrypoint);\n }\n\n /**\n * @private\n * @internal\n */\n private isCommand(name: string): boolean {\n return COMMAND_PATTERN.test(name);\n }\n\n /**\n * @private\n * @internal\n */\n private isMiddleware(name: string): boolean {\n return (\n MIDDLEWARE_PATTERN.test(name) ||\n GLOBAL_MIDDLEWARE_PATTERN.test(name) ||\n COMMAND_MIDDLEWARE_PATTERN.test(name)\n );\n }\n\n /**\n * @private\n * @internal\n */\n private isCategory(name: string): boolean {\n return CATEGORY_PATTERN.test(name);\n }\n\n /**\n * Clears all loaded commands and middleware.\n */\n public clear() {\n this.commands.clear();\n this.middlewares.clear();\n }\n\n /**\n * Scans the filesystem for commands and middleware files.\n * @returns Parsed command data\n */\n public async scan() {\n const entries = await readdir(this.options.entrypoint, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n const fullPath = join(this.options.entrypoint, entry.name);\n\n if (entry.isDirectory()) {\n const category = this.isCategory(entry.name)\n ? entry.name.slice(1, -1)\n : null;\n\n await this.traverse(fullPath, category);\n } else {\n await this.handle(entry);\n }\n }\n\n await this.applyMiddlewares();\n\n return this.toJSON();\n }\n\n /**\n * Gets the raw command and middleware collections.\n * @returns Object containing commands and middlewares collections\n */\n public getData() {\n return {\n commands: this.commands,\n middlewares: this.middlewares,\n };\n }\n\n /**\n * Converts the loaded data to a JSON-serializable format.\n * @returns Plain object with commands and middlewares\n */\n public toJSON() {\n return {\n commands: Object.fromEntries(this.commands.entries()),\n middlewares: Object.fromEntries(this.middlewares.entries()),\n };\n }\n\n /**\n * @private\n * @internal\n */\n private async traverse(path: string, category: string | null) {\n const entries = await readdir(path, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n if (entry.isFile()) {\n if (this.isCommand(entry.name) || this.isMiddleware(entry.name)) {\n await this.handle(entry, category);\n }\n } else if (\n entry.isDirectory() &&\n this.isCategory(entry.name) &&\n category\n ) {\n // nested category\n const nestedCategory = this.isCategory(entry.name)\n ? `${category}:${entry.name.slice(1, -1)}`\n : null;\n await this.traverse(join(path, entry.name), nestedCategory);\n }\n\n // TODO: handle subcommands\n }\n }\n\n /**\n * @private\n * @internal\n */\n private async handle(entry: Dirent, category: string | null = null) {\n const name = entry.name;\n const path = join(entry.parentPath, entry.name);\n\n if (this.isCommand(name)) {\n const command: Command = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n category,\n parentPath: entry.parentPath,\n relativePath: this.replaceEntrypoint(path),\n middlewares: [],\n };\n\n this.commands.set(command.id, command);\n } else if (this.isMiddleware(name)) {\n const middleware: Middleware = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n relativePath: this.replaceEntrypoint(path),\n parentPath: entry.parentPath,\n global: GLOBAL_MIDDLEWARE_PATTERN.test(name),\n command: COMMAND_MIDDLEWARE_PATTERN.test(name)\n ? name.match(COMMAND_MIDDLEWARE_PATTERN)?.[1] || null\n : null,\n };\n\n this.middlewares.set(middleware.id, middleware);\n }\n }\n\n /**\n * @private\n * @internal\n */\n private applyMiddlewares() {\n this.commands.forEach((command) => {\n const commandPath = command.parentPath;\n const allMiddlewares = Array.from(this.middlewares.values());\n\n const commandSpecificMiddlewares = allMiddlewares\n .filter((middleware) => middleware.command === command.name)\n .map((middleware) => middleware.id);\n\n const directorySpecificMiddlewares = allMiddlewares\n .filter(\n (middleware) =>\n !middleware.global &&\n !middleware.command &&\n middleware.parentPath === commandPath,\n )\n .map((middleware) => middleware.id);\n\n const globalMiddlewares = allMiddlewares\n .filter((middleware) => middleware.global)\n .map((middleware) => middleware.id);\n\n command.middlewares = [\n ...globalMiddlewares,\n ...directorySpecificMiddlewares,\n ...commandSpecificMiddlewares,\n ];\n });\n }\n\n /**\n * @private\n * @internal\n */\n private replaceEntrypoint(path: string) {\n const normalized = normalize(path);\n return normalized.replace(this.options.entrypoint, '');\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../colors-DL3ucTiT.js');
|
|
2
2
|
require('../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../commandkit-
|
|
4
|
+
const require_commandkit = require('../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../common-CcfjYnPG.js');
|
|
6
6
|
require('../common-vnMIelAE.js');
|
|
7
7
|
require('../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../signals-ChFMD7mB.js');
|
|
29
29
|
require('../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../CommandsRouter-
|
|
31
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../router-Dn35v30f.js');
|
|
34
34
|
require('../common-Dxr9-XPa.js');
|
package/dist/analytics/utils.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
|
-
const require_commandkit = require('../commandkit-
|
|
4
|
+
const require_commandkit = require('../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../common-CcfjYnPG.js');
|
|
6
6
|
require('../common-vnMIelAE.js');
|
|
7
7
|
require('../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../signals-ChFMD7mB.js');
|
|
29
29
|
require('../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../CommandsRouter-
|
|
31
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../router-Dn35v30f.js');
|
|
34
34
|
require('../common-Dxr9-XPa.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../colors-DL3ucTiT.js');
|
|
2
2
|
require('../../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../../commandkit-
|
|
4
|
+
const require_commandkit = require('../../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../../common-CcfjYnPG.js');
|
|
6
6
|
require('../../common-vnMIelAE.js');
|
|
7
7
|
require('../../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../../signals-ChFMD7mB.js');
|
|
29
29
|
require('../../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../../CommandsRouter-
|
|
31
|
+
require('../../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../../router-Dn35v30f.js');
|
|
34
34
|
require('../../common-Dxr9-XPa.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../colors-DL3ucTiT.js');
|
|
2
2
|
require('../../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../../commandkit-
|
|
4
|
+
const require_commandkit = require('../../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../../common-CcfjYnPG.js');
|
|
6
6
|
require('../../common-vnMIelAE.js');
|
|
7
7
|
require('../../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../../signals-ChFMD7mB.js');
|
|
29
29
|
require('../../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../../CommandsRouter-
|
|
31
|
+
require('../../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../../router-Dn35v30f.js');
|
|
34
34
|
require('../../common-Dxr9-XPa.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../colors-DL3ucTiT.js');
|
|
2
2
|
require('../../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../../commandkit-
|
|
4
|
+
const require_commandkit = require('../../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../../common-CcfjYnPG.js');
|
|
6
6
|
require('../../common-vnMIelAE.js');
|
|
7
7
|
require('../../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../../signals-ChFMD7mB.js');
|
|
29
29
|
require('../../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../../CommandsRouter-
|
|
31
|
+
require('../../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../../router-Dn35v30f.js');
|
|
34
34
|
require('../../common-Dxr9-XPa.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../colors-DL3ucTiT.js');
|
|
2
2
|
require('../../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../../commandkit-
|
|
4
|
+
const require_commandkit = require('../../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../../common-CcfjYnPG.js');
|
|
6
6
|
require('../../common-vnMIelAE.js');
|
|
7
7
|
require('../../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../../signals-ChFMD7mB.js');
|
|
29
29
|
require('../../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../../CommandsRouter-
|
|
31
|
+
require('../../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../../router-Dn35v30f.js');
|
|
34
34
|
require('../../common-Dxr9-XPa.js');
|
package/dist/app/index.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
|
-
const require_commandkit = require('../commandkit-
|
|
4
|
+
const require_commandkit = require('../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../common-CcfjYnPG.js');
|
|
6
6
|
require('../common-vnMIelAE.js');
|
|
7
7
|
require('../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
const require_signals = require('../signals-ChFMD7mB.js');
|
|
29
29
|
const require_MessageCommandParser = require('../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
const require_helpers = require('../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../CommandsRouter-
|
|
31
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../router-Dn35v30f.js');
|
|
34
34
|
require('../common-Dxr9-XPa.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../colors-DL3ucTiT.js');
|
|
2
2
|
require('../../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../../commandkit-
|
|
4
|
+
const require_commandkit = require('../../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../../common-CcfjYnPG.js');
|
|
6
6
|
require('../../common-vnMIelAE.js');
|
|
7
7
|
require('../../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../../signals-ChFMD7mB.js');
|
|
29
29
|
require('../../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../../CommandsRouter-
|
|
31
|
+
require('../../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../../router-Dn35v30f.js');
|
|
34
34
|
require('../../common-Dxr9-XPa.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../colors-DL3ucTiT.js');
|
|
2
2
|
require('../../ActionRow-CbdGFWMT.js');
|
|
3
3
|
require('../../error-codes-Ds0bnPvT.js');
|
|
4
|
-
const require_commandkit = require('../../commandkit-
|
|
4
|
+
const require_commandkit = require('../../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../../common-CcfjYnPG.js');
|
|
6
6
|
require('../../common-vnMIelAE.js');
|
|
7
7
|
require('../../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../../signals-ChFMD7mB.js');
|
|
29
29
|
require('../../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../../CommandsRouter-
|
|
31
|
+
require('../../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../../router-Dn35v30f.js');
|
|
34
34
|
require('../../common-Dxr9-XPa.js');
|
package/dist/app/router/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-nOFOJqeH.js');
|
|
2
|
-
const require_commandkit = require('./commandkit-
|
|
2
|
+
const require_commandkit = require('./commandkit-IgQcMJMi.js');
|
|
3
3
|
const require_constants = require('./constants-B5_Ta7PR.js');
|
|
4
4
|
const require_utils = require('./utils-KsNof0Xz.js');
|
|
5
5
|
const require_common = require('./common-Dxr9-XPa.js');
|
|
@@ -172,4 +172,4 @@ Object.defineProperty(exports, 'buildApplication', {
|
|
|
172
172
|
return buildApplication;
|
|
173
173
|
}
|
|
174
174
|
});
|
|
175
|
-
//# sourceMappingURL=build-
|
|
175
|
+
//# sourceMappingURL=build-B-NgO2L-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-
|
|
1
|
+
{"version":3,"file":"build-B-NgO2L-.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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"}
|
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-
|
|
4
|
+
require('../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../common-CcfjYnPG.js');
|
|
6
6
|
require('../common-vnMIelAE.js');
|
|
7
7
|
require('../container-C6GtfAPW.js');
|
|
@@ -28,7 +28,7 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../signals-ChFMD7mB.js');
|
|
29
29
|
require('../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../CommandsRouter-
|
|
31
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../router-Dn35v30f.js');
|
|
34
34
|
require('../common-Dxr9-XPa.js');
|
|
@@ -36,6 +36,6 @@ require('../CommandKitEventsChannel-BtRzr3Tz.js');
|
|
|
36
36
|
require('../store-CM6pWVZh.js');
|
|
37
37
|
require('../env-_68PRRoA.js');
|
|
38
38
|
require('../type-checker-DR7RZFs5.js');
|
|
39
|
-
const require_build = require('../build-
|
|
39
|
+
const require_build = require('../build-B-NgO2L-.js');
|
|
40
40
|
|
|
41
41
|
exports.buildApplication = require_build.buildApplication;
|
package/dist/cli/development.js
CHANGED
|
@@ -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-
|
|
5
|
+
const require_commandkit = require('../commandkit-IgQcMJMi.js');
|
|
6
6
|
require('../common-CcfjYnPG.js');
|
|
7
7
|
require('../common-vnMIelAE.js');
|
|
8
8
|
require('../container-C6GtfAPW.js');
|
|
@@ -29,7 +29,7 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
29
29
|
require('../signals-ChFMD7mB.js');
|
|
30
30
|
require('../MessageCommandParser-CEuO6Ex3.js');
|
|
31
31
|
require('../helpers-BSwwrKJW.js');
|
|
32
|
-
require('../CommandsRouter-
|
|
32
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
33
33
|
require('../EventsRouter-3Gygh-km.js');
|
|
34
34
|
require('../router-Dn35v30f.js');
|
|
35
35
|
const require_common$2 = require('../common-Dxr9-XPa.js');
|
|
@@ -38,7 +38,7 @@ require('../store-CM6pWVZh.js');
|
|
|
38
38
|
require('../env-_68PRRoA.js');
|
|
39
39
|
const require_app_process = require('../app-process-DoG6Spkf.js');
|
|
40
40
|
require('../type-checker-DR7RZFs5.js');
|
|
41
|
-
const require_build = require('../build-
|
|
41
|
+
const require_build = require('../build-B-NgO2L-.js');
|
|
42
42
|
let node_crypto = require("node:crypto");
|
|
43
43
|
node_crypto = require_chunk.__toESM(node_crypto);
|
|
44
44
|
let path = require("path");
|
package/dist/cli/information.js
CHANGED
|
@@ -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-
|
|
3
|
+
const require_version = require('../version-Dw9EMVza.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-
|
|
4
|
+
require('../commandkit-IgQcMJMi.js');
|
|
5
5
|
require('../common-CcfjYnPG.js');
|
|
6
6
|
require('../common-vnMIelAE.js');
|
|
7
7
|
require('../container-C6GtfAPW.js');
|
|
@@ -28,12 +28,12 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
28
28
|
require('../signals-ChFMD7mB.js');
|
|
29
29
|
require('../MessageCommandParser-CEuO6Ex3.js');
|
|
30
30
|
require('../helpers-BSwwrKJW.js');
|
|
31
|
-
require('../CommandsRouter-
|
|
31
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
32
32
|
require('../EventsRouter-3Gygh-km.js');
|
|
33
33
|
require('../router-Dn35v30f.js');
|
|
34
34
|
require('../common-Dxr9-XPa.js');
|
|
35
35
|
require('../CommandKitEventsChannel-BtRzr3Tz.js');
|
|
36
36
|
require('../store-CM6pWVZh.js');
|
|
37
|
-
const require_init = require('../init-
|
|
37
|
+
const require_init = require('../init-BsuMbWJY.js');
|
|
38
38
|
|
|
39
39
|
exports.bootstrapCommandkitCLI = require_init.bootstrapCommandkitCLI;
|
package/dist/cli/production.js
CHANGED
|
@@ -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-
|
|
5
|
+
const require_commandkit = require('../commandkit-IgQcMJMi.js');
|
|
6
6
|
require('../common-CcfjYnPG.js');
|
|
7
7
|
require('../common-vnMIelAE.js');
|
|
8
8
|
require('../container-C6GtfAPW.js');
|
|
@@ -29,7 +29,7 @@ require('../EventWorkerContext-Dq29tieI.js');
|
|
|
29
29
|
require('../signals-ChFMD7mB.js');
|
|
30
30
|
require('../MessageCommandParser-CEuO6Ex3.js');
|
|
31
31
|
require('../helpers-BSwwrKJW.js');
|
|
32
|
-
require('../CommandsRouter-
|
|
32
|
+
require('../CommandsRouter-Dmzw-ikm.js');
|
|
33
33
|
require('../EventsRouter-3Gygh-km.js');
|
|
34
34
|
require('../router-Dn35v30f.js');
|
|
35
35
|
const require_common$2 = require('../common-Dxr9-XPa.js');
|
|
@@ -38,7 +38,7 @@ require('../store-CM6pWVZh.js');
|
|
|
38
38
|
require('../env-_68PRRoA.js');
|
|
39
39
|
const require_app_process = require('../app-process-DoG6Spkf.js');
|
|
40
40
|
require('../type-checker-DR7RZFs5.js');
|
|
41
|
-
const require_build = require('../build-
|
|
41
|
+
const require_build = require('../build-B-NgO2L-.js');
|
|
42
42
|
const require_utils$1 = require('../utils-DCSnVAZ6.js');
|
|
43
43
|
let fs = require("fs");
|
|
44
44
|
fs = require_chunk.__toESM(fs);
|
|
@@ -14,7 +14,7 @@ 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
16
|
const require_helpers = require('./helpers-BSwwrKJW.js');
|
|
17
|
-
const require_CommandsRouter = require('./CommandsRouter-
|
|
17
|
+
const require_CommandsRouter = require('./CommandsRouter-Dmzw-ikm.js');
|
|
18
18
|
const require_EventsRouter = require('./EventsRouter-3Gygh-km.js');
|
|
19
19
|
const require_common = require('./common-Dxr9-XPa.js');
|
|
20
20
|
const require_CommandKitEventsChannel = require('./CommandKitEventsChannel-BtRzr3Tz.js');
|
|
@@ -4477,4 +4477,4 @@ Object.defineProperty(exports, 'useStore', {
|
|
|
4477
4477
|
return useStore;
|
|
4478
4478
|
}
|
|
4479
4479
|
});
|
|
4480
|
-
//# sourceMappingURL=commandkit-
|
|
4480
|
+
//# sourceMappingURL=commandkit-IgQcMJMi.js.map
|