From 01ce9ad0001090e2b42f8a15bece5ae4b59d9dde Mon Sep 17 00:00:00 2001 From: Ryan Cao <70191398+ryanccn@users.noreply.github.com> Date: Wed, 24 Aug 2022 18:32:10 +0800 Subject: [PATCH] big cleanup & use slash commands --- package.json | 21 +- src/_delete.ts | 11 + src/_upload.ts | 45 ++++ src/badLinks.ts | 37 --- src/commands/help.ts | 36 --- src/commands/index.ts | 7 - src/commands/members.ts | 46 ++-- src/commands/ping.ts | 10 - src/commands/stars.ts | 32 +-- src/commands/tags.ts | 32 --- src/filters.ts | 34 --- src/index.ts | 174 ++++++------- src/tagsTags.ts | 26 ++ tsconfig.json | 1 + yarn.lock | 555 +++++++++++++++++++++++----------------- 15 files changed, 526 insertions(+), 541 deletions(-) create mode 100644 src/_delete.ts create mode 100644 src/_upload.ts delete mode 100644 src/badLinks.ts delete mode 100644 src/commands/help.ts delete mode 100644 src/commands/index.ts delete mode 100644 src/commands/ping.ts delete mode 100644 src/commands/tags.ts delete mode 100644 src/filters.ts create mode 100644 src/tagsTags.ts diff --git a/package.json b/package.json index d217e41..5ae98c5 100644 --- a/package.json +++ b/package.json @@ -8,23 +8,22 @@ "lint": "tsc --noEmit && eslint **/*.ts" }, "dependencies": { - "@cliqz/adblocker": "^1.23.8", - "discord-command-parser": "^1.5.3", - "discord.js": "^14.0.3", - "just-random": "^3.0.1", + "@discordjs/rest": "^1.1.0", + "discord.js": "^14.3.0", + "just-random": "^3.1.1", "kleur": "^4.1.5", - "node-fetch": "^3.2.9", + "node-fetch": "^3.2.10", "remove-markdown": "^0.5.0", - "tsx": "^3.8.0", + "tsx": "^3.8.2", "url-regex": "^5.0.0" }, "devDependencies": { - "@types/node": "^18.6.1", - "@typescript-eslint/eslint-plugin": "^5.31.0", - "@typescript-eslint/parser": "^5.31.0", + "@types/node": "^18.7.13", + "@typescript-eslint/eslint-plugin": "^5.34.0", + "@typescript-eslint/parser": "^5.34.0", "dotenv": "^16.0.1", - "esbuild": "^0.14.50", - "eslint": "^8.20.0", + "esbuild": "^0.15.5", + "eslint": "^8.22.0", "prettier": "^2.7.1", "typescript": "^4.7.4" } diff --git a/src/_delete.ts b/src/_delete.ts new file mode 100644 index 0000000..bcf4bc4 --- /dev/null +++ b/src/_delete.ts @@ -0,0 +1,11 @@ +import { REST } from '@discordjs/rest'; +import { Routes } from 'discord.js'; + +import 'dotenv/config'; + +const rest = new REST({ version: '10' }).setToken(process.env.DISCORD_TOKEN!); + +rest + .put(Routes.applicationCommands('977174139297230888'), { body: [] }) + .then(() => console.log('Successfully deleted all application commands.')) + .catch(console.error); diff --git a/src/_upload.ts b/src/_upload.ts new file mode 100644 index 0000000..dc5bf3e --- /dev/null +++ b/src/_upload.ts @@ -0,0 +1,45 @@ +import { SlashCommandBuilder, Routes } from 'discord.js'; +import { REST } from '@discordjs/rest'; +import { getTags } from './tagsTags'; + +import 'dotenv/config'; + +(async () => { + const tags = await getTags(); + + const commands = [ + new SlashCommandBuilder() + .setName('ping') + .setDescription('Replies with pong!'), + new SlashCommandBuilder() + .setName('stars') + .setDescription('Returns GitHub stargazer count'), + new SlashCommandBuilder() + .setName('members') + .setDescription('Returns the number of members in the server'), + new SlashCommandBuilder() + .setName('rolypoly') + .setDescription('Rooooooly Pooooooly'), + new SlashCommandBuilder() + .setName('tag') + .setDescription('Send a tag') + .addStringOption((option) => + option + .setName('name') + .setDescription('The tag name') + .setRequired(true) + .addChoices(...tags.map((b) => ({ name: b.name, value: b.name }))) + ), + ].map((command) => command.toJSON()); + + const rest = new REST({ version: '10' }).setToken(process.env.DISCORD_TOKEN!); + + await rest.put(Routes.applicationCommands('977174139297230888'), { + body: commands, + }); + + console.log('Successfully registered application commands.'); +})().catch((e) => { + console.error(e); + process.exit(1); +}); diff --git a/src/badLinks.ts b/src/badLinks.ts deleted file mode 100644 index e2805ff..0000000 --- a/src/badLinks.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { FiltersEngine, Request } from '@cliqz/adblocker'; - -let engine: FiltersEngine; - -const init = async () => { - if (engine) return; - - console.log('initializing FiltersEngine'); - - engine = await FiltersEngine.fromLists( - fetch, - [ - 'https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt', - 'https://malware-filter.gitlab.io/malware-filter/phishing-filter.txt', - ], - { - enableInMemoryCache: true, - enableOptimizations: true, - enableCompression: true, - } - ); -}; - -export const isBad = async (url: string) => { - await init(); - - const { match } = engine.match( - Request.fromRawDetails({ - type: 'mainFrame', - url, - }) - ); - - console.log('Testing URL', url, match); - - return match; -}; diff --git a/src/commands/help.ts b/src/commands/help.ts deleted file mode 100644 index ee2b12f..0000000 --- a/src/commands/help.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { EmbedBuilder } from 'discord.js'; -import { commands } from '.'; -import type { Command } from '..'; -import { COLORS } from '../constants'; - -export const cmd: Command = { - name: 'help', - desc: 'Shows this menu.', - exec: async (e) => { - const embed = new EmbedBuilder() - .setTitle('Help Menu') - .setColor(COLORS.green); - - const comman = commands; - comman.sort((x, y) => { - return x.name == 'help' ? -1 : y.name == 'help' ? 1 : 0; - }); - - for (const i in comman) { - const cmd = comman[i]; - const resp = []; - if (cmd.desc) { - resp.push(cmd.desc); - } - if (cmd.aliases && cmd.aliases[0]) { - resp.push(`**Aliases**: ${cmd.aliases.join(', ')}`); - } - if (cmd.examples && cmd.examples[0]) { - resp.push(`**Examples**: \n${cmd.examples.join('\n> ')}`); - } - embed.addFields({ name: '!' + cmd.name, value: resp.join('\n') }); - } - - await e.reply({ embeds: [embed] }); - }, -}; diff --git a/src/commands/index.ts b/src/commands/index.ts deleted file mode 100644 index 3cdfb10..0000000 --- a/src/commands/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { cmd as help } from './help'; -import { cmd as members } from './members'; -import { cmd as ping } from './ping'; -import { cmd as stars } from './stars'; -import { cmd as tags } from './tags'; - -export const commands = [help, members, ping, stars, tags]; diff --git a/src/commands/members.ts b/src/commands/members.ts index 4c8f8c9..7c02c3e 100644 --- a/src/commands/members.ts +++ b/src/commands/members.ts @@ -1,29 +1,25 @@ -import type { Command } from '..'; +import type { CacheType, CommandInteraction } from 'discord.js'; + import { COLORS } from '../constants'; -export const cmd: Command = { - name: 'members', - desc: 'Shows the amount of online users in PolyMC Discord', - aliases: ['mems', 'memcount'], - exec: async (e) => { - const memes = await e.guild?.members.fetch().then((r) => r.toJSON()); - if (!memes) return; +export const membersCommand = async (i: CommandInteraction) => { + const memes = await i.guild?.members.fetch().then((r) => r.toJSON()); + if (!memes) return; - await e.reply({ - embeds: [ - { - title: `${memes.length} total members!`, - description: `${ - memes.filter( - (m) => - m.presence?.status === 'online' || - m.presence?.status === 'idle' || - m.presence?.status === 'dnd' - ).length - } online members`, - color: COLORS.blue, - }, - ], - }); - }, + await i.reply({ + embeds: [ + { + title: `${memes.length} total members!`, + description: `${ + memes.filter( + (m) => + m.presence?.status === 'online' || + m.presence?.status === 'idle' || + m.presence?.status === 'dnd' + ).length + } online members`, + color: COLORS.blue, + }, + ], + }); }; diff --git a/src/commands/ping.ts b/src/commands/ping.ts deleted file mode 100644 index 0b3b10a..0000000 --- a/src/commands/ping.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { Command } from '..'; - -export const cmd: Command = { - name: 'ping', - desc: 'Shows the ping of the bot', - aliases: ['test'], - exec: async (e) => { - await e.reply(`${e.client.ws.ping}ms`); - }, -}; diff --git a/src/commands/stars.ts b/src/commands/stars.ts index a31de0a..e6c5a47 100644 --- a/src/commands/stars.ts +++ b/src/commands/stars.ts @@ -1,21 +1,17 @@ +import type { CacheType, CommandInteraction } from 'discord.js'; import { COLORS } from '../constants'; -import type { Command } from '../index'; -export const cmd: Command = { - name: 'stars', - desc: 'Shows the number of stars in PolyMC', - aliases: ['star', 'stargazers'], - exec: async (e) => { - const count = await fetch('https://api.github.com/repos/PolyMC/PolyMC') - .then((r) => r.json() as Promise<{ stargazers_count: number }>) - .then((j) => j.stargazers_count); - await e.reply({ - embeds: [ - { - title: `⭐ ${count} total stars!`, - color: COLORS.yellow, - }, - ], - }); - }, +export const starsCommand = async (i: CommandInteraction) => { + const count = await fetch('https://api.github.com/repos/PolyMC/PolyMC') + .then((r) => r.json() as Promise<{ stargazers_count: number }>) + .then((j) => j.stargazers_count); + + await i.reply({ + embeds: [ + { + title: `⭐ ${count} total stars!`, + color: COLORS.yellow, + }, + ], + }); }; diff --git a/src/commands/tags.ts b/src/commands/tags.ts deleted file mode 100644 index 300c8aa..0000000 --- a/src/commands/tags.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { EmbedBuilder } from 'discord.js'; -import { getTags, type Command } from '..'; -import { COLORS } from '../constants'; - -export const cmd: Command = { - name: 'tags', - desc: 'Lists the tags available', - exec: async (e) => { - const em = new EmbedBuilder().setTitle('tags').setColor(COLORS.green); - - const tags = await getTags(); - - for (const i in tags) { - const tag = tags[i]; - let text = ''; - - if (tag.aliases && tag.aliases[0]) { - text += '**Aliases**: ' + tag.aliases.join(', ') + '\n'; - } - - if (tag.text) { - text += tag.text; - } else if (tag.embed) { - text += '\n[embedded message]'; - } - - em.addFields({ name: '?' + tag.name, value: text }); - } - - await e.reply({ embeds: [em] }); - }, -}; diff --git a/src/filters.ts b/src/filters.ts deleted file mode 100644 index 13c7593..0000000 --- a/src/filters.ts +++ /dev/null @@ -1,34 +0,0 @@ -import type { Message } from 'discord.js'; -import { isBad } from './badLinks'; -import urlRegex from 'url-regex'; -import { COLORS } from './constants'; - -// true if message is ok, false if filtered -export async function filterMessage(e: Message): Promise { - // url matcher - const urlMatches = [...e.content.matchAll(urlRegex())]; - - if (urlMatches.length) { - console.log('Found links in message from', e.author.tag); - - for (const match of urlMatches) { - console.log('[link]', match[0]); - if (await isBad(match[0])) { - await e.reply({ - embeds: [ - { - title: 'Hold on!', - description: - 'There seems to be a phishing / malware link in your message.', - color: COLORS.red, - }, - ], - }); - - return false; - } - } - } - - return true; -} diff --git a/src/index.ts b/src/index.ts index eddfe9e..1be364e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,61 +1,23 @@ import { Client, - Message, EmbedBuilder, - type EmbedData, GatewayIntentBits, Partials, ChannelType, + OAuth2Scopes, } from 'discord.js'; import * as BuildConfig from './constants'; -import { commands } from './commands'; -import { filterMessage } from './filters'; import { parseLog } from './logs'; import { getLatestMinecraftVersion } from './utils/remoteVersions'; -import { - parse as discordParse, - type SuccessfulParsedMessage, -} from 'discord-command-parser'; +import { membersCommand } from './commands/members'; +import { starsCommand } from './commands/stars'; import random from 'just-random'; -import { readFile } from 'fs/promises'; -import { join } from 'path'; import { green, bold, yellow } from 'kleur/colors'; import 'dotenv/config'; - -export interface Command { - name: string; - aliases?: string[]; - desc?: string; - examples?: string[]; - exec( - m: Message, - p: SuccessfulParsedMessage> - ): Promise | void; -} - -interface Tag { - name: string; - aliases?: Array; - text?: string; - embed?: EmbedData; -} - -export const getTags = async (): Promise => { - const raw = JSON.parse( - await readFile(join(__dirname, 'tags.json'), { encoding: 'utf8' }) - ) as Tag[]; - - return raw.map((tag) => { - if (tag.embed?.color) { - tag.embed.color = BuildConfig.COLORS[tag.embed.color]; - } - - return tag; - }); -}; +import { getTags } from './tagsTags'; const client = new Client({ intents: [ @@ -74,6 +36,29 @@ const client = new Client({ client.once('ready', async () => { console.log(green('Discord bot ready!')); + console.log( + client.generateInvite({ + scopes: [OAuth2Scopes.Bot], + permissions: [ + 'AddReactions', + 'ViewChannel', + 'BanMembers', + 'KickMembers', + 'CreatePublicThreads', + 'CreatePrivateThreads', + 'EmbedLinks', + 'ManageChannels', + 'ManageRoles', + 'ModerateMembers', + 'MentionEveryone', + 'MuteMembers', + 'SendMessages', + 'SendMessagesInThreads', + 'ReadMessageHistory', + ], + }) + ); + if (process.env.NODE_ENV !== 'development') console.warn(yellow(bold('Running in production mode!'))); @@ -82,7 +67,9 @@ client.once('ready', async () => { activities: [ { name: `Minecraft ${mcVersion}${ - mcVersion === '1.19.1' ? ' w/ No Chat Reports' : '' + mcVersion === '1.19.1' || mcVersion === '1.19.2' + ? ' w/ No Chat Reports' + : '' }`, }, ], @@ -92,6 +79,7 @@ client.once('ready', async () => { client.on('messageCreate', async (e) => { if (!e.content) return; if (!e.channel.isTextBased()) return; + if (e.author === client.user) return; if ( @@ -108,22 +96,12 @@ client.once('ready', async () => { return; } - const messageIsOK = await filterMessage(e); - if (!messageIsOK) { - return; - } - if (e.cleanContent.match(BuildConfig.ETA_REGEX)) { await e.reply( `${random(BuildConfig.ETA_MESSAGES)} <:pofat:964546613194420294>` ); } - const commanded = await parseMsgForCommands(e); - if (commanded) return; - const tagged = await parseMsgForTags(e); - if (tagged) return; - const log = await parseLog(e.content); if (log != null) { e.reply({ embeds: [log] }); @@ -132,59 +110,57 @@ client.once('ready', async () => { }); }); -async function parseMsgForCommands(e: Message) { - const parsed = discordParse(e, '!', { allowBots: true }); +client.on('interactionCreate', async (interaction) => { + if (!interaction.isChatInputCommand()) return; - if (!parsed.success) return false; - const cmd = commands.find( - (c) => c.name == parsed.command || c.aliases?.includes(parsed.command) - ); - - if (!cmd) { - return false; + if ( + process.env.NODE_ENV === 'development' && + interaction.channelId !== BuildConfig.DEBUG_CHANNEL_ID + ) { + return; + } + if ( + process.env.NODE_ENV !== 'development' && + interaction.channelId === BuildConfig.DEBUG_CHANNEL_ID + ) { + return; } - try { - await cmd.exec(e, parsed); - } catch (err: unknown) { - const em = new EmbedBuilder() - .setTitle('Error') - .setColor(BuildConfig.COLORS.red) - // @ts-expect-error no why - .setDescription(err['message'] as string); + const { commandName } = interaction; - await e.reply({ embeds: [em] }); - } + if (commandName === 'ping') { + await interaction.reply({ + content: `Pong! \`${client.ws.ping}ms\``, + ephemeral: true, + }); + } else if (commandName === 'members') { + await membersCommand(interaction); + } else if (commandName === 'stars') { + await starsCommand(interaction); + } else if (commandName === 'rolypoly') { + await interaction.reply( + 'https://media.discordapp.net/attachments/985048903126769764/985051373886382100/rollin-time.gif?width=324&height=216' + ); + } else if (commandName === 'tag') { + const tags = await getTags(); + const tagName = interaction.options.getString('name', true); + const tag = tags.find( + (tag) => tag.name === tagName || tag.aliases?.includes(tagName) + ); - return true; -} - -async function parseMsgForTags(e: Message) { - const parsed = discordParse(e, '?', { allowBots: true }); - if (!parsed.success) return false; - - const tag = await getTags().then((r) => - r.find( - (t) => t.name == parsed.command || t.aliases?.includes(parsed.command) - ) - ); - - if (tag) { - const requesterAvatarURL = e.author.displayAvatarURL({ size: 64 }); - const tagRequester = { - text: `Requested by ${e.author.tag}`, - ...(requesterAvatarURL ? { icon_url: requesterAvatarURL } : null), - }; - - if (tag.text) { - await e.reply(tag.text); - } else if (tag.embed) { - const em = new EmbedBuilder(tag.embed).setFooter(tagRequester); - await e.reply({ embeds: [em] }); + if (!tag) { + await interaction.reply({ + content: `Tag \`${tagName}\` does not exist.`, + ephemeral: true, + }); + return; } - return true; + await interaction.reply({ + content: tag.text ? `**${tag.name}**\n\n` + tag.text : tag.text, + embeds: tag.embed ? [new EmbedBuilder(tag.embed)] : [], + }); } -} +}); client.login(process.env.DISCORD_TOKEN); diff --git a/src/tagsTags.ts b/src/tagsTags.ts new file mode 100644 index 0000000..8420914 --- /dev/null +++ b/src/tagsTags.ts @@ -0,0 +1,26 @@ +import type { EmbedData } from 'discord.js'; + +import { readFile } from 'fs/promises'; +import { join } from 'path'; +import { COLORS } from './constants'; + +interface Tag { + name: string; + aliases?: Array; + text?: string; + embed?: EmbedData; +} + +export const getTags = async (): Promise => { + const raw = JSON.parse( + await readFile(join(__dirname, 'tags.json'), { encoding: 'utf8' }) + ) as Tag[]; + + return raw.map((tag) => { + if (tag.embed?.color) { + tag.embed.color = COLORS[tag.embed.color]; + } + + return tag; + }); +}; diff --git a/tsconfig.json b/tsconfig.json index 761a760..a3210fd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "module": "esnext", "target": "ES2018", "moduleResolution": "node", + "allowSyntheticDefaultImports": true, "rootDir": "src", "outDir": "dist" } diff --git a/yarn.lock b/yarn.lock index 50293f8..516b4d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,65 +2,39 @@ # yarn lockfile v1 -"@cliqz/adblocker-content@^1.23.8": - version "1.23.8" - resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.23.8.tgz#c2fdf46cc746e092ad4fce594b8e5f0be6366db9" - integrity sha512-5Wm/OSA6H8AUVFi8SDff6xJ4zT/1VCrNoUnevFEi3e0MCmdQUvn+cJc03Saky7Ch5oLSJKTXNNMyPaODZLz24A== - dependencies: - "@cliqz/adblocker-extended-selectors" "^1.23.8" - -"@cliqz/adblocker-extended-selectors@^1.23.8": - version "1.23.8" - resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.8.tgz#2d69c95aee385c5b51a047cbaf0219db98f50729" - integrity sha512-5xx47oT2Q9E3vkfEm/EzSs7cAPi8WNWtu7kJcGa/urVkDchJwdkdelvQ2Dof+k5icI5AqZorZSsk9Q7w2bLxrA== - -"@cliqz/adblocker@^1.23.8": - version "1.23.8" - resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.23.8.tgz#5945bdb077a18864ed7a3fefdc30d8887eac615c" - integrity sha512-xM1JYTv5dA+pPP4x4IVZdjkM9aAsakTnShFLuHLzMxMHd20eUB91NXm4kK6acw9nHwG6rCyat6+u7TvAqSmR6g== - dependencies: - "@cliqz/adblocker-content" "^1.23.8" - "@cliqz/adblocker-extended-selectors" "^1.23.8" - "@remusao/guess-url-type" "^1.1.2" - "@remusao/small" "^1.1.2" - "@remusao/smaz" "^1.7.1" - "@types/chrome" "^0.0.183" - "@types/firefox-webext-browser" "^94.0.0" - tldts-experimental "^5.6.21" - -"@discordjs/builders@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.0.0.tgz#1ddc5a7f9d20977e7414c02989169bb7f55294ba" - integrity sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww== +"@discordjs/builders@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-1.2.0.tgz#4f5059e258c30a26931ae384985ef8c6b371ba05" + integrity sha512-ARy4BUTMU+S0ZI6605NDqfWO+qZqV2d/xfY32z3hVSsd9IaAKJBZ1ILTZLy87oIjW8+gUpQmk9Kt0ZP9bmmd8Q== dependencies: "@sapphire/shapeshift" "^3.5.1" - discord-api-types "^0.36.2" + discord-api-types "^0.37.3" fast-deep-equal "^3.1.3" ts-mixer "^6.0.1" tslib "^2.4.0" -"@discordjs/collection@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.0.0.tgz#4d777d87e56640a200200e7f5605c0fba05ac1b8" - integrity sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q== +"@discordjs/collection@^1.0.1", "@discordjs/collection@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@discordjs/collection/-/collection-1.1.0.tgz#5f9f926404fd48ccde86a0d2268f202cbec77833" + integrity sha512-PQ2Bv6pnT7aGPCKWbvvNRww5tYCGpggIQVgpuF9TdDPeR6n6vQYxezXiLVOS9z2B62Dp4c+qepQ15SgJbLYtCQ== -"@discordjs/rest@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.0.0.tgz#624ac48cf8f66f46d47371323963a0c0617ddd63" - integrity sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg== +"@discordjs/rest@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@discordjs/rest/-/rest-1.1.0.tgz#5c283571a22b911ca334316245487af40baffe8b" + integrity sha512-yCrthRTQeUyNThQEpCk7bvQJlwQmz6kU0tf3dcWBv2WX3Bncl41x7Wc+v5b5OsIxfNYq38PvVtWircu9jtYZug== dependencies: - "@discordjs/collection" "^1.0.0" - "@sapphire/async-queue" "^1.3.2" + "@discordjs/collection" "^1.0.1" + "@sapphire/async-queue" "^1.5.0" "@sapphire/snowflake" "^3.2.2" - discord-api-types "^0.36.2" - file-type "^17.1.2" + discord-api-types "^0.37.3" + file-type "^17.1.6" tslib "^2.4.0" - undici "^5.7.0" + undici "^5.9.1" -"@esbuild-kit/cjs-loader@^2.3.1": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@esbuild-kit/cjs-loader/-/cjs-loader-2.3.2.tgz#abec215e6ae4436058fbef58b8f7700e9446a8d7" - integrity sha512-3UIFKrGfq2d2R2A/SpJaeHTP5z3nrOnVMxE+cNpOuuW+Lotm0Sfbc9lVHCjcxaxgcx0MKI7g2FvxvWlylzDRKg== +"@esbuild-kit/cjs-loader@^2.3.3": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@esbuild-kit/cjs-loader/-/cjs-loader-2.3.3.tgz#d65a8cc099d88ac58a571403428d82d1a791aefa" + integrity sha512-Rt4O1mXlPEDVxvjsHLgbtHVdUXYK9C1/6ThpQnt7FaXIjUOsI6qhHYMgALhNnlIMZffag44lXd6Dqgx3xALbpQ== dependencies: "@esbuild-kit/core-utils" "^2.1.0" get-tsconfig "^4.1.0" @@ -73,7 +47,7 @@ esbuild "~0.14.47" source-map-support "^0.5.21" -"@esbuild-kit/esm-loader@^2.4.1": +"@esbuild-kit/esm-loader@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@esbuild-kit/esm-loader/-/esm-loader-2.4.2.tgz#b358112c6592f422cc43c0439396537481518412" integrity sha512-N9dPKAj8WOx6djVnStgILWXip4fjDcBk9L7azO0/uQDpu8Ee0eaL78mkN4Acid9BzvNAKWwdYXFJZnsVahNEew== @@ -81,6 +55,11 @@ "@esbuild-kit/core-utils" "^2.1.0" get-tsconfig "^4.1.0" +"@esbuild/linux-loong64@0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz#91aef76d332cdc7c8942b600fa2307f3387e6f82" + integrity sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A== + "@eslint/eslintrc@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" @@ -96,15 +75,20 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.9.2": - version "0.9.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" - integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== +"@humanwhocodes/config-array@^0.10.4": + version "0.10.4" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" + integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" @@ -131,45 +115,10 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@remusao/guess-url-type@^1.1.2": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz#b3e7c32abdf98d0fb4f93cc67cad580b5fe4ba57" - integrity sha512-rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA== - -"@remusao/small@^1.1.2": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@remusao/small/-/small-1.2.1.tgz#63bfe4548832289f94ac868a0c305970c9a0e5f9" - integrity sha512-7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw== - -"@remusao/smaz-compress@^1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz#fc75eaf9bcac2d58bc4c3d518183a7cb9612d275" - integrity sha512-E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw== - dependencies: - "@remusao/trie" "^1.4.1" - -"@remusao/smaz-decompress@^1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz#8094f997e8fb591a678cda9cf08c209c825eba5b" - integrity sha512-TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A== - -"@remusao/smaz@^1.7.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.9.1.tgz#a2b9b045385f81e1615a68d932b7cc8b04c9db8d" - integrity sha512-e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA== - dependencies: - "@remusao/smaz-compress" "^1.9.1" - "@remusao/smaz-decompress" "^1.9.1" - -"@remusao/trie@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.4.1.tgz#755d09f8a007476334e611f42719b2d581f00720" - integrity sha512-yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q== - -"@sapphire/async-queue@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.3.2.tgz#befe5f5025e2e317a9eba2d1a24ca5d2e4576f86" - integrity sha512-rUpMLATsoAMnlN3gecAcr9Ecnw1vG7zi5Xr+IX22YzRzi1k9PF9vKzoT8RuEJbiIszjcimu3rveqUnvwDopz8g== +"@sapphire/async-queue@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.0.tgz#2f255a3f186635c4fb5a2381e375d3dfbc5312d8" + integrity sha512-JkLdIsP8fPAdh9ZZjrbHWR/+mZj0wvKS5ICibcLrRI1j84UmLMshx5n9QmL8b95d4onJ2xxiyugTgSAX7AalmA== "@sapphire/shapeshift@^3.5.1": version "3.5.1" @@ -189,36 +138,6 @@ resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== -"@types/chrome@^0.0.183": - version "0.0.183" - resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.183.tgz#c12649c00ae5ae8fca511248256c0b11f91c95e2" - integrity sha512-sYI1qGY2oB6U5GFyuoSsVJsi2ytuEe92QrQTXQRwkISN8yn1gPY5qRq1XSwKN17yjvZTgxxeHw2ZoSHMti6qYg== - dependencies: - "@types/filesystem" "*" - "@types/har-format" "*" - -"@types/filesystem@*": - version "0.0.32" - resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.32.tgz#307df7cc084a2293c3c1a31151b178063e0a8edf" - integrity sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ== - dependencies: - "@types/filewriter" "*" - -"@types/filewriter@*": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.29.tgz#a48795ecadf957f6c0d10e0c34af86c098fa5bee" - integrity sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ== - -"@types/firefox-webext-browser@^94.0.0": - version "94.0.1" - resolved "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz#52afb975253dc0fd350d5d58c7fe9fd1a01f64a1" - integrity sha512-I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg== - -"@types/har-format@*": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.8.tgz#e6908b76d4c88be3db642846bb8b455f0bfb1c4e" - integrity sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ== - "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" @@ -229,10 +148,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.34.tgz#3b0b6a50ff797280b8d000c6281d229f9c538cef" integrity sha512-XImEz7XwTvDBtzlTnm8YvMqGW/ErMWBsKZ+hMTvnDIjGCKxwK5Xpc+c/oQjOauwq8M4OS11hEkpjX8rrI/eEgA== -"@types/node@^18.6.1": - version "18.6.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5" - integrity sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg== +"@types/node@^18.7.13": + version "18.7.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.13.tgz#23e6c5168333480d454243378b69e861ab5c011a" + integrity sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw== "@types/ws@^8.5.3": version "8.5.3" @@ -241,14 +160,14 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz#cae1967b1e569e6171bbc6bec2afa4e0c8efccfe" - integrity sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ== +"@typescript-eslint/eslint-plugin@^5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.34.0.tgz#d690f60e335596f38b01792e8f4b361d9bd0cb35" + integrity sha512-eRfPPcasO39iwjlUAMtjeueRGuIrW3TQ9WseIDl7i5UWuFbf83yYaU7YPs4j8+4CxUMIsj1k+4kV+E+G+6ypDQ== dependencies: - "@typescript-eslint/scope-manager" "5.31.0" - "@typescript-eslint/type-utils" "5.31.0" - "@typescript-eslint/utils" "5.31.0" + "@typescript-eslint/scope-manager" "5.34.0" + "@typescript-eslint/type-utils" "5.34.0" + "@typescript-eslint/utils" "5.34.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -256,69 +175,69 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.31.0.tgz#7f42d7dcc68a0a6d80a0f3d9a65063aee7bb8d2c" - integrity sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw== +"@typescript-eslint/parser@^5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.34.0.tgz#ca710858ea85dbfd30c9b416a335dc49e82dbc07" + integrity sha512-SZ3NEnK4usd2CXkoV3jPa/vo1mWX1fqRyIVUQZR4As1vyp4fneknBNJj+OFtV8WAVgGf+rOHMSqQbs2Qn3nFZQ== dependencies: - "@typescript-eslint/scope-manager" "5.31.0" - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/typescript-estree" "5.31.0" + "@typescript-eslint/scope-manager" "5.34.0" + "@typescript-eslint/types" "5.34.0" + "@typescript-eslint/typescript-estree" "5.34.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz#f47a794ba84d9b818ab7f8f44fff55a61016c606" - integrity sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg== +"@typescript-eslint/scope-manager@5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.34.0.tgz#14efd13dc57602937e25f188fd911f118781e527" + integrity sha512-HNvASMQlah5RsBW6L6c7IJ0vsm+8Sope/wu5sEAf7joJYWNb1LDbJipzmdhdUOnfrDFE6LR1j57x1EYVxrY4ow== dependencies: - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/visitor-keys" "5.31.0" + "@typescript-eslint/types" "5.34.0" + "@typescript-eslint/visitor-keys" "5.34.0" -"@typescript-eslint/type-utils@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz#70a0b7201360b5adbddb0c36080495aa08f6f3d9" - integrity sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w== +"@typescript-eslint/type-utils@5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.34.0.tgz#7a324ab9ddd102cd5e1beefc94eea6f3eb32d32d" + integrity sha512-Pxlno9bjsQ7hs1pdWRUv9aJijGYPYsHpwMeCQ/Inavhym3/XaKt1ZKAA8FIw4odTBfowBdZJDMxf2aavyMDkLg== dependencies: - "@typescript-eslint/utils" "5.31.0" + "@typescript-eslint/utils" "5.34.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.31.0.tgz#7aa389122b64b18e473c1672fb3b8310e5f07a9a" - integrity sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g== +"@typescript-eslint/types@5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.34.0.tgz#217bf08049e9e7b86694d982e88a2c1566330c78" + integrity sha512-49fm3xbbUPuzBIOcy2CDpYWqy/X7VBkxVN+DC21e0zIm3+61Z0NZi6J9mqPmSW1BDVk9FIOvuCFyUPjXz93sjA== -"@typescript-eslint/typescript-estree@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz#eb92970c9d6e3946690d50c346fb9b1d745ee882" - integrity sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw== +"@typescript-eslint/typescript-estree@5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.34.0.tgz#ba7b83f4bf8ccbabf074bbf1baca7a58de3ccb9a" + integrity sha512-mXHAqapJJDVzxauEkfJI96j3D10sd567LlqroyCeJaHnu42sDbjxotGb3XFtGPYKPD9IyLjhsoULML1oI3M86A== dependencies: - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/visitor-keys" "5.31.0" + "@typescript-eslint/types" "5.34.0" + "@typescript-eslint/visitor-keys" "5.34.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.31.0.tgz#e146fa00dca948bfe547d665b2138a2dc1b79acd" - integrity sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg== +"@typescript-eslint/utils@5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.34.0.tgz#0cae98f48d8f9e292e5caa9343611b6faf49e743" + integrity sha512-kWRYybU4Rn++7lm9yu8pbuydRyQsHRoBDIo11k7eqBWTldN4xUdVUMCsHBiE7aoEkFzrUEaZy3iH477vr4xHAQ== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.31.0" - "@typescript-eslint/types" "5.31.0" - "@typescript-eslint/typescript-estree" "5.31.0" + "@typescript-eslint/scope-manager" "5.34.0" + "@typescript-eslint/types" "5.34.0" + "@typescript-eslint/typescript-estree" "5.34.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.31.0": - version "5.31.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz#b0eca264df01ce85dceb76aebff3784629258f54" - integrity sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg== +"@typescript-eslint/visitor-keys@5.34.0": + version "5.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.34.0.tgz#d0fb3e31033e82ddd5de048371ad39eb342b2d40" + integrity sha512-O1moYjOSrab0a2fUvFpsJe0QHtvTC+cR+ovYpgKrAVXzqQyc74mv76TgY6z+aEtjQE2vgZux3CQVtGryqdcOAw== dependencies: - "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/types" "5.34.0" eslint-visitor-keys "^3.3.0" acorn-jsx@^5.3.2: @@ -331,6 +250,11 @@ acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== +acorn@^8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== + ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -451,31 +375,26 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -discord-api-types@^0.36.2: - version "0.36.3" - resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.36.3.tgz#a931b7e57473a5c971d6937fa5f392eb30047579" - integrity sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg== +discord-api-types@^0.37.3: + version "0.37.4" + resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.4.tgz#fe36f37114c944e7178ee7f878f2638326f3d266" + integrity sha512-QgqYlUokWM++hdwvAtgVNLjmFumPBzFy+uWnnfVDiwBXKm+5jXHJPk2lx2eilkv/706UpAJPLSk/uVCY9NocjA== -discord-command-parser@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/discord-command-parser/-/discord-command-parser-1.5.3.tgz#ba27097aa0976fa9287ea81f8d8cdd82f2887317" - integrity sha512-YWgalkrbly0dJCyLw7p9SX3RC7HIxOrSTz/8vKjlmYPyyZmMCGmKwpXu6HkPXRZ20L6QqftVWigSw6fDK2zemg== - -discord.js@^14.0.3: - version "14.0.3" - resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.0.3.tgz#ee9d51030b130b3a00f7fc3e75dc2352b24350ea" - integrity sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg== +discord.js@^14.3.0: + version "14.3.0" + resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.3.0.tgz#9e43df7e4d2d14b11f3de751236e983159c3d3d0" + integrity sha512-CpIwoAAuELiHSgVKRMzsCADS6ZlJwAZ9RlvcJYdEgS00aW36dSvXyBgE+S3pigkc7G+jU6BEalMUWIJFveqrBQ== dependencies: - "@discordjs/builders" "^1.0.0" - "@discordjs/collection" "^1.0.0" - "@discordjs/rest" "^1.0.0" + "@discordjs/builders" "^1.2.0" + "@discordjs/collection" "^1.1.0" + "@discordjs/rest" "^1.1.0" "@sapphire/snowflake" "^3.2.2" "@types/ws" "^8.5.3" - discord-api-types "^0.36.2" + discord-api-types "^0.37.3" fast-deep-equal "^3.1.3" lodash.snakecase "^4.1.1" tslib "^2.4.0" - undici "^5.8.0" + undici "^5.9.1" ws "^8.8.1" doctrine@^3.0.0: @@ -495,102 +414,229 @@ esbuild-android-64@0.14.50: resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== +esbuild-android-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz#3c7b2f2a59017dab3f2c0356188a8dd9cbdc91c8" + integrity sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg== + esbuild-android-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== +esbuild-android-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz#e301db818c5a67b786bf3bb7320e414ac0fcf193" + integrity sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg== + esbuild-darwin-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== +esbuild-darwin-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz#11726de5d0bf5960b92421ef433e35871c091f8d" + integrity sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ== + esbuild-darwin-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== +esbuild-darwin-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz#ad89dafebb3613fd374f5a245bb0ce4132413997" + integrity sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg== + esbuild-freebsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== +esbuild-freebsd-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz#6bfb52b4a0d29c965aa833e04126e95173289c8a" + integrity sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA== + esbuild-freebsd-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== +esbuild-freebsd-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz#38a3fed8c6398072f9914856c7c3e3444f9ef4dd" + integrity sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w== + esbuild-linux-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== +esbuild-linux-32@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz#942dc70127f0c0a7ea91111baf2806e61fc81b32" + integrity sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ== + esbuild-linux-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== +esbuild-linux-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz#6d748564492d5daaa7e62420862c31ac3a44aed9" + integrity sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg== + esbuild-linux-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== +esbuild-linux-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz#28cd899beb2d2b0a3870fd44f4526835089a318d" + integrity sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA== + esbuild-linux-arm@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== +esbuild-linux-arm@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz#6441c256225564d8794fdef5b0a69bc1a43051b5" + integrity sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q== + esbuild-linux-mips64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== +esbuild-linux-mips64le@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz#d4927f817290eaffc062446896b2a553f0e11981" + integrity sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ== + esbuild-linux-ppc64le@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== +esbuild-linux-ppc64le@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz#b6d660dc6d5295f89ac51c675f1a2f639e2fb474" + integrity sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw== + esbuild-linux-riscv64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== +esbuild-linux-riscv64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz#2801bf18414dc3d3ad58d1ea83084f00d9d84896" + integrity sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA== + esbuild-linux-s390x@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== +esbuild-linux-s390x@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz#12a634ae6d3384cacc2b8f4201047deafe596eae" + integrity sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ== + esbuild-netbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== +esbuild-netbsd-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz#951bbf87600512dfcfbe3b8d9d117d684d26c1b8" + integrity sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w== + esbuild-openbsd-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== +esbuild-openbsd-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz#26705b61961d525d79a772232e8b8f211fdbb035" + integrity sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA== + esbuild-sunos-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== +esbuild-sunos-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz#d794da1ae60e6e2f6194c44d7b3c66bf66c7a141" + integrity sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA== + esbuild-windows-32@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== +esbuild-windows-32@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz#0670326903f421424be86bc03b7f7b3ff86a9db7" + integrity sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg== + esbuild-windows-64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== +esbuild-windows-64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz#64f32acb7341f3f0a4d10e8ff1998c2d1ebfc0a9" + integrity sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw== + esbuild-windows-arm64@0.14.50: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== -esbuild@^0.14.50, esbuild@~0.14.47: +esbuild-windows-arm64@0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz#4fe7f333ce22a922906b10233c62171673a3854b" + integrity sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA== + +esbuild@^0.15.5: + version "0.15.5" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.5.tgz#5effd05666f621d4ff2fe2c76a67c198292193ff" + integrity sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg== + optionalDependencies: + "@esbuild/linux-loong64" "0.15.5" + esbuild-android-64 "0.15.5" + esbuild-android-arm64 "0.15.5" + esbuild-darwin-64 "0.15.5" + esbuild-darwin-arm64 "0.15.5" + esbuild-freebsd-64 "0.15.5" + esbuild-freebsd-arm64 "0.15.5" + esbuild-linux-32 "0.15.5" + esbuild-linux-64 "0.15.5" + esbuild-linux-arm "0.15.5" + esbuild-linux-arm64 "0.15.5" + esbuild-linux-mips64le "0.15.5" + esbuild-linux-ppc64le "0.15.5" + esbuild-linux-riscv64 "0.15.5" + esbuild-linux-s390x "0.15.5" + esbuild-netbsd-64 "0.15.5" + esbuild-openbsd-64 "0.15.5" + esbuild-sunos-64 "0.15.5" + esbuild-windows-32 "0.15.5" + esbuild-windows-64 "0.15.5" + esbuild-windows-arm64 "0.15.5" + +esbuild@~0.14.47: version "0.14.50" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== @@ -654,13 +700,14 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.20.0: - version "8.20.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.20.0.tgz#048ac56aa18529967da8354a478be4ec0a2bc81b" - integrity sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA== +eslint@^8.22.0: + version "8.22.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.22.0.tgz#78fcb044196dfa7eef30a9d65944f6f980402c48" + integrity sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA== dependencies: "@eslint/eslintrc" "^1.3.0" - "@humanwhocodes/config-array" "^0.9.2" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -670,14 +717,17 @@ eslint@^8.20.0: eslint-scope "^7.1.1" eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" - espree "^9.3.2" + espree "^9.3.3" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" + find-up "^5.0.0" functional-red-black-tree "^1.0.1" glob-parent "^6.0.1" globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" @@ -704,6 +754,15 @@ espree@^9.3.2: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.3.0" +espree@^9.3.3: + version "9.3.3" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" + integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" + esquery@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" @@ -781,10 +840,10 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-type@^17.1.2: - version "17.1.4" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.4.tgz#e86bd6cc1b727ff2b2bd62f100958e4bcf37a6a3" - integrity sha512-3w/rJUUPBj6CYhVER3D5JCKwYJJiC36uj5dP+LnyubHI6H6FJo1TeWVCEA09YLVoZqV3/mLP26j9+Pz1GjAyjQ== +file-type@^17.1.6: + version "17.1.6" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-17.1.6.tgz#18669e0577a4849ef6e73a41f8bdf1ab5ae21023" + integrity sha512-hlDw5Ev+9e883s0pwUsuuYNu4tD7GgpUnOvykjv1Gya0ZIjuKumthDRua90VUn6/nlRKAjcxLUnHNTIUWwWIiw== dependencies: readable-web-to-node-stream "^3.0.2" strtok3 "^7.0.0-alpha.9" @@ -797,6 +856,14 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -882,6 +949,11 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -967,10 +1039,10 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -just-random@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/just-random/-/just-random-3.0.1.tgz#7bee212808686683a755d93842f1af86a02b3026" - integrity sha512-JOp2xkWZcPNEsDRJOWupw/qJhqUakcNi1gXCqRyix00jUJP37aJUaHuyjeQLC1Vg6ts+cNWWGifdHmP88A6uvA== +just-random@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/just-random/-/just-random-3.1.1.tgz#87ca02798b427d5e7b632cfe3367b3b25aea7040" + integrity sha512-nb9chl3E511Zu68G1EfC6jGh/aU0lojFOo7zaSEPznktuQhr8TkH4z7DyWebgwdLki8ekLOmzia3UTlv4zBWHQ== kleur@^4.1.5: version "4.1.5" @@ -985,6 +1057,13 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -1042,10 +1121,10 @@ node-domexception@^1.0.0: resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.9.tgz#3f6070bf854de20f21b9fe8479f823462e615d7d" - integrity sha512-/2lI+DBecVvVm9tDhjziTVjo2wmTsSxSk58saUYP0P/fRJ3xxtfMDY24+CKTkfm0Dlhyn3CSXNL0SoRiCZ8Rzg== +node-fetch@^3.2.10: + version "3.2.10" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.2.10.tgz#e8347f94b54ae18b57c9c049ef641cef398a85c8" + integrity sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA== dependencies: data-uri-to-buffer "^4.0.0" fetch-blob "^3.1.4" @@ -1070,6 +1149,20 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -1077,6 +1170,11 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -1258,18 +1356,6 @@ tlds@^1.203.0: resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.231.0.tgz#93880175cd0a06fdf7b5b5b9bcadff9d94813e39" integrity sha512-L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw== -tldts-core@^5.7.79: - version "5.7.79" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.79.tgz#37be835a9e6f585678d0ac2f620bb80f263091c0" - integrity sha512-5UFUHNc9+AX/AcFG+fY7ryG3o9dIKd8BeYTtiQP3+CTTlLqIAsjH9VcRA7PNKlv5f3QMYM0Z7dgbfEnOWkXvPQ== - -tldts-experimental@^5.6.21: - version "5.7.79" - resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.79.tgz#d4bf47a393aa97ff0abf90b1bf8f9b328ae16d19" - integrity sha512-E6cZHKKZDt4Gmw9AOcbvXFVHFcftZDIuF4+Yu6I8HeJ9ZB5RhY1RIJ2yEolKR9B7a0i45CJM2SxEGkLarEjHCQ== - dependencies: - tldts-core "^5.7.79" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -1307,14 +1393,14 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tsx@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/tsx/-/tsx-3.8.0.tgz#40528c8e5d44fa98877db9dfd463b46fb1c00a23" - integrity sha512-PcvTwRXTm6hDWfPihA4n5WW/9SmgFNxKaDKqvLLG+FKNEPA4crsipChzC7PVozPtdOaMfR5QctDlkC/hKoIsxw== +tsx@^3.8.2: + version "3.8.2" + resolved "https://registry.yarnpkg.com/tsx/-/tsx-3.8.2.tgz#5522dbe28890b63dedb659fc86fb9c5224207c5e" + integrity sha512-Jf9izq3Youry5aEarspf6Gm+v/IE2A2xP7YVhtNH1VSCpM0jjACg7C3oD5rIoLBfXWGJSZj4KKC2bwE0TgLb2Q== dependencies: - "@esbuild-kit/cjs-loader" "^2.3.1" + "@esbuild-kit/cjs-loader" "^2.3.3" "@esbuild-kit/core-utils" "^2.1.0" - "@esbuild-kit/esm-loader" "^2.4.1" + "@esbuild-kit/esm-loader" "^2.4.2" optionalDependencies: fsevents "~2.3.2" @@ -1335,10 +1421,10 @@ typescript@^4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== -undici@^5.7.0, undici@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.8.0.tgz#dec9a8ccd90e5a1d81d43c0eab6503146d649a4f" - integrity sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q== +undici@^5.9.1: + version "5.10.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.10.0.tgz#dd9391087a90ccfbd007568db458674232ebf014" + integrity sha512-c8HsD3IbwmjjbLvoZuRI26TZic+TSEe8FPMLLOkN1AfYRhdjnKBU6yL+IwcSCbdZiX4e5t0lfMDLDCqj4Sq70g== uri-js@^4.2.2: version "4.4.1" @@ -1396,3 +1482,8 @@ yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==