From 90f81d7575f80c274a18e6eb17dfa38030405d39 Mon Sep 17 00:00:00 2001 From: Shane Date: Sun, 8 Jan 2023 18:19:39 -0500 Subject: [PATCH] Refactor for Sapphire v4 (#12) --- .eslintrc.js | 1 + .github/workflows/cd.yaml | 6 +- package.json | 10 +- packages/custom-id/package.json | 2 +- packages/menus/package.json | 7 +- packages/menus/src/lib/structures/Menu.ts | 118 ++--- .../src/lib/structures/MenuPageBuilder.ts | 71 +-- packages/menus/src/lib/types/MenuPageTypes.ts | 44 +- packages/menus/tests/mock/MockPageData.ts | 16 +- yarn.lock | 422 +++++++++--------- 10 files changed, 365 insertions(+), 332 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index e331170..70e70bd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,6 +5,7 @@ module.exports = { tsconfigRootDir: __dirname, }, rules: { + '@typescript-eslint/require-await': 0, '@typescript-eslint/no-base-to-string': 0, '@typescript-eslint/member-ordering': 0 } diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 1ecc101..5de9533 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -3,14 +3,14 @@ name: CD on: push: tags: - - '@kbotdev/*@*.*.*' + - '@kbotdev/*@[0-9]+.[0-9]+.[0-9]+' jobs: release: name: Release runs-on: ubuntu-latest - if: ${{ github.repository_owner == 'kbot-discord' && github.ref == 'refs/heads/main' }} + if: github.repository_owner == 'kbot-discord' permissions: contents: write @@ -35,7 +35,7 @@ jobs: name: Publish runs-on: ubuntu-latest - if: ${{ github.repository_owner == 'kbot-discord' && github.ref == 'refs/heads/main' }} + if: github.repository_owner == 'kbot-discord' strategy: fail-fast: false diff --git a/package.json b/package.json index fa24351..1a6e238 100644 --- a/package.json +++ b/package.json @@ -14,24 +14,24 @@ "devDependencies": { "@microsoft/tsdoc": "^0.14.2", "@sapphire/eslint-config": "^4.3.8", - "@sapphire/framework": "^3.1.4", + "@sapphire/framework": "^4.0.0", "@sapphire/prettier-config": "^1.4.4", "@sapphire/ts-config": "^3.3.4", "@types/node": "^18.11.18", "@typescript-eslint/eslint-plugin": "^5.48.0", "@typescript-eslint/parser": "^5.48.0", "@vitest/coverage-c8": "^0.26.3", - "discord-api-types": "^0.33.5", - "discord.js": "^13.12.0", + "discord-api-types": "^0.37.26", + "discord.js": "^14.7.1", "eslint": "^8.31.0", "eslint-config-prettier": "^8.6.0", "eslint-plugin-prettier": "^4.2.1", "husky": "^8.0.3", "lint-staged": "^13.1.0", - "prettier": "^2.8.1", + "prettier": "^2.8.2", "tsup": "^6.5.0", "turbo": "^1.6.3", - "typedoc": "^0.23.23", + "typedoc": "^0.23.24", "typescript": "^4.9.4", "vitest": "^0.26.3" }, diff --git a/packages/custom-id/package.json b/packages/custom-id/package.json index 9cc773f..771476e 100644 --- a/packages/custom-id/package.json +++ b/packages/custom-id/package.json @@ -20,7 +20,7 @@ "@microsoft/tsdoc": "^0.14.2", "@vitest/coverage-c8": "^0.26.3", "tsup": "^6.5.0", - "typedoc": "^0.23.23", + "typedoc": "^0.23.24", "typescript": "^4.9.4", "vitest": "^0.26.3" }, diff --git a/packages/menus/package.json b/packages/menus/package.json index d47f539..a274f0f 100644 --- a/packages/menus/package.json +++ b/packages/menus/package.json @@ -14,15 +14,14 @@ }, "homepage": "https://github.com/KBot-discord/utilities/tree/main/packages/menus", "dependencies": { - "@sapphire/discord.js-utilities": "^5.1.2", - "discord.js": "^13.12.0", - "tslib": "^2.4.1" + "@sapphire/discord.js-utilities": "^6.0.0", + "discord.js": "^14.7.1" }, "devDependencies": { "@microsoft/tsdoc": "^0.14.2", "@vitest/coverage-c8": "^0.26.3", "tsup": "^6.5.0", - "typedoc": "^0.23.23", + "typedoc": "^0.23.24", "typescript": "^4.9.4", "vitest": "^0.26.3" }, diff --git a/packages/menus/src/lib/structures/Menu.ts b/packages/menus/src/lib/structures/Menu.ts index 84032a1..8c7a7ef 100644 --- a/packages/menus/src/lib/structures/Menu.ts +++ b/packages/menus/src/lib/structures/Menu.ts @@ -1,81 +1,87 @@ import { - type NonModalInteraction, + type AnyInteractableInteraction, isAnyInteraction, - safelyReplyToInteraction, isMessageInstance, - isGuildBasedChannel + isGuildBasedChannel, + safelyReplyToInteraction } from '@sapphire/discord.js-utilities'; -import type { APIMessage } from 'discord-api-types/v10'; import { + type SelectMenuComponentOptionData, + ActionRowBuilder, + ButtonBuilder, + StringSelectMenuBuilder, + ButtonStyle, + ComponentType, + type User, + userMention, + type APIMessage, type Message, InteractionCollector, - type MessageComponentInteraction, - type User, + type ButtonInteraction, + type StringSelectMenuInteraction, type WebhookEditMessageOptions, - type MessageOptions, + type InteractionReplyOptions, + type BaseMessageOptions, type TextBasedChannel, - Constants, - type ButtonInteraction, - type SelectMenuInteraction, + InteractionType, type Collection, - type Snowflake, - Formatters, - MessageSelectMenu, - MessageActionRow, - MessageButton, - MessageSelectOptionData + type Snowflake } from 'discord.js'; import type { + MenuPageRowUnion, + MenuArrowFunction, MenuSelectMenuOptionsFunction, - MenuStopReasons, MenuWrongUserInteractionReplyFunction, MenuPage, MenuOptions, - MenuArrowFunction + MenuStopReasons } from '../types/MenuPageTypes'; import { isFunction, isNullOrUndefined, isObject } from '../util'; import { MenuPageBuilder } from './MenuPageBuilder'; import { MenuPagesBuilder } from './MenuPagesBuilder'; export class Menu { - public static defaultRows(options: MessageSelectOptionData[], placeholder?: string): MessageActionRow[] { + public static defaultRows( + options: SelectMenuComponentOptionData[], + placeholder?: string + ): ActionRowBuilder[] { return [ - new MessageActionRow().setComponents([ - new MessageButton({ + new ActionRowBuilder().setComponents([ + new ButtonBuilder({ customId: '@kbotdev/menus.firstPage', - style: 'PRIMARY', + style: ButtonStyle.Primary, emoji: '⏪', - type: Constants.MessageComponentTypes.BUTTON + type: ComponentType.Button }), - new MessageButton({ + new ButtonBuilder({ customId: '@kbotdev/menus.previousPage', - style: 'PRIMARY', + style: ButtonStyle.Primary, emoji: '◀️', - type: Constants.MessageComponentTypes.BUTTON + type: ComponentType.Button }), - new MessageButton({ + new ButtonBuilder({ customId: '@kbotdev/menus.nextPage', - style: 'PRIMARY', + style: ButtonStyle.Primary, emoji: '▶️', - type: Constants.MessageComponentTypes.BUTTON + type: ComponentType.Button }), - new MessageButton({ + new ButtonBuilder({ customId: '@kbotdev/menus.goToLastPage', - style: 'PRIMARY', + style: ButtonStyle.Primary, emoji: '⏩', - type: Constants.MessageComponentTypes.BUTTON + type: ComponentType.Button }), - new MessageButton({ + new ButtonBuilder({ customId: '@kbotdev/menus.stop', - style: 'DANGER', + style: ButtonStyle.Danger, emoji: '⏹️', - type: Constants.MessageComponentTypes.BUTTON + type: ComponentType.Button }) ]), - new MessageActionRow().setComponents([ - new MessageSelectMenu({ + new ActionRowBuilder().setComponents([ + new StringSelectMenuBuilder({ customId: '@kbotdev/menus.goToPage', - type: Constants.MessageComponentTypes.SELECT_MENU, + type: ComponentType.StringSelect, options, placeholder }) @@ -119,18 +125,18 @@ export class Menu { public static selectMenuOptions: MenuSelectMenuOptionsFunction = (pageIndex) => ({ label: `Page ${pageIndex}` }); public static wrongUserInteractionReply: MenuWrongUserInteractionReplyFunction = (targetUser: User) => ({ - content: `This menu is only for ${Formatters.userMention(targetUser.id)}.`, + content: `This menu is only for ${userMention(targetUser.id)}.`, ephemeral: true, allowedMentions: { users: [], roles: [] } }); public pages: MenuPage[] = []; - public rows: MessageActionRow[] = []; + public rows: ActionRowBuilder[] = []; - public response: APIMessage | Message | NonModalInteraction | null = null; + public response: APIMessage | Message | AnyInteractableInteraction | null = null; - public collector: InteractionCollector | null = null; + public collector: InteractionCollector | null = null; public index = 0; @@ -157,17 +163,17 @@ export class Menu { return this; } - public setSharedRows(rows: MessageActionRow[]): this { + public setSharedRows(rows: ActionRowBuilder[]): this { this.rows = []; return this.addSharedRows([...rows]); } - public addSharedRows(rows: MessageActionRow[]): this { + public addSharedRows(rows: ActionRowBuilder[]): this { for (const row of rows) this.addSharedRow(row); return this; } - public addSharedRow(row: MessageActionRow): this { + public addSharedRow(row: ActionRowBuilder): this { this.rows.push(row); return this; } @@ -211,7 +217,7 @@ export class Menu { this.pages[currentIndex] = builtPage; - const response = this.response as NonModalInteraction; + const response = this.response as AnyInteractableInteraction; return response.editReply(builtPage); } @@ -219,7 +225,7 @@ export class Menu { return isFunction(builder) ? builder(new MenuPageBuilder()) : builder; } - public async run(messageOrInteraction: Message | NonModalInteraction, target?: User): Promise { + public async run(messageOrInteraction: Message | AnyInteractableInteraction, target?: User): Promise { target ??= isAnyInteraction(messageOrInteraction) ? messageOrInteraction.user : messageOrInteraction.author; const menu = Menu.handlers.get(target.id); @@ -251,7 +257,7 @@ export class Menu { return this; } - protected async setUpMessage(messageOrInteraction: Message | NonModalInteraction): Promise { + protected async setUpMessage(messageOrInteraction: Message | AnyInteractableInteraction): Promise { if (this.pages.length > 1) { const selectMenuOptions = await Promise.all( this.pages.map(async (_, index) => { @@ -278,7 +284,7 @@ export class Menu { if (this.response.replied || this.response.deferred) { await this.response.editReply(homePage as WebhookEditMessageOptions); } else { - await this.response.reply(homePage as WebhookEditMessageOptions); + await this.response.reply(homePage as InteractionReplyOptions); } } else if (isMessageInstance(this.response)) { await this.response.edit(homePage as WebhookEditMessageOptions); @@ -291,12 +297,12 @@ export class Menu { this.response = await messageOrInteraction.reply({ ...homePage, fetchReply: true, ephemeral: false }); } } else { - this.response = await messageOrInteraction.channel.send(homePage as MessageOptions); + this.response = await messageOrInteraction.channel.send(homePage as BaseMessageOptions); } } protected setUpCollector(channel: TextBasedChannel, targetUser: User): void { - this.collector = new InteractionCollector(targetUser.client, { + this.collector = new InteractionCollector(targetUser.client, { filter: (interaction) => !isNullOrUndefined(this.response) && // interaction.isMessageComponent() && @@ -308,7 +314,7 @@ export class Menu { channel, - interactionType: Constants.InteractionTypes.MESSAGE_COMPONENT, + interactionType: InteractionType.MessageComponent, ...(this.response && !isAnyInteraction(this.response) ? { @@ -325,7 +331,7 @@ export class Menu { return this.applyFooter(pageWithComponents, index); } - protected async handleCollect(targetUser: User, interaction: ButtonInteraction | SelectMenuInteraction): Promise { + protected async handleCollect(targetUser: User, interaction: ButtonInteraction | StringSelectMenuInteraction): Promise { if (interaction.user.id === targetUser.id) { this.response = interaction; @@ -361,7 +367,7 @@ export class Menu { } } - protected async handleEnd(_: Collection, reason: MenuStopReasons): Promise { + protected async handleEnd(_: Collection, reason: MenuStopReasons): Promise { if ( (reason === 'time' || reason === 'idle') && this.response !== null && @@ -397,8 +403,8 @@ export class Menu { const idx = page.embeds.length - 1; const lastEmbed = page.embeds[idx]; if (lastEmbed) { - lastEmbed.footer ??= { text: '' }; - lastEmbed.footer.text = `${index + 1} / ${this.pages.length}`; + lastEmbed.data.footer ??= { text: '' }; + lastEmbed.data.footer.text = `${index + 1} / ${this.pages.length}`; } return { ...page, embeds: page.embeds }; diff --git a/packages/menus/src/lib/structures/MenuPageBuilder.ts b/packages/menus/src/lib/structures/MenuPageBuilder.ts index e638997..82bd47c 100644 --- a/packages/menus/src/lib/structures/MenuPageBuilder.ts +++ b/packages/menus/src/lib/structures/MenuPageBuilder.ts @@ -1,5 +1,5 @@ -import { MessageActionRow, MessageEmbed } from 'discord.js'; -import type { MenuPage } from '../types/MenuPageTypes'; +import { ActionRowBuilder, EmbedBuilder } from 'discord.js'; +import type { MenuPage, MenuPageRowUnion } from '../types/MenuPageTypes'; export class MenuPageBuilder { private page: MenuPage; @@ -8,56 +8,67 @@ export class MenuPageBuilder { this.page = page ?? { embeds: [], components: [] }; } - public addEmbed(embed: MessageEmbed | ((embed: MessageEmbed) => MessageEmbed)): this { + public addEmbed(embed: EmbedBuilder | ((embed: EmbedBuilder) => EmbedBuilder)): this { if (!this.page.embeds) this.page.embeds = []; - this.page.embeds.push(typeof embed === 'function' ? embed(new MessageEmbed()) : embed); + this.page.embeds.push(typeof embed === 'function' ? embed(new EmbedBuilder()) : embed); return this; } public setEmbeds( embeds: - | MessageEmbed[] + | EmbedBuilder[] | (( - embed1: MessageEmbed, - embed2: MessageEmbed, - embed3: MessageEmbed, - embed4: MessageEmbed, - embed5: MessageEmbed, - embed6: MessageEmbed, - embed7: MessageEmbed, - embed8: MessageEmbed, - embed9: MessageEmbed, - embed10: MessageEmbed - ) => MessageEmbed[]) + embed1: EmbedBuilder, + embed2: EmbedBuilder, + embed3: EmbedBuilder, + embed4: EmbedBuilder, + embed5: EmbedBuilder, + embed6: EmbedBuilder, + embed7: EmbedBuilder, + embed8: EmbedBuilder, + embed9: EmbedBuilder, + embed10: EmbedBuilder + ) => EmbedBuilder[]) ): this { this.page.embeds = typeof embeds === 'function' ? embeds( - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed(), - new MessageEmbed() + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder(), + new EmbedBuilder() ) : embeds; return this; } - public addComponentRow(row: MessageActionRow | ((row: MessageActionRow) => MessageActionRow)): this { - this.page.components.push(typeof row === 'function' ? row(new MessageActionRow()) : row); + public addComponentRow( + row: ActionRowBuilder | ((row: ActionRowBuilder) => ActionRowBuilder) + ): this { + this.page.components.push(typeof row === 'function' ? row(new ActionRowBuilder()) : row); return this; } public setComponentRows( - rows: MessageActionRow[] | ((row1: MessageActionRow, row2: MessageActionRow, row3: MessageActionRow) => MessageActionRow[]) + rows: + | ActionRowBuilder[] + | (( + row1: ActionRowBuilder, + row2: ActionRowBuilder, + row3: ActionRowBuilder + ) => ActionRowBuilder[]) ): this { this.page.components = []; - const newRows = typeof rows === 'function' ? rows(new MessageActionRow(), new MessageActionRow(), new MessageActionRow()) : rows; + const newRows = + typeof rows === 'function' + ? rows(new ActionRowBuilder(), new ActionRowBuilder(), new ActionRowBuilder()) + : rows; for (const row of newRows) this.addComponentRow(row); return this; } diff --git a/packages/menus/src/lib/types/MenuPageTypes.ts b/packages/menus/src/lib/types/MenuPageTypes.ts index 6e09530..e4b3b0e 100644 --- a/packages/menus/src/lib/types/MenuPageTypes.ts +++ b/packages/menus/src/lib/types/MenuPageTypes.ts @@ -1,30 +1,34 @@ import type { AnyInteraction } from '@sapphire/discord.js-utilities'; -import type { APIMessage } from 'discord-api-types/v9'; import type { + ActionRowBuilder, + APIMessage, Awaitable, - User, - Message, + BaseMessageOptions, + ButtonBuilder, + ButtonInteraction, + EmbedBuilder, InteractionCollector, - MessageComponentInteraction, - MessageOptions, - MessageSelectOptionData, - WebhookEditMessageOptions, InteractionReplyOptions, InteractionUpdateOptions, - ReplyMessageOptions, + Message, + MessageComponentInteraction, MessageEditOptions, - MessageEmbed, - MessageActionRow, - ButtonInteraction, - SelectMenuInteraction + MessageReplyOptions, + SelectMenuComponentOptionData, + StringSelectMenuBuilder, + StringSelectMenuInteraction, + User, + WebhookEditMessageOptions } from 'discord.js'; import type { Menu } from '../structures/Menu'; import type { MenuPageBuilder } from '../structures/MenuPageBuilder'; import type { MenuPagesBuilder } from '../structures/MenuPagesBuilder'; +export type MenuPageRowUnion = ButtonBuilder | StringSelectMenuBuilder; + export interface MenuPage { - embeds: MessageEmbed[]; - components: MessageActionRow[]; + embeds: EmbedBuilder[]; + components: ActionRowBuilder[]; } export type MenuPageResolvable = MenuPageBuilder | MenuPage; @@ -36,24 +40,24 @@ export interface MenuArrowFunction { } export interface MenuArrowFunctionContext { - interaction: ButtonInteraction | SelectMenuInteraction; + interaction: ButtonInteraction | StringSelectMenuInteraction; handler: Menu; - collector: InteractionCollector; + collector: InteractionCollector; } export interface MenuOptions { pages?: MenuPage[]; - sharedRows?: MessageActionRow[]; + sharedRows?: ActionRowBuilder[]; } -export type MenuSelectMenuOptionsFunction = (pageIndex: number) => Awaitable>; +export type MenuSelectMenuOptionsFunction = (pageIndex: number) => Awaitable>; export type MenuWrongUserInteractionReplyFunction = ( targetUser: User, interactionUser: User ) => Awaitable[0]>; -export type MenuEmbedResolvable = MessageOptions['embeds']; +export type MenuEmbedResolvable = BaseMessageOptions['embeds']; export interface SafeReplyToInteractionParameters { messageOrInteraction: APIMessage | Message | AnyInteraction; @@ -61,7 +65,7 @@ export interface SafeReplyToInteractionParameters = new ActionRowBuilder().setComponents([ + new ButtonBuilder({ customId: '1', style: ButtonStyle.Primary }), + new ButtonBuilder({ customId: '2', style: ButtonStyle.Primary }), + new ButtonBuilder({ customId: '3', style: ButtonStyle.Primary }) +]); export const mockEmbedData: MenuPage = { embeds: [mockEmbed], diff --git a/yarn.lock b/yarn.lock index 99c283c..8e65b04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,33 +12,50 @@ __metadata: languageName: node linkType: hard -"@discordjs/builders@npm:^0.16.0": - version: 0.16.0 - resolution: "@discordjs/builders@npm:0.16.0" +"@discordjs/builders@npm:^1.4.0": + version: 1.4.0 + resolution: "@discordjs/builders@npm:1.4.0" dependencies: - "@sapphire/shapeshift": ^3.5.1 - discord-api-types: ^0.36.2 + "@discordjs/util": ^0.1.0 + "@sapphire/shapeshift": ^3.7.1 + discord-api-types: ^0.37.20 fast-deep-equal: ^3.1.3 - ts-mixer: ^6.0.1 - tslib: ^2.4.0 - checksum: bf7ab00924bf84678c139b32c3b6bda16d62f190a1674ebaa4ec8767c7105890b1375716296037306661e138fe1c09c535b3141a047b7fceafaa92937a76cb8b - languageName: node - linkType: hard - -"@discordjs/collection@npm:^0.7.0": - version: 0.7.0 - resolution: "@discordjs/collection@npm:0.7.0" - checksum: 141aa35a5433bacba3617b533557b4948388c7b59cdaecee51ccd721c1b9242e50d95bdef53ee2491535a017095f5072ace3c3e9e594193f67a1c5a8a4b7db93 + ts-mixer: ^6.0.2 + tslib: ^2.4.1 + checksum: 3089ea5dc58e62c0314fd5fd995281d183d1a938d14a71b89c47b71b6cdf4cdf9f8c2ee1d04ca59e6bdde583b8bb785f3b53d917fb155cade8d27ac0dedbc942 languageName: node linkType: hard -"@discordjs/collection@npm:^1.2.0": +"@discordjs/collection@npm:^1.2.0, @discordjs/collection@npm:^1.3.0": version: 1.3.0 resolution: "@discordjs/collection@npm:1.3.0" checksum: 5ca6e9757f4c1e19564a0ac96ebfcabd1a83bf3ac0270034a0ea887f418f196caea4b54ebac5aaf0fc28d98f58f12794a6242d07acf08c946f23aa2e0047e87d languageName: node linkType: hard +"@discordjs/rest@npm:^1.4.0": + version: 1.5.0 + resolution: "@discordjs/rest@npm:1.5.0" + dependencies: + "@discordjs/collection": ^1.3.0 + "@discordjs/util": ^0.1.0 + "@sapphire/async-queue": ^1.5.0 + "@sapphire/snowflake": ^3.2.2 + discord-api-types: ^0.37.23 + file-type: ^18.0.0 + tslib: ^2.4.1 + undici: ^5.13.0 + checksum: 98b3a97fa3dbecd406cefca5e5245d51a1ab9eb748001f9d128065cc6dd6f61cc23efbdfa11e84e5147131fe40239d23c37b503d8c4c1a40b10d67b4c5b255ef + languageName: node + linkType: hard + +"@discordjs/util@npm:^0.1.0": + version: 0.1.0 + resolution: "@discordjs/util@npm:0.1.0" + checksum: 880e15cd761437a21cf17b8a9dab50e7e5418fcc77dc34037c31a52b871fab1b958218ab6218aafd20af8b7a4e658a705d3f257268324773a285d9a06368c1b9 + languageName: node + linkType: hard + "@esbuild/android-arm64@npm:0.16.13": version: 0.16.13 resolution: "@esbuild/android-arm64@npm:0.16.13" @@ -295,7 +312,7 @@ __metadata: "@vitest/coverage-c8": ^0.26.3 binarytf: ^2.1.2 tsup: ^6.5.0 - typedoc: ^0.23.23 + typedoc: ^0.23.24 typescript: ^4.9.4 vitest: ^0.26.3 languageName: unknown @@ -306,12 +323,11 @@ __metadata: resolution: "@kbotdev/menus@workspace:packages/menus" dependencies: "@microsoft/tsdoc": ^0.14.2 - "@sapphire/discord.js-utilities": ^5.1.2 + "@sapphire/discord.js-utilities": ^6.0.0 "@vitest/coverage-c8": ^0.26.3 - discord.js: ^13.12.0 - tslib: ^2.4.1 + discord.js: ^14.7.1 tsup: ^6.5.0 - typedoc: ^0.23.23 + typedoc: ^0.23.24 typescript: ^4.9.4 vitest: ^0.26.3 languageName: unknown @@ -323,24 +339,24 @@ __metadata: dependencies: "@microsoft/tsdoc": ^0.14.2 "@sapphire/eslint-config": ^4.3.8 - "@sapphire/framework": ^3.1.4 + "@sapphire/framework": ^4.0.0 "@sapphire/prettier-config": ^1.4.4 "@sapphire/ts-config": ^3.3.4 "@types/node": ^18.11.18 "@typescript-eslint/eslint-plugin": ^5.48.0 "@typescript-eslint/parser": ^5.48.0 "@vitest/coverage-c8": ^0.26.3 - discord-api-types: ^0.33.5 - discord.js: ^13.12.0 + discord-api-types: ^0.37.26 + discord.js: ^14.7.1 eslint: ^8.31.0 eslint-config-prettier: ^8.6.0 eslint-plugin-prettier: ^4.2.1 husky: ^8.0.3 lint-staged: ^13.1.0 - prettier: ^2.8.1 + prettier: ^2.8.2 tsup: ^6.5.0 turbo: ^1.6.3 - typedoc: ^0.23.23 + typedoc: ^0.23.24 typescript: ^4.9.4 vitest: ^0.26.3 languageName: unknown @@ -407,24 +423,24 @@ __metadata: languageName: node linkType: hard -"@sapphire/discord-utilities@npm:^2.12.0": - version: 2.12.0 - resolution: "@sapphire/discord-utilities@npm:2.12.0" +"@sapphire/discord-utilities@npm:^3.0.0": + version: 3.0.0 + resolution: "@sapphire/discord-utilities@npm:3.0.0" dependencies: - discord-api-types: ^0.36.3 - checksum: a699d8cca46033a0eafa42dc44651f1e72ccb2a5eb8e94710dbe4b7f154aed0d7729c7eba515bcdfe1592a0b0c8181f2712a43939188a44603b940e877fa81a7 + discord-api-types: ^0.37.25 + checksum: c17ddb5c663fb474e134f881bfa9fb803bdb315220894079c92966b72208ae52f4a995faae2701519d99690f0ed591d7e9995e8c7ffc36821435fd454af5d4b1 languageName: node linkType: hard -"@sapphire/discord.js-utilities@npm:^5.1.2": - version: 5.1.2 - resolution: "@sapphire/discord.js-utilities@npm:5.1.2" +"@sapphire/discord.js-utilities@npm:6.0.0, @sapphire/discord.js-utilities@npm:^6.0.0": + version: 6.0.0 + resolution: "@sapphire/discord.js-utilities@npm:6.0.0" dependencies: - "@sapphire/discord-utilities": ^2.12.0 + "@sapphire/discord-utilities": ^3.0.0 "@sapphire/duration": ^1.0.0 "@sapphire/utilities": ^3.11.0 tslib: ^2.4.1 - checksum: 60c02e2e62699df2c770ac6dae57222dc413b51784b463fffe4aa571493b63a1045c57d5d068cc3761f5cc20ff0b29d3611c34eba876a2092c926ba32973bea0 + checksum: 00752fe7c79666db905e3b1a8d0a20c968b62d1b5279081da2de530c8370b2d3124579cf0a186f5ac4145bb1d107e0bc75988d1f9d1700fe1f5622367c57c37d languageName: node linkType: hard @@ -450,20 +466,20 @@ __metadata: languageName: node linkType: hard -"@sapphire/framework@npm:^3.1.4": - version: 3.1.4 - resolution: "@sapphire/framework@npm:3.1.4" +"@sapphire/framework@npm:^4.0.0": + version: 4.0.0 + resolution: "@sapphire/framework@npm:4.0.0" dependencies: - "@discordjs/builders": ^0.16.0 - "@sapphire/discord-utilities": ^2.12.0 - "@sapphire/discord.js-utilities": ^5.1.2 + "@discordjs/builders": ^1.4.0 + "@sapphire/discord-utilities": ^3.0.0 + "@sapphire/discord.js-utilities": 6.0.0 "@sapphire/lexure": ^1.1.2 "@sapphire/pieces": ^3.6.0 "@sapphire/ratelimits": ^2.4.5 "@sapphire/result": ^2.6.0 "@sapphire/stopwatch": ^1.5.0 "@sapphire/utilities": ^3.11.0 - checksum: 501ed2dfaae0fe6ffbbda165928506d174fb30053ba2241c8f695467aad725b2c9bf2f830969ef8cdeb00311511c17561d989204d6ef4a9cda8f380ffe359762 + checksum: 228eee392a58a68fdc5f6382bbbafb8b060583450b08b17e6f37c4c6f6b897498db32ac1a2e117ce62f69b7be89892f0def13b97bd097597dd2101ed5d0c05e7 languageName: node linkType: hard @@ -512,7 +528,7 @@ __metadata: languageName: node linkType: hard -"@sapphire/shapeshift@npm:^3.5.1": +"@sapphire/shapeshift@npm:^3.7.1": version: 3.8.1 resolution: "@sapphire/shapeshift@npm:3.8.1" dependencies: @@ -522,6 +538,13 @@ __metadata: languageName: node linkType: hard +"@sapphire/snowflake@npm:^3.2.2": + version: 3.4.0 + resolution: "@sapphire/snowflake@npm:3.4.0" + checksum: 556b7001f33d6edbbbcbca46f6abfa56c732a29e78b693161e358688e688edcb012d2c1bc944e7ffb41bd6c9950d261bc73f95656dc01643361a218b4f5ab985 + languageName: node + linkType: hard + "@sapphire/stopwatch@npm:^1.5.0": version: 1.5.0 resolution: "@sapphire/stopwatch@npm:1.5.0" @@ -555,6 +578,13 @@ __metadata: languageName: node linkType: hard +"@tokenizer/token@npm:^0.3.0": + version: 0.3.0 + resolution: "@tokenizer/token@npm:0.3.0" + checksum: 1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1 + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -592,16 +622,6 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.6.2": - version: 2.6.2 - resolution: "@types/node-fetch@npm:2.6.2" - dependencies: - "@types/node": "*" - form-data: ^3.0.0 - checksum: 6f73b1470000d303d25a6fb92875ea837a216656cb7474f66cdd67bb014aa81a5a11e7ac9c21fe19bee9ecb2ef87c1962bceeaec31386119d1ac86e4c30ad7a6 - languageName: node - linkType: hard - "@types/node@npm:*, @types/node@npm:^18.11.18": version: 18.11.18 resolution: "@types/node@npm:18.11.18" @@ -930,13 +950,6 @@ __metadata: languageName: node linkType: hard -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -1004,6 +1017,15 @@ __metadata: languageName: node linkType: hard +"busboy@npm:^1.6.0": + version: 1.6.0 + resolution: "busboy@npm:1.6.0" + dependencies: + streamsearch: ^1.1.0 + checksum: 32801e2c0164e12106bf236291a00795c3c4e4b709ae02132883fe8478ba2ae23743b11c5735a0aae8afe65ac4b6ca4568b91f0d9fed1fdbc32ede824a73746e + languageName: node + linkType: hard + "c8@npm:^7.12.0": version: 7.12.0 resolution: "c8@npm:7.12.0" @@ -1203,15 +1225,6 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: ~1.0.0 - checksum: 49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c - languageName: node - linkType: hard - "commander@npm:^4.0.0": version: 4.1.1 resolution: "commander@npm:4.1.1" @@ -1286,13 +1299,6 @@ __metadata: languageName: node linkType: hard -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020 - languageName: node - linkType: hard - "delegates@npm:^1.0.0": version: 1.0.0 resolution: "delegates@npm:1.0.0" @@ -1316,34 +1322,30 @@ __metadata: languageName: node linkType: hard -"discord-api-types@npm:^0.33.5": - version: 0.33.5 - resolution: "discord-api-types@npm:0.33.5" - checksum: 6dcaad640c5693a69c9a4f5e444e739dde11ba835164ae6fd3dd5a1ab7b4d7f96cd022ed653eeaff2c8051ead0d998a5d502a2915cfacdde596364b82d9e3b3f - languageName: node - linkType: hard - -"discord-api-types@npm:^0.36.2, discord-api-types@npm:^0.36.3": - version: 0.36.3 - resolution: "discord-api-types@npm:0.36.3" - checksum: 3089c0fb37425dc5df03c76d82988d43fcc272699b06a02fc830d0a3bef550009aaebdf6d646529e8a7ccea76ae3f43b099d736ea5ef37a0be143142ab49871d +"discord-api-types@npm:^0.37.20, discord-api-types@npm:^0.37.23, discord-api-types@npm:^0.37.25, discord-api-types@npm:^0.37.26": + version: 0.37.26 + resolution: "discord-api-types@npm:0.37.26" + checksum: 66a1e43568af6d928aab253c81a192985c9025de72100881b8b206f1b8a746ef211670e1e88d152f59d7a186176a6afc3f81629ba7ccb91dab264b027f187004 languageName: node linkType: hard -"discord.js@npm:^13.12.0": - version: 13.12.0 - resolution: "discord.js@npm:13.12.0" +"discord.js@npm:^14.7.1": + version: 14.7.1 + resolution: "discord.js@npm:14.7.1" dependencies: - "@discordjs/builders": ^0.16.0 - "@discordjs/collection": ^0.7.0 - "@sapphire/async-queue": ^1.5.0 - "@types/node-fetch": ^2.6.2 + "@discordjs/builders": ^1.4.0 + "@discordjs/collection": ^1.3.0 + "@discordjs/rest": ^1.4.0 + "@discordjs/util": ^0.1.0 + "@sapphire/snowflake": ^3.2.2 "@types/ws": ^8.5.3 - discord-api-types: ^0.33.5 - form-data: ^4.0.0 - node-fetch: ^2.6.7 - ws: ^8.9.0 - checksum: e7121efac94cf8dba04999f1050cc369e03651afe7c2d440edab415cfac5b6072cca908e7c1310f0027805deaa955922c4bc0d531ff48d84202c643a0bd5141e + discord-api-types: ^0.37.20 + fast-deep-equal: ^3.1.3 + lodash.snakecase: ^4.1.1 + tslib: ^2.4.1 + undici: ^5.13.0 + ws: ^8.11.0 + checksum: fa861275b1f5360ef1b06cd514014ebd4e3f384655834dd1f73fd9f715bee643500f9d837c52f496d306825bc9c3d6c94e67463d91326e3750a28db765926ad6 languageName: node linkType: hard @@ -1971,6 +1973,17 @@ __metadata: languageName: node linkType: hard +"file-type@npm:^18.0.0": + version: 18.0.0 + resolution: "file-type@npm:18.0.0" + dependencies: + readable-web-to-node-stream: ^3.0.2 + strtok3: ^7.0.0 + token-types: ^5.0.1 + checksum: 67f5a927b8030e35a4faf9dd9dea9e17bcb042fb61b9851b7dd1b1b3bb3ecfdd9f83bc3bc72686316ea2bac70df652c61e10affa9b5957b1a3d731df4925e3cb + languageName: node + linkType: hard + "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -2017,28 +2030,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^3.0.0": - version: 3.0.1 - resolution: "form-data@npm:3.0.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: 01135bf8675f9d5c61ff18e2e2932f719ca4de964e3be90ef4c36aacfc7b9cb2fceb5eca0b7e0190e3383fe51c5b37f4cb80b62ca06a99aaabfcfd6ac7c9328c - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -2313,6 +2304,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e + languageName: node + linkType: hard + "ignore@npm:^5.2.0": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -2532,7 +2530,7 @@ __metadata: languageName: node linkType: hard -"jsonc-parser@npm:^3.0.0, jsonc-parser@npm:^3.2.0": +"jsonc-parser@npm:^3.2.0": version: 3.2.0 resolution: "jsonc-parser@npm:3.2.0" checksum: 946dd9a5f326b745aa326d48a7257e3f4a4b62c5e98ec8e49fa2bdd8d96cef7e6febf1399f5c7016114fd1f68a1c62c6138826d5d90bc650448e3cf0951c53c7 @@ -2637,6 +2635,13 @@ __metadata: languageName: node linkType: hard +"lodash.snakecase@npm:^4.1.1": + version: 4.1.1 + resolution: "lodash.snakecase@npm:4.1.1" + checksum: 1685ed3e83dda6eae5a4dcaee161a51cd210aabb3e1c09c57150e7dd8feda19e4ca0d27d0631eabe8d0f4eaa51e376da64e8c018ae5415417c5890d42feb72a8 + languageName: node + linkType: hard + "lodash.sortby@npm:^4.7.0": version: 4.7.0 resolution: "lodash.sortby@npm:4.7.0" @@ -2728,7 +2733,7 @@ __metadata: languageName: node linkType: hard -"marked@npm:^4.2.4": +"marked@npm:^4.2.5": version: 4.2.5 resolution: "marked@npm:4.2.5" bin: @@ -2761,22 +2766,6 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: 1.52.0 - checksum: 89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836 - languageName: node - linkType: hard - "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -2800,7 +2789,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.1": +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.2": version: 5.1.2 resolution: "minimatch@npm:5.1.2" dependencies: @@ -2964,20 +2953,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.7": - version: 2.6.7 - resolution: "node-fetch@npm:2.6.7" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 9.3.1 resolution: "node-gyp@npm:9.3.1" @@ -3200,6 +3175,13 @@ __metadata: languageName: node linkType: hard +"peek-readable@npm:^5.0.0": + version: 5.0.0 + resolution: "peek-readable@npm:5.0.0" + checksum: bef5ceb50586eb42e14efba274ac57ffe97f0ed272df9239ce029f688f495d9bf74b2886fa27847c706a9db33acda4b7d23bbd09a2d21eb4c2a54da915117414 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0": version: 1.0.0 resolution: "picocolors@npm:1.0.0" @@ -3286,7 +3268,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.7.1, prettier@npm:^2.8.1": +"prettier@npm:^2.7.1": version: 2.8.1 resolution: "prettier@npm:2.8.1" bin: @@ -3295,6 +3277,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^2.8.2": + version: 2.8.2 + resolution: "prettier@npm:2.8.2" + bin: + prettier: bin-prettier.js + checksum: 740c56c2128d587d656ea1dde9bc9c3503dfc94db4f3ac387259215eeb2e216680bdad9d18a0c9feecc6b42cfa188d6fa777df4c36c1d00cedd4199074fbfbd2 + languageName: node + linkType: hard + "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -3337,6 +3328,15 @@ __metadata: languageName: node linkType: hard +"readable-web-to-node-stream@npm:^3.0.2": + version: 3.0.2 + resolution: "readable-web-to-node-stream@npm:3.0.2" + dependencies: + readable-stream: ^3.6.0 + checksum: 8c56cc62c68513425ddfa721954875b382768f83fa20e6b31e365ee00cbe7a3d6296f66f7f1107b16cd3416d33aa9f1680475376400d62a081a88f81f0ea7f9c + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -3531,14 +3531,14 @@ __metadata: languageName: node linkType: hard -"shiki@npm:^0.11.1": - version: 0.11.1 - resolution: "shiki@npm:0.11.1" +"shiki@npm:^0.12.1": + version: 0.12.1 + resolution: "shiki@npm:0.12.1" dependencies: - jsonc-parser: ^3.0.0 - vscode-oniguruma: ^1.6.1 - vscode-textmate: ^6.0.0 - checksum: 2a4ebc3b466816263fc244ae4f67a4ff96aa74d863b9c5e7e4affc50f37fd6d1a781405de0dbf763b777bc33e49a0d441de7ff3fededb8b01e3b8dbb37e2927d + jsonc-parser: ^3.2.0 + vscode-oniguruma: ^1.7.0 + vscode-textmate: ^8.0.0 + checksum: a5d78a79d282f5c5168786980c66e82f075e91fa015097456486624fc5775688d685ad9b1972b0617d7f1ef50927d21b61dca476247a6f6c6b7042046e89a979 languageName: node linkType: hard @@ -3658,6 +3658,13 @@ __metadata: languageName: node linkType: hard +"streamsearch@npm:^1.1.0": + version: 1.1.0 + resolution: "streamsearch@npm:1.1.0" + checksum: 1cce16cea8405d7a233d32ca5e00a00169cc0e19fbc02aa839959985f267335d435c07f96e5e0edd0eadc6d39c98d5435fb5bbbdefc62c41834eadc5622ad942 + languageName: node + linkType: hard + "string-argv@npm:^0.3.1": version: 0.3.1 resolution: "string-argv@npm:0.3.1" @@ -3744,6 +3751,16 @@ __metadata: languageName: node linkType: hard +"strtok3@npm:^7.0.0": + version: 7.0.0 + resolution: "strtok3@npm:7.0.0" + dependencies: + "@tokenizer/token": ^0.3.0 + peek-readable: ^5.0.0 + checksum: 2ebe7ad8f2aea611dec6742cf6a42e82764892a362907f7ce493faf334501bf981ce21c828dcc300457e6d460dc9c34d644ededb3b01dcb9e37559203cf1748c + languageName: node + linkType: hard + "sucrase@npm:^3.20.3": version: 3.29.0 resolution: "sucrase@npm:3.29.0" @@ -3864,6 +3881,16 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^5.0.1": + version: 5.0.1 + resolution: "token-types@npm:5.0.1" + dependencies: + "@tokenizer/token": ^0.3.0 + ieee754: ^1.2.1 + checksum: 32780123bc6ce8b6a2231d860445c994a02a720abf38df5583ea957aa6626873cd1c4dd8af62314da4cf16ede00c379a765707a3b06f04b8808c38efdae1c785 + languageName: node + linkType: hard + "tr46@npm:^1.0.1": version: 1.0.1 resolution: "tr46@npm:1.0.1" @@ -3873,13 +3900,6 @@ __metadata: languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 - languageName: node - linkType: hard - "tree-kill@npm:^1.2.2": version: 1.2.2 resolution: "tree-kill@npm:1.2.2" @@ -3896,7 +3916,7 @@ __metadata: languageName: node linkType: hard -"ts-mixer@npm:^6.0.1": +"ts-mixer@npm:^6.0.2": version: 6.0.2 resolution: "ts-mixer@npm:6.0.2" checksum: cbe9935886fab201f2265ebde8e7e4147a3147ba6b6b4701ed5b92fd52729cda340f45f80f486131d203ed25c8c896a2a3623b2c33cd14314bd7ba961e97ee2e @@ -4065,19 +4085,19 @@ __metadata: languageName: node linkType: hard -"typedoc@npm:^0.23.23": - version: 0.23.23 - resolution: "typedoc@npm:0.23.23" +"typedoc@npm:^0.23.24": + version: 0.23.24 + resolution: "typedoc@npm:0.23.24" dependencies: lunr: ^2.3.9 - marked: ^4.2.4 - minimatch: ^5.1.1 - shiki: ^0.11.1 + marked: ^4.2.5 + minimatch: ^5.1.2 + shiki: ^0.12.1 peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x bin: typedoc: bin/typedoc - checksum: 2b64f9c9dc1992ec1bbcc688f6cfc8161481872c485ba9226d1797f572469d02f7798ebe96e3626587a6952af685fa1f4aaa0d9a6137fe9fb3d37f677cb41161 + checksum: b04f9afcba9a38d35631b08ca345f52700f9138f59b9729d7bfecf127c2a75dd6a053594db68f3141e4d7e63b701ffa5421cbdeb95f86b254257e05e240f4da0 languageName: node linkType: hard @@ -4108,6 +4128,15 @@ __metadata: languageName: node linkType: hard +"undici@npm:^5.13.0": + version: 5.14.0 + resolution: "undici@npm:5.14.0" + dependencies: + busboy: ^1.6.0 + checksum: 7a076e44d84b25844b4eb657034437b8b9bb91f17d347de474fdea1d4263ce7ae9406db79cd30de5642519277b4893f43073258bcc8fed420b295da3fdd11b26 + languageName: node + linkType: hard + "unique-filename@npm:^2.0.0": version: 2.0.1 resolution: "unique-filename@npm:2.0.1" @@ -4249,24 +4278,17 @@ __metadata: languageName: node linkType: hard -"vscode-oniguruma@npm:^1.6.1": +"vscode-oniguruma@npm:^1.7.0": version: 1.7.0 resolution: "vscode-oniguruma@npm:1.7.0" checksum: 53519d91d90593e6fb080260892e87d447e9b200c4964d766772b5053f5699066539d92100f77f1302c91e8fc5d9c772fbe40fe4c90f3d411a96d5a9b1e63f42 languageName: node linkType: hard -"vscode-textmate@npm:^6.0.0": - version: 6.0.0 - resolution: "vscode-textmate@npm:6.0.0" - checksum: ff6f17a406c2906586afc14ef01cb122e33acd35312e815abb5c924347a777c6783ce3fe7db8b83f1760ebf843c669843b9390f905b69c433b3395af28e4b483 - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c +"vscode-textmate@npm:^8.0.0": + version: 8.0.0 + resolution: "vscode-textmate@npm:8.0.0" + checksum: 127780dfea89559d70b8326df6ec344cfd701312dd7f3f591a718693812b7852c30b6715e3cfc8b3200a4e2515b4c96f0843c0eacc0a3020969b5de262c2a4bb languageName: node linkType: hard @@ -4277,16 +4299,6 @@ __metadata: languageName: node linkType: hard -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: ~0.0.3 - webidl-conversions: ^3.0.0 - checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c - languageName: node - linkType: hard - "whatwg-url@npm:^7.0.0": version: 7.1.0 resolution: "whatwg-url@npm:7.1.0" @@ -4354,18 +4366,18 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.9.0": - version: 8.11.0 - resolution: "ws@npm:8.11.0" +"ws@npm:^8.11.0": + version: 8.12.0 + resolution: "ws@npm:8.12.0" peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 + utf-8-validate: ">=5.0.2" peerDependenciesMeta: bufferutil: optional: true utf-8-validate: optional: true - checksum: 316b33aba32f317cd217df66dbfc5b281a2f09ff36815de222bc859e3424d83766d9eb2bd4d667de658b6ab7be151f258318fb1da812416b30be13103e5b5c67 + checksum: 818ff3f8749c172a95a114cceb8b89cedd27e43a82d65c7ad0f7882b1e96a2ee6709e3746a903c3fa88beec0c8bae9a9fcd75f20858b32a166dfb7519316a5d7 languageName: node linkType: hard