From 8ed4376efc01d911f3b6db3b24e296768d46f35a Mon Sep 17 00:00:00 2001 From: Snazzah Date: Fri, 30 May 2025 16:12:23 -0500 Subject: [PATCH 1/2] refactor --- .env.example | 1 + .eslintrc.js | 3 - .github/dependabot.yml | 12 - .github/labels.yml | 74 - .github/stale.yml | 17 - .github/workflows/ci-dep.yml | 24 - .github/workflows/lint.yml | 61 - .gitignore | 2 + .prettierrc | 6 +- .vscode/extensions.json | 8 - bun.lock | 61 + config/_default.js | 32 - ecosystem.config.js | 4 +- package.json | 29 +- pnpm-lock.yaml | 2842 -------------------- src/assets/access_roles.png | Bin 0 -> 31278 bytes src/assets/empty_msg.png | Bin 0 -> 175928 bytes src/bot.ts | 47 - src/canned/align.ts | 19 + src/{commands => }/canned/alistair.ts | 29 +- src/canned/ask.ts | 7 + src/canned/autorec.ts | 21 + src/canned/beginning.ts | 20 + src/canned/blank.ts | 19 + src/{commands => }/canned/craigdied.ts | 31 +- src/{commands => }/canned/craigrole.ts | 31 +- src/{commands => }/canned/deleted.ts | 29 +- src/{commands => }/canned/dm.ts | 31 +- src/{commands => }/canned/dmaccess.ts | 31 +- src/{commands => }/canned/emoji.ts | 33 +- src/{commands => }/canned/ez.ts | 31 +- src/canned/guide.ts | 8 + src/canned/mobile.ts | 19 + src/{commands => }/canned/moredetail.ts | 31 +- src/canned/mp3.ts | 7 + src/{commands => }/canned/multichannel.ts | 31 +- src/{commands => }/canned/multitrack.ts | 31 +- src/{commands => }/canned/noworky.ts | 29 +- src/{commands => }/canned/patreonaccess.ts | 31 +- src/canned/recnick.ts | 19 + src/canned/site.ts | 8 + src/{commands => }/canned/soundboard.ts | 31 +- src/{commands => }/canned/stuckpanel.ts | 31 +- src/canned/video.ts | 18 + src/canned/whatformat.ts | 20 + src/{commands => }/canned/wherelink.ts | 37 +- src/{commands => }/canned/whydm.ts | 31 +- src/commands/canned.ts | 33 - src/commands/canned/align.ts | 28 - src/commands/canned/ask.ts | 18 - src/commands/canned/autorec.ts | 30 - src/commands/canned/beginning.ts | 28 - src/commands/canned/guide.ts | 25 - src/commands/canned/mobile.ts | 28 - src/commands/canned/mp3.ts | 24 - src/commands/canned/recnick.ts | 28 - src/commands/canned/site.ts | 25 - src/commands/canned/video.ts | 27 - src/commands/canned/whatformat.ts | 29 - src/index.ts | 112 +- src/util.ts | 8 + src/util/abstracts.ts | 100 - src/util/index.ts | 66 - tsconfig.json | 42 +- 64 files changed, 592 insertions(+), 3996 deletions(-) create mode 100644 .env.example delete mode 100644 .eslintrc.js delete mode 100644 .github/dependabot.yml delete mode 100644 .github/labels.yml delete mode 100644 .github/stale.yml delete mode 100644 .github/workflows/ci-dep.yml delete mode 100644 .github/workflows/lint.yml delete mode 100644 .vscode/extensions.json create mode 100644 bun.lock delete mode 100644 config/_default.js delete mode 100644 pnpm-lock.yaml create mode 100644 src/assets/access_roles.png create mode 100644 src/assets/empty_msg.png delete mode 100644 src/bot.ts create mode 100644 src/canned/align.ts rename src/{commands => }/canned/alistair.ts (53%) create mode 100644 src/canned/ask.ts create mode 100644 src/canned/autorec.ts create mode 100644 src/canned/beginning.ts create mode 100644 src/canned/blank.ts rename src/{commands => }/canned/craigdied.ts (69%) rename src/{commands => }/canned/craigrole.ts (51%) rename src/{commands => }/canned/deleted.ts (53%) rename src/{commands => }/canned/dm.ts (52%) rename src/{commands => }/canned/dmaccess.ts (71%) rename src/{commands => }/canned/emoji.ts (52%) rename src/{commands => }/canned/ez.ts (59%) create mode 100644 src/canned/guide.ts create mode 100644 src/canned/mobile.ts rename src/{commands => }/canned/moredetail.ts (67%) create mode 100644 src/canned/mp3.ts rename src/{commands => }/canned/multichannel.ts (56%) rename src/{commands => }/canned/multitrack.ts (60%) rename src/{commands => }/canned/noworky.ts (71%) rename src/{commands => }/canned/patreonaccess.ts (72%) create mode 100644 src/canned/recnick.ts create mode 100644 src/canned/site.ts rename src/{commands => }/canned/soundboard.ts (50%) rename src/{commands => }/canned/stuckpanel.ts (51%) create mode 100644 src/canned/video.ts create mode 100644 src/canned/whatformat.ts rename src/{commands => }/canned/wherelink.ts (56%) rename src/{commands => }/canned/whydm.ts (71%) delete mode 100644 src/commands/canned.ts delete mode 100644 src/commands/canned/align.ts delete mode 100644 src/commands/canned/ask.ts delete mode 100644 src/commands/canned/autorec.ts delete mode 100644 src/commands/canned/beginning.ts delete mode 100644 src/commands/canned/guide.ts delete mode 100644 src/commands/canned/mobile.ts delete mode 100644 src/commands/canned/mp3.ts delete mode 100644 src/commands/canned/recnick.ts delete mode 100644 src/commands/canned/site.ts delete mode 100644 src/commands/canned/video.ts delete mode 100644 src/commands/canned/whatformat.ts create mode 100644 src/util.ts delete mode 100644 src/util/abstracts.ts delete mode 100644 src/util/index.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..1bcaa3c --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +DISCORD_BOT_TOKEN= diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index ef4ce39..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - extends: 'snazzah' -}; diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 85657bc..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ - -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" diff --git a/.github/labels.yml b/.github/labels.yml deleted file mode 100644 index f66e557..0000000 --- a/.github/labels.yml +++ /dev/null @@ -1,74 +0,0 @@ -- name: 'good first issue' - color: '5319e7' - description: 'Good for newcomers' - aliases: [] - -- name: 'help wanted' - color: '008672' - description: 'Extra attention is needed' - aliases: [] - -- name: 'status: pending' - color: c5def5 - description: 'More info is needed before deciding what to do' - aliases: [] - -- name: 'status: pinned' - color: 0052cc - description: 'Should not be labeled as stale' - aliases: [] - -- name: 'status: stale' - color: fbca04 - description: 'Inactive issues and PRs' - aliases: ['stale'] - -- name: 'status: wontfix' - color: ffffff - description: 'This will not be worked on' - aliases: ['wontfix'] - -- name: 'type: automation' - color: 2fc904 - description: 'About actions workflows and automation' - aliases: ['automation'] - -- name: 'type: bug' - color: d73a4a - description: 'Verified problems that need to be worked on' - aliases: ['bug'] - -- name: 'type: dependencies' - color: 0366d6 - description: 'Pull requests that update a dependency file' - aliases: ['dependencies'] - -- name: 'type: duplicate' - color: cfd3d7 - description: 'This issue or pull request already exists' - aliases: ['duplicate'] - -- name: 'type: enhancement' - color: a2eeef - description: 'New feature or request' - aliases: ['enhancement'] - -- name: 'type: invalid' - color: e4e669 - description: "This doesn't seem right" - aliases: ['invalid'] - -- name: 'type: maintenance' - color: 0075ca - description: "Docs & refactoring, doesn't affect functionality" - aliases: ['documentation'] - -- name: 'type: not a bug' - color: 0e8a16 - description: 'Reports that happen not be our fault' - aliases: ['not a bug'] - -- name: 'type: question' - color: d876e3 - description: 'Further information is requested' - aliases: ['question'] \ No newline at end of file diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index 7c4e866..0000000 --- a/.github/stale.yml +++ /dev/null @@ -1,17 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 60 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 -# Issues with these labels will never be considered stale -exemptLabels: - - pinned - - security -# Label to use when marking an issue as stale -staleLabel: stale -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: true diff --git a/.github/workflows/ci-dep.yml b/.github/workflows/ci-dep.yml deleted file mode 100644 index 6a42a1a..0000000 --- a/.github/workflows/ci-dep.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: CI Dependencies -on: pull_request - -jobs: - automerge: - name: Automerge Dependabot PRs - if: github.event.pull_request.user.login == 'dependabot[bot]' - runs-on: ubuntu-latest - permissions: - pull-requests: write - contents: write - checks: read - steps: - - name: Wait for checks to succeed - uses: lewagon/wait-on-check-action@v1.1.2 - with: - ref: ${{ github.ref }} - running-workflow-name: 'Automerge Dependabot PRs' - repo-token: ${{ secrets.GITHUB_TOKEN }} - wait-interval: 10 - - uses: fastify/github-action-merge-dependabot@v3 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - target: minor diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index fb4ae54..0000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: ESLint -on: - push: - paths: - - "src/**" - - ".eslintrc.*" - - ".prettierrc" - - ".eslintignore" - - "package.json" - - "pnpm-lock.yaml" - - ".github/workflows/lint.yml" - pull_request_target: - workflow_dispatch: - -jobs: - lint: - name: Lint source code - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Set up Node.js for NPM - uses: actions/setup-node@v3 - with: - node-version: 18.x - - - uses: pnpm/action-setup@v2 - name: Install pnpm - id: pnpm-install - with: - version: 7 - run_install: false - - - name: Get pnpm store directory - id: pnpm-cache - shell: bash - run: | - echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - - - uses: actions/cache@v3 - name: Setup pnpm cache - with: - path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} - key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} - restore-keys: | - ${{ runner.os }}-pnpm-store- - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Run ESLint - run: pnpm run lint:fix - - - name: Commit changes - uses: EndBug/add-and-commit@v4 - with: - add: src - message: "chore(lint): auto-lint source code" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 857fd62..548567d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ dist/ *.log *.db config/default.js +_src/ +*.env diff --git a/.prettierrc b/.prettierrc index a3d9a52..562b1c2 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,9 +1,7 @@ { - "arrowParens": "always", "semi": true, "singleQuote": true, "tabWidth": 2, - "useTabs": false, - "trailingComma": "none", - "printWidth": 120 + "printWidth": 100, + "trailingComma": "es5" } diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index ca7cb7c..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "recommendations": [ - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "editorconfig.editorconfig", - "gruntfuggly.todo-tree" - ] -} diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..6267c09 --- /dev/null +++ b/bun.lock @@ -0,0 +1,61 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "craig-helperbot", + "dependencies": { + "@projectdysnomia/dysnomia": "^0.2.3", + "common-tags": "^1.8.2", + }, + "devDependencies": { + "@types/bun": "latest", + "@types/common-tags": "^1.8.4", + "prettier": "^3.5.3", + "typescript": "^5", + }, + }, + }, + "packages": { + "@projectdysnomia/dysnomia": ["@projectdysnomia/dysnomia@0.2.3", "", { "dependencies": { "ws": "^8.18.0" }, "optionalDependencies": { "@stablelib/xchacha20poly1305": "~1.0.1", "opusscript": "^0.1.1" }, "peerDependencies": { "@discordjs/opus": "^0.9.0", "erlpack": "github:discord/erlpack", "eventemitter3": "^5.0.1", "pako": "^2.1.0", "sodium-native": "^4.1.1", "zlib-sync": "^0.1.9" }, "optionalPeers": ["@discordjs/opus", "erlpack", "eventemitter3", "pako", "sodium-native", "zlib-sync"] }, "sha512-BBF9JV0wEJJXUdO+Kxj+LlKoFfgwj02LCXZOgt0jD+vuh1q9Yw57XNjaFwWXQHurD7PfmwqERC+UINDBlOo9Xw=="], + + "@stablelib/aead": ["@stablelib/aead@1.0.1", "", {}, "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg=="], + + "@stablelib/binary": ["@stablelib/binary@1.0.1", "", { "dependencies": { "@stablelib/int": "^1.0.1" } }, "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q=="], + + "@stablelib/chacha": ["@stablelib/chacha@1.0.1", "", { "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg=="], + + "@stablelib/chacha20poly1305": ["@stablelib/chacha20poly1305@1.0.1", "", { "dependencies": { "@stablelib/aead": "^1.0.1", "@stablelib/binary": "^1.0.1", "@stablelib/chacha": "^1.0.1", "@stablelib/constant-time": "^1.0.1", "@stablelib/poly1305": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA=="], + + "@stablelib/constant-time": ["@stablelib/constant-time@1.0.1", "", {}, "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg=="], + + "@stablelib/int": ["@stablelib/int@1.0.1", "", {}, "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w=="], + + "@stablelib/poly1305": ["@stablelib/poly1305@1.0.1", "", { "dependencies": { "@stablelib/constant-time": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA=="], + + "@stablelib/wipe": ["@stablelib/wipe@1.0.1", "", {}, "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg=="], + + "@stablelib/xchacha20": ["@stablelib/xchacha20@1.0.1", "", { "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/chacha": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, "sha512-1YkiZnFF4veUwBVhDnDYwo6EHeKzQK4FnLiO7ezCl/zu64uG0bCCAUROJaBkaLH+5BEsO3W7BTXTguMbSLlWSw=="], + + "@stablelib/xchacha20poly1305": ["@stablelib/xchacha20poly1305@1.0.1", "", { "dependencies": { "@stablelib/aead": "^1.0.1", "@stablelib/chacha20poly1305": "^1.0.1", "@stablelib/constant-time": "^1.0.1", "@stablelib/wipe": "^1.0.1", "@stablelib/xchacha20": "^1.0.1" } }, "sha512-B1Abj0sMJ8h3HNmGnJ7vHBrAvxuNka6cJJoZ1ILN7iuacXp7sUYcgOVEOTLWj+rtQMpspY9tXSCRLPmN1mQNWg=="], + + "@types/bun": ["@types/bun@1.2.15", "", { "dependencies": { "bun-types": "1.2.15" } }, "sha512-U1ljPdBEphF0nw1MIk0hI7kPg7dFdPyM7EenHsp6W5loNHl7zqy6JQf/RKCgnUn2KDzUpkBwHPnEJEjII594bA=="], + + "@types/common-tags": ["@types/common-tags@1.8.4", "", {}, "sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg=="], + + "@types/node": ["@types/node@22.15.29", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ=="], + + "bun-types": ["bun-types@1.2.15", "", { "dependencies": { "@types/node": "*" } }, "sha512-NarRIaS+iOaQU1JPfyKhZm4AsUOrwUOqRNHY0XxI8GI8jYxiLXLcdjYMG9UKS+fwWasc1uw1htV9AX24dD+p4w=="], + + "common-tags": ["common-tags@1.8.2", "", {}, "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA=="], + + "opusscript": ["opusscript@0.1.1", "", {}, "sha512-mL0fZZOUnXdZ78woRXp18lApwpp0lF5tozJOD1Wut0dgrA9WuQTgSels/CSmFleaAZrJi/nci5KOVtbuxeWoQA=="], + + "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "ws": ["ws@8.18.2", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ=="], + } +} diff --git a/config/_default.js b/config/_default.js deleted file mode 100644 index 61b42cd..0000000 --- a/config/_default.js +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - dexare: { - token: '', - - erisOptions: { - autoreconnect: true, - allowedMentions: { - everyone: false, - roles: false, - users: true - }, - defaultImageFormat: 'png', - defaultImageSize: 256, - messageLimit: 0, - gateway: { - maxShards: 1, - intents: ['guilds', 'guildMessages', 'messageContent'], - requestTimeout: 15000 - } - }, - - elevated: ['158049329150427136'], - - prefix: ['?'], - mentionPrefix: true, - - logger: { - level: 'debug' - } - }, - commandsPath: './commands' -}; diff --git a/ecosystem.config.js b/ecosystem.config.js index 1f7061d..96ee486 100644 --- a/ecosystem.config.js +++ b/ecosystem.config.js @@ -2,8 +2,8 @@ module.exports = { apps: [ { name: 'Craig Helper Bot', - script: 'node', - args: 'dist/index.js' + script: 'bun', + args: 'src/index.ts' } ] }; diff --git a/package.json b/package.json index db4e04e..37a6612 100644 --- a/package.json +++ b/package.json @@ -2,14 +2,11 @@ "name": "craig-helperbot", "version": "1.0.0", "description": "Helper bot for Craig", - "main": "dist/index.js", "private": true, "scripts": { - "start": "cd dist && node index.js", - "build": "npx rimraf dist && tsc", - "dev": "devScript", - "lint": "eslint ./src", - "lint:fix": "eslint ./src --fix" + "start": "bun run src/index.ts", + "dev": "bun run --watch src/index.ts", + "format": "prettier --write \"src/**/*.{ts,js,json}\"" }, "repository": "https://github.com/CraigChat/helper", "author": { @@ -26,23 +23,13 @@ }, "homepage": "https://github.com/CraigChat/helper#readme", "dependencies": { - "@dexare/logger": "^1.0.2", - "common-tags": "^1.8.2", - "config": "^3.3.9", - "dexare": "^3.0.2", - "eris": "github:CraigChat/dysnomia#craig-master", - "lodash": "^4.17.21" + "@projectdysnomia/dysnomia": "^0.2.3", + "common-tags": "^1.8.2" }, "devDependencies": { + "@types/bun": "latest", "@types/common-tags": "^1.8.4", - "@types/config": "^3.3.3", - "@types/lodash": "^4.14.202", - "@types/node": "^18.15.11", - "@types/ws": "^8.5.10", - "eslint": "^8.55.0", - "eslint-config-snazzah": "^1.2.1", - "ts-devscript": "^3.0.7", - "ts-node": "^10.9.2", - "typescript": "^5.3.3" + "prettier": "^3.5.3", + "typescript": "^5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 4740191..0000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,2842 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -dependencies: - '@dexare/logger': - specifier: ^1.0.2 - version: 1.0.2 - common-tags: - specifier: ^1.8.2 - version: 1.8.2 - config: - specifier: ^3.3.9 - version: 3.3.9 - dexare: - specifier: ^3.0.2 - version: 3.0.2(@projectdysnomia/dysnomia@0.2.0-dev) - eris: - specifier: github:CraigChat/dysnomia#craig-master - version: git/github.com+CraigChat/dysnomia/e09830de73930094bacc3480f6306cef4c97c533 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - -devDependencies: - '@types/common-tags': - specifier: ^1.8.4 - version: 1.8.4 - '@types/config': - specifier: ^3.3.3 - version: 3.3.3 - '@types/lodash': - specifier: ^4.14.202 - version: 4.14.202 - '@types/node': - specifier: ^18.15.11 - version: 18.15.11 - '@types/ws': - specifier: ^8.5.10 - version: 8.5.10 - eslint: - specifier: ^8.55.0 - version: 8.55.0 - eslint-config-snazzah: - specifier: ^1.2.1 - version: 1.2.1(typescript@5.3.3) - ts-devscript: - specifier: ^3.0.7 - version: 3.0.7 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@18.15.11)(typescript@5.3.3) - typescript: - specifier: ^5.3.3 - version: 5.3.3 - -packages: - - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@colors/colors@1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - dev: false - - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - - /@dabh/diagnostics@2.0.3: - resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} - dependencies: - colorspace: 1.1.4 - enabled: 2.0.0 - kuler: 2.0.0 - dev: false - - /@dexare/logger@1.0.2: - resolution: {integrity: sha512-TH+qo0APuMsellWPyJ0OQ2pHDZOUAgIGAj2vsqzQGzxF/xifeKWvcRbzYh341b8sguI+fEQMlD9KsMecnKjAwg==} - dependencies: - chalk: 4.1.2 - dayjs: 1.11.7 - dexare: 2.2.4 - winston: 3.8.2 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /@discordjs/collection@0.1.6: - resolution: {integrity: sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==} - deprecated: no longer supported - dev: false - - /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.55.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.6.2: - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.55.0: - resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - dev: true - - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - dev: true - - /@sindresorhus/is@0.14.0: - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} - dev: true - - /@szmarczak/http-timer@1.1.2: - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} - dependencies: - defer-to-connect: 1.1.3 - dev: true - - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true - - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} - dev: true - - /@types/common-tags@1.8.4: - resolution: {integrity: sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==} - dev: true - - /@types/config@3.3.3: - resolution: {integrity: sha512-BB8DBAud88EgiAKlz8WQStzI771Kb6F3j4dioRJ4GD+tP4tzcZyMlz86aXuZT4s9hyesFORehMQE6eqtA5O+Vg==} - dev: true - - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - dev: true - - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} - dependencies: - '@types/node': 18.15.11 - dev: true - - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - dev: true - - /@types/node@18.15.11: - resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} - dev: true - - /@types/responselike@1.0.0: - resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} - dependencies: - '@types/node': 18.15.11 - dev: true - - /@types/semver@7.3.13: - resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} - dev: true - - /@types/triple-beam@1.3.2: - resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==} - dev: false - - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - dependencies: - '@types/node': 18.15.11 - dev: true - - /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.55.0)(typescript@5.3.3): - resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/type-utils': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - '@typescript-eslint/utils': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.55.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - natural-compare-lite: 1.4.0 - semver: 7.5.0 - tsutils: 3.21.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@5.59.0(eslint@8.55.0)(typescript@5.3.3): - resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.55.0 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@5.59.0: - resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/visitor-keys': 5.59.0 - dev: true - - /@typescript-eslint/type-utils@5.59.0(eslint@8.55.0)(typescript@5.3.3): - resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.3.3) - '@typescript-eslint/utils': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.55.0 - tsutils: 3.21.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@5.59.0: - resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@typescript-eslint/typescript-estree@5.59.0(typescript@5.3.3): - resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/visitor-keys': 5.59.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.0 - tsutils: 3.21.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@5.59.0(eslint@8.55.0)(typescript@5.3.3): - resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) - '@types/json-schema': 7.0.11 - '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.59.0 - '@typescript-eslint/types': 5.59.0 - '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.3.3) - eslint: 8.55.0 - eslint-scope: 5.1.1 - semver: 7.5.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@5.59.0: - resolution: {integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.59.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@yarnpkg/parsers@3.0.0-rc.42: - resolution: {integrity: sha512-eW9Mbegmb5bJjwawJM9ghjUjUqciNMhC6L7XrQPF/clXS5bbP66MstsgCT5hy9VlfUh/CfBT+0Wucf531dMjHA==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.5.0 - dev: true - - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.10.0 - dev: true - - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true - - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /array-back@3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} - dev: true - - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - dependencies: - call-bind: 1.0.2 - is-array-buffer: 3.0.2 - dev: true - - /array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.0 - is-string: 1.0.7 - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 - dev: true - - /array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 - dev: true - - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - - /autopm@1.3.1: - resolution: {integrity: sha512-gaFNW4oTaeQarZUIP7VnBAHmSrACUrc5ra8P6jids6Sj+3cWUqTc08RgfVT1YEFPD0MBWM8Mie5DMRUB7h25IQ==} - dependencies: - builtin-modules: 3.3.0 - compare-versions: 3.6.0 - fast-glob: 3.2.12 - package-json: 6.5.0 - require-package-name: 2.0.1 - source-map-support: 0.5.21 - dev: true - - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true - - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} - dependencies: - clone-response: 1.0.3 - get-stream: 5.2.0 - http-cache-semantics: 4.1.1 - keyv: 3.1.0 - lowercase-keys: 2.0.0 - normalize-url: 4.5.1 - responselike: 1.0.2 - dev: true - - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true - - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.8.0: - resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} - engines: {node: '>=6'} - dev: true - - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true - - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} - dependencies: - mimic-response: 1.0.1 - dev: true - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: false - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false - - /color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} - dependencies: - color-convert: 1.9.3 - color-string: 1.9.1 - dev: false - - /colorspace@1.1.4: - resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} - dependencies: - color: 3.2.1 - text-hex: 1.0.0 - dev: false - - /command-line-args@5.2.1: - resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - find-replace: 3.0.0 - lodash.camelcase: 4.3.0 - typical: 4.0.0 - dev: true - - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true - - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - dev: false - - /compare-versions@3.6.0: - resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} - dev: true - - /compare-versions@5.0.3: - resolution: {integrity: sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==} - dev: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /config@3.3.9: - resolution: {integrity: sha512-G17nfe+cY7kR0wVpc49NCYvNtelm/pPy8czHoFkAgtV1lkmcp7DHtWCdDu+C9Z7gb2WVqa9Tm3uF9aKaPbCfhg==} - engines: {node: '>= 10.0.0'} - dependencies: - json5: 2.2.3 - dev: false - - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dayjs@1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} - dev: false - - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - dev: true - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - dev: true - - /decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} - dependencies: - mimic-response: 1.0.1 - dev: true - - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} - dev: true - - /define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - dev: true - - /dexare@2.2.4: - resolution: {integrity: sha512-JlD2mEOGasuTWbZPzbmWiZ37oU2RE0HkL64XmAP+d/X6W8leG6fe/SegFAdl3R/2VKn49+QKqw4o8Lgn4Cywqg==} - dependencies: - '@discordjs/collection': 0.1.6 - common-tags: 1.8.2 - eris: git/github.com+abalabahaha/eris/072db2e78ce83fc50d70a21f26f51781f725fa20 - eventemitter3: 4.0.7 - lodash: 4.17.21 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - /dexare@3.0.2(@projectdysnomia/dysnomia@0.2.0-dev): - resolution: {integrity: sha512-dpriqEX/rUGCrVAUbTGmHb5iNDSQjphnrX95DTyQwy20dAZZ30WfCRDZSbp3mApSLhhLk0S86amNIjD5cLUaQw==} - peerDependencies: - eris: '*' - dependencies: - '@discordjs/collection': 0.1.6 - common-tags: 1.8.2 - eris: git/github.com+CraigChat/dysnomia/e09830de73930094bacc3480f6306cef4c97c533 - eventemitter3: 4.0.7 - lodash: 4.17.21 - dev: false - - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /displayastree@2.0.0: - resolution: {integrity: sha512-v3mQ/DTdrOiVxk1Jmut/ywN5uCTYNThcW71+Kn+w8fw2xkFYRyC0kbrXNuduXVLfkXVTpa2HYdz6bImiGyhkEg==} - dev: true - - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /duplexer3@0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /enabled@2.0.0: - resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} - dev: false - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true - - /eol@0.9.1: - resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==} - dev: true - - /es-abstract@1.21.2: - resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.0 - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.0 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.10 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.7 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 - dev: true - - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 - dev: true - - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@8.8.0(eslint@8.55.0): - resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.55.0 - dev: true - - /eslint-config-snazzah@1.2.1(typescript@5.3.3): - resolution: {integrity: sha512-7xmc13vwToMuACbNbrYDZ/DQCS2B77TvY/PEw2ktU+PqlAS3VOJXx44LVsJ83MuobrKfB4gt3gjKZZNlnfDCLg==} - dependencies: - '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.55.0)(typescript@5.3.3) - '@typescript-eslint/parser': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - eslint: 8.55.0 - eslint-config-prettier: 8.8.0(eslint@8.55.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.59.0)(eslint@8.55.0) - eslint-plugin-json: 3.1.0 - eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.55.0)(prettier@2.8.7) - eslint-plugin-simple-import-sort: 8.0.0(eslint@8.55.0) - eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.59.0)(eslint@8.55.0) - prettier: 2.8.7 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - typescript - dev: true - - /eslint-import-resolver-node@0.3.7: - resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} - dependencies: - debug: 3.2.7 - is-core-module: 2.12.0 - resolve: 1.22.2 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint@8.55.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - debug: 3.2.7 - eslint: 8.55.0 - eslint-import-resolver-node: 0.3.7 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.59.0)(eslint@8.55.0): - resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 5.59.0(eslint@8.55.0)(typescript@5.3.3) - array-includes: 3.1.6 - array.prototype.flat: 1.3.1 - array.prototype.flatmap: 1.3.1 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.55.0 - eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.59.0)(eslint-import-resolver-node@0.3.7)(eslint@8.55.0) - has: 1.0.3 - is-core-module: 2.12.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.values: 1.1.6 - resolve: 1.22.2 - semver: 6.3.0 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-plugin-json@3.1.0: - resolution: {integrity: sha512-MrlG2ynFEHe7wDGwbUuFPsaT2b1uhuEFhJ+W1f1u+1C2EkXmTYJp4B1aAdQQ8M+CC3t//N/oRKiIVw14L2HR1g==} - engines: {node: '>=12.0'} - dependencies: - lodash: 4.17.21 - vscode-json-languageservice: 4.2.1 - dev: true - - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.55.0)(prettier@2.8.7): - resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.55.0 - eslint-config-prettier: 8.8.0(eslint@8.55.0) - prettier: 2.8.7 - prettier-linter-helpers: 1.0.0 - dev: true - - /eslint-plugin-simple-import-sort@8.0.0(eslint@8.55.0): - resolution: {integrity: sha512-bXgJQ+lqhtQBCuWY/FUWdB27j4+lqcvXv5rUARkzbeWLwea+S5eBZEQrhnO+WgX3ZoJHVj0cn943iyXwByHHQw==} - peerDependencies: - eslint: '>=5.0.0' - dependencies: - eslint: 8.55.0 - dev: true - - /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.59.0)(eslint@8.55.0): - resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 - eslint: ^8.0.0 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.55.0)(typescript@5.3.3) - eslint: 8.55.0 - eslint-rule-composer: 0.3.0 - dev: true - - /eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - dev: true - - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.55.0: - resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.55.0 - '@humanwhocodes/config-array': 0.11.13 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - graphemer: 1.4.0 - ignore: 5.2.4 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: false - - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - dev: true - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true - - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 - dev: true - - /fecha@4.2.3: - resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} - dev: false - - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-replace@3.0.0: - resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} - engines: {node: '>=4.0.0'} - dependencies: - array-back: 3.1.0 - dev: true - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - dev: true - - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true - - /fn.name@1.1.0: - resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - dev: false - - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - - /get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 - dev: true - - /get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - dev: true - - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - dependencies: - pump: 3.0.0 - dev: true - - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - dependencies: - pump: 3.0.0 - dev: true - - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - dev: true - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.0 - dev: true - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.0 - dev: true - - /got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} - dependencies: - '@sindresorhus/is': 0.14.0 - '@szmarczak/http-timer': 1.1.2 - '@types/keyv': 3.1.4 - '@types/responselike': 1.0.0 - cacheable-request: 6.1.0 - decompress-response: 3.3.0 - duplexer3: 0.1.5 - get-stream: 4.1.0 - lowercase-keys: 1.0.1 - mimic-response: 1.0.1 - p-cancelable: 1.1.0 - to-readable-stream: 1.0.0 - url-parse-lax: 3.0.0 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - dependencies: - get-intrinsic: 1.2.0 - dev: true - - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - dev: true - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true - - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true - - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true - - /inquirer@8.2.5: - resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.8.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - wrap-ansi: 7.0.0 - dev: true - - /internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - side-channel: 1.0.4 - dev: true - - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 - dev: true - - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false - - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - dev: true - - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true - - /is-core-module@2.12.0: - resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} - dependencies: - has: 1.0.3 - dev: true - - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true - - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - dependencies: - call-bind: 1.0.2 - dev: true - - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: false - - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.0 - dev: true - - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.2 - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} - dev: true - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json2xml@0.1.3: - resolution: {integrity: sha512-yfTe9HnbrE3oRUEQL9mn7BueLd7RCTb7ig/mAFI6xY4RNYOEXF26x0qHFR7mb8ZrKgfE57wxkq0N3TboyFm6UA==} - engines: {node: '>= 0.6.0'} - dev: true - - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: false - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} - dependencies: - json-buffer: 3.0.0 - dev: true - - /kuler@2.0.0: - resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - dev: false - - /leasot@12.5.0: - resolution: {integrity: sha512-bx2hqCDZ6EVzdaM+aIBNO12Ff0BscGVWPf23Wzj5FLCEXZuJR729Wn5Naom8dJcqpEbsk2XXzvdHus/3WZqW5w==} - engines: {node: '>=12'} - hasBin: true - dependencies: - async: 3.2.4 - chalk: 4.1.2 - commander: 7.2.0 - eol: 0.9.1 - get-stdin: 8.0.0 - globby: 11.1.0 - json2xml: 0.1.3 - lodash: 4.17.21 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - text-table: 0.2.0 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /logform@2.5.1: - resolution: {integrity: sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==} - dependencies: - '@colors/colors': 1.5.0 - '@types/triple-beam': 1.3.2 - fecha: 4.2.3 - ms: 2.1.3 - safe-stable-stringify: 2.4.3 - triple-beam: 1.3.0 - dev: false - - /lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} - dev: true - - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true - - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} - dev: true - - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - dev: true - - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - has-symbols: 1.0.3 - object-keys: 1.1.1 - dev: true - - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /one-time@1.0.0: - resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} - dependencies: - fn.name: 1.1.0 - dev: false - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /opusscript@0.0.8: - resolution: {integrity: sha512-VSTi1aWFuCkRCVq+tx/BQ5q9fMnQ9pVZ3JU4UHKqTkf0ED3fKEPdr+gKAAl3IA2hj9rrP6iyq3hlcJq3HELtNQ==} - requiresBuild: true - dev: false - optional: true - - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.8.0 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - dev: true - - /p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} - dependencies: - got: 9.6.0 - registry-auth-token: 4.2.2 - registry-url: 5.1.0 - semver: 6.3.0 - dev: true - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.2.0 - dev: true - - /prettier@2.8.7: - resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: true - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: true - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: true - - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - dev: true - - /registry-auth-token@4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} - dependencies: - rc: 1.2.8 - dev: true - - /registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} - dependencies: - rc: 1.2.8 - dev: true - - /require-package-name@2.0.1: - resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} - dev: true - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - dependencies: - is-core-module: 2.12.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} - dependencies: - lowercase-keys: 1.0.1 - dev: true - - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} - dependencies: - tslib: 2.5.0 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-regex: 1.1.4 - dev: true - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true - - /semver@7.5.0: - resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - dependencies: - is-arrayish: 0.3.2 - dev: false - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stack-trace@0.0.10: - resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - dev: false - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string.prototype.trim@1.2.7: - resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true - - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true - - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /text-hex@1.0.0: - resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - dev: false - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 - dev: true - - /to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} - dev: true - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true - - /triple-beam@1.3.0: - resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} - dev: false - - /ts-devscript@3.0.7: - resolution: {integrity: sha512-jmoL19o9CDJuIIMkdeXPWcNKplxfQhpYzZ6tUOJgljbs+QreYeKiIfl6iaa2/xBQTqkOc8L3DU4jG4FPvYifIg==} - hasBin: true - dependencies: - '@yarnpkg/parsers': 3.0.0-rc.42 - autopm: 1.3.1 - chalk: 4.1.2 - chokidar: 3.5.3 - command-line-args: 5.2.1 - compare-versions: 5.0.3 - debug: 4.3.4 - displayastree: 2.0.0 - fast-glob: 3.2.12 - fs-extra: 10.1.0 - inquirer: 8.2.5 - leasot: 12.5.0 - ora: 5.4.1 - source-map-support: 0.5.21 - tree-kill: 1.2.2 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - - /ts-node@10.9.2(@types/node@18.15.11)(typescript@5.3.3): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.15.11 - acorn: 8.10.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /tsconfig-paths@3.14.2: - resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - - /tsutils@3.21.0(typescript@5.3.3): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 5.3.3 - dev: true - - /tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - requiresBuild: true - dev: false - optional: true - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - is-typed-array: 1.1.10 - dev: true - - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /typical@4.0.0: - resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} - engines: {node: '>=8'} - dev: true - - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.2 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - - /url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} - dependencies: - prepend-http: 2.0.0 - dev: true - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true - - /vscode-json-languageservice@4.2.1: - resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} - dependencies: - jsonc-parser: 3.2.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-languageserver-types: 3.17.3 - vscode-nls: 5.2.0 - vscode-uri: 3.0.7 - dev: true - - /vscode-languageserver-textdocument@1.0.8: - resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} - dev: true - - /vscode-languageserver-types@3.17.3: - resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} - dev: true - - /vscode-nls@5.2.0: - resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} - dev: true - - /vscode-uri@3.0.7: - resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} - dev: true - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /winston-transport@4.5.0: - resolution: {integrity: sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==} - engines: {node: '>= 6.4.0'} - dependencies: - logform: 2.5.1 - readable-stream: 3.6.2 - triple-beam: 1.3.0 - dev: false - - /winston@3.8.2: - resolution: {integrity: sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==} - engines: {node: '>= 12.0.0'} - dependencies: - '@colors/colors': 1.5.0 - '@dabh/diagnostics': 2.0.3 - async: 3.2.4 - is-stream: 2.0.1 - logform: 2.5.1 - one-time: 1.0.0 - readable-stream: 3.6.2 - safe-stable-stringify: 2.4.3 - stack-trace: 0.0.10 - triple-beam: 1.3.0 - winston-transport: 4.5.0 - dev: false - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - 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 - dev: false - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - git/github.com+CraigChat/dysnomia/e09830de73930094bacc3480f6306cef4c97c533: - resolution: {commit: e09830de73930094bacc3480f6306cef4c97c533, repo: git@github.com:CraigChat/dysnomia.git, type: git} - name: '@projectdysnomia/dysnomia' - version: 0.2.0-dev - engines: {node: '>=16.0.0'} - peerDependencies: - '@discordjs/opus': ^0.9.0 - erlpack: github:discord/erlpack || github:abalabahaha/erlpack - eventemitter3: ^5.0.0 - pako: ^2.1.0 - sodium-native: ^4.0.1 - zlib-sync: ^0.1.8 - peerDependenciesMeta: - '@discordjs/opus': - optional: true - erlpack: - optional: true - eventemitter3: - optional: true - pako: - optional: true - sodium-native: - optional: true - zlib-sync: - optional: true - dependencies: - ws: 8.13.0 - optionalDependencies: - opusscript: 0.0.8 - tweetnacl: 1.0.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false - - git/github.com+abalabahaha/eris/072db2e78ce83fc50d70a21f26f51781f725fa20: - resolution: {commit: 072db2e78ce83fc50d70a21f26f51781f725fa20, repo: git@github.com:abalabahaha/eris.git, type: git} - name: eris - version: 0.16.2-dev - engines: {node: '>=10.4.0'} - dependencies: - ws: 8.13.0 - optionalDependencies: - opusscript: 0.0.8 - tweetnacl: 1.0.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - dev: false diff --git a/src/assets/access_roles.png b/src/assets/access_roles.png new file mode 100644 index 0000000000000000000000000000000000000000..c56c877103144d5d5e08a2da4b8345c53884657a GIT binary patch literal 31278 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 Gh5Rp$UdUAd literal 0 HcmV?d00001 diff --git a/src/assets/empty_msg.png b/src/assets/empty_msg.png new file mode 100644 index 0000000000000000000000000000000000000000..1a82221b513f89ef8d34dcd40fe8f944f9292fe9 GIT binary patch literal 175928 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

Y>ji-~h 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�@8Kd|450;wX75K9a*zEBTh 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

kFwh@h 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

ZF- z;T4OODruUZBU#)N_ARc#a^W($GZM7%6w3Brk{OX!g=@jWS{l6T=$Co zsKIF{4b3f-`-;?qIknp-Y5^khi(R(en6SW@of4Dm>oX$w$O~d3BJdk;B6-x@m_!-G zlSUjwL<6*q!X=Ew#1Qs~nB^qdB0>%$i-=^Mc95+^(#UrU`jhrRFUF6XattvxWnUQ%_=kyRgNu7q3X5IVl`@s3#E95CXJrS7)Zb~ti`y!L zNk6}YxUl#-7*T%A&35rKs_*&r4pJi};Q&<9no`6wf$FB?0k;&*A|DNWf_t_HLG=u$ zG@!)(V4U+q#PRjA!4ed1j~>`DK*Wv3HxQ22v7{=oY-{VsHMc2@#YYegWn2Sa`s0V7 z$c9Gi^T0x(Dnit>+%sEJ?R(GtV6k_%Ym)ZNo9F5u{x3Zzcr$f+5|QG@N>*iebp(wS zt*EaFW9H*!mnv+nFoc|`@+UQnf?u!%_ZxzDt~wHQX#mQYDTNM|WHBtvT^EY?5AQFe zJu3x3v?7AgYbLvN+yQZzHt{-5M%V3OlRG_!9l^7DjWv(~cPwFQ8X7RUg+9M*M7ml9 zbQ#UiaHcg2R9Iy0l7MgR9&}#*2VLKI&yF4*_@2&;uX&y!#X)UMx@j5Et60?{0!xl{ zQg**$Zx%HD&FR$;p#75QVz1QfGL#{UlFsZ$M@n{6ce*_ zYp)y^96$O?mTG`3i`!#f(3!^>EOoH`B}+>S3yZ@U3(!vDOPo-ME@(_O6fP|N+{LD6{!ZetmP?33$$#kUAC7e?0>#VuYedAnaS)C>hJO+w zY0e@64Z8oGs##W9{bN(_*E{ z|K>;;P+zL}irRP2+BIZgD@50bHA8D}wayr+qBXNFlm_p)#dbP@n zjDav&V1U(e1wb+W5XBX~!~g2@p^Xi~{(8FLYTf6rjjJb91}=Yf{?pC*v! z%5wJ2zZCtCvI8JSCj6QC-x#O9j?wtH7bN^g8()-gb-xCd@Ek4ncUM5G!rZ|BOfm|m zaphmfLh8TN9{32XI{yPWClCPp$BzFSOYFTsc_>*%6G>7F;_q1k%CXb)NdVcVH+jiK z{EwCV6P8r}gTjA*ZRx-AQVzv3@WpzhD?;4|ku!dfon?e_)UKcP{;J z^j3TIi;d{z|2o3O5{tr`tWnJLk+46rT0d>YxDS}919 { - client.emit('logger', 'warn', 'sys', ['Caught SIGINT']); - await client.disconnect(); - process.exit(0); -}); - -process.once('beforeExit', async () => { - client.emit('logger', 'warn', 'sys', ['Exiting....']); - await client.disconnect(); - process.exit(0); -}); - -client.events.register('main', 'interactionCreate', async (event, interaction) => { - if (interaction.type === 1) return interaction.pong(); -}); - -export async function connect() { - await client.connect(); - client.bot.shards.forEach((shard) => shard.editStatus('online', { name: 'this server', type: 3 })); -} - -export async function disconnect() { - await client.disconnect(); -} diff --git a/src/canned/align.ts b/src/canned/align.ts new file mode 100644 index 0000000..7f9dc54 --- /dev/null +++ b/src/canned/align.ts @@ -0,0 +1,19 @@ +import { stripIndents } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'align', + description: 'Explains track alignment.', + aliases: ['track-alignment', 'track-align', 'trackalignment', 'trackalign'], + content: { + embeds: [ + { + title: 'Align', + description: stripIndents` + Quoth the web site: + > No matter how long your recording is, no matter how many speakers are recorded, and even if speakers join late, every audio file delivered will be in perfect sync with each other. + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/alistair.ts b/src/canned/alistair.ts similarity index 53% rename from src/commands/canned/alistair.ts rename to src/canned/alistair.ts index 83978ee..2fa72b3 100644 --- a/src/commands/canned/alistair.ts +++ b/src/canned/alistair.ts @@ -1,10 +1,10 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Alistair extends CannedMessage { - content = { +export default { + name: 'alistair', + description: 'Explains Alistair.', + content: { embeds: [ { title: 'What is Alistair?', @@ -13,17 +13,8 @@ export default class Alistair extends CannedMessage { Alistair is a clone of Craig exclusively for patrons. Make sure to link your Discord account to your Patreon account to get access. This is included in any tier in the Patreon: https://www.patreon.com/CraigRec - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'alistair', - description: 'Explains Alistair.' - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/ask.ts b/src/canned/ask.ts new file mode 100644 index 0000000..da2680f --- /dev/null +++ b/src/canned/ask.ts @@ -0,0 +1,7 @@ +import { CannedMessage } from '../util'; + +export default { + name: 'ask', + description: "Don't ask to ask, just ask.", + content: 'https://dontasktoask.com/', +} as CannedMessage; diff --git a/src/canned/autorec.ts b/src/canned/autorec.ts new file mode 100644 index 0000000..76604a8 --- /dev/null +++ b/src/canned/autorec.ts @@ -0,0 +1,21 @@ +import { stripIndents } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'autorec', + description: 'Explains auto-recording.', + aliases: ['auto-recording', 'auto-rec', 'auto-record', 'autorecording', 'autorecord'], + content: { + embeds: [ + { + title: 'Auto-Recording', + url: 'https://www.patreon.com/CraigRec', + description: stripIndents` + Auto-recording is a feature that allows Craig to automatically start a recording when you join a voice channel. + + This is included in the $4 tier in the Patreon: https://www.patreon.com/CraigRec + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/beginning.ts b/src/canned/beginning.ts new file mode 100644 index 0000000..2335f4d --- /dev/null +++ b/src/canned/beginning.ts @@ -0,0 +1,20 @@ +import { oneLine } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'beginning', + description: 'Explains that the DM is at the beginning.', + aliases: ['begin'], + content: { + embeds: [ + { + title: 'Download link is sent at the beginning of the recording', + description: oneLine` + Craig tells you where to download your audio at the beginning of recording, not the end. + You received a DM when you started the recording, not when you stopped it. + If someone else started the recording, ask them for the link. + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/blank.ts b/src/canned/blank.ts new file mode 100644 index 0000000..767aacc --- /dev/null +++ b/src/canned/blank.ts @@ -0,0 +1,19 @@ +import { stripIndents } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'blank', + description: 'Explains blank messages from outdated clients.', + content: { + embeds: [ + { + title: 'Blank Messages', + description: stripIndents` + If you are seeing blank messages from Craig similar to the image below, **update your Discord mobile client**. + This is because we use the new components system. We do not support old mobile clients. + `, + image: { url: 'attachment://empty_msg.png' }, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/craigdied.ts b/src/canned/craigdied.ts similarity index 69% rename from src/commands/canned/craigdied.ts rename to src/canned/craigdied.ts index 9034f54..ea8b01a 100644 --- a/src/commands/canned/craigdied.ts +++ b/src/canned/craigdied.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Craigdied extends CannedMessage { - content = { +export default { + name: 'craigdied', + description: 'Describes why Craig might stop recording for some reason.', + aliases: ['craig-died', 'craigstopped', 'craig-stopped'], + content: { embeds: [ { title: "“Why did Craig stop recording?” or “Why aren't slash commands working?”", @@ -18,18 +19,8 @@ export default class Craigdied extends CannedMessage { - [Invite Giarc](https://discordapp.com/oauth2/authorize?client_id=486698344429781028&scope=bot+applications.commands), it seems to be more stable. - Use Alistair if you have access. - Use the public beta of Craig here: <#958603499539685377> - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'craigdied', - description: 'Describes why Craig might stop recording for some reason.', - aliases: ['craig-died', 'craigstopped', 'craig-stopped'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/craigrole.ts b/src/canned/craigrole.ts similarity index 51% rename from src/commands/canned/craigrole.ts rename to src/canned/craigrole.ts index c3e5a8a..c94793e 100644 --- a/src/commands/canned/craigrole.ts +++ b/src/canned/craigrole.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Craigrole extends CannedMessage { - content = { +export default { + name: 'craigrole', + description: 'Explains access roles.', + aliases: ['craig-role', 'accessrole', 'access-role', 'accessroles', 'access-roles'], + content: { embeds: [ { title: 'Access Roles', @@ -12,18 +13,8 @@ export default class Craigrole extends CannedMessage { Quoth the [website](https://craig.chat/docs/#setting-up-access-roles): > Previously, access roles were any roles with the name “Craig”. Now, you can set your access roles with the \`/server-settings access-role\` command. You must be able to manage the server or be the server owner to manage access roles. You can view your current server settings with \`/server-settings view\`. `, - image: { url: 'https://get.snaz.in/7phpGrs.png' } - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'craigrole', - description: 'Explains access roles.', - aliases: ['craig-role', 'accessrole', 'access-role', 'accessroles', 'access-roles'] - }); - - this.filePath = __filename; - } -} + image: { url: 'attachment://access_roles.png' }, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/deleted.ts b/src/canned/deleted.ts similarity index 53% rename from src/commands/canned/deleted.ts rename to src/canned/deleted.ts index 2c9b3d9..7568fd6 100644 --- a/src/commands/canned/deleted.ts +++ b/src/canned/deleted.ts @@ -1,27 +1,18 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Deleted extends CannedMessage { - content = { +export default { + name: 'deleted', + description: 'Explains deletion.', + content: { embeds: [ { title: 'Deleted means deleted.', description: stripIndents` Deleted means deleted. We do not hoard old audio data; We need that disk space! If you have trouble getting to your downloads in time, you can join our [Pateron](https://patreon.com/CraigRec) to enable cloud backup to Google Drive, OneDrive or Dropbox. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'deleted', - description: 'Explains deletion.' - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/dm.ts b/src/canned/dm.ts similarity index 52% rename from src/commands/canned/dm.ts rename to src/canned/dm.ts index b94ce27..01b739b 100644 --- a/src/commands/canned/dm.ts +++ b/src/canned/dm.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Dm extends CannedMessage { - content = { +export default { + name: 'dm', + description: 'Craig sends you info in a DM.', + aliases: ['pm', 'private-message', 'direct-message', 'directmessage'], + content: { embeds: [ { title: 'The link is sent via DM', @@ -13,18 +14,8 @@ export default class Dm extends CannedMessage { > Craig tells you by private message where you can download your audio. Since you can download while still recording, he tells you at the beginning of recording, not the end! If you are looking for the link from an auto-recording, the person who set the auto-recording rule will get the DM. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'dm', - description: 'Craig sends you info in a DM.', - aliases: ['pm', 'private-message', 'direct-message', 'directmessage'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/dmaccess.ts b/src/canned/dmaccess.ts similarity index 71% rename from src/commands/canned/dmaccess.ts rename to src/canned/dmaccess.ts index 31e78cc..5bf886b 100644 --- a/src/commands/canned/dmaccess.ts +++ b/src/canned/dmaccess.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class DmAccess extends CannedMessage { - content = { +export default { + name: 'dmaccess', + description: 'Information about DM access.', + aliases: ['dma'], + content: { embeds: [ { title: 'In order to have Craig be able to DM you, you can:', @@ -12,18 +13,8 @@ export default class DmAccess extends CannedMessage { 1. **DM Craig first**, that way a DM channel between you and Craig has been created and should allow Craig to DM you for future purposes. In order to do this, open @Craig#1289's profile and send anything to their DMs. 2. **Allow Direct Messages in THIS SERVER only**, that way Craig (and other instances of Craig in this server) can easily DM you without being blocked from doing so. To do this, right click the Craig server and go to Privacy Settings and enable Direct Messages. 3. **Check your [Message Requests](https://discord.com/message-requests)**, chances are that Craig might be in there if he tried to DM you before. Click the link provided to be taken to your message requests. [Click here](https://support.discord.com/hc/en-us/articles/7924992471191-Message-Requests) to learn more about Message Requests. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'dmaccess', - description: 'Information about DM access.', - aliases: ['dma'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/emoji.ts b/src/canned/emoji.ts similarity index 52% rename from src/commands/canned/emoji.ts rename to src/canned/emoji.ts index 891c7f5..e629025 100644 --- a/src/commands/canned/emoji.ts +++ b/src/canned/emoji.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Emoji extends CannedMessage { - content = { +export default { + name: 'emoji', + description: 'Describes the Craig emoji.', + aliases: ['craig-emoji', 'craigemoji'], + content: { embeds: [ { title: 'The Craig Emoji', @@ -14,19 +15,9 @@ export default class Emoji extends CannedMessage { The legacy Craig emoji can be shown in the thumbnail of this message or from [this link](https://get.snaz.in/6kMiJLn.png) and is a slight modification of [this clipart](https://openclipart.org/detail/190755/cartoon-weasel). `, thumbnail: { - url: 'https://get.snaz.in/6kMiJLn.png' - } - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'emoji', - description: 'Describes the Craig emoji.', - aliases: ['craig-emoji', 'craigemoji'] - }); - - this.filePath = __filename; - } -} + url: 'https://get.snaz.in/6kMiJLn.png', + }, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/ez.ts b/src/canned/ez.ts similarity index 59% rename from src/commands/canned/ez.ts rename to src/canned/ez.ts index c032a0b..3380822 100644 --- a/src/commands/canned/ez.ts +++ b/src/canned/ez.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Ez extends CannedMessage { - content = { +export default { + name: 'ez', + description: 'Explains common Ennuizel errors.', + aliases: ['ennuizel', 'quotaexceedederror'], + content: { embeds: [ { title: 'Ennuizel Errors', @@ -15,18 +16,8 @@ export default class Ez extends CannedMessage { 1. Read the big popup when pressing red buttons. 2. Download as a FLAC multi-track ZIP file and export to a single file using Audacity or any audio editing program. 3. Try again on a PC, we do not support mobile devices. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'ez', - description: 'Explains common Ennuizel errors.', - aliases: ['ennuizel', 'quotaexceedederror'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/guide.ts b/src/canned/guide.ts new file mode 100644 index 0000000..fa35b23 --- /dev/null +++ b/src/canned/guide.ts @@ -0,0 +1,8 @@ +import { CannedMessage } from '../util'; + +export default { + name: 'guide', + description: 'Links the guide for Craig. (hint: )', + aliases: ['docs'], + content: 'Craig Guide: https://craig.chat/docs/#getting-started', +} as CannedMessage; diff --git a/src/canned/mobile.ts b/src/canned/mobile.ts new file mode 100644 index 0000000..2a9d3da --- /dev/null +++ b/src/canned/mobile.ts @@ -0,0 +1,19 @@ +import { oneLine } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'mobile', + description: 'Information for mobile users.', + aliases: ['iphone', 'ipad', 'android'], + content: { + embeds: [ + { + title: 'Mobile Support', + description: oneLine` + It's unlikely that you're going to have a good time on a mobile device. + If it's an i-Something, AAC is the format you likely want; otherwise, FLAC. + You can figure out on your own how to open up ZIP files.`, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/moredetail.ts b/src/canned/moredetail.ts similarity index 67% rename from src/commands/canned/moredetail.ts rename to src/canned/moredetail.ts index a9eb03c..28e783d 100644 --- a/src/commands/canned/moredetail.ts +++ b/src/canned/moredetail.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class MoreDetail extends CannedMessage { - content = { +export default { + name: 'moredetail', + description: 'We need more detail!', + aliases: ['detail'], + content: { embeds: [ { title: 'More Detail', @@ -21,18 +22,8 @@ export default class MoreDetail extends CannedMessage { - Has the "Change Nickname" permission - Can connect to your voice channel - Can view the channel you are using \`/join\` in - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'moredetail', - description: 'We need more detail!', - aliases: ['detail'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/mp3.ts b/src/canned/mp3.ts new file mode 100644 index 0000000..d6197ce --- /dev/null +++ b/src/canned/mp3.ts @@ -0,0 +1,7 @@ +import { CannedMessage } from '../util'; + +export default { + name: 'mp3', + description: 'As Yahweasel puts it, "chastises idiots".', + content: 'Join the 21st century. https://craig.chat/primer/', +} as CannedMessage; diff --git a/src/commands/canned/multichannel.ts b/src/canned/multichannel.ts similarity index 56% rename from src/commands/canned/multichannel.ts rename to src/canned/multichannel.ts index f7f5ae7..e8d6548 100644 --- a/src/commands/canned/multichannel.ts +++ b/src/canned/multichannel.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Multichannel extends CannedMessage { - content = { +export default { + name: 'multichannel', + description: 'Explains the woes of multi-channel recording.', + aliases: ['multi-channel'], + content: { embeds: [ { title: 'Multi-channel Recording', @@ -14,18 +15,8 @@ export default class Multichannel extends CannedMessage { But if you're a patron, you can record with Giarc, Craig and Alistair all at once to achieve 3 simultaneous channel recordings. You can get access to Alistair by becoming a patron at https://www.patreon.com/CraigRec - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'multichannel', - description: 'Explains the woes of multi-channel recording.', - aliases: ['multi-channel'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/multitrack.ts b/src/canned/multitrack.ts similarity index 60% rename from src/commands/canned/multitrack.ts rename to src/canned/multitrack.ts index 035a605..61cb8b4 100644 --- a/src/commands/canned/multitrack.ts +++ b/src/canned/multitrack.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Multitrack extends CannedMessage { - content = { +export default { + name: 'multitrack', + description: 'Explains multi-track audio.', + aliases: ['multi-track'], + content: { embeds: [ { title: 'Multi-track', @@ -13,18 +14,8 @@ export default class Multitrack extends CannedMessage { If you wanted a single-track recording bot, use a single-track recording bot. I suggest [pawa](https://top.gg/bot/pawa). If you want to mix Craig's tracks, any standard audio editor can mix them. They are perfectly in sync with each other. To mix yourself, Audacity is a common, portable option, and Craig offers audio directly as an Audacity project. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'multitrack', - description: 'Explains multi-track audio.', - aliases: ['multi-track'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/noworky.ts b/src/canned/noworky.ts similarity index 71% rename from src/commands/canned/noworky.ts rename to src/canned/noworky.ts index 299b8b3..0555018 100644 --- a/src/commands/canned/noworky.ts +++ b/src/canned/noworky.ts @@ -1,10 +1,10 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Noworky extends CannedMessage { - content = { +export default { + name: 'noworky', + description: 'Explains basic permissions.', + content: { embeds: [ { title: 'No worky.', @@ -20,17 +20,8 @@ export default class Noworky extends CannedMessage { (4) Make sure Craig can actually join the voice channel you want him to join. (5) Make sure Craig can change his own nickname, send embeds, and can see the channel you are running commands in (with the View Channel permission). - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'noworky', - description: 'Explains basic permissions.' - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/patreonaccess.ts b/src/canned/patreonaccess.ts similarity index 72% rename from src/commands/canned/patreonaccess.ts rename to src/canned/patreonaccess.ts index 939a15f..f2fbb51 100644 --- a/src/commands/canned/patreonaccess.ts +++ b/src/canned/patreonaccess.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class PatreonAccess extends CannedMessage { - content = { +export default { + name: 'patreonaccess', + description: 'Explains access for patrons.', + aliases: ['patronaccess', 'pa'], + content: { embeds: [ { title: 'Patreon Troubleshooting', @@ -17,18 +18,8 @@ export default class PatreonAccess extends CannedMessage { 3. Make sure the account you use and the one you log in with are the same one! (No alt accounts) 4. Wait till the start of the next hour for benefits to apply. You can tell if you have benefits when running \`/features\`. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'patreonaccess', - description: 'Explains access for patrons.', - aliases: ['patronaccess', 'pa'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/recnick.ts b/src/canned/recnick.ts new file mode 100644 index 0000000..8b72826 --- /dev/null +++ b/src/canned/recnick.ts @@ -0,0 +1,19 @@ +import { stripIndents } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'recnick', + description: "Explains Craig's nicknaming.", + aliases: ['rec-nick'], + content: { + embeds: [ + { + title: 'The `![RECORDING]` nickname', + description: stripIndents` + Craig nicknames itself whenever the bot starts recording. + This nickname cannot be changed during the recording and changes to it mid-recording will stop the recording. + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/site.ts b/src/canned/site.ts new file mode 100644 index 0000000..c131290 --- /dev/null +++ b/src/canned/site.ts @@ -0,0 +1,8 @@ +import { CannedMessage } from '../util'; + +export default { + name: 'site', + description: 'Links the website for Craig. (hint: )', + aliases: ['website'], + content: "Craig's website: https://craig.chat", +} as CannedMessage; diff --git a/src/commands/canned/soundboard.ts b/src/canned/soundboard.ts similarity index 50% rename from src/commands/canned/soundboard.ts rename to src/canned/soundboard.ts index b1d6273..35f8c69 100644 --- a/src/commands/canned/soundboard.ts +++ b/src/canned/soundboard.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Site extends CannedMessage { - content = { +export default { + name: 'soundboard', + description: 'Explain our support for the new Soundboard feature.', + aliases: ['sb'], + content: { embeds: [ { title: 'Soundboard Support', @@ -13,18 +14,8 @@ export default class Site extends CannedMessage { There are multiple factors to this, but a large piece is how new it is, and the lack of proper documentation of Discord's Voice API. IF we decide to implement support, it will likely be a while. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'soundboard', - description: 'Explain our support for the new Soundboard feature.', - aliases: ['sb'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/stuckpanel.ts b/src/canned/stuckpanel.ts similarity index 51% rename from src/commands/canned/stuckpanel.ts rename to src/canned/stuckpanel.ts index 35c59f5..cba4850 100644 --- a/src/commands/canned/stuckpanel.ts +++ b/src/canned/stuckpanel.ts @@ -1,28 +1,19 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Stuckpanel extends CannedMessage { - content = { +export default { + name: 'stuckpanel', + description: 'My panel is stuck!', + aliases: ['stuck-panel'], + content: { embeds: [ { title: '“My recording panel is stuck?”', description: stripIndents` A stuck recording panel **does not mean** that the recording is broken. It just means that the bot is not able to update the message. If the bot is in the voice/stage channel, run \`/join\` again and it should give you an up-to-date recording panel. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'stuckpanel', - description: 'My panel is stuck!', - aliases: ['stuck-panel'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/video.ts b/src/canned/video.ts new file mode 100644 index 0000000..eefb2dd --- /dev/null +++ b/src/canned/video.ts @@ -0,0 +1,18 @@ +import { stripIndents } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'video', + description: 'Video?', + aliases: ['screenshare', 'camera', 'cam'], + content: { + embeds: [ + { + title: 'Video?', + description: stripIndents` + Craig does not record cameras, screenshares, or anything other than audio from your microphone. + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/canned/whatformat.ts b/src/canned/whatformat.ts new file mode 100644 index 0000000..f114161 --- /dev/null +++ b/src/canned/whatformat.ts @@ -0,0 +1,20 @@ +import { stripIndents } from 'common-tags'; +import { CannedMessage } from '../util'; + +export default { + name: 'whatformat', + description: 'A handy "what format" flowchart.', + aliases: ['what-format'], + content: { + embeds: [ + { + title: '“What format should I use?”', + description: stripIndents` + (1) Are you planning on using Audacity? If yes, Audacity project. If no, + (2) Do you suckle from the teat of Apple? If yes, AAC. If no, + (3) FLAC. + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/wherelink.ts b/src/canned/wherelink.ts similarity index 56% rename from src/commands/canned/wherelink.ts rename to src/canned/wherelink.ts index 38c11e9..1d20c6f 100644 --- a/src/commands/canned/wherelink.ts +++ b/src/canned/wherelink.ts @@ -1,10 +1,17 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class WhereLink extends CannedMessage { - content = { +export default { + name: 'wherelink', + description: 'Where is my link?', + aliases: [ + 'wml', + 'where-my-link', + 'where-my-links', + 'where-my-recording-link', + 'where-my-recording-links', + ], + content: { embeds: [ { title: 'Where is my link?', @@ -15,18 +22,8 @@ export default class WhereLink extends CannedMessage { If you are looking for the link from an auto-recording, the person who set the auto-recording rule will get the DM. Make sure the recording was started by **you**, if your name and avatar is not in the recording panel, that person will need to run the \`/recordings\` command. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'wherelink', - description: 'Where is my link?', - aliases: ['wml', 'where-my-link', 'where-my-links', 'where-my-recording-link', 'where-my-recording-links'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned/whydm.ts b/src/canned/whydm.ts similarity index 71% rename from src/commands/canned/whydm.ts rename to src/canned/whydm.ts index cb5c7a4..543680f 100644 --- a/src/commands/canned/whydm.ts +++ b/src/canned/whydm.ts @@ -1,10 +1,11 @@ import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; +import { CannedMessage } from '../util'; -import { CannedMessage } from '../../util/abstracts'; - -export default class Whydm extends CannedMessage { - content = { +export default { + name: 'whydm', + description: 'Explains why Craig will never send the link in the public channel.', + aliases: ['whypm', 'whyprivatemessage', 'whydirectmessage', 'whydirectmessage'], + content: { embeds: [ { title: '“Why do I need to get a DM?”', @@ -16,18 +17,8 @@ export default class Whydm extends CannedMessage { If you want to make sure that a group of people have access to the recording, please either (a) download it once and share the downloaded file with everyone else, or (b) equivalently, link to Google Drive and share the Craig directory in Drive. Unfortunately, as a large, popular bot, Craig must be calibrated to the average user, not the exceptional user, and the average user, like the average person more generally, is an idiot. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'whydm', - description: 'Explains why Craig will never send the link in the public channel.', - aliases: ['whypm', 'whyprivatemessage', 'whydirectmessage', 'whydirectmessage'] - }); - - this.filePath = __filename; - } -} + `, + }, + ], + }, +} as CannedMessage; diff --git a/src/commands/canned.ts b/src/commands/canned.ts deleted file mode 100644 index 414edc5..0000000 --- a/src/commands/canned.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { stripIndents } from 'common-tags'; -import { CommandContext, DexareClient } from 'dexare'; - -import { GeneralCommand } from '../util/abstracts'; - -export default class CannedCommand extends GeneralCommand { - constructor(client: DexareClient) { - super(client, { - name: 'canned', - description: 'Show canned messages.', - category: 'General', - metadata: { - examples: ['canned'] - } - }); - - this.filePath = __filename; - } - - async run(ctx: CommandContext) { - const prefix = ctx.prefix + (ctx.event.get('commands/spacedPrefix') ? ' ' : ''); - - const commands = this.client.commands.commands.filter((command) => { - if (typeof command.hasPermission(ctx, ctx.event) === 'string') return false; - return command.category === 'Canned Messages'; - }); - - return stripIndents` - **Canned messages:** - ${commands.map((command) => `${prefix}${command.name} - *${command.description}*`).join('\n')} - `; - } -} diff --git a/src/commands/canned/align.ts b/src/commands/canned/align.ts deleted file mode 100644 index d074619..0000000 --- a/src/commands/canned/align.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Align extends CannedMessage { - content = { - embeds: [ - { - title: 'Align', - description: stripIndents` - Quoth the web site: - > No matter how long your recording is, no matter how many speakers are recorded, and even if speakers join late, every audio file delivered will be in perfect sync with each other. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'align', - description: 'Explains track alignment.', - aliases: ['track-alignment', 'track-align', 'trackalignment', 'trackalign'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/ask.ts b/src/commands/canned/ask.ts deleted file mode 100644 index b4e0d49..0000000 --- a/src/commands/canned/ask.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Ask extends CannedMessage { - content = { - content: 'https://dontasktoask.com/' - }; - - constructor(client: DexareClient) { - super(client, { - name: 'ask', - description: "Don't ask to ask, just ask." - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/autorec.ts b/src/commands/canned/autorec.ts deleted file mode 100644 index 5dcf014..0000000 --- a/src/commands/canned/autorec.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Autorec extends CannedMessage { - content = { - embeds: [ - { - title: 'Auto-Recording', - url: 'https://www.patreon.com/CraigRec', - description: stripIndents` - Auto-recording is a feature that allows Craig to automatically start a recording when you join a voice channel. - - This is included in the $4 tier in the Patreon: https://www.patreon.com/CraigRec - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'autorec', - description: 'Explains auto-recording.', - aliases: ['auto-recording', 'auto-rec', 'auto-record', 'autorecording', 'autorecord'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/beginning.ts b/src/commands/canned/beginning.ts deleted file mode 100644 index ecfcd29..0000000 --- a/src/commands/canned/beginning.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { oneLine } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Beginning extends CannedMessage { - content = { - embeds: [ - { - title: 'Download link is sent at the beginning of the recording', - description: oneLine` - Craig tells you where to download your audio at the beginning of recording, not the end. - You received a DM when you started the recording, not when you stopped it. - If someone else started the recording, ask them for the link.` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'beginning', - description: 'Explains that the DM is at the beginning.', - aliases: ['begin'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/guide.ts b/src/commands/canned/guide.ts deleted file mode 100644 index 04a1bf1..0000000 --- a/src/commands/canned/guide.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Guide extends CannedMessage { - content = { - embeds: [ - { - title: 'Guide', - url: 'https://craig.chat/docs/#getting-started', - description: 'Guide: https://craig.chat/docs/#getting-started' - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'guide', - description: 'Links the guide for Craig. (hint: )', - aliases: ['docs'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/mobile.ts b/src/commands/canned/mobile.ts deleted file mode 100644 index 32f2028..0000000 --- a/src/commands/canned/mobile.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { oneLine } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Mobile extends CannedMessage { - content = { - embeds: [ - { - title: 'Mobile Support', - description: oneLine` - It's unlikely that you're going to have a good time on a mobile device. - If it's an i-Something, AAC is the format you likely want; otherwise, FLAC. - You can figure out on your own how to open up ZIP files.` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'mobile', - description: 'Information for mobile users.', - aliases: ['iphone', 'ipad', 'android'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/mp3.ts b/src/commands/canned/mp3.ts deleted file mode 100644 index d4f2f3c..0000000 --- a/src/commands/canned/mp3.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { oneLine } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Mp3 extends CannedMessage { - content = { - embeds: [ - { - title: 'MP3', - description: oneLine` Join the 21st century. https://craig.chat/primer/` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'mp3', - description: 'As Yahweasel puts it, "chastises idiots".' - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/recnick.ts b/src/commands/canned/recnick.ts deleted file mode 100644 index d602e79..0000000 --- a/src/commands/canned/recnick.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class RecNick extends CannedMessage { - content = { - embeds: [ - { - title: 'The `![RECORDING]` nickname', - description: stripIndents` - Craig nicknames itself whenever the bot starts recording. - This nickname cannot be changed during the recording and changes to it mid-recording will stop the recording. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'recnick', - description: "Explains Craig's nicknaming.", - aliases: ['rec-nick'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/site.ts b/src/commands/canned/site.ts deleted file mode 100644 index 7847a14..0000000 --- a/src/commands/canned/site.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Site extends CannedMessage { - content = { - embeds: [ - { - title: 'Main Site', - url: 'https://craig.chat', - description: "Craig's website: https://craig.chat" - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'site', - description: 'Links the website for Craig. (hint: )', - aliases: ['website'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/video.ts b/src/commands/canned/video.ts deleted file mode 100644 index 4bcfba7..0000000 --- a/src/commands/canned/video.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Video extends CannedMessage { - content = { - embeds: [ - { - title: 'Video?', - description: stripIndents` - Craig does not record cameras, screenshares, or anything other than audio from your microphone. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'video', - description: 'Video?', - aliases: ['screenshare', 'camera', 'cam'] - }); - - this.filePath = __filename; - } -} diff --git a/src/commands/canned/whatformat.ts b/src/commands/canned/whatformat.ts deleted file mode 100644 index bca7d76..0000000 --- a/src/commands/canned/whatformat.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { stripIndents } from 'common-tags'; -import { DexareClient } from 'dexare'; - -import { CannedMessage } from '../../util/abstracts'; - -export default class Whatformat extends CannedMessage { - content = { - embeds: [ - { - title: '“What format should I use?”', - description: stripIndents` - (1) Are you planning on using Audacity? If yes, Audacity project. If no, - (2) Do you suckle from the teat of Apple? If yes, AAC. If no, - (3) FLAC. - ` - } - ] - }; - - constructor(client: DexareClient) { - super(client, { - name: 'whatformat', - description: 'A handy "what format" flowchart.', - aliases: ['what-format'] - }); - - this.filePath = __filename; - } -} diff --git a/src/index.ts b/src/index.ts index 0c2267b..4cd4e53 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,9 +1,109 @@ -import path from 'path'; +import Dysnomia, { Client } from '@projectdysnomia/dysnomia'; -// Config fix for running in devscript -if (path.parse(process.cwd()).name === 'dist') process.env.NODE_CONFIG_DIR = path.join(process.cwd(), '..', 'config'); +import { Glob } from 'bun'; +import { basename, join } from 'node:path'; +import { CannedMessage } from './util'; -// eslint-disable-next-line import/first -import { connect } from './bot'; +export const client = new Client(process.env.DISCORD_BOT_TOKEN!, { + gateway: { + intents: ['guilds', 'guildMessages', 'messageContent'], + }, +}); -connect(); +client.presence = { + activities: [ + { + type: 4, // [custom status] + name: 'stoat', + state: 'Watching discord.gg/craig', + created_at: 0, + }, + ], + afk: false, + since: null, + status: 'online', +}; + +client.on('debug', (m) => console.log('[dysnomia:debug]', m)); +client.on('error', (e) => console.log('[dysnomia:error]', e)); +client.on('ready', () => + console.info( + `Logged in as ${client.user.username}#${client.user.discriminator} (${client.user.id})` + ) +); + +const glob = new Glob('canned/**/*.ts'); + +const canned = new Map(); +const cannedAliases = new Map(); + +for await (const file of glob.scan(__dirname)) { + const filePath = join(__dirname, file); + const message: CannedMessage = (await import(filePath)).default; + if (message) { + canned.set(message.name, message); + if (message.aliases) + for (const alias of message.aliases) cannedAliases.set(alias, message.name); + } +} + +client.on('messageCreate', async (message) => { + if (!message.content || message.author.bot || message.author.system) return; + if (message.channel.id !== '245020622277705728') return; + const prefixRegex = new RegExp(`^(\\?|<@!?${client.user.id}>) ?`); + const match = prefixRegex.exec(message.content); + if (!match) return; + const parts = message.content.slice(match[0].length).split(' '); + const commandName = parts[0].toLowerCase(); + if (canned.has(commandName) || cannedAliases.has(commandName)) { + const name = canned.get(commandName)?.name || cannedAliases.get(commandName); + const msg = name ? canned.get(name) : null; + if (msg) { + const mentions = message.mentions.filter((m) => !m.bot && m.id !== message.author.id); + const content = typeof msg.content === 'string' ? { content: msg.content } : msg.content; + const attachmentUrls = [ + ...(content.embeds + ? content.embeds + .map( + (e) => + [e.image?.url, e.footer?.icon_url, e.author?.icon_url].filter( + (u) => !!u + ) as string[] + ) + .flat() + : []), + ].filter((u) => u.startsWith('attachment://')); + const attachments: Dysnomia.AdvancedMessageContentAttachmentNew[] = []; + + for (const attachment of attachmentUrls) { + const filePath = join(__dirname, 'assets', basename(attachment)); + const file = Bun.file(filePath); + if (!(await file.exists())) continue; + attachments.push({ + filename: basename(attachment), + file: Buffer.from(await file.arrayBuffer()) + }); + } + + return client.createMessage(message.channel.id, { + messageReference: { + messageID: message.id, + failIfNotExists: false, + }, + attachments, + ...content, + ...(mentions.length + ? { + content: `${mentions.map((m) => m.mention).join(', ')}${mentions.length ? ': ' : ''}${content.content || ''}`, + } + : {}), + }); + } + } +}); + +await client.connect(); + +process.on('SIGINT', () => { + client.disconnect({ reconnect: false }); +}); diff --git a/src/util.ts b/src/util.ts new file mode 100644 index 0000000..02f2ab6 --- /dev/null +++ b/src/util.ts @@ -0,0 +1,8 @@ +import type Dysnomia from '@projectdysnomia/dysnomia'; + +export interface CannedMessage { + name: string; + description: string; + aliases?: string[]; + content: Dysnomia.MessageContent; +} diff --git a/src/util/abstracts.ts b/src/util/abstracts.ts deleted file mode 100644 index 0e44b26..0000000 --- a/src/util/abstracts.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { oneLine } from 'common-tags'; -import { ClientEvent, CommandContext, CommandOptions, DexareClient, DexareCommand, PermissionNames } from 'dexare'; -import Eris from 'eris'; -import { defaultsDeep } from 'lodash'; - -export const USER_REGEX = /<@!?(\d+)>/; -export const CUSTOM_EMOJI_REGEX = /<(a?):([0-9a-zA-Z-_]+):(\d+)>/; - -export abstract class GeneralCommand extends DexareCommand { - cleanContent(content: string, message: Eris.Message) { - return content - .replace(CUSTOM_EMOJI_REGEX, ':$2:') - .replace(USER_REGEX, (matched, id) => { - const user = message.mentions.find((m) => m.id === id); - return user ? `@${user.username}` : matched; - }) - .replace(/<@&(\d+)>/, (matched, id) => { - if (!message.roleMentions.includes(id)) return matched; - if (!('guild' in message.channel)) return matched; - const role = message.channel.guild.roles.find((r) => r.id === id); - return role ? `@${role.name}` : matched; - }) - .replace(/<#(\d+)>/, (matched, id) => { - if (!message.channelMentions.includes(id)) return matched; - if (!('guild' in message.channel)) return matched; - const channel = message.channel.guild.channels.find((r) => r.id === id); - return channel ? `@${channel.name}` : matched; - }); - } - - hasPermission(ctx: CommandContext, event?: ClientEvent): boolean | string { - if (this.userPermissions) { - const permObject = this.client.permissions.toObject(ctx.message); - let permissionMap = event && event.has('dexare/permissionMap') ? event.get('dexare/permissionMap') : {}; - permissionMap = this.client.permissions.map(permObject, this.userPermissions, permissionMap, event); - if (event) event.set('dexare/permissionMap', permissionMap); - const missing = this.userPermissions.filter((perm: string) => !permissionMap[perm]); - - if (missing.length > 0) { - if (missing.includes('dexare.elevated')) return `The \`${this.name}\` command can only be used by the bot developers or elevated users.`; - else if (missing.includes('dexare.nsfwchannel')) return `The \`${this.name}\` command can only be ran in NSFW channels.`; - else if (missing.includes('dexare.inguild')) return `The \`${this.name}\` command can only be ran in guilds.`; - else if (missing.length === 1) { - return `The \`${this.name}\` command requires you to have the "${PermissionNames[missing[0]] || missing[0]}" permission.`; - } - return oneLine` - The \`${this.name}\` command requires you to have the following permissions: - ${missing.map((perm) => PermissionNames[perm] || perm).join(', ')} - `; - } - } - - return true; - } - - finalize(response: any, ctx: CommandContext) { - if (typeof response === 'string' || (response && response.constructor && response.constructor.name === 'Object')) return ctx.reply(response); - } -} - -export abstract class CannedMessage extends GeneralCommand { - content: Eris.AdvancedMessageContent = {}; - - constructor(client: DexareClient, opts: CommandOptions) { - super( - client, - defaultsDeep(opts, { - category: 'Canned Messages', - throttling: { - usages: 1, - duration: 5, - bypass: ['dexare.elevated'] - }, - metadata: { - examples: [opts.name], - usage: '[@mention]' - } - }) - ); - } - - async run(ctx: CommandContext) { - const prepend = ctx.message.mentions[1]?.mention || ctx.message.mentions[0]?.mention || ''; - await ctx.reply( - defaultsDeep({}, this.content, { - content: `${prepend ? `${prepend}: ` : ''}${this.content.content ?? ''}`, - embeds: [ - { - footer: { - text: `Requested by ${ctx.author.discriminator === '0' ? ctx.author.username : `${ctx.author.username}#${ctx.author.discriminator}`} (${ - ctx.author.id - })`, - icon_url: ctx.author.dynamicAvatarURL('png', 256) - } - } - ] - } as Eris.AdvancedMessageContent) - ); - } -} diff --git a/src/util/index.ts b/src/util/index.ts deleted file mode 100644 index 20b0839..0000000 --- a/src/util/index.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { CommandContext } from 'dexare'; - -interface FlagOption { - shortFlag?: string; - name: string; - aliases?: string[]; - getsString?: boolean; -} - -export function readFlags(flags: FlagOption[], ctx: CommandContext) { - const result: { [flag: string]: boolean | string } = {}; - const args: string[] = []; - - let assignTo: string | null = null; - for (const arg of ctx.args) { - const targ = arg.trim(); - - // Match full names - if (targ.startsWith('--') && !/\s/.test(targ)) { - const flagName = targ.slice(2); - const flag = flags.find( - (f) => - f.name.toLowerCase() === flagName.toLowerCase() || - (f.aliases && f.aliases.find((al) => al.toLowerCase() === flagName.toLowerCase())) || - f.shortFlag === flagName - ); - - if (flag) result[flag.name] = true; - if (flag?.getsString) assignTo = flag.name; - continue; - } - - // Match short names - if (targ.startsWith('-') && !/\s/.test(targ)) { - for (const shortFlag of targ.slice(1)) { - const flag = flags.find((f) => f.shortFlag === shortFlag); - if (flag) result[flag.name] = true; - if (flag?.getsString) assignTo = flag.name; - } - continue; - } - - // If the previous arg had an assign - if (assignTo) { - result[assignTo] = arg; - assignTo = null; - continue; - } - - args.push(arg); - } - - return { result, args }; -} - -export function truncate(text: string, limit = 2000) { - return text.length > limit ? text.slice(0, limit - 1) + '…' : text; -} - -export function randint(min: number, max: number) { - return Math.floor(Math.random() * (max - min + 1)) + min; -} - -export function shuffle(array: T[]): T[] { - return array.sort(() => Math.random() - 0.5); -} diff --git a/tsconfig.json b/tsconfig.json index f7428c7..bfa0fea 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,29 @@ - { +{ "compilerOptions": { - "target": "es2020", - "module": "commonjs", - "outDir": "dist", + // Environment setup & latest features + "lib": ["ESNext"], + "target": "ESNext", + "module": "Preserve", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices "strict": true, - "esModuleInterop": true, - "removeComments": true, - "allowSyntheticDefaultImports": true, - "resolveJsonModule": true - }, - "include": [ - "./src/**/*" - ], - "exclude": [ - "node_modules", - "dist" - ] + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } } From 90b41d55fa9e06df7b7c22f7043ccb52232fa0eb Mon Sep 17 00:00:00 2001 From: Snazzah Date: Fri, 30 May 2025 16:12:59 -0500 Subject: [PATCH 2/2] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 37a6612..07eb8a3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "craig-helperbot", - "version": "1.0.0", + "version": "2.0.0", "description": "Helper bot for Craig", "private": true, "scripts": {