From 0bffa78a6a6a5ee1d660737036ab3ede65de7474 Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:40:54 +0545
Subject: [PATCH 1/9] feat: dynamic create-commandkit
---
examples/basic-js/.gitignore | 36 +
examples/basic-js/README.md | 16 +
examples/basic-js/commandkit-env.d.ts | 1 +
examples/basic-js/commandkit.config.mjs | 3 +
examples/basic-js/jsconfig.json | 30 +
examples/basic-js/package.json | 21 +
examples/basic-js/src/app.js | 7 +
examples/basic-js/src/app/commands/ping.js | 27 +
.../src/app/events/clientReady/log.js | 10 +
examples/basic-ts/.gitignore | 36 +
examples/basic-ts/README.md | 16 +
examples/basic-ts/commandkit-env.d.ts | 1 +
examples/basic-ts/commandkit.config.ts | 3 +
examples/basic-ts/package.json | 21 +
examples/basic-ts/src/app.ts | 7 +
examples/basic-ts/src/app/commands/ping.ts | 20 +
.../src/app/events/clientReady/log.ts | 8 +
examples/basic-ts/tsconfig.json | 29 +
examples/deno-ts/.gitignore | 36 +
examples/deno-ts/.vscode/settings.json | 3 +
examples/deno-ts/README.md | 36 +
examples/deno-ts/commandkit-env.d.ts | 1 +
examples/deno-ts/commandkit.config.ts | 3 +
examples/deno-ts/deno.json | 21 +
examples/deno-ts/deno.lock | 1320 +++++++++++++
examples/deno-ts/package.json | 21 +
examples/deno-ts/src/app.ts | 7 +
examples/deno-ts/src/app/commands/ping.ts | 20 +
examples/deno-ts/src/app/events/ready/log.ts | 6 +
examples/deno-ts/tsconfig.json | 29 +
examples/without-cli/.gitignore | 36 +
examples/without-cli/.prettierrc | 10 +
examples/without-cli/README.md | 29 +
examples/without-cli/commandkit-env.d.ts | 1 +
examples/without-cli/commandkit.config.mjs | 3 +
examples/without-cli/jsconfig.json | 30 +
examples/without-cli/package.json | 22 +
examples/without-cli/pnpm-lock.yaml | 1726 +++++++++++++++++
examples/without-cli/src/app.js | 7 +
examples/without-cli/src/app/commands/ping.js | 27 +
.../src/app/events/clientReady/log.js | 10 +
examples/without-cli/src/index.js | 21 +
42 files changed, 3717 insertions(+)
create mode 100644 examples/basic-js/.gitignore
create mode 100644 examples/basic-js/README.md
create mode 100644 examples/basic-js/commandkit-env.d.ts
create mode 100644 examples/basic-js/commandkit.config.mjs
create mode 100644 examples/basic-js/jsconfig.json
create mode 100644 examples/basic-js/package.json
create mode 100644 examples/basic-js/src/app.js
create mode 100644 examples/basic-js/src/app/commands/ping.js
create mode 100644 examples/basic-js/src/app/events/clientReady/log.js
create mode 100644 examples/basic-ts/.gitignore
create mode 100644 examples/basic-ts/README.md
create mode 100644 examples/basic-ts/commandkit-env.d.ts
create mode 100644 examples/basic-ts/commandkit.config.ts
create mode 100644 examples/basic-ts/package.json
create mode 100644 examples/basic-ts/src/app.ts
create mode 100644 examples/basic-ts/src/app/commands/ping.ts
create mode 100644 examples/basic-ts/src/app/events/clientReady/log.ts
create mode 100644 examples/basic-ts/tsconfig.json
create mode 100644 examples/deno-ts/.gitignore
create mode 100644 examples/deno-ts/.vscode/settings.json
create mode 100644 examples/deno-ts/README.md
create mode 100644 examples/deno-ts/commandkit-env.d.ts
create mode 100644 examples/deno-ts/commandkit.config.ts
create mode 100644 examples/deno-ts/deno.json
create mode 100644 examples/deno-ts/deno.lock
create mode 100644 examples/deno-ts/package.json
create mode 100644 examples/deno-ts/src/app.ts
create mode 100644 examples/deno-ts/src/app/commands/ping.ts
create mode 100644 examples/deno-ts/src/app/events/ready/log.ts
create mode 100644 examples/deno-ts/tsconfig.json
create mode 100644 examples/without-cli/.gitignore
create mode 100644 examples/without-cli/.prettierrc
create mode 100644 examples/without-cli/README.md
create mode 100644 examples/without-cli/commandkit-env.d.ts
create mode 100644 examples/without-cli/commandkit.config.mjs
create mode 100644 examples/without-cli/jsconfig.json
create mode 100644 examples/without-cli/package.json
create mode 100644 examples/without-cli/pnpm-lock.yaml
create mode 100644 examples/without-cli/src/app.js
create mode 100644 examples/without-cli/src/app/commands/ping.js
create mode 100644 examples/without-cli/src/app/events/clientReady/log.js
create mode 100644 examples/without-cli/src/index.js
diff --git a/examples/basic-js/.gitignore b/examples/basic-js/.gitignore
new file mode 100644
index 00000000..d2a82db7
--- /dev/null
+++ b/examples/basic-js/.gitignore
@@ -0,0 +1,36 @@
+# dependencies
+node_modules
+
+# build output
+build
+out
+dist
+
+# commandkit
+.commandkit
+dist
+compiled-commandkit.config.mjs
+
+# env
+**/*.env*
+!**/*.env.example*
+
+# logging
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# yarn v2+
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# other
+**/*.DS_Store
+.temp-example
\ No newline at end of file
diff --git a/examples/basic-js/README.md b/examples/basic-js/README.md
new file mode 100644
index 00000000..fcff3790
--- /dev/null
+++ b/examples/basic-js/README.md
@@ -0,0 +1,16 @@
+# Welcome to CommandKit + JavaScript
+
+> This project was generated by [create-commandkit](https://npmjs.com/package/create-commandkit).
+
+Thanks for choosing CommandKit to build your Discord bot!
+
+## To run this project
+
+```
+npx commandkit dev
+```
+
+## Useful links
+
+- [Documentation](https://commandkit.dev)
+- [Discord](https://ctrl.lol/discord)
diff --git a/examples/basic-js/commandkit-env.d.ts b/examples/basic-js/commandkit-env.d.ts
new file mode 100644
index 00000000..cc2ba6df
--- /dev/null
+++ b/examples/basic-js/commandkit-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/basic-js/commandkit.config.mjs b/examples/basic-js/commandkit.config.mjs
new file mode 100644
index 00000000..57ae7a44
--- /dev/null
+++ b/examples/basic-js/commandkit.config.mjs
@@ -0,0 +1,3 @@
+import { defineConfig } from 'commandkit/config';
+
+export default defineConfig({});
diff --git a/examples/basic-js/jsconfig.json b/examples/basic-js/jsconfig.json
new file mode 100644
index 00000000..4e77fa74
--- /dev/null
+++ b/examples/basic-js/jsconfig.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "lib": ["ESNext", "DOM"],
+ "target": "ESNext",
+ "moduleResolution": "Node",
+ "module": "Preserve",
+ "allowImportingTsExtensions": true,
+ "esModuleInterop": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "skipDefaultLibCheck": true,
+ "noUncheckedIndexedAccess": true,
+ "removeComments": true,
+ "allowJs": true,
+ "checkJs": false,
+ "strict": true,
+ "alwaysStrict": true,
+ "noEmit": true,
+ "declaration": false,
+ "jsx": "react-jsx",
+ "jsxImportSource": "commandkit",
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": ["src", "commandkit.config.mjs", "commandkit-env.d.ts"],
+ "exclude": ["dist", "node_modules", ".commandkit"]
+}
diff --git a/examples/basic-js/package.json b/examples/basic-js/package.json
new file mode 100644
index 00000000..3595bf4f
--- /dev/null
+++ b/examples/basic-js/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "commandkit-basic-js",
+ "description": "A CommandKit project using JavaScript",
+ "version": "0.1.0",
+ "type": "module",
+ "private": true,
+ "main": "dist/index.js",
+ "scripts": {
+ "dev": "commandkit dev",
+ "build": "commandkit build",
+ "start": "commandkit start"
+ },
+ "devDependencies": {
+ "@types/node": "^24.0.10",
+ "typescript": "^5.8.3"
+ },
+ "dependencies": {
+ "commandkit": "^1.2.0-rc.12",
+ "discord.js": "^14.23.2"
+ }
+}
diff --git a/examples/basic-js/src/app.js b/examples/basic-js/src/app.js
new file mode 100644
index 00000000..ed8d0d48
--- /dev/null
+++ b/examples/basic-js/src/app.js
@@ -0,0 +1,7 @@
+import { Client } from 'discord.js';
+
+const client = new Client({
+ intents: ['Guilds', 'GuildMembers', 'GuildMessages', 'MessageContent'],
+});
+
+export default client;
diff --git a/examples/basic-js/src/app/commands/ping.js b/examples/basic-js/src/app/commands/ping.js
new file mode 100644
index 00000000..201df59d
--- /dev/null
+++ b/examples/basic-js/src/app/commands/ping.js
@@ -0,0 +1,27 @@
+/**
+ * @type {import('commandkit').CommandData}
+ */
+export const command = {
+ name: 'ping',
+ description: "Ping the bot to check if it's online.",
+};
+
+/**
+ * @param {import('commandkit').ChatInputCommandContext} ctx
+ */
+export const chatInput = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.interaction.reply(response);
+};
+
+/**
+ * @param {import('commandkit').MessageCommandContext} ctx
+ */
+export const message = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.message.reply(response);
+};
diff --git a/examples/basic-js/src/app/events/clientReady/log.js b/examples/basic-js/src/app/events/clientReady/log.js
new file mode 100644
index 00000000..abb2fe51
--- /dev/null
+++ b/examples/basic-js/src/app/events/clientReady/log.js
@@ -0,0 +1,10 @@
+import { Logger } from 'commandkit/logger';
+
+/**
+ * @type {import('commandkit').EventHandler<'clientReady'>}
+ */
+const handler = async (client) => {
+ Logger.info(`Logged in as ${client.user.username}!`);
+};
+
+export default handler;
diff --git a/examples/basic-ts/.gitignore b/examples/basic-ts/.gitignore
new file mode 100644
index 00000000..d2a82db7
--- /dev/null
+++ b/examples/basic-ts/.gitignore
@@ -0,0 +1,36 @@
+# dependencies
+node_modules
+
+# build output
+build
+out
+dist
+
+# commandkit
+.commandkit
+dist
+compiled-commandkit.config.mjs
+
+# env
+**/*.env*
+!**/*.env.example*
+
+# logging
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# yarn v2+
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# other
+**/*.DS_Store
+.temp-example
\ No newline at end of file
diff --git a/examples/basic-ts/README.md b/examples/basic-ts/README.md
new file mode 100644
index 00000000..e9f8b4f8
--- /dev/null
+++ b/examples/basic-ts/README.md
@@ -0,0 +1,16 @@
+# Welcome to CommandKit + TypeScript
+
+> This project was generated by [create-commandkit](https://npmjs.com/package/create-commandkit).
+
+Thanks for choosing CommandKit to build your Discord bot!
+
+## To run this project
+
+```
+npx commandkit dev
+```
+
+## Useful links
+
+- [Documentation](https://commandkit.dev)
+- [Discord](https://ctrl.lol/discord)
diff --git a/examples/basic-ts/commandkit-env.d.ts b/examples/basic-ts/commandkit-env.d.ts
new file mode 100644
index 00000000..cc2ba6df
--- /dev/null
+++ b/examples/basic-ts/commandkit-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/basic-ts/commandkit.config.ts b/examples/basic-ts/commandkit.config.ts
new file mode 100644
index 00000000..57ae7a44
--- /dev/null
+++ b/examples/basic-ts/commandkit.config.ts
@@ -0,0 +1,3 @@
+import { defineConfig } from 'commandkit/config';
+
+export default defineConfig({});
diff --git a/examples/basic-ts/package.json b/examples/basic-ts/package.json
new file mode 100644
index 00000000..b2d34003
--- /dev/null
+++ b/examples/basic-ts/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "commandkit-basic-ts",
+ "description": "A CommandKit project using TypeScript",
+ "version": "0.1.0",
+ "type": "module",
+ "private": true,
+ "main": "dist/index.js",
+ "scripts": {
+ "dev": "commandkit dev",
+ "build": "commandkit build",
+ "start": "commandkit start"
+ },
+ "devDependencies": {
+ "@types/node": "^24.0.10",
+ "typescript": "^5.8.3"
+ },
+ "dependencies": {
+ "commandkit": "^1.2.0-rc.12",
+ "discord.js": "^14.23.2"
+ }
+}
diff --git a/examples/basic-ts/src/app.ts b/examples/basic-ts/src/app.ts
new file mode 100644
index 00000000..ed8d0d48
--- /dev/null
+++ b/examples/basic-ts/src/app.ts
@@ -0,0 +1,7 @@
+import { Client } from 'discord.js';
+
+const client = new Client({
+ intents: ['Guilds', 'GuildMembers', 'GuildMessages', 'MessageContent'],
+});
+
+export default client;
diff --git a/examples/basic-ts/src/app/commands/ping.ts b/examples/basic-ts/src/app/commands/ping.ts
new file mode 100644
index 00000000..638398b5
--- /dev/null
+++ b/examples/basic-ts/src/app/commands/ping.ts
@@ -0,0 +1,20 @@
+import type { ChatInputCommand, MessageCommand, CommandData } from 'commandkit';
+
+export const command: CommandData = {
+ name: 'ping',
+ description: "Ping the bot to check if it's online.",
+};
+
+export const chatInput: ChatInputCommand = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.interaction.reply(response);
+};
+
+export const message: MessageCommand = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.message.reply(response);
+};
diff --git a/examples/basic-ts/src/app/events/clientReady/log.ts b/examples/basic-ts/src/app/events/clientReady/log.ts
new file mode 100644
index 00000000..e1ff76c0
--- /dev/null
+++ b/examples/basic-ts/src/app/events/clientReady/log.ts
@@ -0,0 +1,8 @@
+import type { EventHandler } from 'commandkit';
+import { Logger } from 'commandkit/logger';
+
+const handler: EventHandler<'clientReady'> = async (client) => {
+ Logger.info(`Logged in as ${client.user.username}!`);
+};
+
+export default handler;
diff --git a/examples/basic-ts/tsconfig.json b/examples/basic-ts/tsconfig.json
new file mode 100644
index 00000000..2c06b336
--- /dev/null
+++ b/examples/basic-ts/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "lib": ["ESNext", "DOM"],
+ "target": "ESNext",
+ "moduleResolution": "Node",
+ "module": "Preserve",
+ "allowImportingTsExtensions": true,
+ "esModuleInterop": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "skipDefaultLibCheck": true,
+ "noUncheckedIndexedAccess": true,
+ "removeComments": true,
+ "allowJs": true,
+ "strict": true,
+ "alwaysStrict": true,
+ "noEmit": true,
+ "declaration": false,
+ "jsx": "react-jsx",
+ "jsxImportSource": "commandkit",
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": ["src", "commandkit.config.ts", "commandkit-env.d.ts"],
+ "exclude": ["dist", "node_modules", ".commandkit"]
+}
diff --git a/examples/deno-ts/.gitignore b/examples/deno-ts/.gitignore
new file mode 100644
index 00000000..dad27ae6
--- /dev/null
+++ b/examples/deno-ts/.gitignore
@@ -0,0 +1,36 @@
+
+# dependencies
+node_modules
+
+# build output
+build
+out
+dist
+
+# commandkit
+.commandkit
+dist
+compiled-commandkit.config.mjs
+
+# env
+**/*.env*
+!**/*.env.example*
+
+# logging
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# yarn v2+
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# other
+**/*.DS_Store
diff --git a/examples/deno-ts/.vscode/settings.json b/examples/deno-ts/.vscode/settings.json
new file mode 100644
index 00000000..cbac5697
--- /dev/null
+++ b/examples/deno-ts/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "deno.enable": true
+}
diff --git a/examples/deno-ts/README.md b/examples/deno-ts/README.md
new file mode 100644
index 00000000..553339e3
--- /dev/null
+++ b/examples/deno-ts/README.md
@@ -0,0 +1,36 @@
+# Welcome to CommandKit + Deno
+
+> This project was generated by [create-commandkit](https://npmjs.com/package/create-commandkit).
+
+This project is a template for a CommandKit project using Deno.
+
+## To run this project
+
+### dependencies
+
+```sh
+deno install
+```
+
+### run the dev server
+
+```sh
+deno task dev
+```
+
+### build the project
+
+```sh
+deno task build
+```
+
+### run the project (production)
+
+```sh
+deno task start
+```
+
+## Useful links
+
+- [Documentation](https://commandkit.dev)
+- [Discord](https://ctrl.lol/discord)
diff --git a/examples/deno-ts/commandkit-env.d.ts b/examples/deno-ts/commandkit-env.d.ts
new file mode 100644
index 00000000..cc2ba6df
--- /dev/null
+++ b/examples/deno-ts/commandkit-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/deno-ts/commandkit.config.ts b/examples/deno-ts/commandkit.config.ts
new file mode 100644
index 00000000..57ae7a44
--- /dev/null
+++ b/examples/deno-ts/commandkit.config.ts
@@ -0,0 +1,3 @@
+import { defineConfig } from 'commandkit/config';
+
+export default defineConfig({});
diff --git a/examples/deno-ts/deno.json b/examples/deno-ts/deno.json
new file mode 100644
index 00000000..1dfe5b70
--- /dev/null
+++ b/examples/deno-ts/deno.json
@@ -0,0 +1,21 @@
+{
+ "compilerOptions": {
+ "jsx": "react-jsx",
+ "jsxImportSource": "commandkit"
+ },
+ "nodeModulesDir": "auto",
+ "lock": true,
+ "lint": {
+ "include": ["src/"],
+ "exclude": ["node_modules/", "dist/", ".commandkit/"]
+ },
+ "fmt": {
+ "useTabs": false,
+ "lineWidth": 120,
+ "indentWidth": 2,
+ "semiColons": true,
+ "singleQuote": true,
+ "include": ["src/"],
+ "exclude": ["node_modules/", "dist/", ".commandkit/"]
+ }
+}
diff --git a/examples/deno-ts/deno.lock b/examples/deno-ts/deno.lock
new file mode 100644
index 00000000..00b46862
--- /dev/null
+++ b/examples/deno-ts/deno.lock
@@ -0,0 +1,1320 @@
+{
+ "version": "5",
+ "specifiers": {
+ "npm:@types/node@^24.0.10": "24.0.10",
+ "npm:commandkit@1.0.0-dev.20250702022547": "1.0.0-dev.20250702022547_discord.js@14.21.0_typescript@5.8.3",
+ "npm:discord.js@^14.21.0": "14.21.0",
+ "npm:typescript@^5.8.3": "5.8.3"
+ },
+ "npm": {
+ "@ampproject/remapping@2.3.0": {
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dependencies": [
+ "@jridgewell/gen-mapping",
+ "@jridgewell/trace-mapping"
+ ]
+ },
+ "@babel/code-frame@7.27.1": {
+ "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+ "dependencies": [
+ "@babel/helper-validator-identifier",
+ "js-tokens",
+ "picocolors"
+ ]
+ },
+ "@babel/compat-data@7.27.7": {
+ "integrity": "sha512-xgu/ySj2mTiUFmdE9yCMfBxLp4DHd5DwmbbD05YAuICfodYT3VvRxbrh81LGQ/8UpSdtMdfKMn3KouYDX59DGQ=="
+ },
+ "@babel/core@7.27.7": {
+ "integrity": "sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==",
+ "dependencies": [
+ "@ampproject/remapping",
+ "@babel/code-frame",
+ "@babel/generator",
+ "@babel/helper-compilation-targets",
+ "@babel/helper-module-transforms",
+ "@babel/helpers",
+ "@babel/parser",
+ "@babel/template",
+ "@babel/traverse",
+ "@babel/types",
+ "convert-source-map",
+ "debug",
+ "gensync",
+ "json5",
+ "semver@6.3.1"
+ ]
+ },
+ "@babel/generator@7.27.5": {
+ "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
+ "dependencies": [
+ "@babel/parser",
+ "@babel/types",
+ "@jridgewell/gen-mapping",
+ "@jridgewell/trace-mapping",
+ "jsesc"
+ ]
+ },
+ "@babel/helper-annotate-as-pure@7.27.3": {
+ "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
+ "dependencies": [
+ "@babel/types"
+ ]
+ },
+ "@babel/helper-compilation-targets@7.27.2": {
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+ "dependencies": [
+ "@babel/compat-data",
+ "@babel/helper-validator-option",
+ "browserslist",
+ "lru-cache@5.1.1",
+ "semver@6.3.1"
+ ]
+ },
+ "@babel/helper-create-class-features-plugin@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-annotate-as-pure",
+ "@babel/helper-member-expression-to-functions",
+ "@babel/helper-optimise-call-expression",
+ "@babel/helper-replace-supers",
+ "@babel/helper-skip-transparent-expression-wrappers",
+ "@babel/traverse",
+ "semver@6.3.1"
+ ]
+ },
+ "@babel/helper-member-expression-to-functions@7.27.1": {
+ "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
+ "dependencies": [
+ "@babel/traverse",
+ "@babel/types"
+ ]
+ },
+ "@babel/helper-module-imports@7.27.1": {
+ "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+ "dependencies": [
+ "@babel/traverse",
+ "@babel/types"
+ ]
+ },
+ "@babel/helper-module-transforms@7.27.3_@babel+core@7.27.7": {
+ "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-module-imports",
+ "@babel/helper-validator-identifier",
+ "@babel/traverse"
+ ]
+ },
+ "@babel/helper-optimise-call-expression@7.27.1": {
+ "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
+ "dependencies": [
+ "@babel/types"
+ ]
+ },
+ "@babel/helper-plugin-utils@7.27.1": {
+ "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="
+ },
+ "@babel/helper-replace-supers@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-member-expression-to-functions",
+ "@babel/helper-optimise-call-expression",
+ "@babel/traverse"
+ ]
+ },
+ "@babel/helper-skip-transparent-expression-wrappers@7.27.1": {
+ "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
+ "dependencies": [
+ "@babel/traverse",
+ "@babel/types"
+ ]
+ },
+ "@babel/helper-string-parser@7.27.1": {
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="
+ },
+ "@babel/helper-validator-identifier@7.27.1": {
+ "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="
+ },
+ "@babel/helper-validator-option@7.27.1": {
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="
+ },
+ "@babel/helpers@7.27.6": {
+ "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
+ "dependencies": [
+ "@babel/template",
+ "@babel/types"
+ ]
+ },
+ "@babel/parser@7.27.7": {
+ "integrity": "sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==",
+ "dependencies": [
+ "@babel/types"
+ ],
+ "bin": true
+ },
+ "@babel/plugin-syntax-jsx@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-plugin-utils"
+ ]
+ },
+ "@babel/plugin-syntax-typescript@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-plugin-utils"
+ ]
+ },
+ "@babel/plugin-transform-modules-commonjs@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-module-transforms",
+ "@babel/helper-plugin-utils"
+ ]
+ },
+ "@babel/plugin-transform-typescript@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-annotate-as-pure",
+ "@babel/helper-create-class-features-plugin",
+ "@babel/helper-plugin-utils",
+ "@babel/helper-skip-transparent-expression-wrappers",
+ "@babel/plugin-syntax-typescript"
+ ]
+ },
+ "@babel/preset-typescript@7.27.1_@babel+core@7.27.7": {
+ "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/helper-plugin-utils",
+ "@babel/helper-validator-option",
+ "@babel/plugin-syntax-jsx",
+ "@babel/plugin-transform-modules-commonjs",
+ "@babel/plugin-transform-typescript"
+ ]
+ },
+ "@babel/template@7.27.2": {
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "dependencies": [
+ "@babel/code-frame",
+ "@babel/parser",
+ "@babel/types"
+ ]
+ },
+ "@babel/traverse@7.27.7": {
+ "integrity": "sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==",
+ "dependencies": [
+ "@babel/code-frame",
+ "@babel/generator",
+ "@babel/parser",
+ "@babel/template",
+ "@babel/types",
+ "debug",
+ "globals"
+ ]
+ },
+ "@babel/types@7.27.7": {
+ "integrity": "sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==",
+ "dependencies": [
+ "@babel/helper-string-parser",
+ "@babel/helper-validator-identifier"
+ ]
+ },
+ "@discordjs/builders@1.11.2": {
+ "integrity": "sha512-F1WTABdd8/R9D1icJzajC4IuLyyS8f3rTOz66JsSI3pKvpCAtsMBweu8cyNYsIyvcrKAVn9EPK+Psoymq+XC0A==",
+ "dependencies": [
+ "@discordjs/formatters",
+ "@discordjs/util",
+ "@sapphire/shapeshift",
+ "discord-api-types",
+ "fast-deep-equal",
+ "ts-mixer",
+ "tslib"
+ ]
+ },
+ "@discordjs/collection@1.5.3": {
+ "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ=="
+ },
+ "@discordjs/collection@2.1.1": {
+ "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="
+ },
+ "@discordjs/formatters@0.6.1": {
+ "integrity": "sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==",
+ "dependencies": [
+ "discord-api-types"
+ ]
+ },
+ "@discordjs/rest@2.5.1": {
+ "integrity": "sha512-Tg9840IneBcbrAjcGaQzHUJWFNq1MMWZjTdjJ0WS/89IffaNKc++iOvffucPxQTF/gviO9+9r8kEPea1X5J2Dw==",
+ "dependencies": [
+ "@discordjs/collection@2.1.1",
+ "@discordjs/util",
+ "@sapphire/async-queue",
+ "@sapphire/snowflake",
+ "@vladfrangu/async_event_emitter",
+ "discord-api-types",
+ "magic-bytes.js",
+ "tslib",
+ "undici"
+ ]
+ },
+ "@discordjs/util@1.1.1": {
+ "integrity": "sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g=="
+ },
+ "@discordjs/ws@1.2.3": {
+ "integrity": "sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==",
+ "dependencies": [
+ "@discordjs/collection@2.1.1",
+ "@discordjs/rest",
+ "@discordjs/util",
+ "@sapphire/async-queue",
+ "@types/ws",
+ "@vladfrangu/async_event_emitter",
+ "discord-api-types",
+ "tslib",
+ "ws"
+ ]
+ },
+ "@emnapi/core@1.4.3": {
+ "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==",
+ "dependencies": [
+ "@emnapi/wasi-threads",
+ "tslib"
+ ]
+ },
+ "@emnapi/runtime@1.4.3": {
+ "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
+ "dependencies": [
+ "tslib"
+ ]
+ },
+ "@emnapi/wasi-threads@1.0.2": {
+ "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==",
+ "dependencies": [
+ "tslib"
+ ]
+ },
+ "@esbuild/aix-ppc64@0.21.5": {
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "os": ["aix"],
+ "cpu": ["ppc64"]
+ },
+ "@esbuild/android-arm64@0.21.5": {
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "os": ["android"],
+ "cpu": ["arm64"]
+ },
+ "@esbuild/android-arm@0.21.5": {
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "os": ["android"],
+ "cpu": ["arm"]
+ },
+ "@esbuild/android-x64@0.21.5": {
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "os": ["android"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/darwin-arm64@0.21.5": {
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "os": ["darwin"],
+ "cpu": ["arm64"]
+ },
+ "@esbuild/darwin-x64@0.21.5": {
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "os": ["darwin"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/freebsd-arm64@0.21.5": {
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "os": ["freebsd"],
+ "cpu": ["arm64"]
+ },
+ "@esbuild/freebsd-x64@0.21.5": {
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "os": ["freebsd"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/linux-arm64@0.21.5": {
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "os": ["linux"],
+ "cpu": ["arm64"]
+ },
+ "@esbuild/linux-arm@0.21.5": {
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "os": ["linux"],
+ "cpu": ["arm"]
+ },
+ "@esbuild/linux-ia32@0.21.5": {
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "os": ["linux"],
+ "cpu": ["ia32"]
+ },
+ "@esbuild/linux-loong64@0.21.5": {
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "os": ["linux"],
+ "cpu": ["loong64"]
+ },
+ "@esbuild/linux-mips64el@0.21.5": {
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "os": ["linux"],
+ "cpu": ["mips64el"]
+ },
+ "@esbuild/linux-ppc64@0.21.5": {
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "os": ["linux"],
+ "cpu": ["ppc64"]
+ },
+ "@esbuild/linux-riscv64@0.21.5": {
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "os": ["linux"],
+ "cpu": ["riscv64"]
+ },
+ "@esbuild/linux-s390x@0.21.5": {
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "os": ["linux"],
+ "cpu": ["s390x"]
+ },
+ "@esbuild/linux-x64@0.21.5": {
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "os": ["linux"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/netbsd-x64@0.21.5": {
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "os": ["netbsd"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/openbsd-x64@0.21.5": {
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "os": ["openbsd"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/sunos-x64@0.21.5": {
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "os": ["sunos"],
+ "cpu": ["x64"]
+ },
+ "@esbuild/win32-arm64@0.21.5": {
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "os": ["win32"],
+ "cpu": ["arm64"]
+ },
+ "@esbuild/win32-ia32@0.21.5": {
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "os": ["win32"],
+ "cpu": ["ia32"]
+ },
+ "@esbuild/win32-x64@0.21.5": {
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "os": ["win32"],
+ "cpu": ["x64"]
+ },
+ "@isaacs/balanced-match@4.0.1": {
+ "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="
+ },
+ "@isaacs/brace-expansion@5.0.0": {
+ "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
+ "dependencies": [
+ "@isaacs/balanced-match"
+ ]
+ },
+ "@isaacs/cliui@8.0.2": {
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dependencies": [
+ "string-width@5.1.2",
+ "string-width-cjs@npm:string-width@4.2.3",
+ "strip-ansi@7.1.0",
+ "strip-ansi-cjs@npm:strip-ansi@6.0.1",
+ "wrap-ansi@8.1.0",
+ "wrap-ansi-cjs@npm:wrap-ansi@7.0.0"
+ ]
+ },
+ "@jridgewell/gen-mapping@0.3.12": {
+ "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
+ "dependencies": [
+ "@jridgewell/sourcemap-codec",
+ "@jridgewell/trace-mapping"
+ ]
+ },
+ "@jridgewell/resolve-uri@3.1.2": {
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
+ },
+ "@jridgewell/sourcemap-codec@1.5.4": {
+ "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw=="
+ },
+ "@jridgewell/trace-mapping@0.3.29": {
+ "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
+ "dependencies": [
+ "@jridgewell/resolve-uri",
+ "@jridgewell/sourcemap-codec"
+ ]
+ },
+ "@napi-rs/wasm-runtime@0.2.11": {
+ "integrity": "sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==",
+ "dependencies": [
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util"
+ ]
+ },
+ "@oxc-project/runtime@0.75.0": {
+ "integrity": "sha512-gzRmVI/vorsPmbDXt7GD4Uh2lD3rCOku/1xWPB4Yx48k0EP4TZmzQudWapjN4+7Vv+rgXr0RqCHQadeaMvdBuw=="
+ },
+ "@oxc-project/types@0.75.0": {
+ "integrity": "sha512-QMW+06WOXs7+F301Y3X0VpmWhwuQVc/X/RP2zF9OIwvSMmsif3xURS2wxbakFIABYsytgBcHpUcFepVS0Qnd3A=="
+ },
+ "@pkgjs/parseargs@0.11.0": {
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="
+ },
+ "@quansync/fs@0.1.3": {
+ "integrity": "sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==",
+ "dependencies": [
+ "quansync"
+ ]
+ },
+ "@rolldown/binding-darwin-arm64@1.0.0-beta.23": {
+ "integrity": "sha512-rppgXFU4+dNDPQvPsfovUuYfDgMoATDomKGjIRR5bIU98BYkQF1fm+87trApilfWSosLQP9JsXOoUJO/EMrspQ==",
+ "os": ["darwin"],
+ "cpu": ["arm64"]
+ },
+ "@rolldown/binding-darwin-x64@1.0.0-beta.23": {
+ "integrity": "sha512-aFo1v7GKysuwSAfsyNcBb9mj3M+wxMCu3N+DcTD5eAaz3mFex6l+2b/vLGaTWNrCMoWhRxV8rTaI1eFoMVdSuQ==",
+ "os": ["darwin"],
+ "cpu": ["x64"]
+ },
+ "@rolldown/binding-freebsd-x64@1.0.0-beta.23": {
+ "integrity": "sha512-/NzbXIFIR5KR+fZ351K1qONekakXpiPhUX55ydP6ok8iKdG7bTbgs6dlMg7Ow0E2DKlQoTbZbPTUY3kTzmNrsQ==",
+ "os": ["freebsd"],
+ "cpu": ["x64"]
+ },
+ "@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.23": {
+ "integrity": "sha512-vPnCHxjyR4ZVj9x6sLJMCAdBY99RPe6Mnwxb5BSaE6ccHzvy015xtsIEG7H9E9pVj3yfI/om77jrP+YA5IqL3w==",
+ "os": ["linux"],
+ "cpu": ["arm"]
+ },
+ "@rolldown/binding-linux-arm64-gnu@1.0.0-beta.23": {
+ "integrity": "sha512-PFBBnj9JqLOL8gjZtoVGfOXe0PSpnPUXE+JuMcWz568K/p4Zzk7lDDHl7guD95wVtV89TmfaRwK2PWd9vKxHtg==",
+ "os": ["linux"],
+ "cpu": ["arm64"]
+ },
+ "@rolldown/binding-linux-arm64-musl@1.0.0-beta.23": {
+ "integrity": "sha512-KyQRLofVP78yUCXT90YmEzxK6I9VCBeOTSyOrs40Qx0Q0XwaGVwxo7sKj2SmnqxribdcouBA3CfNZC4ZNcyEnQ==",
+ "os": ["linux"],
+ "cpu": ["arm64"]
+ },
+ "@rolldown/binding-linux-x64-gnu@1.0.0-beta.23": {
+ "integrity": "sha512-EubfEsJyjQbKK9j3Ez1hhbIOsttABb07Z7PhMRcVYW0wrVr8SfKLew9pULIMfcSNnoz8QqzoI4lOSmezJ9bYWw==",
+ "os": ["linux"],
+ "cpu": ["x64"]
+ },
+ "@rolldown/binding-linux-x64-musl@1.0.0-beta.23": {
+ "integrity": "sha512-MUAthvl3I/+hySltZuj5ClKiq8fAMqExeBnxadLFShwWCbdHKFd+aRjBxxzarPcnqbDlTaOCUaAaYmQTOTOHSg==",
+ "os": ["linux"],
+ "cpu": ["x64"]
+ },
+ "@rolldown/binding-wasm32-wasi@1.0.0-beta.23": {
+ "integrity": "sha512-YI7QMQU01QFVNTEaQt3ysrq+wGBwLdFVFEGO64CoZ3gTsr/HulU8gvgR+67coQOlQC9iO/Hm1bvkBtceLxKrnA==",
+ "dependencies": [
+ "@napi-rs/wasm-runtime"
+ ],
+ "cpu": ["wasm32"]
+ },
+ "@rolldown/binding-win32-arm64-msvc@1.0.0-beta.23": {
+ "integrity": "sha512-JdHx6Hli53etB/QsZL1tjpf4qa87kNcwPdx4iVicP/kL7po6k5bHoS5/l/nRRccwPh7BlPlB2uoEuTwJygJosQ==",
+ "os": ["win32"],
+ "cpu": ["arm64"]
+ },
+ "@rolldown/binding-win32-ia32-msvc@1.0.0-beta.23": {
+ "integrity": "sha512-rMZ0QBmcDND97+5unXxquKvSudV8tz6S7tBY3gOYlqMFEDIRX0BAgxaqQBQbq34ZxB9bXwGdjuau3LZHGreB6g==",
+ "os": ["win32"],
+ "cpu": ["ia32"]
+ },
+ "@rolldown/binding-win32-x64-msvc@1.0.0-beta.23": {
+ "integrity": "sha512-0PqE7vGIpA+XT+qxAYJQKTrB5zz8vJiuCOInfY/ks/QOs6ZZ9Os8bdNkcpCy4rYo+GMZn0Q8CwyPu4uexWB1aA==",
+ "os": ["win32"],
+ "cpu": ["x64"]
+ },
+ "@rolldown/pluginutils@1.0.0-beta.23": {
+ "integrity": "sha512-lLCP4LUecUGBLq8EfkbY2esGYyvZj5ee+WZG12+mVnQH48b46SVbwp+0vJkD+6Pnsc+u9SWarBV9sQ5mVwmb5g=="
+ },
+ "@rollup/plugin-json@6.1.0": {
+ "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==",
+ "dependencies": [
+ "@rollup/pluginutils"
+ ]
+ },
+ "@rollup/pluginutils@5.2.0": {
+ "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
+ "dependencies": [
+ "@types/estree",
+ "estree-walker",
+ "picomatch"
+ ]
+ },
+ "@rollup/rollup-android-arm-eabi@4.18.0": {
+ "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
+ "os": ["android"],
+ "cpu": ["arm"]
+ },
+ "@rollup/rollup-android-arm64@4.18.0": {
+ "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
+ "os": ["android"],
+ "cpu": ["arm64"]
+ },
+ "@rollup/rollup-darwin-arm64@4.18.0": {
+ "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
+ "os": ["darwin"],
+ "cpu": ["arm64"]
+ },
+ "@rollup/rollup-darwin-x64@4.18.0": {
+ "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
+ "os": ["darwin"],
+ "cpu": ["x64"]
+ },
+ "@rollup/rollup-linux-arm-gnueabihf@4.18.0": {
+ "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
+ "os": ["linux"],
+ "cpu": ["arm"]
+ },
+ "@rollup/rollup-linux-arm-musleabihf@4.18.0": {
+ "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
+ "os": ["linux"],
+ "cpu": ["arm"]
+ },
+ "@rollup/rollup-linux-arm64-gnu@4.18.0": {
+ "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
+ "os": ["linux"],
+ "cpu": ["arm64"]
+ },
+ "@rollup/rollup-linux-arm64-musl@4.18.0": {
+ "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
+ "os": ["linux"],
+ "cpu": ["arm64"]
+ },
+ "@rollup/rollup-linux-powerpc64le-gnu@4.18.0": {
+ "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
+ "os": ["linux"],
+ "cpu": ["ppc64"]
+ },
+ "@rollup/rollup-linux-riscv64-gnu@4.18.0": {
+ "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
+ "os": ["linux"],
+ "cpu": ["riscv64"]
+ },
+ "@rollup/rollup-linux-s390x-gnu@4.18.0": {
+ "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
+ "os": ["linux"],
+ "cpu": ["s390x"]
+ },
+ "@rollup/rollup-linux-x64-gnu@4.18.0": {
+ "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
+ "os": ["linux"],
+ "cpu": ["x64"]
+ },
+ "@rollup/rollup-linux-x64-musl@4.18.0": {
+ "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
+ "os": ["linux"],
+ "cpu": ["x64"]
+ },
+ "@rollup/rollup-win32-arm64-msvc@4.18.0": {
+ "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
+ "os": ["win32"],
+ "cpu": ["arm64"]
+ },
+ "@rollup/rollup-win32-ia32-msvc@4.18.0": {
+ "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
+ "os": ["win32"],
+ "cpu": ["ia32"]
+ },
+ "@rollup/rollup-win32-x64-msvc@4.18.0": {
+ "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
+ "os": ["win32"],
+ "cpu": ["x64"]
+ },
+ "@sapphire/async-queue@1.5.5": {
+ "integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg=="
+ },
+ "@sapphire/shapeshift@4.0.0": {
+ "integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==",
+ "dependencies": [
+ "fast-deep-equal",
+ "lodash"
+ ]
+ },
+ "@sapphire/snowflake@3.5.3": {
+ "integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ=="
+ },
+ "@tybys/wasm-util@0.9.0": {
+ "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
+ "dependencies": [
+ "tslib"
+ ]
+ },
+ "@types/babel__core@7.20.5": {
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dependencies": [
+ "@babel/parser",
+ "@babel/types",
+ "@types/babel__generator",
+ "@types/babel__template",
+ "@types/babel__traverse"
+ ]
+ },
+ "@types/babel__generator@7.27.0": {
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+ "dependencies": [
+ "@babel/types"
+ ]
+ },
+ "@types/babel__template@7.4.4": {
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dependencies": [
+ "@babel/parser",
+ "@babel/types"
+ ]
+ },
+ "@types/babel__traverse@7.20.7": {
+ "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
+ "dependencies": [
+ "@babel/types"
+ ]
+ },
+ "@types/estree@1.0.8": {
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="
+ },
+ "@types/node@22.15.15": {
+ "integrity": "sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==",
+ "dependencies": [
+ "undici-types@6.21.0"
+ ]
+ },
+ "@types/node@24.0.10": {
+ "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==",
+ "dependencies": [
+ "undici-types@7.8.0"
+ ]
+ },
+ "@types/ws@8.5.10": {
+ "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==",
+ "dependencies": [
+ "@types/node@22.15.15"
+ ]
+ },
+ "@vladfrangu/async_event_emitter@2.4.6": {
+ "integrity": "sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA=="
+ },
+ "ansi-regex@5.0.1": {
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "ansi-regex@6.1.0": {
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="
+ },
+ "ansi-styles@4.3.0": {
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": [
+ "color-convert"
+ ]
+ },
+ "ansi-styles@6.2.1": {
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="
+ },
+ "ansis@4.1.0": {
+ "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w=="
+ },
+ "ast-kit@2.1.1": {
+ "integrity": "sha512-mfh6a7gKXE8pDlxTvqIc/syH/P3RkzbOF6LeHdcKztLEzYe6IMsRCL7N8vI7hqTGWNxpkCuuRTpT21xNWqhRtQ==",
+ "dependencies": [
+ "@babel/parser",
+ "pathe"
+ ]
+ },
+ "birpc@2.4.0": {
+ "integrity": "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg=="
+ },
+ "browserslist@4.25.1": {
+ "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
+ "dependencies": [
+ "caniuse-lite",
+ "electron-to-chromium",
+ "node-releases",
+ "update-browserslist-db"
+ ],
+ "bin": true
+ },
+ "cac@6.7.14": {
+ "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="
+ },
+ "caniuse-lite@1.0.30001726": {
+ "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw=="
+ },
+ "chalk@5.4.1": {
+ "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="
+ },
+ "chokidar@4.0.3": {
+ "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+ "dependencies": [
+ "readdirp"
+ ]
+ },
+ "cli-cursor@5.0.0": {
+ "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
+ "dependencies": [
+ "restore-cursor"
+ ]
+ },
+ "cli-spinners@2.9.2": {
+ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="
+ },
+ "color-convert@2.0.1": {
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": [
+ "color-name"
+ ]
+ },
+ "color-name@1.1.4": {
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "commander@13.1.0": {
+ "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="
+ },
+ "commandkit@1.0.0-dev.20250702022547_discord.js@14.21.0_typescript@5.8.3": {
+ "integrity": "sha512-+IxaSktstFWZo2gXTbxbLqNPSOzchJBYTJVy6nUIihzYtgYSuYT62/bbtgbAi08fo8uY5AD7qou2qzCQujEleg==",
+ "dependencies": [
+ "@rollup/plugin-json",
+ "chokidar",
+ "commander",
+ "directive-to-hof",
+ "discord.js",
+ "dotenv",
+ "ms",
+ "ora",
+ "picocolors",
+ "rfdc",
+ "rimraf",
+ "tsdown",
+ "use-macro"
+ ],
+ "bin": true
+ },
+ "convert-source-map@2.0.0": {
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
+ },
+ "cross-spawn@7.0.6": {
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dependencies": [
+ "path-key",
+ "shebang-command",
+ "which"
+ ]
+ },
+ "debug@4.4.1": {
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
+ "dependencies": [
+ "ms"
+ ]
+ },
+ "defu@6.1.4": {
+ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="
+ },
+ "devalue@5.1.1": {
+ "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="
+ },
+ "diff@8.0.2": {
+ "integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="
+ },
+ "directive-to-hof@0.0.2_@babel+core@7.27.7": {
+ "integrity": "sha512-LXSafC5HhiYxMxAUMgq8TvbgL9TjGwkN5yqndVluDa5DbuuCouSuwGqpwHJadTxm+KZmwBmxJKsGVdOk1NT2uw==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/generator",
+ "@babel/parser",
+ "@babel/preset-typescript",
+ "@babel/traverse",
+ "@babel/types",
+ "@types/babel__core"
+ ]
+ },
+ "discord-api-types@0.38.14": {
+ "integrity": "sha512-5qknrPxvIzAiX2tDb7dB55A4ydb/nCKxhlO48RrMNeyEGsBgk/88qIAsUm7K7nDnNkkOgJYt/wufybEPYWRMJQ=="
+ },
+ "discord.js@14.21.0": {
+ "integrity": "sha512-U5w41cEmcnSfwKYlLv5RJjB8Joa+QJyRwIJz5i/eg+v2Qvv6EYpCRhN9I2Rlf0900LuqSDg8edakUATrDZQncQ==",
+ "dependencies": [
+ "@discordjs/builders",
+ "@discordjs/collection@1.5.3",
+ "@discordjs/formatters",
+ "@discordjs/rest",
+ "@discordjs/util",
+ "@discordjs/ws",
+ "@sapphire/snowflake",
+ "discord-api-types",
+ "fast-deep-equal",
+ "lodash.snakecase",
+ "magic-bytes.js",
+ "tslib",
+ "undici"
+ ]
+ },
+ "dotenv@16.6.1": {
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="
+ },
+ "dts-resolver@2.1.1": {
+ "integrity": "sha512-3BiGFhB6mj5Kv+W2vdJseQUYW+SKVzAFJL6YNP6ursbrwy1fXHRotfHi3xLNxe4wZl/K8qbAFeCDjZLjzqxxRw=="
+ },
+ "eastasianwidth@0.2.0": {
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
+ },
+ "electron-to-chromium@1.5.178": {
+ "integrity": "sha512-wObbz/ar3Bc6e4X5vf0iO8xTN8YAjN/tgiAOJLr7yjYFtP9wAjq8Mb5h0yn6kResir+VYx2DXBj9NNobs0ETSA=="
+ },
+ "emoji-regex@10.4.0": {
+ "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="
+ },
+ "emoji-regex@8.0.0": {
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "emoji-regex@9.2.2": {
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+ },
+ "empathic@2.0.0": {
+ "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="
+ },
+ "escalade@3.2.0": {
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="
+ },
+ "estree-walker@2.0.2": {
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "fast-deep-equal@3.1.3": {
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "fdir@6.4.6_picomatch@4.0.2": {
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
+ "dependencies": [
+ "picomatch"
+ ],
+ "optionalPeers": [
+ "picomatch"
+ ]
+ },
+ "foreground-child@3.3.1": {
+ "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+ "dependencies": [
+ "cross-spawn",
+ "signal-exit"
+ ]
+ },
+ "fsevents@2.3.3": {
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "os": ["darwin"],
+ "scripts": true
+ },
+ "gensync@1.0.0-beta.2": {
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
+ },
+ "get-east-asian-width@1.3.0": {
+ "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="
+ },
+ "get-tsconfig@4.10.1": {
+ "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
+ "dependencies": [
+ "resolve-pkg-maps"
+ ]
+ },
+ "glob@11.0.3": {
+ "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==",
+ "dependencies": [
+ "foreground-child",
+ "jackspeak",
+ "minimatch",
+ "minipass",
+ "package-json-from-dist",
+ "path-scurry"
+ ],
+ "bin": true
+ },
+ "globals@11.12.0": {
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+ },
+ "hookable@5.5.3": {
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
+ },
+ "is-fullwidth-code-point@3.0.0": {
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ },
+ "is-interactive@2.0.0": {
+ "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="
+ },
+ "is-unicode-supported@1.3.0": {
+ "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="
+ },
+ "is-unicode-supported@2.1.0": {
+ "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="
+ },
+ "isexe@2.0.0": {
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ },
+ "jackspeak@4.1.1": {
+ "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
+ "dependencies": [
+ "@isaacs/cliui"
+ ]
+ },
+ "jiti@2.4.2": {
+ "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
+ "bin": true
+ },
+ "js-tokens@4.0.0": {
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "jsesc@3.1.0": {
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "bin": true
+ },
+ "json5@2.2.3": {
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "bin": true
+ },
+ "lodash.snakecase@4.1.1": {
+ "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
+ },
+ "lodash@4.17.21": {
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "log-symbols@6.0.0": {
+ "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==",
+ "dependencies": [
+ "chalk",
+ "is-unicode-supported@1.3.0"
+ ]
+ },
+ "lru-cache@11.1.0": {
+ "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A=="
+ },
+ "lru-cache@5.1.1": {
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dependencies": [
+ "yallist"
+ ]
+ },
+ "magic-bytes.js@1.12.1": {
+ "integrity": "sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA=="
+ },
+ "mimic-function@5.0.1": {
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="
+ },
+ "minimatch@10.0.3": {
+ "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
+ "dependencies": [
+ "@isaacs/brace-expansion"
+ ]
+ },
+ "minipass@7.1.2": {
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="
+ },
+ "ms@2.1.3": {
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node-releases@2.0.19": {
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
+ },
+ "onetime@7.0.0": {
+ "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
+ "dependencies": [
+ "mimic-function"
+ ]
+ },
+ "ora@8.2.0": {
+ "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==",
+ "dependencies": [
+ "chalk",
+ "cli-cursor",
+ "cli-spinners",
+ "is-interactive",
+ "is-unicode-supported@2.1.0",
+ "log-symbols",
+ "stdin-discarder",
+ "string-width@7.2.0",
+ "strip-ansi@7.1.0"
+ ]
+ },
+ "package-json-from-dist@1.0.1": {
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="
+ },
+ "path-key@3.1.1": {
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+ },
+ "path-scurry@2.0.0": {
+ "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+ "dependencies": [
+ "lru-cache@11.1.0",
+ "minipass"
+ ]
+ },
+ "pathe@2.0.3": {
+ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="
+ },
+ "picocolors@1.1.1": {
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
+ },
+ "picomatch@4.0.2": {
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="
+ },
+ "quansync@0.2.10": {
+ "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="
+ },
+ "readdirp@4.1.2": {
+ "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="
+ },
+ "resolve-pkg-maps@1.0.0": {
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="
+ },
+ "restore-cursor@5.1.0": {
+ "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
+ "dependencies": [
+ "onetime",
+ "signal-exit"
+ ]
+ },
+ "rfdc@1.4.1": {
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
+ },
+ "rimraf@6.0.1": {
+ "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
+ "dependencies": [
+ "glob",
+ "package-json-from-dist"
+ ],
+ "bin": true
+ },
+ "rolldown-plugin-dts@0.13.13_rolldown@1.0.0-beta.23_typescript@5.8.3": {
+ "integrity": "sha512-Nchx9nQoa4IpfQ/BJzodKMvtJ3H3dT322siAJSp3uvQJ+Pi1qgEjOp7hSQwGSQRhaC5gC+9hparbWEH5oiAL9Q==",
+ "dependencies": [
+ "@babel/generator",
+ "@babel/parser",
+ "@babel/types",
+ "ast-kit",
+ "birpc",
+ "debug",
+ "dts-resolver",
+ "get-tsconfig",
+ "rolldown",
+ "typescript"
+ ],
+ "optionalPeers": [
+ "typescript"
+ ]
+ },
+ "rolldown@1.0.0-beta.23": {
+ "integrity": "sha512-+/TR2YSZxLTtDAfG9LHlYqsHO6jtvr9qxaRD77E+PCAQi5X47bJkgiZsjDmE1jGR19NfYegWToOvSe6E+8NfwA==",
+ "dependencies": [
+ "@oxc-project/runtime",
+ "@oxc-project/types",
+ "@rolldown/pluginutils",
+ "ansis"
+ ],
+ "optionalDependencies": [
+ "@rolldown/binding-darwin-arm64",
+ "@rolldown/binding-darwin-x64",
+ "@rolldown/binding-freebsd-x64",
+ "@rolldown/binding-linux-arm-gnueabihf",
+ "@rolldown/binding-linux-arm64-gnu",
+ "@rolldown/binding-linux-arm64-musl",
+ "@rolldown/binding-linux-x64-gnu",
+ "@rolldown/binding-linux-x64-musl",
+ "@rolldown/binding-wasm32-wasi",
+ "@rolldown/binding-win32-arm64-msvc",
+ "@rolldown/binding-win32-ia32-msvc",
+ "@rolldown/binding-win32-x64-msvc"
+ ],
+ "bin": true
+ },
+ "semver@6.3.1": {
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "bin": true
+ },
+ "semver@7.7.2": {
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "bin": true
+ },
+ "shebang-command@2.0.0": {
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dependencies": [
+ "shebang-regex"
+ ]
+ },
+ "shebang-regex@3.0.0": {
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+ },
+ "signal-exit@4.1.0": {
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="
+ },
+ "stdin-discarder@0.2.2": {
+ "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="
+ },
+ "string-width@4.2.3": {
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": [
+ "emoji-regex@8.0.0",
+ "is-fullwidth-code-point",
+ "strip-ansi@6.0.1"
+ ]
+ },
+ "string-width@5.1.2": {
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dependencies": [
+ "eastasianwidth",
+ "emoji-regex@9.2.2",
+ "strip-ansi@7.1.0"
+ ]
+ },
+ "string-width@7.2.0": {
+ "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+ "dependencies": [
+ "emoji-regex@10.4.0",
+ "get-east-asian-width",
+ "strip-ansi@7.1.0"
+ ]
+ },
+ "strip-ansi@6.0.1": {
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": [
+ "ansi-regex@5.0.1"
+ ]
+ },
+ "strip-ansi@7.1.0": {
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dependencies": [
+ "ansi-regex@6.1.0"
+ ]
+ },
+ "tinyexec@1.0.1": {
+ "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw=="
+ },
+ "tinyglobby@0.2.14_picomatch@4.0.2": {
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
+ "dependencies": [
+ "fdir",
+ "picomatch"
+ ]
+ },
+ "ts-mixer@6.0.4": {
+ "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA=="
+ },
+ "tsdown@0.12.9_typescript@5.8.3_rolldown@1.0.0-beta.23": {
+ "integrity": "sha512-MfrXm9PIlT3saovtWKf/gCJJ/NQCdE0SiREkdNC+9Qy6UHhdeDPxnkFaBD7xttVUmgp0yUHtGirpoLB+OVLuLA==",
+ "dependencies": [
+ "ansis",
+ "cac",
+ "chokidar",
+ "debug",
+ "diff",
+ "empathic",
+ "hookable",
+ "rolldown",
+ "rolldown-plugin-dts",
+ "semver@7.7.2",
+ "tinyexec",
+ "tinyglobby",
+ "typescript",
+ "unconfig"
+ ],
+ "optionalPeers": [
+ "typescript"
+ ],
+ "bin": true
+ },
+ "tslib@2.7.0": {
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+ },
+ "typescript@5.8.3": {
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "bin": true
+ },
+ "unconfig@7.3.2": {
+ "integrity": "sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==",
+ "dependencies": [
+ "@quansync/fs",
+ "defu",
+ "jiti",
+ "quansync"
+ ]
+ },
+ "undici-types@6.21.0": {
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
+ },
+ "undici-types@7.8.0": {
+ "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="
+ },
+ "undici@6.21.3": {
+ "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw=="
+ },
+ "update-browserslist-db@1.1.3_browserslist@4.25.1": {
+ "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
+ "dependencies": [
+ "browserslist",
+ "escalade",
+ "picocolors"
+ ],
+ "bin": true
+ },
+ "use-macro@1.1.0_@babel+core@7.27.7": {
+ "integrity": "sha512-swkpddhh4pBk3PI7ig+KtNrSzcGQbNBciFdIrajIuOICany29Exvw4KRK+CsybDsGgc4BHufw3rPG6vAbrSvhg==",
+ "dependencies": [
+ "@babel/core",
+ "@babel/generator",
+ "@babel/parser",
+ "@babel/preset-typescript",
+ "@babel/traverse",
+ "@babel/types",
+ "@types/babel__core",
+ "devalue"
+ ]
+ },
+ "which@2.0.2": {
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dependencies": [
+ "isexe"
+ ],
+ "bin": true
+ },
+ "wrap-ansi@7.0.0": {
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": [
+ "ansi-styles@4.3.0",
+ "string-width@4.2.3",
+ "strip-ansi@6.0.1"
+ ]
+ },
+ "wrap-ansi@8.1.0": {
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dependencies": [
+ "ansi-styles@6.2.1",
+ "string-width@5.1.2",
+ "strip-ansi@7.1.0"
+ ]
+ },
+ "ws@8.17.0": {
+ "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow=="
+ },
+ "yallist@3.1.1": {
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ }
+ },
+ "workspace": {
+ "packageJson": {
+ "dependencies": [
+ "npm:@types/node@^24.0.10",
+ "npm:commandkit@1.0.0-dev.20250702022547",
+ "npm:discord.js@^14.21.0",
+ "npm:typescript@^5.8.3"
+ ]
+ }
+ }
+}
diff --git a/examples/deno-ts/package.json b/examples/deno-ts/package.json
new file mode 100644
index 00000000..36dfbce2
--- /dev/null
+++ b/examples/deno-ts/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "commandkit-deno",
+ "description": "A CommandKit project using Deno",
+ "version": "0.1.0",
+ "type": "module",
+ "private": true,
+ "main": "dist/index.js",
+ "scripts": {
+ "dev": "commandkit dev",
+ "build": "commandkit build",
+ "start": "commandkit start"
+ },
+ "devDependencies": {
+ "@types/node": "^24.0.10",
+ "typescript": "^5.8.3"
+ },
+ "dependencies": {
+ "commandkit": "^1.2.0-rc.12",
+ "discord.js": "^14.23.2"
+ }
+}
diff --git a/examples/deno-ts/src/app.ts b/examples/deno-ts/src/app.ts
new file mode 100644
index 00000000..ed8d0d48
--- /dev/null
+++ b/examples/deno-ts/src/app.ts
@@ -0,0 +1,7 @@
+import { Client } from 'discord.js';
+
+const client = new Client({
+ intents: ['Guilds', 'GuildMembers', 'GuildMessages', 'MessageContent'],
+});
+
+export default client;
diff --git a/examples/deno-ts/src/app/commands/ping.ts b/examples/deno-ts/src/app/commands/ping.ts
new file mode 100644
index 00000000..638398b5
--- /dev/null
+++ b/examples/deno-ts/src/app/commands/ping.ts
@@ -0,0 +1,20 @@
+import type { ChatInputCommand, MessageCommand, CommandData } from 'commandkit';
+
+export const command: CommandData = {
+ name: 'ping',
+ description: "Ping the bot to check if it's online.",
+};
+
+export const chatInput: ChatInputCommand = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.interaction.reply(response);
+};
+
+export const message: MessageCommand = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.message.reply(response);
+};
diff --git a/examples/deno-ts/src/app/events/ready/log.ts b/examples/deno-ts/src/app/events/ready/log.ts
new file mode 100644
index 00000000..4414a153
--- /dev/null
+++ b/examples/deno-ts/src/app/events/ready/log.ts
@@ -0,0 +1,6 @@
+import type { Client } from 'discord.js';
+import { Logger } from 'commandkit/logger';
+
+export default function log(client: Client) {
+ Logger.info(`Logged in as ${client.user.username}!`);
+}
diff --git a/examples/deno-ts/tsconfig.json b/examples/deno-ts/tsconfig.json
new file mode 100644
index 00000000..2c06b336
--- /dev/null
+++ b/examples/deno-ts/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "lib": ["ESNext", "DOM"],
+ "target": "ESNext",
+ "moduleResolution": "Node",
+ "module": "Preserve",
+ "allowImportingTsExtensions": true,
+ "esModuleInterop": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "skipDefaultLibCheck": true,
+ "noUncheckedIndexedAccess": true,
+ "removeComments": true,
+ "allowJs": true,
+ "strict": true,
+ "alwaysStrict": true,
+ "noEmit": true,
+ "declaration": false,
+ "jsx": "react-jsx",
+ "jsxImportSource": "commandkit",
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": ["src", "commandkit.config.ts", "commandkit-env.d.ts"],
+ "exclude": ["dist", "node_modules", ".commandkit"]
+}
diff --git a/examples/without-cli/.gitignore b/examples/without-cli/.gitignore
new file mode 100644
index 00000000..dad27ae6
--- /dev/null
+++ b/examples/without-cli/.gitignore
@@ -0,0 +1,36 @@
+
+# dependencies
+node_modules
+
+# build output
+build
+out
+dist
+
+# commandkit
+.commandkit
+dist
+compiled-commandkit.config.mjs
+
+# env
+**/*.env*
+!**/*.env.example*
+
+# logging
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# yarn v2+
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# other
+**/*.DS_Store
diff --git a/examples/without-cli/.prettierrc b/examples/without-cli/.prettierrc
new file mode 100644
index 00000000..0a65dacb
--- /dev/null
+++ b/examples/without-cli/.prettierrc
@@ -0,0 +1,10 @@
+{
+ "printWidth": 120,
+ "tabWidth": 2,
+ "useTabs": false,
+ "semi": true,
+ "endOfLine": "lf",
+ "singleQuote": true,
+ "trailingComma": "all",
+ "arrowParens": "always"
+}
diff --git a/examples/without-cli/README.md b/examples/without-cli/README.md
new file mode 100644
index 00000000..3c23b2dc
--- /dev/null
+++ b/examples/without-cli/README.md
@@ -0,0 +1,29 @@
+# CommandKit without CLI
+
+This is an example of a CommandKit project without using the CLI.
+Note that not using CLI has some drawbacks, such as not being able to use some plugins that require syntax transformation.
+
+## To run this project
+
+1. First, install dependencies:
+
+```sh
+pnpm install
+```
+
+2. Add your bot token to the `.env` file.
+
+3. Then, run the project:
+
+```sh
+pnpm start
+# or
+COMMANDKIT_IS_CLI=true node src/index.js
+```
+
+> Note: You must set `COMMANDKIT_IS_CLI=true` environment variable when running the project without CLI. Not setting this variable will cause the project to fail with errors.
+
+## Useful links
+
+- [Documentation](https://commandkit.dev)
+- [Discord](https://ctrl.lol/discord)
diff --git a/examples/without-cli/commandkit-env.d.ts b/examples/without-cli/commandkit-env.d.ts
new file mode 100644
index 00000000..cc2ba6df
--- /dev/null
+++ b/examples/without-cli/commandkit-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/without-cli/commandkit.config.mjs b/examples/without-cli/commandkit.config.mjs
new file mode 100644
index 00000000..57ae7a44
--- /dev/null
+++ b/examples/without-cli/commandkit.config.mjs
@@ -0,0 +1,3 @@
+import { defineConfig } from 'commandkit/config';
+
+export default defineConfig({});
diff --git a/examples/without-cli/jsconfig.json b/examples/without-cli/jsconfig.json
new file mode 100644
index 00000000..4e77fa74
--- /dev/null
+++ b/examples/without-cli/jsconfig.json
@@ -0,0 +1,30 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ "lib": ["ESNext", "DOM"],
+ "target": "ESNext",
+ "moduleResolution": "Node",
+ "module": "Preserve",
+ "allowImportingTsExtensions": true,
+ "esModuleInterop": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "skipDefaultLibCheck": true,
+ "noUncheckedIndexedAccess": true,
+ "removeComments": true,
+ "allowJs": true,
+ "checkJs": false,
+ "strict": true,
+ "alwaysStrict": true,
+ "noEmit": true,
+ "declaration": false,
+ "jsx": "react-jsx",
+ "jsxImportSource": "commandkit",
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": ["src", "commandkit.config.mjs", "commandkit-env.d.ts"],
+ "exclude": ["dist", "node_modules", ".commandkit"]
+}
diff --git a/examples/without-cli/package.json b/examples/without-cli/package.json
new file mode 100644
index 00000000..6d556f8d
--- /dev/null
+++ b/examples/without-cli/package.json
@@ -0,0 +1,22 @@
+{
+ "name": "commandkit-without-cli",
+ "description": "A CommandKit project without using the CLI",
+ "version": "0.1.0",
+ "type": "module",
+ "private": true,
+ "main": "./src/index.js",
+ "scripts": {
+ "start": "cross-env COMMANDKIT_IS_CLI=true node .",
+ "format": "prettier --write \"src/**/*.{js,ts}\""
+ },
+ "dependencies": {
+ "commandkit": "^1.2.0-rc.12",
+ "discord.js": "^14.23.2"
+ },
+ "devDependencies": {
+ "@types/node": "^24.3.3",
+ "cross-env": "^10.0.0",
+ "prettier": "^3.6.2",
+ "typescript": "^5.9.2"
+ }
+}
diff --git a/examples/without-cli/pnpm-lock.yaml b/examples/without-cli/pnpm-lock.yaml
new file mode 100644
index 00000000..3f4c1d8b
--- /dev/null
+++ b/examples/without-cli/pnpm-lock.yaml
@@ -0,0 +1,1726 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ commandkit:
+ specifier: 1.2.0-rc.7
+ version: 1.2.0-rc.7(typescript@5.9.2)
+ discord.js:
+ specifier: ^14.22.1
+ version: 14.22.1
+ devDependencies:
+ '@types/node':
+ specifier: ^24.3.3
+ version: 24.3.3
+ cross-env:
+ specifier: ^10.0.0
+ version: 10.0.0
+ prettier:
+ specifier: ^3.6.2
+ version: 3.6.2
+ typescript:
+ specifier: ^5.9.2
+ version: 5.9.2
+
+packages:
+
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.28.4':
+ resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.28.4':
+ resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.28.3':
+ resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-create-class-features-plugin@7.28.3':
+ resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.28.3':
+ resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-replace-supers@7.27.1':
+ resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.28.4':
+ resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.28.4':
+ resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-syntax-jsx@7.27.1':
+ resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.27.1':
+ resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1':
+ resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.28.0':
+ resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.27.1':
+ resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.28.4':
+ resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.28.4':
+ resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@discordjs/builders@1.11.3':
+ resolution: {integrity: sha512-p3kf5eV49CJiRTfhtutUCeivSyQ/l2JlKodW1ZquRwwvlOWmG9+6jFShX6x8rUiYhnP6wKI96rgN/SXMy5e5aw==}
+ engines: {node: '>=16.11.0'}
+
+ '@discordjs/collection@1.5.3':
+ resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==}
+ engines: {node: '>=16.11.0'}
+
+ '@discordjs/collection@2.1.1':
+ resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==}
+ engines: {node: '>=18'}
+
+ '@discordjs/formatters@0.6.1':
+ resolution: {integrity: sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==}
+ engines: {node: '>=16.11.0'}
+
+ '@discordjs/rest@2.6.0':
+ resolution: {integrity: sha512-RDYrhmpB7mTvmCKcpj+pc5k7POKszS4E2O9TYc+U+Y4iaCP+r910QdO43qmpOja8LRr1RJ0b3U+CqVsnPqzf4w==}
+ engines: {node: '>=18'}
+
+ '@discordjs/util@1.1.1':
+ resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==}
+ engines: {node: '>=18'}
+
+ '@discordjs/ws@1.2.3':
+ resolution: {integrity: sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==}
+ engines: {node: '>=16.11.0'}
+
+ '@emnapi/core@1.5.0':
+ resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
+
+ '@emnapi/runtime@1.5.0':
+ resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+
+ '@emnapi/wasi-threads@1.1.0':
+ resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+
+ '@epic-web/invariant@1.0.0':
+ resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==}
+
+ '@isaacs/balanced-match@4.0.1':
+ resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
+ engines: {node: 20 || >=22}
+
+ '@isaacs/brace-expansion@5.0.0':
+ resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
+ engines: {node: 20 || >=22}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@jridgewell/gen-mapping@0.3.13':
+ resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
+
+ '@jridgewell/remapping@2.3.5':
+ resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.5':
+ resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
+
+ '@napi-rs/wasm-runtime@1.0.5':
+ resolution: {integrity: sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==}
+
+ '@oxc-project/runtime@0.87.0':
+ resolution: {integrity: sha512-ky2Hqi2q/uGX36UfY79zxMbUqiNIl1RyKKVJfFenG70lbn+/fcaKBVTbhmUwn8a2wPyv2gNtDQxuDytbKX9giQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@oxc-project/types@0.87.0':
+ resolution: {integrity: sha512-ipZFWVGE9fADBVXXWJWY/cxpysc41Gt5upKDeb32F6WMgFyO7XETUMVq8UuREKCih+Km5E6p2VhEvf6Fuhey6g==}
+
+ '@quansync/fs@0.1.5':
+ resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==}
+
+ '@rolldown/binding-android-arm64@1.0.0-beta.37':
+ resolution: {integrity: sha512-Pdr3USGBdoYzcygfJTSATHd7x476vVF3rnQ6SuUAh4YjhgGoNaI/ZycQ0RsonptwwU5NmQRWxfWv+aUPL6JlJg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.37':
+ resolution: {integrity: sha512-iDdmatSgbWhTYOq51G2CkJXwFayiuQpv/ywG7Bv3wKqy31L7d0LltUhWqAdfCl7eBG3gybfUm/iEXiTldH3jYA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rolldown/binding-darwin-x64@1.0.0-beta.37':
+ resolution: {integrity: sha512-LQPpi3YJDtIprj6mwMbVM1gLM4BV2m9oqe9h3Y1UwAd20xs+imnzWJqWFpm4Hw9SiFmefIf3q4EPx2k6Nj2K7A==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.37':
+ resolution: {integrity: sha512-9JnfSWfYd/YrZOu4Sj3rb2THBrCj70nJB/2FOSdg0O9ZoRrdTeB8b7Futo6N7HLWZM5uqqnJBX6VTpA0RZD+ow==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.37':
+ resolution: {integrity: sha512-eEmQTpvefEtHxc0vg5sOnWCqBcGQB/SIDlPkkzKR9ESKq9BsjQfHxssJWuNMyQ+rpr9CYaogddyQtZ9GHkp8vA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.37':
+ resolution: {integrity: sha512-Ekv4OjDzQUl0X9kHM7M23N9hVRiYCYr89neLBNITCp7P4IHs1f6SNZiCIvvBVy6NIFzO1w9LZJGEeJYK5cQBVQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.37':
+ resolution: {integrity: sha512-z8Aa5Kar5mhh0RVZEL+zKJwNz1cgcDISmwUMcTk0w986T8JZJOJCfJ/u9e8pqUTIJjxdM8SZq9/24nMgMlx5ng==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.37':
+ resolution: {integrity: sha512-e+fNseKhfE/socjOw6VrQcXrbNKfi2V/KZ+ssuLnmeaYNGuJWqPhvML56oYhGb3IgROEEc61lzr3Riy5BIqoMA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.37':
+ resolution: {integrity: sha512-dPZfB396PMIasd19X0ikpdCvjK/7SaJFO8y5/TxnozJEy70vOf4GESe/oKcsJPav/MSTWBYsHjJSO6vX0oAW8g==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.37':
+ resolution: {integrity: sha512-rFjLXoHpRqxJqkSBXHuyt6bhyiIFnvLD9X2iPmCYlfpEkdTbrY1AXg4ZbF8UMO5LM7DAAZm/7vPYPO1TKTA7Sg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.37':
+ resolution: {integrity: sha512-oQAe3lMaBGX6q0GSic0l3Obmd6/rX8R6eHLnRC8kyy/CvPLiCMV82MPGT8fxpPTo/ULFGrupSu2nV1zmOFBt/w==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.37':
+ resolution: {integrity: sha512-ucO6CiZhpkNRiVAk7ybvA9pZaMreCtfHej3BtJcBL5S3aYmp4h0g6TvaXLD5YRJx5sXobp/9A//xU4wPMul3Bg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.37':
+ resolution: {integrity: sha512-Ya9DBWJe1EGHwil7ielI8CdE0ELCg6KyDvDQqIFllnTJEYJ1Rb74DK6mvlZo273qz6Mw8WrMm26urfDeZhCc3Q==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.37':
+ resolution: {integrity: sha512-r+RI+wMReoTIF/uXqQWJcD8xGWXzCzUyGdpLmQ8FC+MCyPHlkjEsFRv8OFIYI6HhiGAmbfWVYEGf+aeLJzkHGw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@rolldown/pluginutils@1.0.0-beta.37':
+ resolution: {integrity: sha512-0taU1HpxFzrukvWIhLRI4YssJX2wOW5q1MxPXWztltsQ13TE51/larZIwhFdpyk7+K43TH7x6GJ8oEqAo+vDbA==}
+
+ '@rollup/plugin-json@6.1.0':
+ resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@rollup/pluginutils@5.3.0':
+ resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+
+ '@sapphire/async-queue@1.5.5':
+ resolution: {integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+
+ '@sapphire/shapeshift@4.0.0':
+ resolution: {integrity: sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==}
+ engines: {node: '>=v16'}
+
+ '@sapphire/snowflake@3.5.3':
+ resolution: {integrity: sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+
+ '@tybys/wasm-util@0.10.1':
+ resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.27.0':
+ resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.28.0':
+ resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/node@24.3.3':
+ resolution: {integrity: sha512-GKBNHjoNw3Kra1Qg5UXttsY5kiWMEfoHq2TmXb+b1rcm6N7B3wTrFYIf/oSZ1xNQ+hVVijgLkiDZh7jRRsh+Gw==}
+
+ '@types/ws@8.18.1':
+ resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
+
+ '@vladfrangu/async_event_emitter@2.4.6':
+ resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==}
+ engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
+ ansis@4.1.0:
+ resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==}
+ engines: {node: '>=14'}
+
+ ast-kit@2.1.2:
+ resolution: {integrity: sha512-cl76xfBQM6pztbrFWRnxbrDm9EOqDr1BF6+qQnnDZG2Co2LjyUktkN9GTJfBAfdae+DbT2nJf2nCGAdDDN7W2g==}
+ engines: {node: '>=20.18.0'}
+
+ baseline-browser-mapping@2.8.3:
+ resolution: {integrity: sha512-mcE+Wr2CAhHNWxXN/DdTI+n4gsPc5QpXpWnyCQWiQYIYZX+ZMJ8juXZgjRa/0/YPJo/NSsgW15/YgmI4nbysYw==}
+ hasBin: true
+
+ birpc@2.5.0:
+ resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==}
+
+ browserslist@4.26.0:
+ resolution: {integrity: sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ caniuse-lite@1.0.30001741:
+ resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==}
+
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ cli-cursor@5.0.0:
+ resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
+ engines: {node: '>=18'}
+
+ cli-spinners@2.9.2:
+ resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
+ engines: {node: '>=6'}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ commander@13.1.0:
+ resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
+ engines: {node: '>=18'}
+
+ commandkit@1.2.0-rc.7:
+ resolution: {integrity: sha512-QiWuOU6CxM4HM0042BfSsqpKKpXq5s5gb3aKcNb0XJedd3Q9CfZx9I3YZnam0LATyxFFtqgKFfoiSSNGZ3uVew==}
+ engines: {node: '>=24'}
+ hasBin: true
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cross-env@10.0.0:
+ resolution: {integrity: sha512-aU8qlEK/nHYtVuN4p7UQgAwVljzMg8hB4YK5ThRqD2l/ziSnryncPNn7bMLt5cFYsKVKBh8HqLqyCoTupEUu7Q==}
+ engines: {node: '>=20'}
+ hasBin: true
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ debug@4.4.3:
+ resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
+ devalue@5.3.2:
+ resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==}
+
+ diff@8.0.2:
+ resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==}
+ engines: {node: '>=0.3.1'}
+
+ directive-to-hof@0.0.2:
+ resolution: {integrity: sha512-LXSafC5HhiYxMxAUMgq8TvbgL9TjGwkN5yqndVluDa5DbuuCouSuwGqpwHJadTxm+KZmwBmxJKsGVdOk1NT2uw==}
+
+ discord-api-types@0.38.24:
+ resolution: {integrity: sha512-P7/DkcFIiIoaBogStnhhcGRX7KR+gIFp0SpmwsZUIM0bgDkYMEUx+8l+t3quYc/KSgg92wvE9w/4mabO57EMug==}
+
+ discord.js@14.22.1:
+ resolution: {integrity: sha512-3k+Kisd/v570Jr68A1kNs7qVhNehDwDJAPe4DZ2Syt+/zobf9zEcuYFvsfIaAOgCa0BiHMfOOKQY4eYINl0z7w==}
+ engines: {node: '>=18'}
+
+ dotenv@16.6.1:
+ resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
+ engines: {node: '>=12'}
+
+ dts-resolver@2.1.2:
+ resolution: {integrity: sha512-xeXHBQkn2ISSXxbJWD828PFjtyg+/UrMDo7W4Ffcs7+YWCquxU8YjV1KoxuiL+eJ5pg3ll+bC6flVv61L3LKZg==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ oxc-resolver: '>=11.0.0'
+ peerDependenciesMeta:
+ oxc-resolver:
+ optional: true
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ electron-to-chromium@1.5.218:
+ resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==}
+
+ emoji-regex@10.5.0:
+ resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ empathic@2.0.0:
+ resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
+ engines: {node: '>=14'}
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+ engines: {node: '>=14'}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-east-asian-width@1.4.0:
+ resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
+ engines: {node: '>=18'}
+
+ get-tsconfig@4.10.1:
+ resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
+
+ glob@11.0.3:
+ resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==}
+ engines: {node: 20 || >=22}
+ hasBin: true
+
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-interactive@2.0.0:
+ resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
+ engines: {node: '>=12'}
+
+ is-unicode-supported@1.3.0:
+ resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
+ engines: {node: '>=12'}
+
+ is-unicode-supported@2.1.0:
+ resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
+ engines: {node: '>=18'}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ jackspeak@4.1.1:
+ resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==}
+ engines: {node: 20 || >=22}
+
+ jiti@2.5.1:
+ resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
+ hasBin: true
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ lodash.snakecase@4.1.1:
+ resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ log-symbols@6.0.0:
+ resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
+ engines: {node: '>=18'}
+
+ lru-cache@11.2.1:
+ resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==}
+ engines: {node: 20 || >=22}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ magic-bytes.js@1.12.1:
+ resolution: {integrity: sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA==}
+
+ mimic-function@5.0.1:
+ resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
+ engines: {node: '>=18'}
+
+ minimatch@10.0.3:
+ resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
+ engines: {node: 20 || >=22}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ node-releases@2.0.21:
+ resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==}
+
+ onetime@7.0.0:
+ resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
+ engines: {node: '>=18'}
+
+ ora@8.2.0:
+ resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==}
+ engines: {node: '>=18'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-scurry@2.0.0:
+ resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
+ engines: {node: 20 || >=22}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ prettier@3.6.2:
+ resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ quansync@0.2.11:
+ resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
+
+ restore-cursor@5.1.0:
+ resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
+ engines: {node: '>=18'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rimraf@6.0.1:
+ resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==}
+ engines: {node: 20 || >=22}
+ hasBin: true
+
+ rolldown-plugin-dts@0.15.10:
+ resolution: {integrity: sha512-8cPVAVQUo9tYAoEpc3jFV9RxSil13hrRRg8cHC9gLXxRMNtWPc1LNMSDXzjyD+5Vny49sDZH77JlXp/vlc4I3g==}
+ engines: {node: '>=20.18.0'}
+ peerDependencies:
+ '@typescript/native-preview': '>=7.0.0-dev.20250601.1'
+ rolldown: ^1.0.0-beta.9
+ typescript: ^5.0.0
+ vue-tsc: ~3.0.3
+ peerDependenciesMeta:
+ '@typescript/native-preview':
+ optional: true
+ typescript:
+ optional: true
+ vue-tsc:
+ optional: true
+
+ rolldown@1.0.0-beta.37:
+ resolution: {integrity: sha512-KiTU6z1kHGaLvqaYjgsrv2LshHqNBn74waRZivlK8WbfN1obZeScVkQPKYunB66E/mxZWv/zyZlCv3xF2t0WOQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ stdin-discarder@0.2.2:
+ resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
+ engines: {node: '>=18'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.2:
+ resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
+ engines: {node: '>=12'}
+
+ tinyexec@1.0.1:
+ resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
+
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ engines: {node: '>=12.0.0'}
+
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+
+ ts-mixer@6.0.4:
+ resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==}
+
+ tsdown@0.14.2:
+ resolution: {integrity: sha512-6ThtxVZoTlR5YJov5rYvH8N1+/S/rD/pGfehdCLGznGgbxz+73EASV1tsIIZkLw2n+SXcERqHhcB/OkyxdKv3A==}
+ engines: {node: '>=20.19.0'}
+ hasBin: true
+ peerDependencies:
+ '@arethetypeswrong/core': ^0.18.1
+ publint: ^0.3.0
+ typescript: ^5.0.0
+ unplugin-lightningcss: ^0.4.0
+ unplugin-unused: ^0.5.0
+ peerDependenciesMeta:
+ '@arethetypeswrong/core':
+ optional: true
+ publint:
+ optional: true
+ typescript:
+ optional: true
+ unplugin-lightningcss:
+ optional: true
+ unplugin-unused:
+ optional: true
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ typescript@5.9.2:
+ resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ unconfig@7.3.3:
+ resolution: {integrity: sha512-QCkQoOnJF8L107gxfHL0uavn7WD9b3dpBcFX6HtfQYmjw2YzWxGuFQ0N0J6tE9oguCBJn9KOvfqYDCMPHIZrBA==}
+
+ undici-types@7.10.0:
+ resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==}
+
+ undici@6.21.3:
+ resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==}
+ engines: {node: '>=18.17'}
+
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ use-macro@1.1.0:
+ resolution: {integrity: sha512-swkpddhh4pBk3PI7ig+KtNrSzcGQbNBciFdIrajIuOICany29Exvw4KRK+CsybDsGgc4BHufw3rPG6vAbrSvhg==}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ ws@8.18.3:
+ resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+snapshots:
+
+ '@babel/code-frame@7.27.1':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.27.1
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.28.4': {}
+
+ '@babel/core@7.28.4':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
+ '@babel/helpers': 7.28.4
+ '@babel/parser': 7.28.4
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ '@jridgewell/remapping': 2.3.5
+ convert-source-map: 2.0.0
+ debug: 4.4.3
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.28.3':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+ jsesc: 3.1.0
+
+ '@babel/helper-annotate-as-pure@7.27.3':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@babel/helper-compilation-targets@7.27.2':
+ dependencies:
+ '@babel/compat-data': 7.28.4
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.26.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.28.4
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-imports@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.27.1': {}
+
+ '@babel/helper-validator-option@7.27.1': {}
+
+ '@babel/helpers@7.28.4':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
+
+ '@babel/parser@7.28.4':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+
+ '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)':
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/helper-plugin-utils': 7.27.1
+ '@babel/helper-validator-option': 7.27.1
+ '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4)
+ '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+
+ '@babel/traverse@7.28.4':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.3
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.4
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.4
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.28.4':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
+ '@discordjs/builders@1.11.3':
+ dependencies:
+ '@discordjs/formatters': 0.6.1
+ '@discordjs/util': 1.1.1
+ '@sapphire/shapeshift': 4.0.0
+ discord-api-types: 0.38.24
+ fast-deep-equal: 3.1.3
+ ts-mixer: 6.0.4
+ tslib: 2.8.1
+
+ '@discordjs/collection@1.5.3': {}
+
+ '@discordjs/collection@2.1.1': {}
+
+ '@discordjs/formatters@0.6.1':
+ dependencies:
+ discord-api-types: 0.38.24
+
+ '@discordjs/rest@2.6.0':
+ dependencies:
+ '@discordjs/collection': 2.1.1
+ '@discordjs/util': 1.1.1
+ '@sapphire/async-queue': 1.5.5
+ '@sapphire/snowflake': 3.5.3
+ '@vladfrangu/async_event_emitter': 2.4.6
+ discord-api-types: 0.38.24
+ magic-bytes.js: 1.12.1
+ tslib: 2.8.1
+ undici: 6.21.3
+
+ '@discordjs/util@1.1.1': {}
+
+ '@discordjs/ws@1.2.3':
+ dependencies:
+ '@discordjs/collection': 2.1.1
+ '@discordjs/rest': 2.6.0
+ '@discordjs/util': 1.1.1
+ '@sapphire/async-queue': 1.5.5
+ '@types/ws': 8.18.1
+ '@vladfrangu/async_event_emitter': 2.4.6
+ discord-api-types: 0.38.24
+ tslib: 2.8.1
+ ws: 8.18.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ '@emnapi/core@1.5.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.1.0
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/runtime@1.5.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@emnapi/wasi-threads@1.1.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@epic-web/invariant@1.0.0': {}
+
+ '@isaacs/balanced-match@4.0.1': {}
+
+ '@isaacs/brace-expansion@5.0.0':
+ dependencies:
+ '@isaacs/balanced-match': 4.0.1
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.2
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@jridgewell/gen-mapping@0.3.13':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.5
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/remapping@2.3.5':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.13
+ '@jridgewell/trace-mapping': 0.3.31
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/sourcemap-codec@1.5.5': {}
+
+ '@jridgewell/trace-mapping@0.3.31':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.5.5
+
+ '@napi-rs/wasm-runtime@1.0.5':
+ dependencies:
+ '@emnapi/core': 1.5.0
+ '@emnapi/runtime': 1.5.0
+ '@tybys/wasm-util': 0.10.1
+ optional: true
+
+ '@oxc-project/runtime@0.87.0': {}
+
+ '@oxc-project/types@0.87.0': {}
+
+ '@quansync/fs@0.1.5':
+ dependencies:
+ quansync: 0.2.11
+
+ '@rolldown/binding-android-arm64@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-darwin-x64@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.37':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.0.5
+ optional: true
+
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.37':
+ optional: true
+
+ '@rolldown/pluginutils@1.0.0-beta.37': {}
+
+ '@rollup/plugin-json@6.1.0':
+ dependencies:
+ '@rollup/pluginutils': 5.3.0
+
+ '@rollup/pluginutils@5.3.0':
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-walker: 2.0.2
+ picomatch: 4.0.3
+
+ '@sapphire/async-queue@1.5.5': {}
+
+ '@sapphire/shapeshift@4.0.0':
+ dependencies:
+ fast-deep-equal: 3.1.3
+ lodash: 4.17.21
+
+ '@sapphire/snowflake@3.5.3': {}
+
+ '@tybys/wasm-util@0.10.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+ '@types/babel__generator': 7.27.0
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.28.0
+
+ '@types/babel__generator@7.27.0':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+
+ '@types/babel__traverse@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.4
+
+ '@types/estree@1.0.8': {}
+
+ '@types/node@24.3.3':
+ dependencies:
+ undici-types: 7.10.0
+
+ '@types/ws@8.18.1':
+ dependencies:
+ '@types/node': 24.3.3
+
+ '@vladfrangu/async_event_emitter@2.4.6': {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.2.2: {}
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@6.2.3: {}
+
+ ansis@4.1.0: {}
+
+ ast-kit@2.1.2:
+ dependencies:
+ '@babel/parser': 7.28.4
+ pathe: 2.0.3
+
+ baseline-browser-mapping@2.8.3: {}
+
+ birpc@2.5.0: {}
+
+ browserslist@4.26.0:
+ dependencies:
+ baseline-browser-mapping: 2.8.3
+ caniuse-lite: 1.0.30001741
+ electron-to-chromium: 1.5.218
+ node-releases: 2.0.21
+ update-browserslist-db: 1.1.3(browserslist@4.26.0)
+
+ cac@6.7.14: {}
+
+ caniuse-lite@1.0.30001741: {}
+
+ chalk@5.6.2: {}
+
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
+
+ cli-cursor@5.0.0:
+ dependencies:
+ restore-cursor: 5.1.0
+
+ cli-spinners@2.9.2: {}
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
+ commander@13.1.0: {}
+
+ commandkit@1.2.0-rc.7(typescript@5.9.2):
+ dependencies:
+ '@rollup/plugin-json': 6.1.0
+ chokidar: 4.0.3
+ commander: 13.1.0
+ directive-to-hof: 0.0.2
+ dotenv: 16.6.1
+ ms: 2.1.3
+ ora: 8.2.0
+ picocolors: 1.1.1
+ rfdc: 1.4.1
+ rimraf: 6.0.1
+ tsdown: 0.14.2(typescript@5.9.2)
+ use-macro: 1.1.0
+ transitivePeerDependencies:
+ - '@arethetypeswrong/core'
+ - '@typescript/native-preview'
+ - oxc-resolver
+ - publint
+ - rollup
+ - supports-color
+ - typescript
+ - unplugin-lightningcss
+ - unplugin-unused
+ - vue-tsc
+
+ convert-source-map@2.0.0: {}
+
+ cross-env@10.0.0:
+ dependencies:
+ '@epic-web/invariant': 1.0.0
+ cross-spawn: 7.0.6
+
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ debug@4.4.3:
+ dependencies:
+ ms: 2.1.3
+
+ defu@6.1.4: {}
+
+ devalue@5.3.2: {}
+
+ diff@8.0.2: {}
+
+ directive-to-hof@0.0.2:
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/generator': 7.28.3
+ '@babel/parser': 7.28.4
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ '@types/babel__core': 7.20.5
+ transitivePeerDependencies:
+ - supports-color
+
+ discord-api-types@0.38.24: {}
+
+ discord.js@14.22.1:
+ dependencies:
+ '@discordjs/builders': 1.11.3
+ '@discordjs/collection': 1.5.3
+ '@discordjs/formatters': 0.6.1
+ '@discordjs/rest': 2.6.0
+ '@discordjs/util': 1.1.1
+ '@discordjs/ws': 1.2.3
+ '@sapphire/snowflake': 3.5.3
+ discord-api-types: 0.38.24
+ fast-deep-equal: 3.1.3
+ lodash.snakecase: 4.1.1
+ magic-bytes.js: 1.12.1
+ tslib: 2.8.1
+ undici: 6.21.3
+ transitivePeerDependencies:
+ - bufferutil
+ - utf-8-validate
+
+ dotenv@16.6.1: {}
+
+ dts-resolver@2.1.2: {}
+
+ eastasianwidth@0.2.0: {}
+
+ electron-to-chromium@1.5.218: {}
+
+ emoji-regex@10.5.0: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
+ empathic@2.0.0: {}
+
+ escalade@3.2.0: {}
+
+ estree-walker@2.0.2: {}
+
+ fast-deep-equal@3.1.3: {}
+
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
+
+ foreground-child@3.3.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
+
+ gensync@1.0.0-beta.2: {}
+
+ get-east-asian-width@1.4.0: {}
+
+ get-tsconfig@4.10.1:
+ dependencies:
+ resolve-pkg-maps: 1.0.0
+
+ glob@11.0.3:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 4.1.1
+ minimatch: 10.0.3
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 2.0.0
+
+ hookable@5.5.3: {}
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-interactive@2.0.0: {}
+
+ is-unicode-supported@1.3.0: {}
+
+ is-unicode-supported@2.1.0: {}
+
+ isexe@2.0.0: {}
+
+ jackspeak@4.1.1:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+
+ jiti@2.5.1: {}
+
+ js-tokens@4.0.0: {}
+
+ jsesc@3.1.0: {}
+
+ json5@2.2.3: {}
+
+ lodash.snakecase@4.1.1: {}
+
+ lodash@4.17.21: {}
+
+ log-symbols@6.0.0:
+ dependencies:
+ chalk: 5.6.2
+ is-unicode-supported: 1.3.0
+
+ lru-cache@11.2.1: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ magic-bytes.js@1.12.1: {}
+
+ mimic-function@5.0.1: {}
+
+ minimatch@10.0.3:
+ dependencies:
+ '@isaacs/brace-expansion': 5.0.0
+
+ minipass@7.1.2: {}
+
+ ms@2.1.3: {}
+
+ node-releases@2.0.21: {}
+
+ onetime@7.0.0:
+ dependencies:
+ mimic-function: 5.0.1
+
+ ora@8.2.0:
+ dependencies:
+ chalk: 5.6.2
+ cli-cursor: 5.0.0
+ cli-spinners: 2.9.2
+ is-interactive: 2.0.0
+ is-unicode-supported: 2.1.0
+ log-symbols: 6.0.0
+ stdin-discarder: 0.2.2
+ string-width: 7.2.0
+ strip-ansi: 7.1.2
+
+ package-json-from-dist@1.0.1: {}
+
+ path-key@3.1.1: {}
+
+ path-scurry@2.0.0:
+ dependencies:
+ lru-cache: 11.2.1
+ minipass: 7.1.2
+
+ pathe@2.0.3: {}
+
+ picocolors@1.1.1: {}
+
+ picomatch@4.0.3: {}
+
+ prettier@3.6.2: {}
+
+ quansync@0.2.11: {}
+
+ readdirp@4.1.2: {}
+
+ resolve-pkg-maps@1.0.0: {}
+
+ restore-cursor@5.1.0:
+ dependencies:
+ onetime: 7.0.0
+ signal-exit: 4.1.0
+
+ rfdc@1.4.1: {}
+
+ rimraf@6.0.1:
+ dependencies:
+ glob: 11.0.3
+ package-json-from-dist: 1.0.1
+
+ rolldown-plugin-dts@0.15.10(rolldown@1.0.0-beta.37)(typescript@5.9.2):
+ dependencies:
+ '@babel/generator': 7.28.3
+ '@babel/parser': 7.28.4
+ '@babel/types': 7.28.4
+ ast-kit: 2.1.2
+ birpc: 2.5.0
+ debug: 4.4.3
+ dts-resolver: 2.1.2
+ get-tsconfig: 4.10.1
+ rolldown: 1.0.0-beta.37
+ optionalDependencies:
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - oxc-resolver
+ - supports-color
+
+ rolldown@1.0.0-beta.37:
+ dependencies:
+ '@oxc-project/runtime': 0.87.0
+ '@oxc-project/types': 0.87.0
+ '@rolldown/pluginutils': 1.0.0-beta.37
+ ansis: 4.1.0
+ optionalDependencies:
+ '@rolldown/binding-android-arm64': 1.0.0-beta.37
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.37
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.37
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.37
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.37
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.37
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.37
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.37
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.37
+ '@rolldown/binding-openharmony-arm64': 1.0.0-beta.37
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.37
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.37
+ '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.37
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.37
+
+ semver@6.3.1: {}
+
+ semver@7.7.2: {}
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@3.0.0: {}
+
+ signal-exit@4.1.0: {}
+
+ stdin-discarder@0.2.2: {}
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.2
+
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.5.0
+ get-east-asian-width: 1.4.0
+ strip-ansi: 7.1.2
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.2:
+ dependencies:
+ ansi-regex: 6.2.2
+
+ tinyexec@1.0.1: {}
+
+ tinyglobby@0.2.15:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+
+ tree-kill@1.2.2: {}
+
+ ts-mixer@6.0.4: {}
+
+ tsdown@0.14.2(typescript@5.9.2):
+ dependencies:
+ ansis: 4.1.0
+ cac: 6.7.14
+ chokidar: 4.0.3
+ debug: 4.4.3
+ diff: 8.0.2
+ empathic: 2.0.0
+ hookable: 5.5.3
+ rolldown: 1.0.0-beta.37
+ rolldown-plugin-dts: 0.15.10(rolldown@1.0.0-beta.37)(typescript@5.9.2)
+ semver: 7.7.2
+ tinyexec: 1.0.1
+ tinyglobby: 0.2.15
+ tree-kill: 1.2.2
+ unconfig: 7.3.3
+ optionalDependencies:
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - '@typescript/native-preview'
+ - oxc-resolver
+ - supports-color
+ - vue-tsc
+
+ tslib@2.8.1: {}
+
+ typescript@5.9.2: {}
+
+ unconfig@7.3.3:
+ dependencies:
+ '@quansync/fs': 0.1.5
+ defu: 6.1.4
+ jiti: 2.5.1
+ quansync: 0.2.11
+
+ undici-types@7.10.0: {}
+
+ undici@6.21.3: {}
+
+ update-browserslist-db@1.1.3(browserslist@4.26.0):
+ dependencies:
+ browserslist: 4.26.0
+ escalade: 3.2.0
+ picocolors: 1.1.1
+
+ use-macro@1.1.0:
+ dependencies:
+ '@babel/core': 7.28.4
+ '@babel/generator': 7.28.3
+ '@babel/parser': 7.28.4
+ '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
+ '@babel/traverse': 7.28.4
+ '@babel/types': 7.28.4
+ '@types/babel__core': 7.20.5
+ devalue: 5.3.2
+ transitivePeerDependencies:
+ - supports-color
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 5.1.2
+ strip-ansi: 7.1.2
+
+ ws@8.18.3: {}
+
+ yallist@3.1.1: {}
diff --git a/examples/without-cli/src/app.js b/examples/without-cli/src/app.js
new file mode 100644
index 00000000..ed8d0d48
--- /dev/null
+++ b/examples/without-cli/src/app.js
@@ -0,0 +1,7 @@
+import { Client } from 'discord.js';
+
+const client = new Client({
+ intents: ['Guilds', 'GuildMembers', 'GuildMessages', 'MessageContent'],
+});
+
+export default client;
diff --git a/examples/without-cli/src/app/commands/ping.js b/examples/without-cli/src/app/commands/ping.js
new file mode 100644
index 00000000..201df59d
--- /dev/null
+++ b/examples/without-cli/src/app/commands/ping.js
@@ -0,0 +1,27 @@
+/**
+ * @type {import('commandkit').CommandData}
+ */
+export const command = {
+ name: 'ping',
+ description: "Ping the bot to check if it's online.",
+};
+
+/**
+ * @param {import('commandkit').ChatInputCommandContext} ctx
+ */
+export const chatInput = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.interaction.reply(response);
+};
+
+/**
+ * @param {import('commandkit').MessageCommandContext} ctx
+ */
+export const message = async (ctx) => {
+ const latency = (ctx.client.ws.ping ?? -1).toString();
+ const response = `Pong! Latency: ${latency}ms`;
+
+ await ctx.message.reply(response);
+};
diff --git a/examples/without-cli/src/app/events/clientReady/log.js b/examples/without-cli/src/app/events/clientReady/log.js
new file mode 100644
index 00000000..abb2fe51
--- /dev/null
+++ b/examples/without-cli/src/app/events/clientReady/log.js
@@ -0,0 +1,10 @@
+import { Logger } from 'commandkit/logger';
+
+/**
+ * @type {import('commandkit').EventHandler<'clientReady'>}
+ */
+const handler = async (client) => {
+ Logger.info(`Logged in as ${client.user.username}!`);
+};
+
+export default handler;
diff --git a/examples/without-cli/src/index.js b/examples/without-cli/src/index.js
new file mode 100644
index 00000000..5e5e73cd
--- /dev/null
+++ b/examples/without-cli/src/index.js
@@ -0,0 +1,21 @@
+async function bootstrap() {
+ // load .env
+ process.loadEnvFile();
+
+ // start commandkit
+ const { commandkit } = await import('commandkit');
+ const { Client } = await import('discord.js');
+ const app = await import('./app.js').then((m) => m.default ?? m);
+
+ if (!app || !(app instanceof Client)) {
+ throw new Error('The app file must default export the discord.js client instance');
+ }
+
+ commandkit.setClient(app);
+
+ await commandkit.start();
+}
+
+await bootstrap().catch((e) => {
+ console.error('Failed to bootstrap CommandKit application:\n', e.stack);
+});
From ec2ca3636b46c870380b6fd3f75bdb339bce809b Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:41:25 +0545
Subject: [PATCH 2/9] feat: dynamic create-commandkit
---
.gitignore | 1 -
.vscode/settings.json | 11 +
examples/without-cli/pnpm-lock.yaml | 1726 -----------------
packages/create-commandkit/README.md | 68 +-
packages/create-commandkit/package.json | 11 +-
.../scripts/sync-available-examples.ts | 34 +
packages/create-commandkit/src/cli.ts | 59 +
.../src/functions/copyTemplates.ts | 57 -
.../src/functions/fetchExample.ts | 90 +
.../src/functions/installDeps.ts | 83 -
.../create-commandkit/src/functions/setup.ts | 94 -
.../src/functions/validate.ts | 91 +
packages/create-commandkit/src/index.ts | 329 +++-
packages/create-commandkit/src/types.ts | 18 +-
packages/create-commandkit/src/utils.ts | 120 +-
.../templates/JavaScript/README.md | 16 -
.../templates/JavaScript/commandkit-env.d.ts | 1 -
.../JavaScript/commandkit.config.mjs | 3 -
.../templates/JavaScript/jsconfig.json | 30 -
.../templates/JavaScript/src/app.js | 7 -
.../JavaScript/src/app/commands/ping.js | 27 -
.../src/app/events/clientReady/log.js | 10 -
.../templates/TypeScript/README.md | 16 -
.../templates/TypeScript/commandkit-env.d.ts | 1 -
.../templates/TypeScript/commandkit.config.ts | 3 -
.../templates/TypeScript/src/app.ts | 7 -
.../TypeScript/src/app/commands/ping.ts | 20 -
.../src/app/events/clientReady/log.ts | 8 -
.../templates/TypeScript/tsconfig.json | 29 -
pnpm-lock.yaml | 596 +++---
30 files changed, 958 insertions(+), 2608 deletions(-)
create mode 100644 .vscode/settings.json
delete mode 100644 examples/without-cli/pnpm-lock.yaml
create mode 100644 packages/create-commandkit/scripts/sync-available-examples.ts
create mode 100644 packages/create-commandkit/src/cli.ts
delete mode 100644 packages/create-commandkit/src/functions/copyTemplates.ts
create mode 100644 packages/create-commandkit/src/functions/fetchExample.ts
delete mode 100644 packages/create-commandkit/src/functions/installDeps.ts
delete mode 100644 packages/create-commandkit/src/functions/setup.ts
create mode 100644 packages/create-commandkit/src/functions/validate.ts
delete mode 100644 packages/create-commandkit/templates/JavaScript/README.md
delete mode 100644 packages/create-commandkit/templates/JavaScript/commandkit-env.d.ts
delete mode 100644 packages/create-commandkit/templates/JavaScript/commandkit.config.mjs
delete mode 100644 packages/create-commandkit/templates/JavaScript/jsconfig.json
delete mode 100644 packages/create-commandkit/templates/JavaScript/src/app.js
delete mode 100644 packages/create-commandkit/templates/JavaScript/src/app/commands/ping.js
delete mode 100644 packages/create-commandkit/templates/JavaScript/src/app/events/clientReady/log.js
delete mode 100644 packages/create-commandkit/templates/TypeScript/README.md
delete mode 100644 packages/create-commandkit/templates/TypeScript/commandkit-env.d.ts
delete mode 100644 packages/create-commandkit/templates/TypeScript/commandkit.config.ts
delete mode 100644 packages/create-commandkit/templates/TypeScript/src/app.ts
delete mode 100644 packages/create-commandkit/templates/TypeScript/src/app/commands/ping.ts
delete mode 100644 packages/create-commandkit/templates/TypeScript/src/app/events/clientReady/log.ts
delete mode 100644 packages/create-commandkit/templates/TypeScript/tsconfig.json
diff --git a/.gitignore b/.gitignore
index ff13c06c..c85d94a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,4 @@
node_modules
dist
.DS_Store
-.vscode
.turbo
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..bb215b2f
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,11 @@
+{
+ "files.readonlyInclude": {
+ "**/routeTree.gen.ts": true
+ },
+ "files.watcherExclude": {
+ "**/routeTree.gen.ts": true
+ },
+ "search.exclude": {
+ "**/routeTree.gen.ts": true
+ }
+}
\ No newline at end of file
diff --git a/examples/without-cli/pnpm-lock.yaml b/examples/without-cli/pnpm-lock.yaml
deleted file mode 100644
index 3f4c1d8b..00000000
--- a/examples/without-cli/pnpm-lock.yaml
+++ /dev/null
@@ -1,1726 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- commandkit:
- specifier: 1.2.0-rc.7
- version: 1.2.0-rc.7(typescript@5.9.2)
- discord.js:
- specifier: ^14.22.1
- version: 14.22.1
- devDependencies:
- '@types/node':
- specifier: ^24.3.3
- version: 24.3.3
- cross-env:
- specifier: ^10.0.0
- version: 10.0.0
- prettier:
- specifier: ^3.6.2
- version: 3.6.2
- typescript:
- specifier: ^5.9.2
- version: 5.9.2
-
-packages:
-
- '@babel/code-frame@7.27.1':
- resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/compat-data@7.28.4':
- resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/core@7.28.4':
- resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/generator@7.28.3':
- resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-annotate-as-pure@7.27.3':
- resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-compilation-targets@7.27.2':
- resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-create-class-features-plugin@7.28.3':
- resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-globals@7.28.0':
- resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-member-expression-to-functions@7.27.1':
- resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-imports@7.27.1':
- resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-module-transforms@7.28.3':
- resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-optimise-call-expression@7.27.1':
- resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-plugin-utils@7.27.1':
- resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-replace-supers@7.27.1':
- resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
- '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
- resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-string-parser@7.27.1':
- resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.27.1':
- resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-option@7.27.1':
- resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helpers@7.28.4':
- resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.28.4':
- resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/plugin-syntax-jsx@7.27.1':
- resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-syntax-typescript@7.27.1':
- resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-modules-commonjs@7.27.1':
- resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/plugin-transform-typescript@7.28.0':
- resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/preset-typescript@7.27.1':
- resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
-
- '@babel/template@7.27.2':
- resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/traverse@7.28.4':
- resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/types@7.28.4':
- resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==}
- engines: {node: '>=6.9.0'}
-
- '@discordjs/builders@1.11.3':
- resolution: {integrity: sha512-p3kf5eV49CJiRTfhtutUCeivSyQ/l2JlKodW1ZquRwwvlOWmG9+6jFShX6x8rUiYhnP6wKI96rgN/SXMy5e5aw==}
- engines: {node: '>=16.11.0'}
-
- '@discordjs/collection@1.5.3':
- resolution: {integrity: sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==}
- engines: {node: '>=16.11.0'}
-
- '@discordjs/collection@2.1.1':
- resolution: {integrity: sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==}
- engines: {node: '>=18'}
-
- '@discordjs/formatters@0.6.1':
- resolution: {integrity: sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==}
- engines: {node: '>=16.11.0'}
-
- '@discordjs/rest@2.6.0':
- resolution: {integrity: sha512-RDYrhmpB7mTvmCKcpj+pc5k7POKszS4E2O9TYc+U+Y4iaCP+r910QdO43qmpOja8LRr1RJ0b3U+CqVsnPqzf4w==}
- engines: {node: '>=18'}
-
- '@discordjs/util@1.1.1':
- resolution: {integrity: sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g==}
- engines: {node: '>=18'}
-
- '@discordjs/ws@1.2.3':
- resolution: {integrity: sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==}
- engines: {node: '>=16.11.0'}
-
- '@emnapi/core@1.5.0':
- resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
-
- '@emnapi/runtime@1.5.0':
- resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
-
- '@emnapi/wasi-threads@1.1.0':
- resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
-
- '@epic-web/invariant@1.0.0':
- resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==}
-
- '@isaacs/balanced-match@4.0.1':
- resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
- engines: {node: 20 || >=22}
-
- '@isaacs/brace-expansion@5.0.0':
- resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
- engines: {node: 20 || >=22}
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/gen-mapping@0.3.13':
- resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
-
- '@jridgewell/remapping@2.3.5':
- resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.5':
- resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
-
- '@jridgewell/trace-mapping@0.3.31':
- resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
-
- '@napi-rs/wasm-runtime@1.0.5':
- resolution: {integrity: sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==}
-
- '@oxc-project/runtime@0.87.0':
- resolution: {integrity: sha512-ky2Hqi2q/uGX36UfY79zxMbUqiNIl1RyKKVJfFenG70lbn+/fcaKBVTbhmUwn8a2wPyv2gNtDQxuDytbKX9giQ==}
- engines: {node: '>=6.9.0'}
-
- '@oxc-project/types@0.87.0':
- resolution: {integrity: sha512-ipZFWVGE9fADBVXXWJWY/cxpysc41Gt5upKDeb32F6WMgFyO7XETUMVq8UuREKCih+Km5E6p2VhEvf6Fuhey6g==}
-
- '@quansync/fs@0.1.5':
- resolution: {integrity: sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==}
-
- '@rolldown/binding-android-arm64@1.0.0-beta.37':
- resolution: {integrity: sha512-Pdr3USGBdoYzcygfJTSATHd7x476vVF3rnQ6SuUAh4YjhgGoNaI/ZycQ0RsonptwwU5NmQRWxfWv+aUPL6JlJg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [android]
-
- '@rolldown/binding-darwin-arm64@1.0.0-beta.37':
- resolution: {integrity: sha512-iDdmatSgbWhTYOq51G2CkJXwFayiuQpv/ywG7Bv3wKqy31L7d0LltUhWqAdfCl7eBG3gybfUm/iEXiTldH3jYA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [darwin]
-
- '@rolldown/binding-darwin-x64@1.0.0-beta.37':
- resolution: {integrity: sha512-LQPpi3YJDtIprj6mwMbVM1gLM4BV2m9oqe9h3Y1UwAd20xs+imnzWJqWFpm4Hw9SiFmefIf3q4EPx2k6Nj2K7A==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [darwin]
-
- '@rolldown/binding-freebsd-x64@1.0.0-beta.37':
- resolution: {integrity: sha512-9JnfSWfYd/YrZOu4Sj3rb2THBrCj70nJB/2FOSdg0O9ZoRrdTeB8b7Futo6N7HLWZM5uqqnJBX6VTpA0RZD+ow==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [freebsd]
-
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.37':
- resolution: {integrity: sha512-eEmQTpvefEtHxc0vg5sOnWCqBcGQB/SIDlPkkzKR9ESKq9BsjQfHxssJWuNMyQ+rpr9CYaogddyQtZ9GHkp8vA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm]
- os: [linux]
-
- '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.37':
- resolution: {integrity: sha512-Ekv4OjDzQUl0X9kHM7M23N9hVRiYCYr89neLBNITCp7P4IHs1f6SNZiCIvvBVy6NIFzO1w9LZJGEeJYK5cQBVQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
-
- '@rolldown/binding-linux-arm64-musl@1.0.0-beta.37':
- resolution: {integrity: sha512-z8Aa5Kar5mhh0RVZEL+zKJwNz1cgcDISmwUMcTk0w986T8JZJOJCfJ/u9e8pqUTIJjxdM8SZq9/24nMgMlx5ng==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [linux]
-
- '@rolldown/binding-linux-x64-gnu@1.0.0-beta.37':
- resolution: {integrity: sha512-e+fNseKhfE/socjOw6VrQcXrbNKfi2V/KZ+ssuLnmeaYNGuJWqPhvML56oYhGb3IgROEEc61lzr3Riy5BIqoMA==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
-
- '@rolldown/binding-linux-x64-musl@1.0.0-beta.37':
- resolution: {integrity: sha512-dPZfB396PMIasd19X0ikpdCvjK/7SaJFO8y5/TxnozJEy70vOf4GESe/oKcsJPav/MSTWBYsHjJSO6vX0oAW8g==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [linux]
-
- '@rolldown/binding-openharmony-arm64@1.0.0-beta.37':
- resolution: {integrity: sha512-rFjLXoHpRqxJqkSBXHuyt6bhyiIFnvLD9X2iPmCYlfpEkdTbrY1AXg4ZbF8UMO5LM7DAAZm/7vPYPO1TKTA7Sg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [openharmony]
-
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.37':
- resolution: {integrity: sha512-oQAe3lMaBGX6q0GSic0l3Obmd6/rX8R6eHLnRC8kyy/CvPLiCMV82MPGT8fxpPTo/ULFGrupSu2nV1zmOFBt/w==}
- engines: {node: '>=14.0.0'}
- cpu: [wasm32]
-
- '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.37':
- resolution: {integrity: sha512-ucO6CiZhpkNRiVAk7ybvA9pZaMreCtfHej3BtJcBL5S3aYmp4h0g6TvaXLD5YRJx5sXobp/9A//xU4wPMul3Bg==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [arm64]
- os: [win32]
-
- '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.37':
- resolution: {integrity: sha512-Ya9DBWJe1EGHwil7ielI8CdE0ELCg6KyDvDQqIFllnTJEYJ1Rb74DK6mvlZo273qz6Mw8WrMm26urfDeZhCc3Q==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [ia32]
- os: [win32]
-
- '@rolldown/binding-win32-x64-msvc@1.0.0-beta.37':
- resolution: {integrity: sha512-r+RI+wMReoTIF/uXqQWJcD8xGWXzCzUyGdpLmQ8FC+MCyPHlkjEsFRv8OFIYI6HhiGAmbfWVYEGf+aeLJzkHGw==}
- engines: {node: ^20.19.0 || >=22.12.0}
- cpu: [x64]
- os: [win32]
-
- '@rolldown/pluginutils@1.0.0-beta.37':
- resolution: {integrity: sha512-0taU1HpxFzrukvWIhLRI4YssJX2wOW5q1MxPXWztltsQ13TE51/larZIwhFdpyk7+K43TH7x6GJ8oEqAo+vDbA==}
-
- '@rollup/plugin-json@6.1.0':
- resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
- '@rollup/pluginutils@5.3.0':
- resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
- '@sapphire/async-queue@1.5.5':
- resolution: {integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
-
- '@sapphire/shapeshift@4.0.0':
- resolution: {integrity: sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==}
- engines: {node: '>=v16'}
-
- '@sapphire/snowflake@3.5.3':
- resolution: {integrity: sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
-
- '@tybys/wasm-util@0.10.1':
- resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
-
- '@types/babel__core@7.20.5':
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
-
- '@types/babel__generator@7.27.0':
- resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==}
-
- '@types/babel__template@7.4.4':
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
-
- '@types/babel__traverse@7.28.0':
- resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==}
-
- '@types/estree@1.0.8':
- resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
-
- '@types/node@24.3.3':
- resolution: {integrity: sha512-GKBNHjoNw3Kra1Qg5UXttsY5kiWMEfoHq2TmXb+b1rcm6N7B3wTrFYIf/oSZ1xNQ+hVVijgLkiDZh7jRRsh+Gw==}
-
- '@types/ws@8.18.1':
- resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
-
- '@vladfrangu/async_event_emitter@2.4.6':
- resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==}
- engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.2.2:
- resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
- engines: {node: '>=12'}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- ansi-styles@6.2.3:
- resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
- engines: {node: '>=12'}
-
- ansis@4.1.0:
- resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==}
- engines: {node: '>=14'}
-
- ast-kit@2.1.2:
- resolution: {integrity: sha512-cl76xfBQM6pztbrFWRnxbrDm9EOqDr1BF6+qQnnDZG2Co2LjyUktkN9GTJfBAfdae+DbT2nJf2nCGAdDDN7W2g==}
- engines: {node: '>=20.18.0'}
-
- baseline-browser-mapping@2.8.3:
- resolution: {integrity: sha512-mcE+Wr2CAhHNWxXN/DdTI+n4gsPc5QpXpWnyCQWiQYIYZX+ZMJ8juXZgjRa/0/YPJo/NSsgW15/YgmI4nbysYw==}
- hasBin: true
-
- birpc@2.5.0:
- resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==}
-
- browserslist@4.26.0:
- resolution: {integrity: sha512-P9go2WrP9FiPwLv3zqRD/Uoxo0RSHjzFCiQz7d4vbmwNqQFo9T9WCeP/Qn5EbcKQY6DBbkxEXNcpJOmncNrb7A==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
-
- caniuse-lite@1.0.30001741:
- resolution: {integrity: sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw==}
-
- chalk@5.6.2:
- resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
- chokidar@4.0.3:
- resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
- engines: {node: '>= 14.16.0'}
-
- cli-cursor@5.0.0:
- resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==}
- engines: {node: '>=18'}
-
- cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- commander@13.1.0:
- resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
- engines: {node: '>=18'}
-
- commandkit@1.2.0-rc.7:
- resolution: {integrity: sha512-QiWuOU6CxM4HM0042BfSsqpKKpXq5s5gb3aKcNb0XJedd3Q9CfZx9I3YZnam0LATyxFFtqgKFfoiSSNGZ3uVew==}
- engines: {node: '>=24'}
- hasBin: true
-
- convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
-
- cross-env@10.0.0:
- resolution: {integrity: sha512-aU8qlEK/nHYtVuN4p7UQgAwVljzMg8hB4YK5ThRqD2l/ziSnryncPNn7bMLt5cFYsKVKBh8HqLqyCoTupEUu7Q==}
- engines: {node: '>=20'}
- hasBin: true
-
- cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
-
- debug@4.4.3:
- resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- defu@6.1.4:
- resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
-
- devalue@5.3.2:
- resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==}
-
- diff@8.0.2:
- resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==}
- engines: {node: '>=0.3.1'}
-
- directive-to-hof@0.0.2:
- resolution: {integrity: sha512-LXSafC5HhiYxMxAUMgq8TvbgL9TjGwkN5yqndVluDa5DbuuCouSuwGqpwHJadTxm+KZmwBmxJKsGVdOk1NT2uw==}
-
- discord-api-types@0.38.24:
- resolution: {integrity: sha512-P7/DkcFIiIoaBogStnhhcGRX7KR+gIFp0SpmwsZUIM0bgDkYMEUx+8l+t3quYc/KSgg92wvE9w/4mabO57EMug==}
-
- discord.js@14.22.1:
- resolution: {integrity: sha512-3k+Kisd/v570Jr68A1kNs7qVhNehDwDJAPe4DZ2Syt+/zobf9zEcuYFvsfIaAOgCa0BiHMfOOKQY4eYINl0z7w==}
- engines: {node: '>=18'}
-
- dotenv@16.6.1:
- resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==}
- engines: {node: '>=12'}
-
- dts-resolver@2.1.2:
- resolution: {integrity: sha512-xeXHBQkn2ISSXxbJWD828PFjtyg+/UrMDo7W4Ffcs7+YWCquxU8YjV1KoxuiL+eJ5pg3ll+bC6flVv61L3LKZg==}
- engines: {node: '>=20.18.0'}
- peerDependencies:
- oxc-resolver: '>=11.0.0'
- peerDependenciesMeta:
- oxc-resolver:
- optional: true
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- electron-to-chromium@1.5.218:
- resolution: {integrity: sha512-uwwdN0TUHs8u6iRgN8vKeWZMRll4gBkz+QMqdS7DDe49uiK68/UX92lFb61oiFPrpYZNeZIqa4bA7O6Aiasnzg==}
-
- emoji-regex@10.5.0:
- resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==}
-
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- empathic@2.0.0:
- resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==}
- engines: {node: '>=14'}
-
- escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
-
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
-
- fdir@6.5.0:
- resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- picomatch: ^3 || ^4
- peerDependenciesMeta:
- picomatch:
- optional: true
-
- foreground-child@3.3.1:
- resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
- engines: {node: '>=14'}
-
- gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
-
- get-east-asian-width@1.4.0:
- resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==}
- engines: {node: '>=18'}
-
- get-tsconfig@4.10.1:
- resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==}
-
- glob@11.0.3:
- resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==}
- engines: {node: 20 || >=22}
- hasBin: true
-
- hookable@5.5.3:
- resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
-
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- is-interactive@2.0.0:
- resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
- engines: {node: '>=12'}
-
- is-unicode-supported@1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
- engines: {node: '>=12'}
-
- is-unicode-supported@2.1.0:
- resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
- engines: {node: '>=18'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- jackspeak@4.1.1:
- resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==}
- engines: {node: 20 || >=22}
-
- jiti@2.5.1:
- resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
- hasBin: true
-
- js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
- jsesc@3.1.0:
- resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
- engines: {node: '>=6'}
- hasBin: true
-
- json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
- lodash.snakecase@4.1.1:
- resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
-
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
- log-symbols@6.0.0:
- resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==}
- engines: {node: '>=18'}
-
- lru-cache@11.2.1:
- resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==}
- engines: {node: 20 || >=22}
-
- lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
-
- magic-bytes.js@1.12.1:
- resolution: {integrity: sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA==}
-
- mimic-function@5.0.1:
- resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
- engines: {node: '>=18'}
-
- minimatch@10.0.3:
- resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
- engines: {node: 20 || >=22}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
- node-releases@2.0.21:
- resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==}
-
- onetime@7.0.0:
- resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
- engines: {node: '>=18'}
-
- ora@8.2.0:
- resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==}
- engines: {node: '>=18'}
-
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-scurry@2.0.0:
- resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
- engines: {node: 20 || >=22}
-
- pathe@2.0.3:
- resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@4.0.3:
- resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
- engines: {node: '>=12'}
-
- prettier@3.6.2:
- resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
- engines: {node: '>=14'}
- hasBin: true
-
- quansync@0.2.11:
- resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==}
-
- readdirp@4.1.2:
- resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
- engines: {node: '>= 14.18.0'}
-
- resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
-
- restore-cursor@5.1.0:
- resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
- engines: {node: '>=18'}
-
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
- rimraf@6.0.1:
- resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==}
- engines: {node: 20 || >=22}
- hasBin: true
-
- rolldown-plugin-dts@0.15.10:
- resolution: {integrity: sha512-8cPVAVQUo9tYAoEpc3jFV9RxSil13hrRRg8cHC9gLXxRMNtWPc1LNMSDXzjyD+5Vny49sDZH77JlXp/vlc4I3g==}
- engines: {node: '>=20.18.0'}
- peerDependencies:
- '@typescript/native-preview': '>=7.0.0-dev.20250601.1'
- rolldown: ^1.0.0-beta.9
- typescript: ^5.0.0
- vue-tsc: ~3.0.3
- peerDependenciesMeta:
- '@typescript/native-preview':
- optional: true
- typescript:
- optional: true
- vue-tsc:
- optional: true
-
- rolldown@1.0.0-beta.37:
- resolution: {integrity: sha512-KiTU6z1kHGaLvqaYjgsrv2LshHqNBn74waRZivlK8WbfN1obZeScVkQPKYunB66E/mxZWv/zyZlCv3xF2t0WOQ==}
- engines: {node: ^20.19.0 || >=22.12.0}
- hasBin: true
-
- semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
- hasBin: true
-
- semver@7.7.2:
- resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
- engines: {node: '>=10'}
- hasBin: true
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- stdin-discarder@0.2.2:
- resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==}
- engines: {node: '>=18'}
-
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
- string-width@7.2.0:
- resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
- engines: {node: '>=18'}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.2:
- resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==}
- engines: {node: '>=12'}
-
- tinyexec@1.0.1:
- resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
-
- tinyglobby@0.2.15:
- resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
- engines: {node: '>=12.0.0'}
-
- tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
-
- ts-mixer@6.0.4:
- resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==}
-
- tsdown@0.14.2:
- resolution: {integrity: sha512-6ThtxVZoTlR5YJov5rYvH8N1+/S/rD/pGfehdCLGznGgbxz+73EASV1tsIIZkLw2n+SXcERqHhcB/OkyxdKv3A==}
- engines: {node: '>=20.19.0'}
- hasBin: true
- peerDependencies:
- '@arethetypeswrong/core': ^0.18.1
- publint: ^0.3.0
- typescript: ^5.0.0
- unplugin-lightningcss: ^0.4.0
- unplugin-unused: ^0.5.0
- peerDependenciesMeta:
- '@arethetypeswrong/core':
- optional: true
- publint:
- optional: true
- typescript:
- optional: true
- unplugin-lightningcss:
- optional: true
- unplugin-unused:
- optional: true
-
- tslib@2.8.1:
- resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
-
- typescript@5.9.2:
- resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
- engines: {node: '>=14.17'}
- hasBin: true
-
- unconfig@7.3.3:
- resolution: {integrity: sha512-QCkQoOnJF8L107gxfHL0uavn7WD9b3dpBcFX6HtfQYmjw2YzWxGuFQ0N0J6tE9oguCBJn9KOvfqYDCMPHIZrBA==}
-
- undici-types@7.10.0:
- resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==}
-
- undici@6.21.3:
- resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==}
- engines: {node: '>=18.17'}
-
- update-browserslist-db@1.1.3:
- resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- use-macro@1.1.0:
- resolution: {integrity: sha512-swkpddhh4pBk3PI7ig+KtNrSzcGQbNBciFdIrajIuOICany29Exvw4KRK+CsybDsGgc4BHufw3rPG6vAbrSvhg==}
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
- ws@8.18.3:
- resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
-
- yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
-
-snapshots:
-
- '@babel/code-frame@7.27.1':
- dependencies:
- '@babel/helper-validator-identifier': 7.27.1
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
- '@babel/compat-data@7.28.4': {}
-
- '@babel/core@7.28.4':
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.28.3
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helpers': 7.28.4
- '@babel/parser': 7.28.4
- '@babel/template': 7.27.2
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- '@jridgewell/remapping': 2.3.5
- convert-source-map: 2.0.0
- debug: 4.4.3
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/generator@7.28.3':
- dependencies:
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
- jsesc: 3.1.0
-
- '@babel/helper-annotate-as-pure@7.27.3':
- dependencies:
- '@babel/types': 7.28.4
-
- '@babel/helper-compilation-targets@7.27.2':
- dependencies:
- '@babel/compat-data': 7.28.4
- '@babel/helper-validator-option': 7.27.1
- browserslist: 4.26.0
- lru-cache: 5.1.1
- semver: 6.3.1
-
- '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.4)
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/traverse': 7.28.4
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-globals@7.28.0': {}
-
- '@babel/helper-member-expression-to-functions@7.27.1':
- dependencies:
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-imports@7.27.1':
- dependencies:
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-optimise-call-expression@7.27.1':
- dependencies:
- '@babel/types': 7.28.4
-
- '@babel/helper-plugin-utils@7.27.1': {}
-
- '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-member-expression-to-functions': 7.27.1
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
- dependencies:
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-string-parser@7.27.1': {}
-
- '@babel/helper-validator-identifier@7.27.1': {}
-
- '@babel/helper-validator-option@7.27.1': {}
-
- '@babel/helpers@7.28.4':
- dependencies:
- '@babel/template': 7.27.2
- '@babel/types': 7.28.4
-
- '@babel/parser@7.28.4':
- dependencies:
- '@babel/types': 7.28.4
-
- '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
-
- '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- transitivePeerDependencies:
- - supports-color
-
- '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.4)
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/preset-typescript@7.27.1(@babel/core@7.28.4)':
- dependencies:
- '@babel/core': 7.28.4
- '@babel/helper-plugin-utils': 7.27.1
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.4)
- '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4)
- transitivePeerDependencies:
- - supports-color
-
- '@babel/template@7.27.2':
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
-
- '@babel/traverse@7.28.4':
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.28.3
- '@babel/helper-globals': 7.28.0
- '@babel/parser': 7.28.4
- '@babel/template': 7.27.2
- '@babel/types': 7.28.4
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- '@babel/types@7.28.4':
- dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.27.1
-
- '@discordjs/builders@1.11.3':
- dependencies:
- '@discordjs/formatters': 0.6.1
- '@discordjs/util': 1.1.1
- '@sapphire/shapeshift': 4.0.0
- discord-api-types: 0.38.24
- fast-deep-equal: 3.1.3
- ts-mixer: 6.0.4
- tslib: 2.8.1
-
- '@discordjs/collection@1.5.3': {}
-
- '@discordjs/collection@2.1.1': {}
-
- '@discordjs/formatters@0.6.1':
- dependencies:
- discord-api-types: 0.38.24
-
- '@discordjs/rest@2.6.0':
- dependencies:
- '@discordjs/collection': 2.1.1
- '@discordjs/util': 1.1.1
- '@sapphire/async-queue': 1.5.5
- '@sapphire/snowflake': 3.5.3
- '@vladfrangu/async_event_emitter': 2.4.6
- discord-api-types: 0.38.24
- magic-bytes.js: 1.12.1
- tslib: 2.8.1
- undici: 6.21.3
-
- '@discordjs/util@1.1.1': {}
-
- '@discordjs/ws@1.2.3':
- dependencies:
- '@discordjs/collection': 2.1.1
- '@discordjs/rest': 2.6.0
- '@discordjs/util': 1.1.1
- '@sapphire/async-queue': 1.5.5
- '@types/ws': 8.18.1
- '@vladfrangu/async_event_emitter': 2.4.6
- discord-api-types: 0.38.24
- tslib: 2.8.1
- ws: 8.18.3
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- '@emnapi/core@1.5.0':
- dependencies:
- '@emnapi/wasi-threads': 1.1.0
- tslib: 2.8.1
- optional: true
-
- '@emnapi/runtime@1.5.0':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@emnapi/wasi-threads@1.1.0':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@epic-web/invariant@1.0.0': {}
-
- '@isaacs/balanced-match@4.0.1': {}
-
- '@isaacs/brace-expansion@5.0.0':
- dependencies:
- '@isaacs/balanced-match': 4.0.1
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.2
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@jridgewell/gen-mapping@0.3.13':
- dependencies:
- '@jridgewell/sourcemap-codec': 1.5.5
- '@jridgewell/trace-mapping': 0.3.31
-
- '@jridgewell/remapping@2.3.5':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/sourcemap-codec@1.5.5': {}
-
- '@jridgewell/trace-mapping@0.3.31':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.5
-
- '@napi-rs/wasm-runtime@1.0.5':
- dependencies:
- '@emnapi/core': 1.5.0
- '@emnapi/runtime': 1.5.0
- '@tybys/wasm-util': 0.10.1
- optional: true
-
- '@oxc-project/runtime@0.87.0': {}
-
- '@oxc-project/types@0.87.0': {}
-
- '@quansync/fs@0.1.5':
- dependencies:
- quansync: 0.2.11
-
- '@rolldown/binding-android-arm64@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-darwin-arm64@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-darwin-x64@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-freebsd-x64@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-linux-arm64-musl@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-linux-x64-gnu@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-linux-x64-musl@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-openharmony-arm64@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.37':
- dependencies:
- '@napi-rs/wasm-runtime': 1.0.5
- optional: true
-
- '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.37':
- optional: true
-
- '@rolldown/binding-win32-x64-msvc@1.0.0-beta.37':
- optional: true
-
- '@rolldown/pluginutils@1.0.0-beta.37': {}
-
- '@rollup/plugin-json@6.1.0':
- dependencies:
- '@rollup/pluginutils': 5.3.0
-
- '@rollup/pluginutils@5.3.0':
- dependencies:
- '@types/estree': 1.0.8
- estree-walker: 2.0.2
- picomatch: 4.0.3
-
- '@sapphire/async-queue@1.5.5': {}
-
- '@sapphire/shapeshift@4.0.0':
- dependencies:
- fast-deep-equal: 3.1.3
- lodash: 4.17.21
-
- '@sapphire/snowflake@3.5.3': {}
-
- '@tybys/wasm-util@0.10.1':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@types/babel__core@7.20.5':
- dependencies:
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
- '@types/babel__generator': 7.27.0
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.28.0
-
- '@types/babel__generator@7.27.0':
- dependencies:
- '@babel/types': 7.28.4
-
- '@types/babel__template@7.4.4':
- dependencies:
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
-
- '@types/babel__traverse@7.28.0':
- dependencies:
- '@babel/types': 7.28.4
-
- '@types/estree@1.0.8': {}
-
- '@types/node@24.3.3':
- dependencies:
- undici-types: 7.10.0
-
- '@types/ws@8.18.1':
- dependencies:
- '@types/node': 24.3.3
-
- '@vladfrangu/async_event_emitter@2.4.6': {}
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.2.2: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- ansi-styles@6.2.3: {}
-
- ansis@4.1.0: {}
-
- ast-kit@2.1.2:
- dependencies:
- '@babel/parser': 7.28.4
- pathe: 2.0.3
-
- baseline-browser-mapping@2.8.3: {}
-
- birpc@2.5.0: {}
-
- browserslist@4.26.0:
- dependencies:
- baseline-browser-mapping: 2.8.3
- caniuse-lite: 1.0.30001741
- electron-to-chromium: 1.5.218
- node-releases: 2.0.21
- update-browserslist-db: 1.1.3(browserslist@4.26.0)
-
- cac@6.7.14: {}
-
- caniuse-lite@1.0.30001741: {}
-
- chalk@5.6.2: {}
-
- chokidar@4.0.3:
- dependencies:
- readdirp: 4.1.2
-
- cli-cursor@5.0.0:
- dependencies:
- restore-cursor: 5.1.0
-
- cli-spinners@2.9.2: {}
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- commander@13.1.0: {}
-
- commandkit@1.2.0-rc.7(typescript@5.9.2):
- dependencies:
- '@rollup/plugin-json': 6.1.0
- chokidar: 4.0.3
- commander: 13.1.0
- directive-to-hof: 0.0.2
- dotenv: 16.6.1
- ms: 2.1.3
- ora: 8.2.0
- picocolors: 1.1.1
- rfdc: 1.4.1
- rimraf: 6.0.1
- tsdown: 0.14.2(typescript@5.9.2)
- use-macro: 1.1.0
- transitivePeerDependencies:
- - '@arethetypeswrong/core'
- - '@typescript/native-preview'
- - oxc-resolver
- - publint
- - rollup
- - supports-color
- - typescript
- - unplugin-lightningcss
- - unplugin-unused
- - vue-tsc
-
- convert-source-map@2.0.0: {}
-
- cross-env@10.0.0:
- dependencies:
- '@epic-web/invariant': 1.0.0
- cross-spawn: 7.0.6
-
- cross-spawn@7.0.6:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- debug@4.4.3:
- dependencies:
- ms: 2.1.3
-
- defu@6.1.4: {}
-
- devalue@5.3.2: {}
-
- diff@8.0.2: {}
-
- directive-to-hof@0.0.2:
- dependencies:
- '@babel/core': 7.28.4
- '@babel/generator': 7.28.3
- '@babel/parser': 7.28.4
- '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- '@types/babel__core': 7.20.5
- transitivePeerDependencies:
- - supports-color
-
- discord-api-types@0.38.24: {}
-
- discord.js@14.22.1:
- dependencies:
- '@discordjs/builders': 1.11.3
- '@discordjs/collection': 1.5.3
- '@discordjs/formatters': 0.6.1
- '@discordjs/rest': 2.6.0
- '@discordjs/util': 1.1.1
- '@discordjs/ws': 1.2.3
- '@sapphire/snowflake': 3.5.3
- discord-api-types: 0.38.24
- fast-deep-equal: 3.1.3
- lodash.snakecase: 4.1.1
- magic-bytes.js: 1.12.1
- tslib: 2.8.1
- undici: 6.21.3
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
-
- dotenv@16.6.1: {}
-
- dts-resolver@2.1.2: {}
-
- eastasianwidth@0.2.0: {}
-
- electron-to-chromium@1.5.218: {}
-
- emoji-regex@10.5.0: {}
-
- emoji-regex@8.0.0: {}
-
- emoji-regex@9.2.2: {}
-
- empathic@2.0.0: {}
-
- escalade@3.2.0: {}
-
- estree-walker@2.0.2: {}
-
- fast-deep-equal@3.1.3: {}
-
- fdir@6.5.0(picomatch@4.0.3):
- optionalDependencies:
- picomatch: 4.0.3
-
- foreground-child@3.3.1:
- dependencies:
- cross-spawn: 7.0.6
- signal-exit: 4.1.0
-
- gensync@1.0.0-beta.2: {}
-
- get-east-asian-width@1.4.0: {}
-
- get-tsconfig@4.10.1:
- dependencies:
- resolve-pkg-maps: 1.0.0
-
- glob@11.0.3:
- dependencies:
- foreground-child: 3.3.1
- jackspeak: 4.1.1
- minimatch: 10.0.3
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 2.0.0
-
- hookable@5.5.3: {}
-
- is-fullwidth-code-point@3.0.0: {}
-
- is-interactive@2.0.0: {}
-
- is-unicode-supported@1.3.0: {}
-
- is-unicode-supported@2.1.0: {}
-
- isexe@2.0.0: {}
-
- jackspeak@4.1.1:
- dependencies:
- '@isaacs/cliui': 8.0.2
-
- jiti@2.5.1: {}
-
- js-tokens@4.0.0: {}
-
- jsesc@3.1.0: {}
-
- json5@2.2.3: {}
-
- lodash.snakecase@4.1.1: {}
-
- lodash@4.17.21: {}
-
- log-symbols@6.0.0:
- dependencies:
- chalk: 5.6.2
- is-unicode-supported: 1.3.0
-
- lru-cache@11.2.1: {}
-
- lru-cache@5.1.1:
- dependencies:
- yallist: 3.1.1
-
- magic-bytes.js@1.12.1: {}
-
- mimic-function@5.0.1: {}
-
- minimatch@10.0.3:
- dependencies:
- '@isaacs/brace-expansion': 5.0.0
-
- minipass@7.1.2: {}
-
- ms@2.1.3: {}
-
- node-releases@2.0.21: {}
-
- onetime@7.0.0:
- dependencies:
- mimic-function: 5.0.1
-
- ora@8.2.0:
- dependencies:
- chalk: 5.6.2
- cli-cursor: 5.0.0
- cli-spinners: 2.9.2
- is-interactive: 2.0.0
- is-unicode-supported: 2.1.0
- log-symbols: 6.0.0
- stdin-discarder: 0.2.2
- string-width: 7.2.0
- strip-ansi: 7.1.2
-
- package-json-from-dist@1.0.1: {}
-
- path-key@3.1.1: {}
-
- path-scurry@2.0.0:
- dependencies:
- lru-cache: 11.2.1
- minipass: 7.1.2
-
- pathe@2.0.3: {}
-
- picocolors@1.1.1: {}
-
- picomatch@4.0.3: {}
-
- prettier@3.6.2: {}
-
- quansync@0.2.11: {}
-
- readdirp@4.1.2: {}
-
- resolve-pkg-maps@1.0.0: {}
-
- restore-cursor@5.1.0:
- dependencies:
- onetime: 7.0.0
- signal-exit: 4.1.0
-
- rfdc@1.4.1: {}
-
- rimraf@6.0.1:
- dependencies:
- glob: 11.0.3
- package-json-from-dist: 1.0.1
-
- rolldown-plugin-dts@0.15.10(rolldown@1.0.0-beta.37)(typescript@5.9.2):
- dependencies:
- '@babel/generator': 7.28.3
- '@babel/parser': 7.28.4
- '@babel/types': 7.28.4
- ast-kit: 2.1.2
- birpc: 2.5.0
- debug: 4.4.3
- dts-resolver: 2.1.2
- get-tsconfig: 4.10.1
- rolldown: 1.0.0-beta.37
- optionalDependencies:
- typescript: 5.9.2
- transitivePeerDependencies:
- - oxc-resolver
- - supports-color
-
- rolldown@1.0.0-beta.37:
- dependencies:
- '@oxc-project/runtime': 0.87.0
- '@oxc-project/types': 0.87.0
- '@rolldown/pluginutils': 1.0.0-beta.37
- ansis: 4.1.0
- optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-beta.37
- '@rolldown/binding-darwin-arm64': 1.0.0-beta.37
- '@rolldown/binding-darwin-x64': 1.0.0-beta.37
- '@rolldown/binding-freebsd-x64': 1.0.0-beta.37
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.37
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.37
- '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.37
- '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.37
- '@rolldown/binding-linux-x64-musl': 1.0.0-beta.37
- '@rolldown/binding-openharmony-arm64': 1.0.0-beta.37
- '@rolldown/binding-wasm32-wasi': 1.0.0-beta.37
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.37
- '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.37
- '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.37
-
- semver@6.3.1: {}
-
- semver@7.7.2: {}
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- signal-exit@4.1.0: {}
-
- stdin-discarder@0.2.2: {}
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.2
-
- string-width@7.2.0:
- dependencies:
- emoji-regex: 10.5.0
- get-east-asian-width: 1.4.0
- strip-ansi: 7.1.2
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.2:
- dependencies:
- ansi-regex: 6.2.2
-
- tinyexec@1.0.1: {}
-
- tinyglobby@0.2.15:
- dependencies:
- fdir: 6.5.0(picomatch@4.0.3)
- picomatch: 4.0.3
-
- tree-kill@1.2.2: {}
-
- ts-mixer@6.0.4: {}
-
- tsdown@0.14.2(typescript@5.9.2):
- dependencies:
- ansis: 4.1.0
- cac: 6.7.14
- chokidar: 4.0.3
- debug: 4.4.3
- diff: 8.0.2
- empathic: 2.0.0
- hookable: 5.5.3
- rolldown: 1.0.0-beta.37
- rolldown-plugin-dts: 0.15.10(rolldown@1.0.0-beta.37)(typescript@5.9.2)
- semver: 7.7.2
- tinyexec: 1.0.1
- tinyglobby: 0.2.15
- tree-kill: 1.2.2
- unconfig: 7.3.3
- optionalDependencies:
- typescript: 5.9.2
- transitivePeerDependencies:
- - '@typescript/native-preview'
- - oxc-resolver
- - supports-color
- - vue-tsc
-
- tslib@2.8.1: {}
-
- typescript@5.9.2: {}
-
- unconfig@7.3.3:
- dependencies:
- '@quansync/fs': 0.1.5
- defu: 6.1.4
- jiti: 2.5.1
- quansync: 0.2.11
-
- undici-types@7.10.0: {}
-
- undici@6.21.3: {}
-
- update-browserslist-db@1.1.3(browserslist@4.26.0):
- dependencies:
- browserslist: 4.26.0
- escalade: 3.2.0
- picocolors: 1.1.1
-
- use-macro@1.1.0:
- dependencies:
- '@babel/core': 7.28.4
- '@babel/generator': 7.28.3
- '@babel/parser': 7.28.4
- '@babel/preset-typescript': 7.27.1(@babel/core@7.28.4)
- '@babel/traverse': 7.28.4
- '@babel/types': 7.28.4
- '@types/babel__core': 7.20.5
- devalue: 5.3.2
- transitivePeerDependencies:
- - supports-color
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.3
- string-width: 5.1.2
- strip-ansi: 7.1.2
-
- ws@8.18.3: {}
-
- yallist@3.1.1: {}
diff --git a/packages/create-commandkit/README.md b/packages/create-commandkit/README.md
index 707770a3..8a6cde33 100644
--- a/packages/create-commandkit/README.md
+++ b/packages/create-commandkit/README.md
@@ -14,6 +14,9 @@ create-commandkit is a CLI utility to quickly instantiate a Discord bot with Com
- Interactive, beautiful command-line interface 🖥️
- Supports CommonJS and ES Modules 📦
+- Dynamic template system with examples from GitHub 🚀
+- Support for all major package managers (npm, pnpm, yarn, bun, deno) 📦
+- TypeScript and JavaScript support 🔧
## Documentation
@@ -21,12 +24,75 @@ You can find the full documentation [here](https://commandkit.dev).
## Usage
-Run the following command in your terminal:
+### Basic Usage
```sh
npx create-commandkit@latest
```
+### With Project Name
+
+```sh
+npx create-commandkit@latest my-bot
+```
+
+### Using Examples
+
+```sh
+# Use a curated example
+npx create-commandkit@latest --example with-database
+
+# Use a custom GitHub repository
+npx create-commandkit@latest --example "https://github.com/user/repo"
+
+# Use a specific path within a repository
+npx create-commandkit@latest --example "https://github.com/user/repo" --example-path "examples/bot"
+```
+
+### CLI Options
+
+- `-h, --help` - Show all available options
+- `-v, --version` - Output the version number
+- `-e, --example ` - An example to bootstrap the app with
+- `--example-path ` - Specify the path to the example separately
+- `--use-npm` - Use npm as package manager
+- `--use-pnpm` - Use pnpm as package manager
+- `--use-yarn` - Use yarn as package manager
+- `--use-bun` - Use bun as package manager
+- `--use-deno` - Use deno as package manager
+- `--skip-install` - Skip installing packages
+- `--no-git` - Skip git initialization
+- `--yes` - Use defaults for all options
+- `--list-examples` - List all available examples from the official repository
+
+### Available Examples
+
+
+- `basic-js` - [examples/basic-js](https://github.com/underctrl-io/commandkit/tree/main/examples/basic-js)
+- `basic-ts` - [examples/basic-ts](https://github.com/underctrl-io/commandkit/tree/main/examples/basic-ts)
+- `deno-ts` - [examples/deno-ts](https://github.com/underctrl-io/commandkit/tree/main/examples/deno-ts)
+- `without-cli` - [examples/without-cli](https://github.com/underctrl-io/commandkit/tree/main/examples/without-cli)
+
+
+### Examples
+
+```sh
+# Create a bot with database example, skip installation
+npx create-commandkit@latest --example with-database --skip-install
+
+# Create a bot with all defaults (no prompts)
+npx create-commandkit@latest --yes
+
+# Create a bot from custom repository
+npx create-commandkit@latest --example "https://github.com/username/my-commandkit-template"
+
+# Create a bot with pnpm
+npx create-commandkit@latest --use-pnpm
+
+# List all available examples
+npx create-commandkit@latest --list-examples
+```
+
## Support and Suggestions
Submit any queries or suggestions in our [Discord community](https://ctrl.lol/discord).
\ No newline at end of file
diff --git a/packages/create-commandkit/package.json b/packages/create-commandkit/package.json
index 66fbd2da..5a8d516a 100644
--- a/packages/create-commandkit/package.json
+++ b/packages/create-commandkit/package.json
@@ -30,20 +30,25 @@
"scripts": {
"check-types": "tsc --noEmit",
"dev": "tsc --watch",
- "build": "tsc"
+ "build": "tsc && tsx scripts/sync-available-examples.ts"
},
"dependencies": {
"@clack/prompts": "^0.11.0",
+ "commander": "^14.0.1",
"fs-extra": "^11.1.1",
"gradient-string": "^3.0.0",
"ora": "^8.0.1",
- "picocolors": "^1.1.1"
+ "picocolors": "^1.1.1",
+ "tiged": "^2.12.7",
+ "validate-npm-package-name": "^6.0.2"
},
"devDependencies": {
"@types/fs-extra": "^11.0.4",
"@types/gradient-string": "^1.1.5",
"@types/node": "^22.0.0",
+ "@types/validate-npm-package-name": "^4.0.2",
"tsconfig": "workspace:*",
+ "tsx": "^4.20.6",
"typescript": "catalog:build"
}
-}
+}
\ No newline at end of file
diff --git a/packages/create-commandkit/scripts/sync-available-examples.ts b/packages/create-commandkit/scripts/sync-available-examples.ts
new file mode 100644
index 00000000..cc6338c5
--- /dev/null
+++ b/packages/create-commandkit/scripts/sync-available-examples.ts
@@ -0,0 +1,34 @@
+import path from 'node:path';
+import fs from 'node:fs';
+
+const BEGIN_MARKER = '';
+const END_MARKER = '';
+
+const README_PATH = path.join(import.meta.dirname, '..', 'README.md');
+const README_CONTENT = fs.readFileSync(README_PATH, 'utf8');
+
+function insertBetween(content: string) {
+ const availableExamples = fs.readdirSync(
+ path.join(import.meta.dirname, '..', '..', '..', 'examples'),
+ );
+
+ const examples = availableExamples
+ .map(
+ (example) =>
+ `- \`${example}\` - [examples/${example}](https://github.com/underctrl-io/commandkit/tree/main/examples/${example})`,
+ )
+ .join('\n');
+
+ const between = `${BEGIN_MARKER}\n${examples}\n${END_MARKER}`;
+ const newContent = [
+ content.split(BEGIN_MARKER)[0],
+ between,
+ content.split(END_MARKER)[1],
+ ].join('');
+
+ return newContent;
+}
+
+const newContent = insertBetween(README_CONTENT);
+
+fs.writeFileSync(README_PATH, newContent);
diff --git a/packages/create-commandkit/src/cli.ts b/packages/create-commandkit/src/cli.ts
new file mode 100644
index 00000000..f375abe4
--- /dev/null
+++ b/packages/create-commandkit/src/cli.ts
@@ -0,0 +1,59 @@
+import { Command } from 'commander';
+import type { CLIOptions } from './types.js';
+
+export function parseCLI(): CLIOptions {
+ const program = new Command();
+
+ program
+ .name('create-commandkit')
+ .description('Effortlessly create a CommandKit project')
+ .version(process.env.npm_package_version || '1.0.0')
+ .argument('[project-directory]', 'Project directory name')
+ .option('-h, --help', 'Show all available options')
+ .option('-v, --version', 'Output the version number')
+ .option(
+ '-e, --example ',
+ 'An example to bootstrap the app with',
+ )
+ .option(
+ '--example-path ',
+ 'Specify the path to the example separately',
+ )
+ .option('--use-npm', 'Explicitly tell the CLI to bootstrap using npm')
+ .option('--use-pnpm', 'Explicitly tell the CLI to bootstrap using pnpm')
+ .option('--use-yarn', 'Explicitly tell the CLI to bootstrap using yarn')
+ .option('--use-bun', 'Explicitly tell the CLI to bootstrap using bun')
+ .option('--use-deno', 'Explicitly tell the CLI to bootstrap using deno')
+ .option(
+ '--skip-install',
+ 'Explicitly tell the CLI to skip installing packages',
+ )
+ .option('--no-git', 'Explicitly tell the CLI to disable git initialization')
+ .option('--yes', 'Use previous preferences or defaults for all options')
+ .option(
+ '--list-examples',
+ 'List all available examples from the official repository',
+ );
+
+ program.parse();
+
+ const options = program.opts();
+ const args = program.args;
+
+ return {
+ help: options.help,
+ version: options.version,
+ example: options.example,
+ examplePath: options.examplePath,
+ useNpm: options.useNpm,
+ usePnpm: options.usePnpm,
+ useYarn: options.useYarn,
+ useBun: options.useBun,
+ useDeno: options.useDeno,
+ skipInstall: options.skipInstall,
+ noGit: options.noGit,
+ yes: options.yes,
+ listExamples: options.listExamples,
+ projectDirectory: args[0],
+ };
+}
diff --git a/packages/create-commandkit/src/functions/copyTemplates.ts b/packages/create-commandkit/src/functions/copyTemplates.ts
deleted file mode 100644
index 5653b85e..00000000
--- a/packages/create-commandkit/src/functions/copyTemplates.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import fs from 'fs-extra';
-import path from 'node:path';
-import type { Language } from '../types';
-
-const templates = {
- js: path.join(import.meta.dirname, '..', '..', 'templates', 'JavaScript'),
- ts: path.join(import.meta.dirname, '..', '..', 'templates', 'TypeScript'),
-};
-
-const gitignore = `
-# dependencies
-node_modules
-
-# build output
-build
-out
-dist
-
-# commandkit
-.commandkit
-dist
-compiled-commandkit.config.mjs
-
-# env
-**/*.env*
-!**/*.env.example*
-
-# logging
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-.pnpm-debug.log*
-
-# yarn v2+
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
-# other
-**/*.DS_Store
-`;
-
-export async function copyTemplates({
- dir,
- lang,
-}: {
- lang: Language;
- dir: string;
-}) {
- await fs.copy(templates[lang], dir);
- await fs.writeFile(path.join(dir, '.gitignore'), gitignore);
-}
diff --git a/packages/create-commandkit/src/functions/fetchExample.ts b/packages/create-commandkit/src/functions/fetchExample.ts
new file mode 100644
index 00000000..c12fb519
--- /dev/null
+++ b/packages/create-commandkit/src/functions/fetchExample.ts
@@ -0,0 +1,90 @@
+import fs from 'fs-extra';
+import path from 'node:path';
+// @ts-ignore
+import { tiged } from 'tiged';
+import { validateExampleName } from './validate.js';
+
+export interface FetchExampleOptions {
+ example: string;
+ examplePath?: string;
+ targetDir: string;
+}
+
+export async function fetchExample({
+ example,
+ examplePath,
+ targetDir,
+}: FetchExampleOptions): Promise {
+ const validation = validateExampleName(example);
+ if (!validation.valid) {
+ throw new Error(validation.error);
+ }
+
+ let sourceUrl: string;
+
+ // Check if it's a GitHub URL
+ if (example.startsWith('http://') || example.startsWith('https://')) {
+ sourceUrl = example;
+ } else {
+ // Construct URL for curated examples
+ sourceUrl = `underctrl-io/commandkit/examples/${example}`;
+ }
+
+ // Create temporary directory for download
+ const tempDir = path.join(targetDir, '.temp-example');
+
+ try {
+ // Download the example
+ const emitter = tiged(sourceUrl, {
+ mode: 'tar',
+ disableCache: true,
+ });
+
+ await emitter.clone(tempDir);
+
+ // If examplePath is specified, navigate to that subdirectory
+ const sourceDir = examplePath ? path.join(tempDir, examplePath) : tempDir;
+
+ if (examplePath && !fs.existsSync(sourceDir)) {
+ throw new Error(
+ `Example path '${examplePath}' not found in the repository`,
+ );
+ }
+
+ // Copy contents to target directory
+ const contents = fs.readdirSync(sourceDir);
+
+ for (const item of contents) {
+ const srcPath = path.join(sourceDir, item);
+ const destPath = path.join(targetDir, item);
+
+ if (fs.statSync(srcPath).isDirectory()) {
+ await fs.copy(srcPath, destPath);
+ } else {
+ await fs.copy(srcPath, destPath);
+ }
+ }
+
+ // Clean up temporary directory
+ await fs.remove(tempDir);
+ } catch (error) {
+ // Clean up on error
+ if (fs.existsSync(tempDir)) {
+ await fs.remove(tempDir);
+ }
+
+ if (error instanceof Error) {
+ if (
+ error.message.includes('not found') ||
+ error.message.includes('404')
+ ) {
+ throw new Error(
+ `Example '${example}' not found. Available examples: basic-ts, basic-js, with-database, with-i18n`,
+ );
+ }
+ throw new Error(`Failed to fetch example: ${error.message}`);
+ }
+
+ throw new Error('Failed to fetch example due to an unknown error');
+ }
+}
diff --git a/packages/create-commandkit/src/functions/installDeps.ts b/packages/create-commandkit/src/functions/installDeps.ts
deleted file mode 100644
index 047d3393..00000000
--- a/packages/create-commandkit/src/functions/installDeps.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import { type IOType, execSync } from 'node:child_process';
-import ora from 'ora';
-
-import type { Language, PackageManager } from '../types';
-import { getCommandKitVersion } from '../utils.js';
-
-const getBaseDependencies = () => [
- `commandkit${getCommandKitVersion()}`,
- 'discord.js',
-];
-
-const getDependencies = () => ({
- js: {
- dependencies: getBaseDependencies(),
- devDependencies: ['@types/node', 'typescript', 'prettier'],
- },
- ts: {
- dependencies: getBaseDependencies(),
- devDependencies: ['@types/node', 'typescript', 'prettier'],
- },
-});
-
-interface InstallDepsProps {
- manager: PackageManager;
- dir: string;
- lang: Language;
- stdio: IOType;
-}
-
-function getInstallCommand(
- manager: PackageManager,
- deps: string[],
- dev = false,
-) {
- switch (manager) {
- case 'npm':
- case 'pnpm':
- case 'yarn':
- case 'bun':
- return `${manager} add ${dev ? '-D' : ''} ${deps.join(' ')}`;
- case 'deno':
- return `deno add ${dev ? '--dev' : ''} ${deps.map((d) => `npm:${d}`).join(' ')}`;
- default:
- return manager satisfies never;
- }
-}
-
-export function installDeps({
- manager,
- dir,
- lang,
- stdio = 'inherit',
-}: InstallDepsProps) {
- const spinner = ora('Installing dependencies...').start();
-
- try {
- const dependencies = getDependencies();
-
- if (dependencies[lang].dependencies.length) {
- const depsCommand = getInstallCommand(
- manager,
- dependencies[lang].dependencies,
- );
-
- execSync(depsCommand, { cwd: dir, stdio });
- }
-
- if (dependencies[lang].devDependencies.length) {
- const devDepsCommand = getInstallCommand(
- manager,
- dependencies[lang].devDependencies,
- true,
- );
-
- execSync(devDepsCommand, { cwd: dir, stdio });
- }
-
- spinner.succeed('Dependencies installed successfully!');
- } catch (error) {
- spinner.fail('Failed to install dependencies');
- throw error;
- }
-}
diff --git a/packages/create-commandkit/src/functions/setup.ts b/packages/create-commandkit/src/functions/setup.ts
deleted file mode 100644
index 6db00a8d..00000000
--- a/packages/create-commandkit/src/functions/setup.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-import { type IOType, execSync } from 'child_process';
-import fs from 'fs-extra';
-import path from 'node:path';
-
-import type { PackageManager } from '../types';
-import { commands } from '../utils.js';
-
-interface SetupProps {
- manager: PackageManager;
- token: string;
- dir: string;
- stdio?: IOType;
-}
-
-export async function setup({
- manager,
- token,
- dir,
- stdio = 'pipe',
-}: SetupProps) {
- await fs.emptyDir(dir);
-
- if (manager === 'yarn') {
- execSync(commands.init.yarn, { cwd: dir, stdio });
- }
-
- if (manager === 'deno') {
- const denoJsonPath = path.join(dir, 'deno.json');
- const denoJson = {
- compilerOptions: {
- jsx: 'react-jsx',
- jsxImportSource: 'commandkit',
- },
- nodeModulesDir: 'auto',
- lock: true,
- lint: {
- include: ['src/'],
- exclude: ['node_modules/', 'dist/', '.commandkit/'],
- },
- fmt: {
- useTabs: false,
- lineWidth: 120,
- indentWidth: 2,
- endOfLine: 'lf',
- semiColons: true,
- singleQuote: true,
- include: ['src/'],
- exclude: ['node_modules/', 'dist/', '.commandkit/'],
- },
- };
-
- await fs.writeJSON(denoJsonPath, denoJson, { spaces: 2, EOL: '\n' });
- }
-
- const prettierrc = path.join(dir, '.prettierrc');
-
- const prettierConfig = {
- printWidth: 120,
- tabWidth: 2,
- useTabs: false,
- semi: true,
- endOfLine: 'lf',
- singleQuote: true,
- trailingComma: 'all',
- arrowParens: 'always',
- };
-
- await fs.writeJSON(prettierrc, prettierConfig, { spaces: 2, EOL: '\n' });
-
- const packageJsonPath = path.join(dir, 'package.json');
-
- const packageJson = {
- name:
- dir.replaceAll('\\', '/').split('/').pop()?.toLowerCase() ||
- 'commandkit-project',
- description: 'A CommandKit project',
- version: '0.1.0',
- type: 'module',
- private: true,
- main: 'dist/index.js',
- scripts: {
- dev: 'commandkit dev',
- build: 'commandkit build',
- start: 'commandkit start',
- format: 'prettier --write "src/**/*.{js,ts}"',
- },
- devDependencies: {},
- dependencies: {},
- };
-
- await fs.writeJSON(packageJsonPath, packageJson, { spaces: 2 });
-
- await fs.writeFile(`${dir}/.env`, `DISCORD_TOKEN="${token || ''}"`);
-}
diff --git a/packages/create-commandkit/src/functions/validate.ts b/packages/create-commandkit/src/functions/validate.ts
new file mode 100644
index 00000000..84fa812e
--- /dev/null
+++ b/packages/create-commandkit/src/functions/validate.ts
@@ -0,0 +1,91 @@
+import fs from 'fs-extra';
+import path from 'node:path';
+import validateNpmPackageName from 'validate-npm-package-name';
+
+export function validateProjectName(name: string): {
+ valid: boolean;
+ error?: string;
+} {
+ const result = validateNpmPackageName(name);
+
+ if (!result.validForNewPackages) {
+ const errors = result.errors || [];
+ const warnings = result.warnings || [];
+ const allIssues = [...errors, ...warnings];
+
+ return {
+ valid: false,
+ error: allIssues.length > 0 ? allIssues[0] : 'Invalid project name',
+ };
+ }
+
+ return { valid: true };
+}
+
+export function validateDirectory(dir: string): {
+ valid: boolean;
+ error?: string;
+} {
+ const resolvedDir = path.resolve(process.cwd(), dir);
+
+ try {
+ const exists = fs.existsSync(resolvedDir);
+
+ if (!exists) {
+ return { valid: true };
+ }
+
+ const contents = fs.readdirSync(resolvedDir);
+ const isEmpty = contents.length === 0;
+
+ if (!isEmpty) {
+ return {
+ valid: false,
+ error: 'Directory is not empty!',
+ };
+ }
+
+ return { valid: true };
+ } catch (error) {
+ return {
+ valid: false,
+ error: 'Unable to access directory',
+ };
+ }
+}
+
+export function validateExampleName(example: string): {
+ valid: boolean;
+ error?: string;
+} {
+ // Check if it's a GitHub URL
+ if (example.startsWith('http://') || example.startsWith('https://')) {
+ try {
+ const url = new URL(example);
+ if (url.hostname === 'github.com' || url.hostname === 'www.github.com') {
+ return { valid: true };
+ }
+ return {
+ valid: false,
+ error: 'Only GitHub URLs are supported',
+ };
+ } catch {
+ return {
+ valid: false,
+ error: 'Invalid URL format',
+ };
+ }
+ }
+
+ // Check if it's a valid example name (alphanumeric, hyphens, underscores)
+ const exampleNameRegex = /^[a-zA-Z0-9-_]+$/;
+ if (!exampleNameRegex.test(example)) {
+ return {
+ valid: false,
+ error:
+ 'Example name can only contain letters, numbers, hyphens, and underscores',
+ };
+ }
+
+ return { valid: true };
+}
diff --git a/packages/create-commandkit/src/index.ts b/packages/create-commandkit/src/index.ts
index 0dfe3e7f..26624ee8 100755
--- a/packages/create-commandkit/src/index.ts
+++ b/packages/create-commandkit/src/index.ts
@@ -1,125 +1,254 @@
#!/usr/bin/env node
console.clear();
-import { confirm, intro, outro, password, select, text } from '@clack/prompts';
+import { confirm, intro, outro, password, text } from '@clack/prompts';
import fs from 'fs-extra';
import gradient from 'gradient-string';
import { execSync } from 'node:child_process';
import path from 'node:path';
import colors from 'picocolors';
-import { copyTemplates } from './functions/copyTemplates.js';
-import { installDeps } from './functions/installDeps.js';
-import { setup } from './functions/setup.js';
-import type { Language, PackageManager } from './types';
-import { detectPackageManager, textColors } from './utils.js';
+import { parseCLI } from './cli.js';
+import { fetchExample } from './functions/fetchExample.js';
+import {
+ validateDirectory,
+ validateProjectName,
+} from './functions/validate.js';
+import {
+ fetchAvailableExamples,
+ getDefaultExample,
+ getInstallCommand,
+ isOfficialExample,
+ resolvePackageManager,
+ textColors,
+} from './utils.js';
-const commandkitGradient = gradient(textColors.commandkit)('CommandKit');
+async function main() {
+ const cliOptions = parseCLI();
-intro(`Welcome to ${commandkitGradient}!`);
+ // Handle help and version flags
+ if (cliOptions.help) {
+ console.log(`
+Usage: create-commandkit [options] [project-directory]
-const dir = path.resolve(
- process.cwd(),
- (await text({
- message: 'Enter a project directory:',
- placeholder: 'Leave blank for current directory',
- defaultValue: '.',
- validate: (value) => {
- value = path.resolve(process.cwd(), value);
- let isEmpty;
+Options:
+ -h, --help Show all available options
+ -v, --version Output the version number
+ -e, --example An example to bootstrap the app with
+ --example-path Specify the path to the example separately
+ --use-npm Explicitly tell the CLI to bootstrap using npm
+ --use-pnpm Explicitly tell the CLI to bootstrap using pnpm
+ --use-yarn Explicitly tell the CLI to bootstrap using yarn
+ --use-bun Explicitly tell the CLI to bootstrap using bun
+ --use-deno Explicitly tell the CLI to bootstrap using deno
+ --skip-install Explicitly tell the CLI to skip installing packages
+ --no-git Explicitly tell the CLI to disable git initialization
+ --yes Use previous preferences or defaults for all options
+ --list-examples List all available examples from the official repository
- try {
- const contents = fs.readdirSync(value);
- isEmpty = contents.length === 0;
- } catch {
- isEmpty = true;
+Examples:
+ npx create-commandkit@latest
+ npx create-commandkit@latest my-bot
+ npx create-commandkit@latest --example with-database
+ npx create-commandkit@latest --example "https://github.com/user/repo" --example-path "examples/bot"
+ npx create-commandkit@latest --use-pnpm --yes
+ npx create-commandkit@latest --list-examples
+`);
+ process.exit(0);
+ }
+
+ if (cliOptions.version) {
+ console.log(process.env.npm_package_version || '1.0.0');
+ process.exit(0);
+ }
+
+ // Handle list examples flag
+ if (cliOptions.listExamples) {
+ console.log(colors.cyan('Fetching available examples...'));
+
+ try {
+ const examples = await fetchAvailableExamples();
+
+ console.log(colors.green('\nAvailable examples:'));
+ console.log('');
+
+ for (const example of examples) {
+ console.log(` ${colors.magenta(example)}`);
}
- return isEmpty ? undefined : 'Directory is not empty!';
- },
- })) as string,
-);
-
-const manager = (await select({
- message: 'Select a package manager:',
- initialValue: detectPackageManager(),
- options: [
- { label: 'npm', value: 'npm' },
- { label: 'pnpm', value: 'pnpm' },
- { label: 'yarn', value: 'yarn' },
- { label: 'bun', value: 'bun' },
- { label: 'deno', value: 'deno' },
- ],
-})) as PackageManager;
-
-const lang = (await select({
- message: 'Select the language to use:',
- initialValue: 'ts' as Language,
- options: [
- { label: 'TypeScript', value: 'ts' },
- { label: 'JavaScript', value: 'js' },
- ],
-})) as Language;
-
-const token = (await password({
- message: 'Enter your Discord bot token (stored in .env, optional):',
- mask: colors.gray('*'),
-})) as string;
-
-const gitInit = await confirm({
- message: 'Initialize a git repository?',
- initialValue: true,
-});
+ console.log('');
+ console.log(
+ colors.gray(
+ 'Usage: npx create-commandkit@latest --example ',
+ ),
+ );
+ console.log(
+ colors.gray(
+ 'Example: npx create-commandkit@latest --example with-database',
+ ),
+ );
+ } catch (error) {
+ console.error(
+ colors.red(
+ 'Failed to fetch examples list. Please check your internet connection.',
+ ),
+ );
+ process.exit(1);
+ }
-outro(colors.cyan('Setup complete.'));
+ process.exit(0);
+ }
-await setup({
- manager,
- dir,
- token,
-});
+ const commandkitGradient = gradient(textColors.commandkit)('CommandKit');
+ intro(`Welcome to ${commandkitGradient}!`);
+
+ // Determine project directory
+ let projectDir: string;
+ if (cliOptions.projectDirectory) {
+ projectDir = path.resolve(process.cwd(), cliOptions.projectDirectory);
+
+ // Validate project name if provided
+ const projectName = path.basename(projectDir);
+ const nameValidation = validateProjectName(projectName);
+ if (!nameValidation.valid) {
+ console.error(colors.red(`Error: ${nameValidation.error}`));
+ process.exit(1);
+ }
+ } else if (cliOptions.yes) {
+ projectDir = path.resolve(process.cwd(), 'commandkit-project');
+ } else {
+ projectDir = path.resolve(
+ process.cwd(),
+ (await text({
+ message: 'Enter a project directory:',
+ placeholder: 'Leave blank for current directory',
+ defaultValue: '.',
+ validate: (value) => {
+ value = path.resolve(process.cwd(), value);
+ const validation = validateDirectory(value);
+ return validation.valid ? undefined : validation.error;
+ },
+ })) as string,
+ );
+ }
+
+ // Validate directory
+ const dirValidation = validateDirectory(projectDir);
+ if (!dirValidation.valid) {
+ console.error(colors.red(`Error: ${dirValidation.error}`));
+ process.exit(1);
+ }
-await copyTemplates({ dir, lang });
+ // Determine package manager
+ const manager = resolvePackageManager(cliOptions);
-if (gitInit) {
+ // Get Discord token
+ let token: string;
+ if (cliOptions.yes) {
+ token = '';
+ } else {
+ token = (await password({
+ message: 'Enter your Discord bot token (stored in .env, optional):',
+ mask: colors.gray('*'),
+ })) as string;
+ }
+
+ // Determine git initialization
+ const gitInit = cliOptions.noGit
+ ? false
+ : cliOptions.yes
+ ? true
+ : await confirm({
+ message: 'Initialize a git repository?',
+ initialValue: true,
+ });
+
+ outro(colors.cyan('Setup complete.'));
+
+ // Fetch example from GitHub
try {
- execSync('git init', { cwd: dir, stdio: 'pipe' });
+ const example = cliOptions.example || getDefaultExample(cliOptions);
+ await fetchExample({
+ example,
+ examplePath: cliOptions.examplePath,
+ targetDir: projectDir,
+ });
+ // Create .env file with token
+ await fs.writeFile(`${projectDir}/.env`, `DISCORD_TOKEN="${token || ''}"`);
+
+ // Install packages for official examples
+ if (isOfficialExample(example) && !cliOptions.skipInstall) {
+ console.log(
+ colors.cyan('Installing dependencies for official example...'),
+ );
+
+ try {
+ // Install dependencies
+ const depsCommand = getInstallCommand(manager, [
+ 'commandkit@rc',
+ 'discord.js',
+ ]);
+ execSync(depsCommand, { cwd: projectDir, stdio: 'pipe' });
+
+ // Install dev dependencies
+ const devDepsCommand = getInstallCommand(
+ manager,
+ ['typescript', '@types/node'],
+ true,
+ );
+ execSync(devDepsCommand, { cwd: projectDir, stdio: 'pipe' });
+
+ console.log(colors.green('Dependencies installed successfully!'));
+ } catch (error) {
+ console.log(
+ colors.yellow(
+ 'Warning: Failed to install dependencies. You may need to install them manually.',
+ ),
+ );
+ }
+ }
} catch (error) {
- console.log(
- colors.yellow(
- 'Warning: Git initialization failed. Make sure Git is installed on your system.',
+ console.error(
+ colors.red(
+ `Error fetching example: ${error instanceof Error ? error.message : 'Unknown error'}`,
),
);
+ process.exit(1);
}
-}
-
-installDeps({
- dir,
- manager,
- lang,
- stdio: 'pipe',
-});
-const command = (cmd: string) => {
- switch (manager) {
- case 'npm':
- // bun build runs bundler instead of the build script
- case 'bun':
- return `${manager} run ${cmd}`;
- case 'pnpm':
- case 'yarn':
- return `${manager} ${cmd}`;
- case 'deno':
- return `deno task ${cmd}`;
- default:
- return manager satisfies never;
+ // Initialize git if requested
+ if (gitInit) {
+ try {
+ execSync('git init', { cwd: projectDir, stdio: 'pipe' });
+ } catch (error) {
+ console.log(
+ colors.yellow(
+ 'Warning: Git initialization failed. Make sure Git is installed on your system.',
+ ),
+ );
+ }
}
-};
-console.log(
- `${gradient(textColors.commandkit)('Thank you for choosing CommandKit!')}
+ const command = (cmd: string) => {
+ switch (manager) {
+ case 'npm':
+ // bun build runs bundler instead of the build script
+ case 'bun':
+ return `${manager} run ${cmd}`;
+ case 'pnpm':
+ case 'yarn':
+ return `${manager} ${cmd}`;
+ case 'deno':
+ return `deno task ${cmd}`;
+ default:
+ return manager satisfies never;
+ }
+ };
-To start your bot, use the following commands:
+ console.log(
+ `${gradient(textColors.commandkit)('Thank you for choosing CommandKit!')}
+
+To start your bot${projectDir !== '.' ? `, ${colors.magenta(`cd ${projectDir}`)}` : ''}${projectDir !== '.' ? ' and' : ''} use the following commands:
${colors.magenta(command('dev'))} - Run your bot in development mode
${colors.magenta(command('build'))} - Build your bot for production
${colors.magenta(command('start'))} - Run your bot in production mode
@@ -130,4 +259,14 @@ To start your bot, use the following commands:
• Discord community: ${colors.blue('https://ctrl.lol/discord')}
Happy coding! 🚀`,
-);
+ );
+}
+
+main().catch((error) => {
+ console.error(
+ colors.red(
+ `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
+ ),
+ );
+ process.exit(1);
+});
diff --git a/packages/create-commandkit/src/types.ts b/packages/create-commandkit/src/types.ts
index 4beaa26d..fa7b31ab 100644
--- a/packages/create-commandkit/src/types.ts
+++ b/packages/create-commandkit/src/types.ts
@@ -1,2 +1,18 @@
-export type Language = 'js' | 'ts';
export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun' | 'deno';
+
+export interface CLIOptions {
+ help?: boolean;
+ version?: boolean;
+ example?: string;
+ examplePath?: string;
+ useNpm?: boolean;
+ usePnpm?: boolean;
+ useYarn?: boolean;
+ useBun?: boolean;
+ useDeno?: boolean;
+ skipInstall?: boolean;
+ noGit?: boolean;
+ yes?: boolean;
+ listExamples?: boolean;
+ projectDirectory?: string;
+}
diff --git a/packages/create-commandkit/src/utils.ts b/packages/create-commandkit/src/utils.ts
index f7186739..920b395e 100644
--- a/packages/create-commandkit/src/utils.ts
+++ b/packages/create-commandkit/src/utils.ts
@@ -1,7 +1,4 @@
-import fs from 'fs-extra';
-import path from 'node:path';
-import { fileURLToPath } from 'node:url';
-import type { PackageManager } from './types';
+import type { CLIOptions, PackageManager } from './types';
export const textColors = {
commandkit: ['#fdba74', '#e4a5a2', '#c288de', '#b27bf9'],
@@ -9,12 +6,6 @@ export const textColors = {
ts: ['#2480c5', '#2480c5'],
};
-export const commands = {
- init: {
- yarn: 'yarn set version stable; yarn config set nodeLinker node-modules;',
- },
-};
-
export function detectPackageManager(): PackageManager {
const packageManager = process.env.npm_config_user_agent;
@@ -27,26 +18,99 @@ export function detectPackageManager(): PackageManager {
return 'npm';
}
-export function getCommandKitVersion(): string {
+export function getPackageManagerFromCLI(options: {
+ useNpm?: boolean;
+ usePnpm?: boolean;
+ useYarn?: boolean;
+ useBun?: boolean;
+ useDeno?: boolean;
+}): PackageManager | null {
+ if (options.useNpm) return 'npm';
+ if (options.usePnpm) return 'pnpm';
+ if (options.useYarn) return 'yarn';
+ if (options.useBun) return 'bun';
+ if (options.useDeno) return 'deno';
+
+ return null;
+}
+
+export function resolvePackageManager(cliOptions: {
+ useNpm?: boolean;
+ usePnpm?: boolean;
+ useYarn?: boolean;
+ useBun?: boolean;
+ useDeno?: boolean;
+}): PackageManager {
+ const cliManager = getPackageManagerFromCLI(cliOptions);
+ return cliManager || detectPackageManager();
+}
+
+export function getDefaultExample(cliOptions: CLIOptions): string {
+ if (cliOptions.useDeno) {
+ return 'deno-ts';
+ }
+
+ return 'basic-ts';
+}
+
+export function isOfficialExample(example: string): boolean {
+ // Check if it's a GitHub URL pointing to underctrl-io/commandkit
+ if (example.startsWith('http://') || example.startsWith('https://')) {
+ try {
+ const url = new URL(example);
+ return (
+ url.hostname === 'github.com' &&
+ url.pathname.startsWith('/underctrl-io/commandkit')
+ );
+ } catch {
+ return false;
+ }
+ }
+
+ // If it's just an example name, it's official
+ return true;
+}
+
+export function getInstallCommand(
+ manager: PackageManager,
+ deps: string[],
+ dev = false,
+): string {
+ switch (manager) {
+ case 'npm':
+ case 'pnpm':
+ case 'yarn':
+ case 'bun':
+ return `${manager} add ${dev ? '-D' : ''} ${deps.join(' ')}`;
+ case 'deno':
+ return `deno add ${dev ? '--dev' : ''} ${deps.map((d) => `npm:${d}`).join(' ')}`;
+ default:
+ return manager satisfies never;
+ }
+}
+
+export async function fetchAvailableExamples(): Promise {
try {
- const __filename = fileURLToPath(import.meta.url);
- const __dirname = path.dirname(__filename);
-
- const packageJsonPath = path.resolve(__dirname, '..', 'package.json');
- const packageJson = fs.readJsonSync(packageJsonPath);
- const currentVersion = packageJson.version as string;
-
- if (currentVersion.includes('dev.')) {
- return '@dev';
- } else if (currentVersion.includes('rc.')) {
- return '@next';
- } else {
- return '@latest';
+ const response = await fetch(
+ 'https://api.github.com/repos/underctrl-io/commandkit/contents/examples',
+ );
+
+ if (!response.ok) {
+ throw new Error(`GitHub API error: ${response.status}`);
}
+
+ const data = (await response.json()) as Array<{
+ name: string;
+ type: string;
+ }>;
+
+ // Filter for directories only and return their names
+ return data
+ .filter((item) => item.type === 'dir')
+ .map((item) => item.name)
+ .sort();
} catch (error) {
- console.warn(
- 'Could not determine create-commandkit version, defaulting to commandkit@latest',
- );
- return '@latest';
+ // Fallback to few known examples if API fails
+ return ['basic-ts', 'basic-js', 'deno-ts', 'without-cli'];
}
}
diff --git a/packages/create-commandkit/templates/JavaScript/README.md b/packages/create-commandkit/templates/JavaScript/README.md
deleted file mode 100644
index 0d64a8a7..00000000
--- a/packages/create-commandkit/templates/JavaScript/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Welcome to CommandKit
-
-> This project was generated by [create-commandkit](https://npmjs.com/package/create-commandkit).
-
-Thanks for choosing CommandKit to build your Discord bot!
-
-## To run this project
-
-```
-npx commandkit dev
-```
-
-## Useful links
-
-- [Documentation](https://commandkit.dev)
-- [Discord](https://ctrl.lol/discord)
diff --git a/packages/create-commandkit/templates/JavaScript/commandkit-env.d.ts b/packages/create-commandkit/templates/JavaScript/commandkit-env.d.ts
deleted file mode 100644
index cc2ba6df..00000000
--- a/packages/create-commandkit/templates/JavaScript/commandkit-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/packages/create-commandkit/templates/JavaScript/commandkit.config.mjs b/packages/create-commandkit/templates/JavaScript/commandkit.config.mjs
deleted file mode 100644
index 57ae7a44..00000000
--- a/packages/create-commandkit/templates/JavaScript/commandkit.config.mjs
+++ /dev/null
@@ -1,3 +0,0 @@
-import { defineConfig } from 'commandkit/config';
-
-export default defineConfig({});
diff --git a/packages/create-commandkit/templates/JavaScript/jsconfig.json b/packages/create-commandkit/templates/JavaScript/jsconfig.json
deleted file mode 100644
index 4e77fa74..00000000
--- a/packages/create-commandkit/templates/JavaScript/jsconfig.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "compilerOptions": {
- "lib": ["ESNext", "DOM"],
- "target": "ESNext",
- "moduleResolution": "Node",
- "module": "Preserve",
- "allowImportingTsExtensions": true,
- "esModuleInterop": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "skipDefaultLibCheck": true,
- "noUncheckedIndexedAccess": true,
- "removeComments": true,
- "allowJs": true,
- "checkJs": false,
- "strict": true,
- "alwaysStrict": true,
- "noEmit": true,
- "declaration": false,
- "jsx": "react-jsx",
- "jsxImportSource": "commandkit",
- "baseUrl": ".",
- "paths": {
- "@/*": ["./src/*"]
- }
- },
- "include": ["src", "commandkit.config.mjs", "commandkit-env.d.ts"],
- "exclude": ["dist", "node_modules", ".commandkit"]
-}
diff --git a/packages/create-commandkit/templates/JavaScript/src/app.js b/packages/create-commandkit/templates/JavaScript/src/app.js
deleted file mode 100644
index ed8d0d48..00000000
--- a/packages/create-commandkit/templates/JavaScript/src/app.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Client } from 'discord.js';
-
-const client = new Client({
- intents: ['Guilds', 'GuildMembers', 'GuildMessages', 'MessageContent'],
-});
-
-export default client;
diff --git a/packages/create-commandkit/templates/JavaScript/src/app/commands/ping.js b/packages/create-commandkit/templates/JavaScript/src/app/commands/ping.js
deleted file mode 100644
index 201df59d..00000000
--- a/packages/create-commandkit/templates/JavaScript/src/app/commands/ping.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * @type {import('commandkit').CommandData}
- */
-export const command = {
- name: 'ping',
- description: "Ping the bot to check if it's online.",
-};
-
-/**
- * @param {import('commandkit').ChatInputCommandContext} ctx
- */
-export const chatInput = async (ctx) => {
- const latency = (ctx.client.ws.ping ?? -1).toString();
- const response = `Pong! Latency: ${latency}ms`;
-
- await ctx.interaction.reply(response);
-};
-
-/**
- * @param {import('commandkit').MessageCommandContext} ctx
- */
-export const message = async (ctx) => {
- const latency = (ctx.client.ws.ping ?? -1).toString();
- const response = `Pong! Latency: ${latency}ms`;
-
- await ctx.message.reply(response);
-};
diff --git a/packages/create-commandkit/templates/JavaScript/src/app/events/clientReady/log.js b/packages/create-commandkit/templates/JavaScript/src/app/events/clientReady/log.js
deleted file mode 100644
index abb2fe51..00000000
--- a/packages/create-commandkit/templates/JavaScript/src/app/events/clientReady/log.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Logger } from 'commandkit/logger';
-
-/**
- * @type {import('commandkit').EventHandler<'clientReady'>}
- */
-const handler = async (client) => {
- Logger.info(`Logged in as ${client.user.username}!`);
-};
-
-export default handler;
diff --git a/packages/create-commandkit/templates/TypeScript/README.md b/packages/create-commandkit/templates/TypeScript/README.md
deleted file mode 100644
index 0d64a8a7..00000000
--- a/packages/create-commandkit/templates/TypeScript/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Welcome to CommandKit
-
-> This project was generated by [create-commandkit](https://npmjs.com/package/create-commandkit).
-
-Thanks for choosing CommandKit to build your Discord bot!
-
-## To run this project
-
-```
-npx commandkit dev
-```
-
-## Useful links
-
-- [Documentation](https://commandkit.dev)
-- [Discord](https://ctrl.lol/discord)
diff --git a/packages/create-commandkit/templates/TypeScript/commandkit-env.d.ts b/packages/create-commandkit/templates/TypeScript/commandkit-env.d.ts
deleted file mode 100644
index cc2ba6df..00000000
--- a/packages/create-commandkit/templates/TypeScript/commandkit-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/packages/create-commandkit/templates/TypeScript/commandkit.config.ts b/packages/create-commandkit/templates/TypeScript/commandkit.config.ts
deleted file mode 100644
index 57ae7a44..00000000
--- a/packages/create-commandkit/templates/TypeScript/commandkit.config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { defineConfig } from 'commandkit/config';
-
-export default defineConfig({});
diff --git a/packages/create-commandkit/templates/TypeScript/src/app.ts b/packages/create-commandkit/templates/TypeScript/src/app.ts
deleted file mode 100644
index ed8d0d48..00000000
--- a/packages/create-commandkit/templates/TypeScript/src/app.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Client } from 'discord.js';
-
-const client = new Client({
- intents: ['Guilds', 'GuildMembers', 'GuildMessages', 'MessageContent'],
-});
-
-export default client;
diff --git a/packages/create-commandkit/templates/TypeScript/src/app/commands/ping.ts b/packages/create-commandkit/templates/TypeScript/src/app/commands/ping.ts
deleted file mode 100644
index 638398b5..00000000
--- a/packages/create-commandkit/templates/TypeScript/src/app/commands/ping.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type { ChatInputCommand, MessageCommand, CommandData } from 'commandkit';
-
-export const command: CommandData = {
- name: 'ping',
- description: "Ping the bot to check if it's online.",
-};
-
-export const chatInput: ChatInputCommand = async (ctx) => {
- const latency = (ctx.client.ws.ping ?? -1).toString();
- const response = `Pong! Latency: ${latency}ms`;
-
- await ctx.interaction.reply(response);
-};
-
-export const message: MessageCommand = async (ctx) => {
- const latency = (ctx.client.ws.ping ?? -1).toString();
- const response = `Pong! Latency: ${latency}ms`;
-
- await ctx.message.reply(response);
-};
diff --git a/packages/create-commandkit/templates/TypeScript/src/app/events/clientReady/log.ts b/packages/create-commandkit/templates/TypeScript/src/app/events/clientReady/log.ts
deleted file mode 100644
index e1ff76c0..00000000
--- a/packages/create-commandkit/templates/TypeScript/src/app/events/clientReady/log.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import type { EventHandler } from 'commandkit';
-import { Logger } from 'commandkit/logger';
-
-const handler: EventHandler<'clientReady'> = async (client) => {
- Logger.info(`Logged in as ${client.user.username}!`);
-};
-
-export default handler;
diff --git a/packages/create-commandkit/templates/TypeScript/tsconfig.json b/packages/create-commandkit/templates/TypeScript/tsconfig.json
deleted file mode 100644
index 2c06b336..00000000
--- a/packages/create-commandkit/templates/TypeScript/tsconfig.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/tsconfig",
- "compilerOptions": {
- "lib": ["ESNext", "DOM"],
- "target": "ESNext",
- "moduleResolution": "Node",
- "module": "Preserve",
- "allowImportingTsExtensions": true,
- "esModuleInterop": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "skipDefaultLibCheck": true,
- "noUncheckedIndexedAccess": true,
- "removeComments": true,
- "allowJs": true,
- "strict": true,
- "alwaysStrict": true,
- "noEmit": true,
- "declaration": false,
- "jsx": "react-jsx",
- "jsxImportSource": "commandkit",
- "baseUrl": ".",
- "paths": {
- "@/*": ["./src/*"]
- }
- },
- "include": ["src", "commandkit.config.ts", "commandkit-env.d.ts"],
- "exclude": ["dist", "node_modules", ".commandkit"]
-}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c4f78500..7e5c0e54 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -330,6 +330,9 @@ importers:
'@clack/prompts':
specifier: ^0.11.0
version: 0.11.0
+ commander:
+ specifier: ^14.0.1
+ version: 14.0.1
fs-extra:
specifier: ^11.1.1
version: 11.3.2
@@ -342,6 +345,12 @@ importers:
picocolors:
specifier: ^1.1.1
version: 1.1.1
+ tiged:
+ specifier: ^2.12.7
+ version: 2.12.7
+ validate-npm-package-name:
+ specifier: ^6.0.2
+ version: 6.0.2
devDependencies:
'@types/fs-extra':
specifier: ^11.0.4
@@ -352,9 +361,15 @@ importers:
'@types/node':
specifier: ^22.0.0
version: 22.18.8
+ '@types/validate-npm-package-name':
+ specifier: ^4.0.2
+ version: 4.0.2
tsconfig:
specifier: workspace:*
version: link:../tsconfig
+ tsx:
+ specifier: ^4.20.6
+ version: 4.20.6
typescript:
specifier: catalog:build
version: 5.9.3
@@ -1950,312 +1965,156 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/aix-ppc64@0.25.9':
- resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/android-arm64@0.25.10':
resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm64@0.25.9':
- resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm@0.25.10':
resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-arm@0.25.9':
- resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-x64@0.25.10':
resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/android-x64@0.25.9':
- resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/darwin-arm64@0.25.10':
resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-arm64@0.25.9':
- resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.25.10':
resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.9':
- resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/freebsd-arm64@0.25.10':
resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-arm64@0.25.9':
- resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.25.10':
resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.9':
- resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/linux-arm64@0.25.10':
resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm64@0.25.9':
- resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm@0.25.10':
resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-arm@0.25.9':
- resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-ia32@0.25.10':
resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-ia32@0.25.9':
- resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-loong64@0.25.10':
resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-loong64@0.25.9':
- resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-mips64el@0.25.10':
resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-mips64el@0.25.9':
- resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-ppc64@0.25.10':
resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-ppc64@0.25.9':
- resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.25.10':
resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.9':
- resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-s390x@0.25.10':
resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-s390x@0.25.9':
- resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-x64@0.25.10':
resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/linux-x64@0.25.9':
- resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/netbsd-arm64@0.25.10':
resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-arm64@0.25.9':
- resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.25.10':
resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.9':
- resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/openbsd-arm64@0.25.10':
resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-arm64@0.25.9':
- resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.25.10':
resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.9':
- resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openharmony-arm64@0.25.10':
resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
- '@esbuild/openharmony-arm64@0.25.9':
- resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
'@esbuild/sunos-x64@0.25.10':
resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/sunos-x64@0.25.9':
- resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/win32-arm64@0.25.10':
resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-arm64@0.25.9':
- resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-ia32@0.25.10':
resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-ia32@0.25.9':
- resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-x64@0.25.10':
resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
- '@esbuild/win32-x64@0.25.9':
- resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@eslint-community/eslint-utils@4.9.0':
resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2479,8 +2338,8 @@ packages:
cpu: [x64]
os: [win32]
- '@napi-rs/wasm-runtime@1.0.6':
- resolution: {integrity: sha512-DXj75ewm11LIWUk198QSKUTxjyRjsBwk09MuMk5DGK+GDUtyPhhEHOGP/Xwwj3DjQXXkivoBirmOnKrLfc0+9g==}
+ '@napi-rs/wasm-runtime@1.0.7':
+ resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==}
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -3005,85 +2864,85 @@ packages:
'@radix-ui/rect@1.1.1':
resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
- '@rolldown/binding-android-arm64@1.0.0-beta.42':
- resolution: {integrity: sha512-W5ZKF3TP3bOWuBfotAGp+UGjxOkGV7jRmIRbBA7NFjggx7Oi6vOmGDqpHEIX7kDCiry1cnIsWQaxNvWbMdkvzQ==}
+ '@rolldown/binding-android-arm64@1.0.0-beta.43':
+ resolution: {integrity: sha512-TP8bcPOb1s6UmY5syhXrDn9k0XkYcw+XaoylTN4cJxf0JOVS2j682I3aTcpfT51hOFGr2bRwNKN9RZ19XxeQbA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@rolldown/binding-darwin-arm64@1.0.0-beta.42':
- resolution: {integrity: sha512-abw/wtgJA8OCgaTlL+xJxnN/Z01BwV1rfzIp5Hh9x+IIO6xOBfPsQ0nzi0+rWx3TyZ9FZXyC7bbC+5NpQ9EaXQ==}
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.43':
+ resolution: {integrity: sha512-kuVWnZsE4vEjMF/10SbSUyzucIW2zmdsqFghYMqy+fsjXnRHg0luTU6qWF8IqJf4Cbpm9NEZRnjIEPpAbdiSNQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.0.0-beta.42':
- resolution: {integrity: sha512-Y/UrZIRVr8CvXVEB88t6PeC46r1K9/QdPEo2ASE/b/KBEyXIx+QbM6kv9QfQVWU2Atly2+SVsQzxQsIvuk3lZQ==}
+ '@rolldown/binding-darwin-x64@1.0.0-beta.43':
+ resolution: {integrity: sha512-u9Ps4sh6lcmJ3vgLtyEg/x4jlhI64U0mM93Ew+tlfFdLDe7yKyA+Fe80cpr2n1mNCeZXrvTSbZluKpXQ0GxLjw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@rolldown/binding-freebsd-x64@1.0.0-beta.42':
- resolution: {integrity: sha512-zRM0oOk7BZiy6DoWBvdV4hyEg+j6+WcBZIMHVirMEZRu8hd18kZdJkg+bjVMfCEhwpWeFUfBfZ1qcaZ5UdYzlQ==}
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.43':
+ resolution: {integrity: sha512-h9lUtVtXgfbk/tnicMpbFfZ3DJvk5Zn2IvmlC1/e0+nUfwoc/TFqpfrRRqcNBXk/e+xiWMSKv6b0MF8N+Rtvlg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.42':
- resolution: {integrity: sha512-6RjFaC52QNwo7ilU8C5H7swbGlgfTkG9pudXwzr3VYyT18s0C9gLg3mvc7OMPIGqNxnQ0M5lU8j6aQCk2DTRVg==}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.43':
+ resolution: {integrity: sha512-IX2C6bA6wM2rX/RvD75ko+ix9yxPKjKGGq7pOhB8wGI4Z4fqX5B1nDHga/qMDmAdCAR1m9ymzxkmqhm/AFYf7A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.42':
- resolution: {integrity: sha512-LMYHM5Sf6ROq+VUwHMDVX2IAuEsWTv4SnlFEedBnMGpvRuQ14lCmD4m5Q8sjyAQCgyha9oghdGoK8AEg1sXZKg==}
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.43':
+ resolution: {integrity: sha512-mcjd57vEj+CEQbZAzUiaxNzNgwwgOpFtZBWcINm8DNscvkXl5b/s622Z1dqGNWSdrZmdjdC6LWMvu8iHM6v9sQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
- '@rolldown/binding-linux-arm64-musl@1.0.0-beta.42':
- resolution: {integrity: sha512-/bNTYb9aKNhzdbPn3O4MK2aLv55AlrkUKPE4KNfBYjkoZUfDr4jWp7gsSlvTc5A/99V1RCm9axvt616ZzeXGyA==}
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.43':
+ resolution: {integrity: sha512-Pa8QMwlkrztTo/1mVjZmPIQ44tCSci10TBqxzVBvXVA5CFh5EpiEi99fPSll2dHG2uT4dCOMeC6fIhyDdb0zXA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
- '@rolldown/binding-linux-x64-gnu@1.0.0-beta.42':
- resolution: {integrity: sha512-n/SLa4h342oyeGykZdch7Y3GNCNliRPL4k5wkeZ/5eQZs+c6/ZG1SHCJQoy7bZcmxiMyaXs9HoFmv1PEKrZgWg==}
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.43':
+ resolution: {integrity: sha512-BgynXKMjeaX4AfWLARhOKDetBOOghnSiVRjAHVvhiAaDXgdQN8e65mSmXRiVoVtD3cHXx/cfU8Gw0p0K+qYKVQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
- '@rolldown/binding-linux-x64-musl@1.0.0-beta.42':
- resolution: {integrity: sha512-4PSd46sFzqpLHSGdaSViAb1mk55sCUMpJg+X8ittXaVocQsV3QLG/uydSH8RyL0ngHX5fy3D70LcCzlB15AgHw==}
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.43':
+ resolution: {integrity: sha512-VIsoPlOB/tDSAw9CySckBYysoIBqLeps1/umNSYUD8pMtalJyzMTneAVI1HrUdf4ceFmQ5vARoLIXSsPwVFxNg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
- '@rolldown/binding-openharmony-arm64@1.0.0-beta.42':
- resolution: {integrity: sha512-BmWoeJJyeZXmZBcfoxG6J9+rl2G7eO47qdTkAzEegj4n3aC6CBIHOuDcbE8BvhZaEjQR0nh0nJrtEDlt65Q7Sw==}
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.43':
+ resolution: {integrity: sha512-YDXTxVJG67PqTQMKyjVJSddoPbSWJ4yRz/E3xzTLHqNrTDGY0UuhG8EMr8zsYnfH/0cPFJ3wjQd/hJWHuR6nkA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.42':
- resolution: {integrity: sha512-2Ft32F7uiDTrGZUKws6CLNTlvTWHC33l4vpXrzUucf9rYtUThAdPCOt89Pmn13tNX6AulxjGEP2R0nZjTSW3eQ==}
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.43':
+ resolution: {integrity: sha512-3M+2DmorXvDuAIGYQ9Z93Oy1G9ETkejLwdXXb1uRTgKN9pMcu7N+KG2zDrJwqyxeeLIFE22AZGtSJm3PJbNu9Q==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
- '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.42':
- resolution: {integrity: sha512-hC1kShXW/z221eG+WzQMN06KepvPbMBknF0iGR3VMYJLOe9gwnSTfGxFT5hf8XrPv7CEZqTWRd0GQpkSHRbGsw==}
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.43':
+ resolution: {integrity: sha512-/B1j1pJs33y9ywtslOMxryUPHq8zIGu/OGEc2gyed0slimJ8fX2uR/SaJVhB4+NEgCFIeYDR4CX6jynAkeRuCA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.42':
- resolution: {integrity: sha512-AICBYromawouGjj+GS33369E8Vwhy6UwhQEhQ5evfS8jPCsyVvoICJatbDGDGH01dwtVGLD5eDFzPicUOVpe4g==}
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.43':
+ resolution: {integrity: sha512-29oG1swCz7hNP+CQYrsM4EtylsKwuYzM8ljqbqC5TsQwmKat7P8ouDpImsqg/GZxFSXcPP9ezQm0Q0wQwGM3JA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.0.0-beta.42':
- resolution: {integrity: sha512-XpZ0M+tjoEiSc9c+uZR7FCnOI0uxDRNs1elGOMjeB0pUP1QmvVbZGYNsyLbLoP4u7e3VQN8rie1OQ8/mB6rcJg==}
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.43':
+ resolution: {integrity: sha512-eWBV1Ef3gfGNehxVGCyXs7wLayRIgCmyItuCZwYYXW5bsk4EvR4n2GP5m3ohjnx7wdiY3nLmwQfH2Knb5gbNZw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
@@ -3091,8 +2950,8 @@ packages:
'@rolldown/pluginutils@1.0.0-beta.27':
resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
- '@rolldown/pluginutils@1.0.0-beta.42':
- resolution: {integrity: sha512-N7pQzk9CyE7q0bBN/q0J8s6Db279r5kUZc6d7/wWRe9/zXqC52HQovVyu6iXPIDY4BEzzgbVLhVFXrOuGJ22ZQ==}
+ '@rolldown/pluginutils@1.0.0-beta.43':
+ resolution: {integrity: sha512-5Uxg7fQUCmfhax7FJke2+8B6cqgeUJUD9o2uXIKXhD+mG0mL6NObmVoi9wXEU1tY89mZKgAYA6fTbftx3q2ZPQ==}
'@rollup/plugin-json@6.1.0':
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
@@ -4036,6 +3895,9 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+ '@types/validate-npm-package-name@4.0.2':
+ resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==}
+
'@types/ws@8.18.1':
resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
@@ -4232,6 +4094,10 @@ packages:
resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
engines: {node: '>= 10.0.0'}
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
agent-base@7.1.4:
resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
engines: {node: '>= 14'}
@@ -4282,6 +4148,10 @@ packages:
ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+ ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+
ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
@@ -4634,6 +4504,10 @@ packages:
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
engines: {node: '>= 14.16.0'}
+ chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+
chownr@3.0.0:
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
engines: {node: '>=18'}
@@ -4716,6 +4590,9 @@ packages:
colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ colorette@1.2.1:
+ resolution: {integrity: sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==}
+
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -4738,6 +4615,10 @@ packages:
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
engines: {node: '>=18'}
+ commander@14.0.1:
+ resolution: {integrity: sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==}
+ engines: {node: '>=20'}
+
commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -5462,6 +5343,10 @@ packages:
resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
engines: {node: '>=10.13.0'}
+ enquirer@2.3.6:
+ resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
+ engines: {node: '>=8.6'}
+
entities@2.2.0:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
@@ -5502,11 +5387,6 @@ packages:
engines: {node: '>=18'}
hasBin: true
- esbuild@0.25.9:
- resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==}
- engines: {node: '>=18'}
- hasBin: true
-
escalade@3.2.0:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
@@ -5842,6 +5722,10 @@ packages:
resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==}
engines: {node: '>=14.14'}
+ fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
@@ -5853,6 +5737,9 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ fuzzysearch@1.0.3:
+ resolution: {integrity: sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg==}
+
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
@@ -5934,6 +5821,9 @@ packages:
resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==}
engines: {node: '>=18'}
+ globalyzer@0.1.0:
+ resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+
globby@10.0.2:
resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==}
engines: {node: '>=8'}
@@ -5946,6 +5836,9 @@ packages:
resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ globrex@0.1.2:
+ resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
engines: {node: '>= 0.4'}
@@ -6136,6 +6029,10 @@ packages:
resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==}
engines: {node: '>=10.19.0'}
+ https-proxy-agent@5.0.0:
+ resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==}
+ engines: {node: '>= 6'}
+
https-proxy-agent@7.0.6:
resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
engines: {node: '>= 14'}
@@ -7104,10 +7001,22 @@ packages:
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+
minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+
minizlib@3.1.0:
resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
engines: {node: '>= 18'}
@@ -7116,9 +7025,18 @@ packages:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
mlly@1.7.4:
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+ mri@1.1.6:
+ resolution: {integrity: sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==}
+ engines: {node: '>=4'}
+
mrmime@2.0.0:
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
engines: {node: '>=10'}
@@ -8357,8 +8275,8 @@ packages:
vue-tsc:
optional: true
- rolldown@1.0.0-beta.42:
- resolution: {integrity: sha512-xaPcckj+BbJhYLsv8gOqezc8EdMcKKe/gk8v47B0KPvgABDrQ0qmNPAiT/gh9n9Foe0bUkEv2qzj42uU5q1WRg==}
+ rolldown@1.0.0-beta.43:
+ resolution: {integrity: sha512-6RcqyRx0tY1MlRLnjXPp/849Rl/CPFhzpGGwNPEPjKwqBMqPq/Rbbkxasa8s0x+IkUk46ty4jazb5skZ/Vgdhw==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -8787,6 +8705,10 @@ packages:
resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
engines: {node: '>=6'}
+ tar@6.2.1:
+ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
+ engines: {node: '>=10'}
+
tar@7.5.1:
resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
engines: {node: '>=18'}
@@ -8831,6 +8753,14 @@ packages:
thunky@1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+ tiged@2.12.7:
+ resolution: {integrity: sha512-6TwlABgdshi1h9atXFRx86IhuDANtNqfD1OuWmZKKdqqwWNEJXHLa2hrRiyve9kLwHPb2ADc8RU3mSc4MVBE5A==}
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+
+ tiny-glob@0.2.8:
+ resolution: {integrity: sha512-vkQP7qOslq63XRX9kMswlby99kyO5OvKptw7AMwBVMjXEI7Tb61eoI5DydyEMOseyGS5anDN1VPoVxEvH01q8w==}
+
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
@@ -9217,6 +9147,10 @@ packages:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ validate-npm-package-name@6.0.2:
+ resolution: {integrity: sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
value-equal@1.0.1:
resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
@@ -9543,6 +9477,9 @@ packages:
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
yallist@5.0.0:
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
engines: {node: '>=18'}
@@ -12395,159 +12332,81 @@ snapshots:
'@esbuild/aix-ppc64@0.25.10':
optional: true
- '@esbuild/aix-ppc64@0.25.9':
- optional: true
-
'@esbuild/android-arm64@0.25.10':
optional: true
- '@esbuild/android-arm64@0.25.9':
- optional: true
-
'@esbuild/android-arm@0.25.10':
optional: true
- '@esbuild/android-arm@0.25.9':
- optional: true
-
'@esbuild/android-x64@0.25.10':
optional: true
- '@esbuild/android-x64@0.25.9':
- optional: true
-
'@esbuild/darwin-arm64@0.25.10':
optional: true
- '@esbuild/darwin-arm64@0.25.9':
- optional: true
-
'@esbuild/darwin-x64@0.25.10':
optional: true
- '@esbuild/darwin-x64@0.25.9':
- optional: true
-
'@esbuild/freebsd-arm64@0.25.10':
optional: true
- '@esbuild/freebsd-arm64@0.25.9':
- optional: true
-
'@esbuild/freebsd-x64@0.25.10':
optional: true
- '@esbuild/freebsd-x64@0.25.9':
- optional: true
-
'@esbuild/linux-arm64@0.25.10':
optional: true
- '@esbuild/linux-arm64@0.25.9':
- optional: true
-
'@esbuild/linux-arm@0.25.10':
optional: true
- '@esbuild/linux-arm@0.25.9':
- optional: true
-
'@esbuild/linux-ia32@0.25.10':
optional: true
- '@esbuild/linux-ia32@0.25.9':
- optional: true
-
'@esbuild/linux-loong64@0.25.10':
optional: true
- '@esbuild/linux-loong64@0.25.9':
- optional: true
-
'@esbuild/linux-mips64el@0.25.10':
optional: true
- '@esbuild/linux-mips64el@0.25.9':
- optional: true
-
'@esbuild/linux-ppc64@0.25.10':
optional: true
- '@esbuild/linux-ppc64@0.25.9':
- optional: true
-
'@esbuild/linux-riscv64@0.25.10':
optional: true
- '@esbuild/linux-riscv64@0.25.9':
- optional: true
-
'@esbuild/linux-s390x@0.25.10':
optional: true
- '@esbuild/linux-s390x@0.25.9':
- optional: true
-
'@esbuild/linux-x64@0.25.10':
optional: true
- '@esbuild/linux-x64@0.25.9':
- optional: true
-
'@esbuild/netbsd-arm64@0.25.10':
optional: true
- '@esbuild/netbsd-arm64@0.25.9':
- optional: true
-
'@esbuild/netbsd-x64@0.25.10':
optional: true
- '@esbuild/netbsd-x64@0.25.9':
- optional: true
-
'@esbuild/openbsd-arm64@0.25.10':
optional: true
- '@esbuild/openbsd-arm64@0.25.9':
- optional: true
-
'@esbuild/openbsd-x64@0.25.10':
optional: true
- '@esbuild/openbsd-x64@0.25.9':
- optional: true
-
'@esbuild/openharmony-arm64@0.25.10':
optional: true
- '@esbuild/openharmony-arm64@0.25.9':
- optional: true
-
'@esbuild/sunos-x64@0.25.10':
optional: true
- '@esbuild/sunos-x64@0.25.9':
- optional: true
-
'@esbuild/win32-arm64@0.25.10':
optional: true
- '@esbuild/win32-arm64@0.25.9':
- optional: true
-
'@esbuild/win32-ia32@0.25.10':
optional: true
- '@esbuild/win32-ia32@0.25.9':
- optional: true
-
'@esbuild/win32-x64@0.25.10':
optional: true
- '@esbuild/win32-x64@0.25.9':
- optional: true
-
'@eslint-community/eslint-utils@4.9.0(eslint@9.37.0(jiti@2.6.1))':
dependencies:
eslint: 9.37.0(jiti@2.6.1)
@@ -12813,7 +12672,7 @@ snapshots:
'@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
optional: true
- '@napi-rs/wasm-runtime@1.0.6':
+ '@napi-rs/wasm-runtime@1.0.7':
dependencies:
'@emnapi/core': 1.5.0
'@emnapi/runtime': 1.5.0
@@ -13342,53 +13201,53 @@ snapshots:
'@radix-ui/rect@1.1.1': {}
- '@rolldown/binding-android-arm64@1.0.0-beta.42':
+ '@rolldown/binding-android-arm64@1.0.0-beta.43':
optional: true
- '@rolldown/binding-darwin-arm64@1.0.0-beta.42':
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.43':
optional: true
- '@rolldown/binding-darwin-x64@1.0.0-beta.42':
+ '@rolldown/binding-darwin-x64@1.0.0-beta.43':
optional: true
- '@rolldown/binding-freebsd-x64@1.0.0-beta.42':
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.43':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.42':
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.43':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.42':
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.43':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.0.0-beta.42':
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.43':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.0.0-beta.42':
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.43':
optional: true
- '@rolldown/binding-linux-x64-musl@1.0.0-beta.42':
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.43':
optional: true
- '@rolldown/binding-openharmony-arm64@1.0.0-beta.42':
+ '@rolldown/binding-openharmony-arm64@1.0.0-beta.43':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.42':
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.43':
dependencies:
- '@napi-rs/wasm-runtime': 1.0.6
+ '@napi-rs/wasm-runtime': 1.0.7
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.42':
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.43':
optional: true
- '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.42':
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.43':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.0.0-beta.42':
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.43':
optional: true
'@rolldown/pluginutils@1.0.0-beta.27': {}
- '@rolldown/pluginutils@1.0.0-beta.42': {}
+ '@rolldown/pluginutils@1.0.0-beta.43': {}
'@rollup/plugin-json@6.1.0(rollup@4.52.4)':
dependencies:
@@ -14339,6 +14198,8 @@ snapshots:
'@types/unist@3.0.3': {}
+ '@types/validate-npm-package-name@4.0.2': {}
+
'@types/ws@8.18.1':
dependencies:
'@types/node': 22.18.8
@@ -14606,6 +14467,12 @@ snapshots:
address@1.2.2: {}
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
agent-base@7.1.4: {}
aggregate-error@3.1.0:
@@ -14673,6 +14540,8 @@ snapshots:
dependencies:
string-width: 4.2.3
+ ansi-colors@4.1.3: {}
+
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
@@ -15140,6 +15009,8 @@ snapshots:
dependencies:
readdirp: 4.1.1
+ chownr@2.0.0: {}
+
chownr@3.0.0: {}
chrome-trace-event@1.0.4: {}
@@ -15204,6 +15075,8 @@ snapshots:
colord@2.9.3: {}
+ colorette@1.2.1: {}
+
colorette@2.0.20: {}
combine-promises@1.2.0: {}
@@ -15218,6 +15091,8 @@ snapshots:
commander@13.1.0: {}
+ commander@14.0.1: {}
+
commander@2.20.3: {}
commander@4.1.1: {}
@@ -15794,7 +15669,7 @@ snapshots:
detect-port@1.6.1:
dependencies:
address: 1.2.2
- debug: 4.4.1
+ debug: 4.4.3
transitivePeerDependencies:
- supports-color
@@ -15963,6 +15838,10 @@ snapshots:
graceful-fs: 4.2.11
tapable: 2.3.0
+ enquirer@2.3.6:
+ dependencies:
+ ansi-colors: 4.1.3
+
entities@2.2.0: {}
entities@4.5.0: {}
@@ -16031,35 +15910,6 @@ snapshots:
'@esbuild/win32-ia32': 0.25.10
'@esbuild/win32-x64': 0.25.10
- esbuild@0.25.9:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.9
- '@esbuild/android-arm': 0.25.9
- '@esbuild/android-arm64': 0.25.9
- '@esbuild/android-x64': 0.25.9
- '@esbuild/darwin-arm64': 0.25.9
- '@esbuild/darwin-x64': 0.25.9
- '@esbuild/freebsd-arm64': 0.25.9
- '@esbuild/freebsd-x64': 0.25.9
- '@esbuild/linux-arm': 0.25.9
- '@esbuild/linux-arm64': 0.25.9
- '@esbuild/linux-ia32': 0.25.9
- '@esbuild/linux-loong64': 0.25.9
- '@esbuild/linux-mips64el': 0.25.9
- '@esbuild/linux-ppc64': 0.25.9
- '@esbuild/linux-riscv64': 0.25.9
- '@esbuild/linux-s390x': 0.25.9
- '@esbuild/linux-x64': 0.25.9
- '@esbuild/netbsd-arm64': 0.25.9
- '@esbuild/netbsd-x64': 0.25.9
- '@esbuild/openbsd-arm64': 0.25.9
- '@esbuild/openbsd-x64': 0.25.9
- '@esbuild/openharmony-arm64': 0.25.9
- '@esbuild/sunos-x64': 0.25.9
- '@esbuild/win32-arm64': 0.25.9
- '@esbuild/win32-ia32': 0.25.9
- '@esbuild/win32-x64': 0.25.9
-
escalade@3.2.0: {}
escape-goat@4.0.0: {}
@@ -16466,6 +16316,10 @@ snapshots:
jsonfile: 6.2.0
universalify: 2.0.1
+ fs-minipass@2.1.0:
+ dependencies:
+ minipass: 3.3.6
+
fs.realpath@1.0.0: {}
fsevents@2.3.3:
@@ -16473,6 +16327,8 @@ snapshots:
function-bind@1.1.2: {}
+ fuzzysearch@1.0.3: {}
+
gensync@1.0.0-beta.2: {}
get-east-asian-width@1.3.0: {}
@@ -16564,6 +16420,8 @@ snapshots:
globals@16.4.0: {}
+ globalyzer@0.1.0: {}
+
globby@10.0.2:
dependencies:
'@types/glob': 7.2.0
@@ -16592,6 +16450,8 @@ snapshots:
merge2: 1.4.1
slash: 4.0.0
+ globrex@0.1.2: {}
+
gopd@1.2.0: {}
got@12.6.1:
@@ -16894,6 +16754,13 @@ snapshots:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
+ https-proxy-agent@5.0.0:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.4.3
+ transitivePeerDependencies:
+ - supports-color
+
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.4
@@ -18073,8 +17940,19 @@ snapshots:
minimist@1.2.8: {}
+ minipass@3.3.6:
+ dependencies:
+ yallist: 4.0.0
+
+ minipass@5.0.0: {}
+
minipass@7.1.2: {}
+ minizlib@2.1.2:
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+
minizlib@3.1.0:
dependencies:
minipass: 7.1.2
@@ -18083,6 +17961,8 @@ snapshots:
dependencies:
minimist: 1.2.8
+ mkdirp@1.0.4: {}
+
mlly@1.7.4:
dependencies:
acorn: 8.15.0
@@ -18090,6 +17970,8 @@ snapshots:
pkg-types: 1.3.1
ufo: 1.6.1
+ mri@1.1.6: {}
+
mrmime@2.0.0: {}
ms@2.0.0: {}
@@ -19465,7 +19347,7 @@ snapshots:
robust-predicates@3.0.2: {}
- rolldown-plugin-dts@0.16.11(rolldown@1.0.0-beta.42)(typescript@5.9.3):
+ rolldown-plugin-dts@0.16.11(rolldown@1.0.0-beta.43)(typescript@5.9.3):
dependencies:
'@babel/generator': 7.28.3
'@babel/parser': 7.28.4
@@ -19476,33 +19358,33 @@ snapshots:
dts-resolver: 2.1.2
get-tsconfig: 4.11.0
magic-string: 0.30.19
- rolldown: 1.0.0-beta.42
+ rolldown: 1.0.0-beta.43
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
- oxc-resolver
- supports-color
- rolldown@1.0.0-beta.42:
+ rolldown@1.0.0-beta.43:
dependencies:
'@oxc-project/types': 0.94.0
- '@rolldown/pluginutils': 1.0.0-beta.42
+ '@rolldown/pluginutils': 1.0.0-beta.43
ansis: 4.2.0
optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-beta.42
- '@rolldown/binding-darwin-arm64': 1.0.0-beta.42
- '@rolldown/binding-darwin-x64': 1.0.0-beta.42
- '@rolldown/binding-freebsd-x64': 1.0.0-beta.42
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.42
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.42
- '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.42
- '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.42
- '@rolldown/binding-linux-x64-musl': 1.0.0-beta.42
- '@rolldown/binding-openharmony-arm64': 1.0.0-beta.42
- '@rolldown/binding-wasm32-wasi': 1.0.0-beta.42
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.42
- '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.42
- '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.42
+ '@rolldown/binding-android-arm64': 1.0.0-beta.43
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.43
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.43
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.43
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.43
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.43
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.43
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.43
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.43
+ '@rolldown/binding-openharmony-arm64': 1.0.0-beta.43
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.43
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.43
+ '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.43
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.43
rollup@4.45.1:
dependencies:
@@ -20061,6 +19943,15 @@ snapshots:
tapable@2.3.0: {}
+ tar@6.2.1:
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+
tar@7.5.1:
dependencies:
'@isaacs/fs-minipass': 4.0.1
@@ -20103,6 +19994,25 @@ snapshots:
thunky@1.1.0: {}
+ tiged@2.12.7:
+ dependencies:
+ colorette: 1.2.1
+ enquirer: 2.3.6
+ fs-extra: 10.1.0
+ fuzzysearch: 1.0.3
+ https-proxy-agent: 5.0.0
+ mri: 1.1.6
+ rimraf: 3.0.2
+ tar: 6.2.1
+ tiny-glob: 0.2.8
+ transitivePeerDependencies:
+ - supports-color
+
+ tiny-glob@0.2.8:
+ dependencies:
+ globalyzer: 0.1.0
+ globrex: 0.1.2
+
tiny-invariant@1.3.3: {}
tiny-warning@1.0.3: {}
@@ -20200,8 +20110,8 @@ snapshots:
diff: 8.0.2
empathic: 2.0.0
hookable: 5.5.3
- rolldown: 1.0.0-beta.42
- rolldown-plugin-dts: 0.16.11(rolldown@1.0.0-beta.42)(typescript@5.9.3)
+ rolldown: 1.0.0-beta.43
+ rolldown-plugin-dts: 0.16.11(rolldown@1.0.0-beta.43)(typescript@5.9.3)
semver: 7.7.2
tinyexec: 1.0.1
tinyglobby: 0.2.15
@@ -20474,6 +20384,8 @@ snapshots:
validate-npm-package-name@5.0.1: {}
+ validate-npm-package-name@6.0.2: {}
+
value-equal@1.0.1: {}
vary@1.1.2: {}
@@ -20542,7 +20454,7 @@ snapshots:
vite@7.0.6(@types/node@22.18.8)(jiti@2.6.1)(lightningcss@1.30.1)(terser@5.39.2)(tsx@4.20.6)(yaml@2.8.1):
dependencies:
- esbuild: 0.25.9
+ esbuild: 0.25.10
fdir: 6.4.6(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
@@ -20842,6 +20754,8 @@ snapshots:
yallist@3.1.1: {}
+ yallist@4.0.0: {}
+
yallist@5.0.0: {}
yaml@2.8.1: {}
From c7be7f8c9950f72945917e01f81598d3874048e6 Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:43:18 +0545
Subject: [PATCH 3/9] chore: prettier
---
packages/create-commandkit/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/create-commandkit/package.json b/packages/create-commandkit/package.json
index 5a8d516a..1ec80e77 100644
--- a/packages/create-commandkit/package.json
+++ b/packages/create-commandkit/package.json
@@ -51,4 +51,4 @@
"tsx": "^4.20.6",
"typescript": "catalog:build"
}
-}
\ No newline at end of file
+}
From 50a6205c678b6b03c77d622b8e4bbd90fe4ec64b Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:47:07 +0545
Subject: [PATCH 4/9] docs: document new cli
---
.../02-setup-commandkit.mdx | 71 ++++++++++++++++++-
packages/create-commandkit/README.md | 4 +-
.../src/functions/fetchExample.ts | 2 +-
packages/create-commandkit/src/index.ts | 6 +-
4 files changed, 75 insertions(+), 8 deletions(-)
diff --git a/apps/website/docs/guide/01-getting-started/02-setup-commandkit.mdx b/apps/website/docs/guide/01-getting-started/02-setup-commandkit.mdx
index c55bd35a..9ff49eba 100644
--- a/apps/website/docs/guide/01-getting-started/02-setup-commandkit.mdx
+++ b/apps/website/docs/guide/01-getting-started/02-setup-commandkit.mdx
@@ -21,12 +21,65 @@ The quickest way to setup a new CommandKit project is to use the
your terminal:
```sh npm2yarn
-npm create commandkit@next
+npm create commandkit@latest
```
This will start the CLI in an interactive mode. You can follow the
prompts to setup your project.
+## Available Examples
+
+CommandKit comes with several pre-built examples to help you get started quickly. You can list all available examples using:
+
+```sh npm2yarn
+npm create commandkit@latest --list-examples
+```
+
+### Using Examples
+
+You can create a project from any example using the `--example` flag:
+
+```sh npm2yarn
+# Create a basic TypeScript bot
+npm create commandkit@latest --example basic-ts
+
+# Create a basic JavaScript bot
+npm create commandkit@latest --example basic-js
+
+# Create a Deno TypeScript bot
+npm create commandkit@latest --example deno-ts
+
+# Create a bot without CLI integration
+npm create commandkit@latest --example without-cli
+```
+
+### CLI Options
+
+The CLI supports various options for customization:
+
+```sh npm2yarn
+# Skip prompts and use defaults
+npm create commandkit@latest --yes
+
+# Use a specific package manager
+npm create commandkit@latest --use-pnpm
+npm create commandkit@latest --use-yarn
+npm create commandkit@latest --use-bun
+npm create commandkit@latest --use-deno
+
+# Skip dependency installation
+npm create commandkit@latest --skip-install
+
+# Skip git initialization
+npm create commandkit@latest --no-git
+
+# Create in a specific directory
+npm create commandkit@latest my-bot
+
+# Use a custom GitHub repository
+npm create commandkit@latest --example "https://github.com/user/repo"
+```
+
## Project structure
By using the CLI to create a base project, you should get a file tree
@@ -49,6 +102,12 @@ that looks something like this:
└── tsconfig.json
```
+:::note
+
+The exact project structure may vary depending on the example you choose. Each example comes with its own configuration and dependencies tailored to its specific use case.
+
+:::
+
## Entry point
The `src/app.ts` file is the main entry point for your application.
@@ -107,6 +166,16 @@ The development version is likely to have bugs.
:::
+## Getting Help
+
+For more information about the CLI options, you can use the help flag:
+
+```sh npm2yarn
+npm create commandkit@latest --help
+```
+
+This will display all available options and usage examples.
+
## Manual setup
Alternatively, if you would like to setup a new CommandKit project
diff --git a/packages/create-commandkit/README.md b/packages/create-commandkit/README.md
index 8a6cde33..774940ee 100644
--- a/packages/create-commandkit/README.md
+++ b/packages/create-commandkit/README.md
@@ -77,8 +77,8 @@ npx create-commandkit@latest --example "https://github.com/user/repo" --example-
### Examples
```sh
-# Create a bot with database example, skip installation
-npx create-commandkit@latest --example with-database --skip-install
+# Create a basic TypeScript bot, skip installation
+npx create-commandkit@latest --example basic-ts --skip-install
# Create a bot with all defaults (no prompts)
npx create-commandkit@latest --yes
diff --git a/packages/create-commandkit/src/functions/fetchExample.ts b/packages/create-commandkit/src/functions/fetchExample.ts
index c12fb519..c3add071 100644
--- a/packages/create-commandkit/src/functions/fetchExample.ts
+++ b/packages/create-commandkit/src/functions/fetchExample.ts
@@ -79,7 +79,7 @@ export async function fetchExample({
error.message.includes('404')
) {
throw new Error(
- `Example '${example}' not found. Available examples: basic-ts, basic-js, with-database, with-i18n`,
+ `Example '${example}' not found. Available examples: basic-ts, basic-js, deno-ts, without-cli`,
);
}
throw new Error(`Failed to fetch example: ${error.message}`);
diff --git a/packages/create-commandkit/src/index.ts b/packages/create-commandkit/src/index.ts
index 26624ee8..24efa98f 100755
--- a/packages/create-commandkit/src/index.ts
+++ b/packages/create-commandkit/src/index.ts
@@ -49,7 +49,7 @@ Options:
Examples:
npx create-commandkit@latest
npx create-commandkit@latest my-bot
- npx create-commandkit@latest --example with-database
+ npx create-commandkit@latest --example basic-ts
npx create-commandkit@latest --example "https://github.com/user/repo" --example-path "examples/bot"
npx create-commandkit@latest --use-pnpm --yes
npx create-commandkit@latest --list-examples
@@ -83,9 +83,7 @@ Examples:
),
);
console.log(
- colors.gray(
- 'Example: npx create-commandkit@latest --example with-database',
- ),
+ colors.gray('Example: npx create-commandkit@latest --example basic-ts'),
);
} catch (error) {
console.error(
From 7cf12da26968c0bf5109a49fb228dc74cba65cfc Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:48:25 +0545
Subject: [PATCH 5/9] chore: remove deno lockfile
---
examples/deno-ts/deno.lock | 1320 ------------------------------------
1 file changed, 1320 deletions(-)
delete mode 100644 examples/deno-ts/deno.lock
diff --git a/examples/deno-ts/deno.lock b/examples/deno-ts/deno.lock
deleted file mode 100644
index 00b46862..00000000
--- a/examples/deno-ts/deno.lock
+++ /dev/null
@@ -1,1320 +0,0 @@
-{
- "version": "5",
- "specifiers": {
- "npm:@types/node@^24.0.10": "24.0.10",
- "npm:commandkit@1.0.0-dev.20250702022547": "1.0.0-dev.20250702022547_discord.js@14.21.0_typescript@5.8.3",
- "npm:discord.js@^14.21.0": "14.21.0",
- "npm:typescript@^5.8.3": "5.8.3"
- },
- "npm": {
- "@ampproject/remapping@2.3.0": {
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dependencies": [
- "@jridgewell/gen-mapping",
- "@jridgewell/trace-mapping"
- ]
- },
- "@babel/code-frame@7.27.1": {
- "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
- "dependencies": [
- "@babel/helper-validator-identifier",
- "js-tokens",
- "picocolors"
- ]
- },
- "@babel/compat-data@7.27.7": {
- "integrity": "sha512-xgu/ySj2mTiUFmdE9yCMfBxLp4DHd5DwmbbD05YAuICfodYT3VvRxbrh81LGQ/8UpSdtMdfKMn3KouYDX59DGQ=="
- },
- "@babel/core@7.27.7": {
- "integrity": "sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==",
- "dependencies": [
- "@ampproject/remapping",
- "@babel/code-frame",
- "@babel/generator",
- "@babel/helper-compilation-targets",
- "@babel/helper-module-transforms",
- "@babel/helpers",
- "@babel/parser",
- "@babel/template",
- "@babel/traverse",
- "@babel/types",
- "convert-source-map",
- "debug",
- "gensync",
- "json5",
- "semver@6.3.1"
- ]
- },
- "@babel/generator@7.27.5": {
- "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
- "dependencies": [
- "@babel/parser",
- "@babel/types",
- "@jridgewell/gen-mapping",
- "@jridgewell/trace-mapping",
- "jsesc"
- ]
- },
- "@babel/helper-annotate-as-pure@7.27.3": {
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dependencies": [
- "@babel/types"
- ]
- },
- "@babel/helper-compilation-targets@7.27.2": {
- "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
- "dependencies": [
- "@babel/compat-data",
- "@babel/helper-validator-option",
- "browserslist",
- "lru-cache@5.1.1",
- "semver@6.3.1"
- ]
- },
- "@babel/helper-create-class-features-plugin@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-annotate-as-pure",
- "@babel/helper-member-expression-to-functions",
- "@babel/helper-optimise-call-expression",
- "@babel/helper-replace-supers",
- "@babel/helper-skip-transparent-expression-wrappers",
- "@babel/traverse",
- "semver@6.3.1"
- ]
- },
- "@babel/helper-member-expression-to-functions@7.27.1": {
- "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
- "dependencies": [
- "@babel/traverse",
- "@babel/types"
- ]
- },
- "@babel/helper-module-imports@7.27.1": {
- "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
- "dependencies": [
- "@babel/traverse",
- "@babel/types"
- ]
- },
- "@babel/helper-module-transforms@7.27.3_@babel+core@7.27.7": {
- "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-module-imports",
- "@babel/helper-validator-identifier",
- "@babel/traverse"
- ]
- },
- "@babel/helper-optimise-call-expression@7.27.1": {
- "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
- "dependencies": [
- "@babel/types"
- ]
- },
- "@babel/helper-plugin-utils@7.27.1": {
- "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="
- },
- "@babel/helper-replace-supers@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-member-expression-to-functions",
- "@babel/helper-optimise-call-expression",
- "@babel/traverse"
- ]
- },
- "@babel/helper-skip-transparent-expression-wrappers@7.27.1": {
- "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
- "dependencies": [
- "@babel/traverse",
- "@babel/types"
- ]
- },
- "@babel/helper-string-parser@7.27.1": {
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="
- },
- "@babel/helper-validator-identifier@7.27.1": {
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="
- },
- "@babel/helper-validator-option@7.27.1": {
- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="
- },
- "@babel/helpers@7.27.6": {
- "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==",
- "dependencies": [
- "@babel/template",
- "@babel/types"
- ]
- },
- "@babel/parser@7.27.7": {
- "integrity": "sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==",
- "dependencies": [
- "@babel/types"
- ],
- "bin": true
- },
- "@babel/plugin-syntax-jsx@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-plugin-utils"
- ]
- },
- "@babel/plugin-syntax-typescript@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-plugin-utils"
- ]
- },
- "@babel/plugin-transform-modules-commonjs@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-module-transforms",
- "@babel/helper-plugin-utils"
- ]
- },
- "@babel/plugin-transform-typescript@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-annotate-as-pure",
- "@babel/helper-create-class-features-plugin",
- "@babel/helper-plugin-utils",
- "@babel/helper-skip-transparent-expression-wrappers",
- "@babel/plugin-syntax-typescript"
- ]
- },
- "@babel/preset-typescript@7.27.1_@babel+core@7.27.7": {
- "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==",
- "dependencies": [
- "@babel/core",
- "@babel/helper-plugin-utils",
- "@babel/helper-validator-option",
- "@babel/plugin-syntax-jsx",
- "@babel/plugin-transform-modules-commonjs",
- "@babel/plugin-transform-typescript"
- ]
- },
- "@babel/template@7.27.2": {
- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
- "dependencies": [
- "@babel/code-frame",
- "@babel/parser",
- "@babel/types"
- ]
- },
- "@babel/traverse@7.27.7": {
- "integrity": "sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==",
- "dependencies": [
- "@babel/code-frame",
- "@babel/generator",
- "@babel/parser",
- "@babel/template",
- "@babel/types",
- "debug",
- "globals"
- ]
- },
- "@babel/types@7.27.7": {
- "integrity": "sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==",
- "dependencies": [
- "@babel/helper-string-parser",
- "@babel/helper-validator-identifier"
- ]
- },
- "@discordjs/builders@1.11.2": {
- "integrity": "sha512-F1WTABdd8/R9D1icJzajC4IuLyyS8f3rTOz66JsSI3pKvpCAtsMBweu8cyNYsIyvcrKAVn9EPK+Psoymq+XC0A==",
- "dependencies": [
- "@discordjs/formatters",
- "@discordjs/util",
- "@sapphire/shapeshift",
- "discord-api-types",
- "fast-deep-equal",
- "ts-mixer",
- "tslib"
- ]
- },
- "@discordjs/collection@1.5.3": {
- "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ=="
- },
- "@discordjs/collection@2.1.1": {
- "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="
- },
- "@discordjs/formatters@0.6.1": {
- "integrity": "sha512-5cnX+tASiPCqCWtFcFslxBVUaCetB0thvM/JyavhbXInP1HJIEU+Qv/zMrnuwSsX3yWH2lVXNJZeDK3EiP4HHg==",
- "dependencies": [
- "discord-api-types"
- ]
- },
- "@discordjs/rest@2.5.1": {
- "integrity": "sha512-Tg9840IneBcbrAjcGaQzHUJWFNq1MMWZjTdjJ0WS/89IffaNKc++iOvffucPxQTF/gviO9+9r8kEPea1X5J2Dw==",
- "dependencies": [
- "@discordjs/collection@2.1.1",
- "@discordjs/util",
- "@sapphire/async-queue",
- "@sapphire/snowflake",
- "@vladfrangu/async_event_emitter",
- "discord-api-types",
- "magic-bytes.js",
- "tslib",
- "undici"
- ]
- },
- "@discordjs/util@1.1.1": {
- "integrity": "sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g=="
- },
- "@discordjs/ws@1.2.3": {
- "integrity": "sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==",
- "dependencies": [
- "@discordjs/collection@2.1.1",
- "@discordjs/rest",
- "@discordjs/util",
- "@sapphire/async-queue",
- "@types/ws",
- "@vladfrangu/async_event_emitter",
- "discord-api-types",
- "tslib",
- "ws"
- ]
- },
- "@emnapi/core@1.4.3": {
- "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==",
- "dependencies": [
- "@emnapi/wasi-threads",
- "tslib"
- ]
- },
- "@emnapi/runtime@1.4.3": {
- "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
- "dependencies": [
- "tslib"
- ]
- },
- "@emnapi/wasi-threads@1.0.2": {
- "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==",
- "dependencies": [
- "tslib"
- ]
- },
- "@esbuild/aix-ppc64@0.21.5": {
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
- "os": ["aix"],
- "cpu": ["ppc64"]
- },
- "@esbuild/android-arm64@0.21.5": {
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
- "os": ["android"],
- "cpu": ["arm64"]
- },
- "@esbuild/android-arm@0.21.5": {
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
- "os": ["android"],
- "cpu": ["arm"]
- },
- "@esbuild/android-x64@0.21.5": {
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
- "os": ["android"],
- "cpu": ["x64"]
- },
- "@esbuild/darwin-arm64@0.21.5": {
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
- "os": ["darwin"],
- "cpu": ["arm64"]
- },
- "@esbuild/darwin-x64@0.21.5": {
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
- "os": ["darwin"],
- "cpu": ["x64"]
- },
- "@esbuild/freebsd-arm64@0.21.5": {
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
- "os": ["freebsd"],
- "cpu": ["arm64"]
- },
- "@esbuild/freebsd-x64@0.21.5": {
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
- "os": ["freebsd"],
- "cpu": ["x64"]
- },
- "@esbuild/linux-arm64@0.21.5": {
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
- "os": ["linux"],
- "cpu": ["arm64"]
- },
- "@esbuild/linux-arm@0.21.5": {
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
- "os": ["linux"],
- "cpu": ["arm"]
- },
- "@esbuild/linux-ia32@0.21.5": {
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
- "os": ["linux"],
- "cpu": ["ia32"]
- },
- "@esbuild/linux-loong64@0.21.5": {
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
- "os": ["linux"],
- "cpu": ["loong64"]
- },
- "@esbuild/linux-mips64el@0.21.5": {
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
- "os": ["linux"],
- "cpu": ["mips64el"]
- },
- "@esbuild/linux-ppc64@0.21.5": {
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
- "os": ["linux"],
- "cpu": ["ppc64"]
- },
- "@esbuild/linux-riscv64@0.21.5": {
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
- "os": ["linux"],
- "cpu": ["riscv64"]
- },
- "@esbuild/linux-s390x@0.21.5": {
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
- "os": ["linux"],
- "cpu": ["s390x"]
- },
- "@esbuild/linux-x64@0.21.5": {
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
- "os": ["linux"],
- "cpu": ["x64"]
- },
- "@esbuild/netbsd-x64@0.21.5": {
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
- "os": ["netbsd"],
- "cpu": ["x64"]
- },
- "@esbuild/openbsd-x64@0.21.5": {
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
- "os": ["openbsd"],
- "cpu": ["x64"]
- },
- "@esbuild/sunos-x64@0.21.5": {
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
- "os": ["sunos"],
- "cpu": ["x64"]
- },
- "@esbuild/win32-arm64@0.21.5": {
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
- "os": ["win32"],
- "cpu": ["arm64"]
- },
- "@esbuild/win32-ia32@0.21.5": {
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
- "os": ["win32"],
- "cpu": ["ia32"]
- },
- "@esbuild/win32-x64@0.21.5": {
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
- "os": ["win32"],
- "cpu": ["x64"]
- },
- "@isaacs/balanced-match@4.0.1": {
- "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="
- },
- "@isaacs/brace-expansion@5.0.0": {
- "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
- "dependencies": [
- "@isaacs/balanced-match"
- ]
- },
- "@isaacs/cliui@8.0.2": {
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dependencies": [
- "string-width@5.1.2",
- "string-width-cjs@npm:string-width@4.2.3",
- "strip-ansi@7.1.0",
- "strip-ansi-cjs@npm:strip-ansi@6.0.1",
- "wrap-ansi@8.1.0",
- "wrap-ansi-cjs@npm:wrap-ansi@7.0.0"
- ]
- },
- "@jridgewell/gen-mapping@0.3.12": {
- "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
- "dependencies": [
- "@jridgewell/sourcemap-codec",
- "@jridgewell/trace-mapping"
- ]
- },
- "@jridgewell/resolve-uri@3.1.2": {
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
- },
- "@jridgewell/sourcemap-codec@1.5.4": {
- "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw=="
- },
- "@jridgewell/trace-mapping@0.3.29": {
- "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
- "dependencies": [
- "@jridgewell/resolve-uri",
- "@jridgewell/sourcemap-codec"
- ]
- },
- "@napi-rs/wasm-runtime@0.2.11": {
- "integrity": "sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==",
- "dependencies": [
- "@emnapi/core",
- "@emnapi/runtime",
- "@tybys/wasm-util"
- ]
- },
- "@oxc-project/runtime@0.75.0": {
- "integrity": "sha512-gzRmVI/vorsPmbDXt7GD4Uh2lD3rCOku/1xWPB4Yx48k0EP4TZmzQudWapjN4+7Vv+rgXr0RqCHQadeaMvdBuw=="
- },
- "@oxc-project/types@0.75.0": {
- "integrity": "sha512-QMW+06WOXs7+F301Y3X0VpmWhwuQVc/X/RP2zF9OIwvSMmsif3xURS2wxbakFIABYsytgBcHpUcFepVS0Qnd3A=="
- },
- "@pkgjs/parseargs@0.11.0": {
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="
- },
- "@quansync/fs@0.1.3": {
- "integrity": "sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==",
- "dependencies": [
- "quansync"
- ]
- },
- "@rolldown/binding-darwin-arm64@1.0.0-beta.23": {
- "integrity": "sha512-rppgXFU4+dNDPQvPsfovUuYfDgMoATDomKGjIRR5bIU98BYkQF1fm+87trApilfWSosLQP9JsXOoUJO/EMrspQ==",
- "os": ["darwin"],
- "cpu": ["arm64"]
- },
- "@rolldown/binding-darwin-x64@1.0.0-beta.23": {
- "integrity": "sha512-aFo1v7GKysuwSAfsyNcBb9mj3M+wxMCu3N+DcTD5eAaz3mFex6l+2b/vLGaTWNrCMoWhRxV8rTaI1eFoMVdSuQ==",
- "os": ["darwin"],
- "cpu": ["x64"]
- },
- "@rolldown/binding-freebsd-x64@1.0.0-beta.23": {
- "integrity": "sha512-/NzbXIFIR5KR+fZ351K1qONekakXpiPhUX55ydP6ok8iKdG7bTbgs6dlMg7Ow0E2DKlQoTbZbPTUY3kTzmNrsQ==",
- "os": ["freebsd"],
- "cpu": ["x64"]
- },
- "@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.23": {
- "integrity": "sha512-vPnCHxjyR4ZVj9x6sLJMCAdBY99RPe6Mnwxb5BSaE6ccHzvy015xtsIEG7H9E9pVj3yfI/om77jrP+YA5IqL3w==",
- "os": ["linux"],
- "cpu": ["arm"]
- },
- "@rolldown/binding-linux-arm64-gnu@1.0.0-beta.23": {
- "integrity": "sha512-PFBBnj9JqLOL8gjZtoVGfOXe0PSpnPUXE+JuMcWz568K/p4Zzk7lDDHl7guD95wVtV89TmfaRwK2PWd9vKxHtg==",
- "os": ["linux"],
- "cpu": ["arm64"]
- },
- "@rolldown/binding-linux-arm64-musl@1.0.0-beta.23": {
- "integrity": "sha512-KyQRLofVP78yUCXT90YmEzxK6I9VCBeOTSyOrs40Qx0Q0XwaGVwxo7sKj2SmnqxribdcouBA3CfNZC4ZNcyEnQ==",
- "os": ["linux"],
- "cpu": ["arm64"]
- },
- "@rolldown/binding-linux-x64-gnu@1.0.0-beta.23": {
- "integrity": "sha512-EubfEsJyjQbKK9j3Ez1hhbIOsttABb07Z7PhMRcVYW0wrVr8SfKLew9pULIMfcSNnoz8QqzoI4lOSmezJ9bYWw==",
- "os": ["linux"],
- "cpu": ["x64"]
- },
- "@rolldown/binding-linux-x64-musl@1.0.0-beta.23": {
- "integrity": "sha512-MUAthvl3I/+hySltZuj5ClKiq8fAMqExeBnxadLFShwWCbdHKFd+aRjBxxzarPcnqbDlTaOCUaAaYmQTOTOHSg==",
- "os": ["linux"],
- "cpu": ["x64"]
- },
- "@rolldown/binding-wasm32-wasi@1.0.0-beta.23": {
- "integrity": "sha512-YI7QMQU01QFVNTEaQt3ysrq+wGBwLdFVFEGO64CoZ3gTsr/HulU8gvgR+67coQOlQC9iO/Hm1bvkBtceLxKrnA==",
- "dependencies": [
- "@napi-rs/wasm-runtime"
- ],
- "cpu": ["wasm32"]
- },
- "@rolldown/binding-win32-arm64-msvc@1.0.0-beta.23": {
- "integrity": "sha512-JdHx6Hli53etB/QsZL1tjpf4qa87kNcwPdx4iVicP/kL7po6k5bHoS5/l/nRRccwPh7BlPlB2uoEuTwJygJosQ==",
- "os": ["win32"],
- "cpu": ["arm64"]
- },
- "@rolldown/binding-win32-ia32-msvc@1.0.0-beta.23": {
- "integrity": "sha512-rMZ0QBmcDND97+5unXxquKvSudV8tz6S7tBY3gOYlqMFEDIRX0BAgxaqQBQbq34ZxB9bXwGdjuau3LZHGreB6g==",
- "os": ["win32"],
- "cpu": ["ia32"]
- },
- "@rolldown/binding-win32-x64-msvc@1.0.0-beta.23": {
- "integrity": "sha512-0PqE7vGIpA+XT+qxAYJQKTrB5zz8vJiuCOInfY/ks/QOs6ZZ9Os8bdNkcpCy4rYo+GMZn0Q8CwyPu4uexWB1aA==",
- "os": ["win32"],
- "cpu": ["x64"]
- },
- "@rolldown/pluginutils@1.0.0-beta.23": {
- "integrity": "sha512-lLCP4LUecUGBLq8EfkbY2esGYyvZj5ee+WZG12+mVnQH48b46SVbwp+0vJkD+6Pnsc+u9SWarBV9sQ5mVwmb5g=="
- },
- "@rollup/plugin-json@6.1.0": {
- "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==",
- "dependencies": [
- "@rollup/pluginutils"
- ]
- },
- "@rollup/pluginutils@5.2.0": {
- "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==",
- "dependencies": [
- "@types/estree",
- "estree-walker",
- "picomatch"
- ]
- },
- "@rollup/rollup-android-arm-eabi@4.18.0": {
- "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
- "os": ["android"],
- "cpu": ["arm"]
- },
- "@rollup/rollup-android-arm64@4.18.0": {
- "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
- "os": ["android"],
- "cpu": ["arm64"]
- },
- "@rollup/rollup-darwin-arm64@4.18.0": {
- "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
- "os": ["darwin"],
- "cpu": ["arm64"]
- },
- "@rollup/rollup-darwin-x64@4.18.0": {
- "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
- "os": ["darwin"],
- "cpu": ["x64"]
- },
- "@rollup/rollup-linux-arm-gnueabihf@4.18.0": {
- "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
- "os": ["linux"],
- "cpu": ["arm"]
- },
- "@rollup/rollup-linux-arm-musleabihf@4.18.0": {
- "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
- "os": ["linux"],
- "cpu": ["arm"]
- },
- "@rollup/rollup-linux-arm64-gnu@4.18.0": {
- "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
- "os": ["linux"],
- "cpu": ["arm64"]
- },
- "@rollup/rollup-linux-arm64-musl@4.18.0": {
- "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
- "os": ["linux"],
- "cpu": ["arm64"]
- },
- "@rollup/rollup-linux-powerpc64le-gnu@4.18.0": {
- "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
- "os": ["linux"],
- "cpu": ["ppc64"]
- },
- "@rollup/rollup-linux-riscv64-gnu@4.18.0": {
- "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
- "os": ["linux"],
- "cpu": ["riscv64"]
- },
- "@rollup/rollup-linux-s390x-gnu@4.18.0": {
- "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
- "os": ["linux"],
- "cpu": ["s390x"]
- },
- "@rollup/rollup-linux-x64-gnu@4.18.0": {
- "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
- "os": ["linux"],
- "cpu": ["x64"]
- },
- "@rollup/rollup-linux-x64-musl@4.18.0": {
- "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
- "os": ["linux"],
- "cpu": ["x64"]
- },
- "@rollup/rollup-win32-arm64-msvc@4.18.0": {
- "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
- "os": ["win32"],
- "cpu": ["arm64"]
- },
- "@rollup/rollup-win32-ia32-msvc@4.18.0": {
- "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
- "os": ["win32"],
- "cpu": ["ia32"]
- },
- "@rollup/rollup-win32-x64-msvc@4.18.0": {
- "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
- "os": ["win32"],
- "cpu": ["x64"]
- },
- "@sapphire/async-queue@1.5.5": {
- "integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg=="
- },
- "@sapphire/shapeshift@4.0.0": {
- "integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==",
- "dependencies": [
- "fast-deep-equal",
- "lodash"
- ]
- },
- "@sapphire/snowflake@3.5.3": {
- "integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ=="
- },
- "@tybys/wasm-util@0.9.0": {
- "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
- "dependencies": [
- "tslib"
- ]
- },
- "@types/babel__core@7.20.5": {
- "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
- "dependencies": [
- "@babel/parser",
- "@babel/types",
- "@types/babel__generator",
- "@types/babel__template",
- "@types/babel__traverse"
- ]
- },
- "@types/babel__generator@7.27.0": {
- "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
- "dependencies": [
- "@babel/types"
- ]
- },
- "@types/babel__template@7.4.4": {
- "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
- "dependencies": [
- "@babel/parser",
- "@babel/types"
- ]
- },
- "@types/babel__traverse@7.20.7": {
- "integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
- "dependencies": [
- "@babel/types"
- ]
- },
- "@types/estree@1.0.8": {
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="
- },
- "@types/node@22.15.15": {
- "integrity": "sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==",
- "dependencies": [
- "undici-types@6.21.0"
- ]
- },
- "@types/node@24.0.10": {
- "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==",
- "dependencies": [
- "undici-types@7.8.0"
- ]
- },
- "@types/ws@8.5.10": {
- "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==",
- "dependencies": [
- "@types/node@22.15.15"
- ]
- },
- "@vladfrangu/async_event_emitter@2.4.6": {
- "integrity": "sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA=="
- },
- "ansi-regex@5.0.1": {
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-regex@6.1.0": {
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="
- },
- "ansi-styles@4.3.0": {
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": [
- "color-convert"
- ]
- },
- "ansi-styles@6.2.1": {
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="
- },
- "ansis@4.1.0": {
- "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w=="
- },
- "ast-kit@2.1.1": {
- "integrity": "sha512-mfh6a7gKXE8pDlxTvqIc/syH/P3RkzbOF6LeHdcKztLEzYe6IMsRCL7N8vI7hqTGWNxpkCuuRTpT21xNWqhRtQ==",
- "dependencies": [
- "@babel/parser",
- "pathe"
- ]
- },
- "birpc@2.4.0": {
- "integrity": "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg=="
- },
- "browserslist@4.25.1": {
- "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==",
- "dependencies": [
- "caniuse-lite",
- "electron-to-chromium",
- "node-releases",
- "update-browserslist-db"
- ],
- "bin": true
- },
- "cac@6.7.14": {
- "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="
- },
- "caniuse-lite@1.0.30001726": {
- "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw=="
- },
- "chalk@5.4.1": {
- "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="
- },
- "chokidar@4.0.3": {
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "dependencies": [
- "readdirp"
- ]
- },
- "cli-cursor@5.0.0": {
- "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
- "dependencies": [
- "restore-cursor"
- ]
- },
- "cli-spinners@2.9.2": {
- "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="
- },
- "color-convert@2.0.1": {
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": [
- "color-name"
- ]
- },
- "color-name@1.1.4": {
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "commander@13.1.0": {
- "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="
- },
- "commandkit@1.0.0-dev.20250702022547_discord.js@14.21.0_typescript@5.8.3": {
- "integrity": "sha512-+IxaSktstFWZo2gXTbxbLqNPSOzchJBYTJVy6nUIihzYtgYSuYT62/bbtgbAi08fo8uY5AD7qou2qzCQujEleg==",
- "dependencies": [
- "@rollup/plugin-json",
- "chokidar",
- "commander",
- "directive-to-hof",
- "discord.js",
- "dotenv",
- "ms",
- "ora",
- "picocolors",
- "rfdc",
- "rimraf",
- "tsdown",
- "use-macro"
- ],
- "bin": true
- },
- "convert-source-map@2.0.0": {
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
- },
- "cross-spawn@7.0.6": {
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dependencies": [
- "path-key",
- "shebang-command",
- "which"
- ]
- },
- "debug@4.4.1": {
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
- "dependencies": [
- "ms"
- ]
- },
- "defu@6.1.4": {
- "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="
- },
- "devalue@5.1.1": {
- "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="
- },
- "diff@8.0.2": {
- "integrity": "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="
- },
- "directive-to-hof@0.0.2_@babel+core@7.27.7": {
- "integrity": "sha512-LXSafC5HhiYxMxAUMgq8TvbgL9TjGwkN5yqndVluDa5DbuuCouSuwGqpwHJadTxm+KZmwBmxJKsGVdOk1NT2uw==",
- "dependencies": [
- "@babel/core",
- "@babel/generator",
- "@babel/parser",
- "@babel/preset-typescript",
- "@babel/traverse",
- "@babel/types",
- "@types/babel__core"
- ]
- },
- "discord-api-types@0.38.14": {
- "integrity": "sha512-5qknrPxvIzAiX2tDb7dB55A4ydb/nCKxhlO48RrMNeyEGsBgk/88qIAsUm7K7nDnNkkOgJYt/wufybEPYWRMJQ=="
- },
- "discord.js@14.21.0": {
- "integrity": "sha512-U5w41cEmcnSfwKYlLv5RJjB8Joa+QJyRwIJz5i/eg+v2Qvv6EYpCRhN9I2Rlf0900LuqSDg8edakUATrDZQncQ==",
- "dependencies": [
- "@discordjs/builders",
- "@discordjs/collection@1.5.3",
- "@discordjs/formatters",
- "@discordjs/rest",
- "@discordjs/util",
- "@discordjs/ws",
- "@sapphire/snowflake",
- "discord-api-types",
- "fast-deep-equal",
- "lodash.snakecase",
- "magic-bytes.js",
- "tslib",
- "undici"
- ]
- },
- "dotenv@16.6.1": {
- "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="
- },
- "dts-resolver@2.1.1": {
- "integrity": "sha512-3BiGFhB6mj5Kv+W2vdJseQUYW+SKVzAFJL6YNP6ursbrwy1fXHRotfHi3xLNxe4wZl/K8qbAFeCDjZLjzqxxRw=="
- },
- "eastasianwidth@0.2.0": {
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
- },
- "electron-to-chromium@1.5.178": {
- "integrity": "sha512-wObbz/ar3Bc6e4X5vf0iO8xTN8YAjN/tgiAOJLr7yjYFtP9wAjq8Mb5h0yn6kResir+VYx2DXBj9NNobs0ETSA=="
- },
- "emoji-regex@10.4.0": {
- "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="
- },
- "emoji-regex@8.0.0": {
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
- },
- "emoji-regex@9.2.2": {
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
- },
- "empathic@2.0.0": {
- "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="
- },
- "escalade@3.2.0": {
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="
- },
- "estree-walker@2.0.2": {
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
- },
- "fast-deep-equal@3.1.3": {
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
- },
- "fdir@6.4.6_picomatch@4.0.2": {
- "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
- "dependencies": [
- "picomatch"
- ],
- "optionalPeers": [
- "picomatch"
- ]
- },
- "foreground-child@3.3.1": {
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
- "dependencies": [
- "cross-spawn",
- "signal-exit"
- ]
- },
- "fsevents@2.3.3": {
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "os": ["darwin"],
- "scripts": true
- },
- "gensync@1.0.0-beta.2": {
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
- },
- "get-east-asian-width@1.3.0": {
- "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="
- },
- "get-tsconfig@4.10.1": {
- "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
- "dependencies": [
- "resolve-pkg-maps"
- ]
- },
- "glob@11.0.3": {
- "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==",
- "dependencies": [
- "foreground-child",
- "jackspeak",
- "minimatch",
- "minipass",
- "package-json-from-dist",
- "path-scurry"
- ],
- "bin": true
- },
- "globals@11.12.0": {
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
- },
- "hookable@5.5.3": {
- "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
- },
- "is-fullwidth-code-point@3.0.0": {
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
- },
- "is-interactive@2.0.0": {
- "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ=="
- },
- "is-unicode-supported@1.3.0": {
- "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ=="
- },
- "is-unicode-supported@2.1.0": {
- "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ=="
- },
- "isexe@2.0.0": {
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "jackspeak@4.1.1": {
- "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
- "dependencies": [
- "@isaacs/cliui"
- ]
- },
- "jiti@2.4.2": {
- "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
- "bin": true
- },
- "js-tokens@4.0.0": {
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "jsesc@3.1.0": {
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
- "bin": true
- },
- "json5@2.2.3": {
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "bin": true
- },
- "lodash.snakecase@4.1.1": {
- "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
- },
- "lodash@4.17.21": {
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "log-symbols@6.0.0": {
- "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==",
- "dependencies": [
- "chalk",
- "is-unicode-supported@1.3.0"
- ]
- },
- "lru-cache@11.1.0": {
- "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A=="
- },
- "lru-cache@5.1.1": {
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dependencies": [
- "yallist"
- ]
- },
- "magic-bytes.js@1.12.1": {
- "integrity": "sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA=="
- },
- "mimic-function@5.0.1": {
- "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="
- },
- "minimatch@10.0.3": {
- "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
- "dependencies": [
- "@isaacs/brace-expansion"
- ]
- },
- "minipass@7.1.2": {
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="
- },
- "ms@2.1.3": {
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- },
- "node-releases@2.0.19": {
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
- },
- "onetime@7.0.0": {
- "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
- "dependencies": [
- "mimic-function"
- ]
- },
- "ora@8.2.0": {
- "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==",
- "dependencies": [
- "chalk",
- "cli-cursor",
- "cli-spinners",
- "is-interactive",
- "is-unicode-supported@2.1.0",
- "log-symbols",
- "stdin-discarder",
- "string-width@7.2.0",
- "strip-ansi@7.1.0"
- ]
- },
- "package-json-from-dist@1.0.1": {
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="
- },
- "path-key@3.1.1": {
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-scurry@2.0.0": {
- "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
- "dependencies": [
- "lru-cache@11.1.0",
- "minipass"
- ]
- },
- "pathe@2.0.3": {
- "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="
- },
- "picocolors@1.1.1": {
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
- },
- "picomatch@4.0.2": {
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="
- },
- "quansync@0.2.10": {
- "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="
- },
- "readdirp@4.1.2": {
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="
- },
- "resolve-pkg-maps@1.0.0": {
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="
- },
- "restore-cursor@5.1.0": {
- "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
- "dependencies": [
- "onetime",
- "signal-exit"
- ]
- },
- "rfdc@1.4.1": {
- "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="
- },
- "rimraf@6.0.1": {
- "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==",
- "dependencies": [
- "glob",
- "package-json-from-dist"
- ],
- "bin": true
- },
- "rolldown-plugin-dts@0.13.13_rolldown@1.0.0-beta.23_typescript@5.8.3": {
- "integrity": "sha512-Nchx9nQoa4IpfQ/BJzodKMvtJ3H3dT322siAJSp3uvQJ+Pi1qgEjOp7hSQwGSQRhaC5gC+9hparbWEH5oiAL9Q==",
- "dependencies": [
- "@babel/generator",
- "@babel/parser",
- "@babel/types",
- "ast-kit",
- "birpc",
- "debug",
- "dts-resolver",
- "get-tsconfig",
- "rolldown",
- "typescript"
- ],
- "optionalPeers": [
- "typescript"
- ]
- },
- "rolldown@1.0.0-beta.23": {
- "integrity": "sha512-+/TR2YSZxLTtDAfG9LHlYqsHO6jtvr9qxaRD77E+PCAQi5X47bJkgiZsjDmE1jGR19NfYegWToOvSe6E+8NfwA==",
- "dependencies": [
- "@oxc-project/runtime",
- "@oxc-project/types",
- "@rolldown/pluginutils",
- "ansis"
- ],
- "optionalDependencies": [
- "@rolldown/binding-darwin-arm64",
- "@rolldown/binding-darwin-x64",
- "@rolldown/binding-freebsd-x64",
- "@rolldown/binding-linux-arm-gnueabihf",
- "@rolldown/binding-linux-arm64-gnu",
- "@rolldown/binding-linux-arm64-musl",
- "@rolldown/binding-linux-x64-gnu",
- "@rolldown/binding-linux-x64-musl",
- "@rolldown/binding-wasm32-wasi",
- "@rolldown/binding-win32-arm64-msvc",
- "@rolldown/binding-win32-ia32-msvc",
- "@rolldown/binding-win32-x64-msvc"
- ],
- "bin": true
- },
- "semver@6.3.1": {
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "bin": true
- },
- "semver@7.7.2": {
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "bin": true
- },
- "shebang-command@2.0.0": {
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": [
- "shebang-regex"
- ]
- },
- "shebang-regex@3.0.0": {
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "signal-exit@4.1.0": {
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="
- },
- "stdin-discarder@0.2.2": {
- "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ=="
- },
- "string-width@4.2.3": {
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dependencies": [
- "emoji-regex@8.0.0",
- "is-fullwidth-code-point",
- "strip-ansi@6.0.1"
- ]
- },
- "string-width@5.1.2": {
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dependencies": [
- "eastasianwidth",
- "emoji-regex@9.2.2",
- "strip-ansi@7.1.0"
- ]
- },
- "string-width@7.2.0": {
- "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
- "dependencies": [
- "emoji-regex@10.4.0",
- "get-east-asian-width",
- "strip-ansi@7.1.0"
- ]
- },
- "strip-ansi@6.0.1": {
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dependencies": [
- "ansi-regex@5.0.1"
- ]
- },
- "strip-ansi@7.1.0": {
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dependencies": [
- "ansi-regex@6.1.0"
- ]
- },
- "tinyexec@1.0.1": {
- "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw=="
- },
- "tinyglobby@0.2.14_picomatch@4.0.2": {
- "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
- "dependencies": [
- "fdir",
- "picomatch"
- ]
- },
- "ts-mixer@6.0.4": {
- "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA=="
- },
- "tsdown@0.12.9_typescript@5.8.3_rolldown@1.0.0-beta.23": {
- "integrity": "sha512-MfrXm9PIlT3saovtWKf/gCJJ/NQCdE0SiREkdNC+9Qy6UHhdeDPxnkFaBD7xttVUmgp0yUHtGirpoLB+OVLuLA==",
- "dependencies": [
- "ansis",
- "cac",
- "chokidar",
- "debug",
- "diff",
- "empathic",
- "hookable",
- "rolldown",
- "rolldown-plugin-dts",
- "semver@7.7.2",
- "tinyexec",
- "tinyglobby",
- "typescript",
- "unconfig"
- ],
- "optionalPeers": [
- "typescript"
- ],
- "bin": true
- },
- "tslib@2.7.0": {
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
- },
- "typescript@5.8.3": {
- "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
- "bin": true
- },
- "unconfig@7.3.2": {
- "integrity": "sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==",
- "dependencies": [
- "@quansync/fs",
- "defu",
- "jiti",
- "quansync"
- ]
- },
- "undici-types@6.21.0": {
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
- },
- "undici-types@7.8.0": {
- "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="
- },
- "undici@6.21.3": {
- "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw=="
- },
- "update-browserslist-db@1.1.3_browserslist@4.25.1": {
- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
- "dependencies": [
- "browserslist",
- "escalade",
- "picocolors"
- ],
- "bin": true
- },
- "use-macro@1.1.0_@babel+core@7.27.7": {
- "integrity": "sha512-swkpddhh4pBk3PI7ig+KtNrSzcGQbNBciFdIrajIuOICany29Exvw4KRK+CsybDsGgc4BHufw3rPG6vAbrSvhg==",
- "dependencies": [
- "@babel/core",
- "@babel/generator",
- "@babel/parser",
- "@babel/preset-typescript",
- "@babel/traverse",
- "@babel/types",
- "@types/babel__core",
- "devalue"
- ]
- },
- "which@2.0.2": {
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": [
- "isexe"
- ],
- "bin": true
- },
- "wrap-ansi@7.0.0": {
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dependencies": [
- "ansi-styles@4.3.0",
- "string-width@4.2.3",
- "strip-ansi@6.0.1"
- ]
- },
- "wrap-ansi@8.1.0": {
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dependencies": [
- "ansi-styles@6.2.1",
- "string-width@5.1.2",
- "strip-ansi@7.1.0"
- ]
- },
- "ws@8.17.0": {
- "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow=="
- },
- "yallist@3.1.1": {
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
- }
- },
- "workspace": {
- "packageJson": {
- "dependencies": [
- "npm:@types/node@^24.0.10",
- "npm:commandkit@1.0.0-dev.20250702022547",
- "npm:discord.js@^14.21.0",
- "npm:typescript@^5.8.3"
- ]
- }
- }
-}
From 57bd27a42307be73ac8e48ac372d658cbf59f5c5 Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:54:50 +0545
Subject: [PATCH 6/9] feat: dynamic version selection
---
packages/create-commandkit/src/index.ts | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/packages/create-commandkit/src/index.ts b/packages/create-commandkit/src/index.ts
index 24efa98f..0e49d2d3 100755
--- a/packages/create-commandkit/src/index.ts
+++ b/packages/create-commandkit/src/index.ts
@@ -5,7 +5,7 @@ import { confirm, intro, outro, password, text } from '@clack/prompts';
import fs from 'fs-extra';
import gradient from 'gradient-string';
import { execSync } from 'node:child_process';
-import path from 'node:path';
+import path, { join } from 'node:path';
import colors from 'picocolors';
import { parseCLI } from './cli.js';
@@ -22,6 +22,7 @@ import {
resolvePackageManager,
textColors,
} from './utils.js';
+import { readFile } from 'node:fs/promises';
async function main() {
const cliOptions = parseCLI();
@@ -181,9 +182,28 @@ Examples:
);
try {
+ const tagMap = [
+ ['-dev.', 'dev'],
+ ['-rc.', 'next'],
+ ];
+
+ const tag = await readFile(
+ join(import.meta.dirname, '..', 'package.json'),
+ 'utf-8',
+ )
+ .then((data) => {
+ const version = JSON.parse(data).version;
+
+ return (
+ tagMap.find(([suffix]) => version.includes(suffix))?.[1] ||
+ 'latest'
+ );
+ })
+ .catch(() => 'latest');
+
// Install dependencies
const depsCommand = getInstallCommand(manager, [
- 'commandkit@rc',
+ `commandkit@${tag}`,
'discord.js',
]);
execSync(depsCommand, { cwd: projectDir, stdio: 'pipe' });
From 40b65d90fb7a42b480d52a35ed475bcab7923b5e Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:56:00 +0545
Subject: [PATCH 7/9] chore: remove invalid files from package.json
---
packages/create-commandkit/package.json | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/packages/create-commandkit/package.json b/packages/create-commandkit/package.json
index 1ec80e77..aecbcd0c 100644
--- a/packages/create-commandkit/package.json
+++ b/packages/create-commandkit/package.json
@@ -18,8 +18,7 @@
"commands"
],
"files": [
- "dist",
- "templates"
+ "dist"
],
"repository": {
"type": "git",
@@ -51,4 +50,4 @@
"tsx": "^4.20.6",
"typescript": "catalog:build"
}
-}
+}
\ No newline at end of file
From 1d5295bda05ddc0079593a549c93b452e1b0cfa7 Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 11:56:25 +0545
Subject: [PATCH 8/9] chore: prettier
---
packages/create-commandkit/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/create-commandkit/package.json b/packages/create-commandkit/package.json
index aecbcd0c..422b7d3e 100644
--- a/packages/create-commandkit/package.json
+++ b/packages/create-commandkit/package.json
@@ -50,4 +50,4 @@
"tsx": "^4.20.6",
"typescript": "catalog:build"
}
-}
\ No newline at end of file
+}
From 63c9276b73dd2ad04f078a504e19c5de869385ba Mon Sep 17 00:00:00 2001
From: twlite <46562212+twlite@users.noreply.github.com>
Date: Sun, 19 Oct 2025 12:06:09 +0545
Subject: [PATCH 9/9] fix: tiged import issue
---
packages/create-commandkit/README.md | 2 +-
packages/create-commandkit/src/cli.ts | 2 --
.../src/functions/fetchExample.ts | 2 +-
packages/create-commandkit/src/index.ts | 8 +-----
packages/create-commandkit/src/types.ts | 1 -
packages/create-commandkit/src/utils.ts | 25 +++++++++++++++++++
6 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/packages/create-commandkit/README.md b/packages/create-commandkit/README.md
index 774940ee..8ce74229 100644
--- a/packages/create-commandkit/README.md
+++ b/packages/create-commandkit/README.md
@@ -52,7 +52,7 @@ npx create-commandkit@latest --example "https://github.com/user/repo" --example-
### CLI Options
- `-h, --help` - Show all available options
-- `-v, --version` - Output the version number
+- `-V, --version` - Output the version number
- `-e, --example ` - An example to bootstrap the app with
- `--example-path ` - Specify the path to the example separately
- `--use-npm` - Use npm as package manager
diff --git a/packages/create-commandkit/src/cli.ts b/packages/create-commandkit/src/cli.ts
index f375abe4..7461adbf 100644
--- a/packages/create-commandkit/src/cli.ts
+++ b/packages/create-commandkit/src/cli.ts
@@ -10,7 +10,6 @@ export function parseCLI(): CLIOptions {
.version(process.env.npm_package_version || '1.0.0')
.argument('[project-directory]', 'Project directory name')
.option('-h, --help', 'Show all available options')
- .option('-v, --version', 'Output the version number')
.option(
'-e, --example ',
'An example to bootstrap the app with',
@@ -42,7 +41,6 @@ export function parseCLI(): CLIOptions {
return {
help: options.help,
- version: options.version,
example: options.example,
examplePath: options.examplePath,
useNpm: options.useNpm,
diff --git a/packages/create-commandkit/src/functions/fetchExample.ts b/packages/create-commandkit/src/functions/fetchExample.ts
index c3add071..801e78b3 100644
--- a/packages/create-commandkit/src/functions/fetchExample.ts
+++ b/packages/create-commandkit/src/functions/fetchExample.ts
@@ -1,7 +1,7 @@
import fs from 'fs-extra';
import path from 'node:path';
// @ts-ignore
-import { tiged } from 'tiged';
+import tiged from 'tiged';
import { validateExampleName } from './validate.js';
export interface FetchExampleOptions {
diff --git a/packages/create-commandkit/src/index.ts b/packages/create-commandkit/src/index.ts
index 0e49d2d3..c2a818cd 100755
--- a/packages/create-commandkit/src/index.ts
+++ b/packages/create-commandkit/src/index.ts
@@ -1,5 +1,4 @@
#!/usr/bin/env node
-console.clear();
import { confirm, intro, outro, password, text } from '@clack/prompts';
import fs from 'fs-extra';
@@ -34,7 +33,7 @@ Usage: create-commandkit [options] [project-directory]
Options:
-h, --help Show all available options
- -v, --version Output the version number
+ -V, --version Output the version number
-e, --example An example to bootstrap the app with
--example-path Specify the path to the example separately
--use-npm Explicitly tell the CLI to bootstrap using npm
@@ -58,11 +57,6 @@ Examples:
process.exit(0);
}
- if (cliOptions.version) {
- console.log(process.env.npm_package_version || '1.0.0');
- process.exit(0);
- }
-
// Handle list examples flag
if (cliOptions.listExamples) {
console.log(colors.cyan('Fetching available examples...'));
diff --git a/packages/create-commandkit/src/types.ts b/packages/create-commandkit/src/types.ts
index fa7b31ab..98405296 100644
--- a/packages/create-commandkit/src/types.ts
+++ b/packages/create-commandkit/src/types.ts
@@ -2,7 +2,6 @@ export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'bun' | 'deno';
export interface CLIOptions {
help?: boolean;
- version?: boolean;
example?: string;
examplePath?: string;
useNpm?: boolean;
diff --git a/packages/create-commandkit/src/utils.ts b/packages/create-commandkit/src/utils.ts
index 920b395e..f897cb47 100644
--- a/packages/create-commandkit/src/utils.ts
+++ b/packages/create-commandkit/src/utils.ts
@@ -90,11 +90,28 @@ export function getInstallCommand(
}
export async function fetchAvailableExamples(): Promise {
+ let controller: AbortController | null = null;
+ let timeoutId: NodeJS.Timeout | null = null;
+
try {
+ controller = new AbortController();
+ timeoutId = setTimeout(() => controller!.abort(), 10000); // 10 second timeout
+
const response = await fetch(
'https://api.github.com/repos/underctrl-io/commandkit/contents/examples',
+ {
+ signal: controller.signal,
+ headers: {
+ 'User-Agent': 'create-commandkit',
+ },
+ },
);
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ timeoutId = null;
+ }
+
if (!response.ok) {
throw new Error(`GitHub API error: ${response.status}`);
}
@@ -110,6 +127,14 @@ export async function fetchAvailableExamples(): Promise {
.map((item) => item.name)
.sort();
} catch (error) {
+ // Clean up on error
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ }
+ if (controller) {
+ controller.abort();
+ }
+
// Fallback to few known examples if API fails
return ['basic-ts', 'basic-js', 'deno-ts', 'without-cli'];
}