From 834dbd68d17b0d02aed791505a5a2861d28cff4d Mon Sep 17 00:00:00 2001 From: ludeeus Date: Fri, 22 Dec 2023 10:31:29 +0000 Subject: [PATCH] Bump @discord-nestjs/* packages --- package.json | 4 +- .../bots/src/discord/commands/common/info.ts | 18 +---- .../src/discord/commands/common/message.ts | 24 +++--- .../bots/src/discord/commands/common/ping.ts | 18 +---- .../src/discord/commands/common/pinned.ts | 18 +---- .../bots/src/discord/commands/common/topic.ts | 17 ++--- .../src/discord/commands/esphome/component.ts | 24 +++--- .../commands/home-assistant/integration.ts | 26 +++---- .../src/discord/commands/home-assistant/my.ts | 22 ++---- .../commands/home-assistant/versions.ts | 19 +---- services/bots/src/discord/discord.const.ts | 2 - .../bots/src/discord/discord.decorator.ts | 42 +++++++++-- yarn.lock | 75 ++++++++++++------- 13 files changed, 149 insertions(+), 160 deletions(-) diff --git a/package.json b/package.json index 4bd6bec..221e26e 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ }, "dependencies": { "@dev-thought/nestjs-github-webhooks": "^1.0.0", - "@discord-nestjs/common": "^4.0.7", - "@discord-nestjs/core": "^4.3.0", + "@discord-nestjs/common": "^5.2.10", + "@discord-nestjs/core": "^5.3.12", "@nestjs/common": "^8.4.4", "@nestjs/config": "^2.0.0", "@nestjs/core": "^8.4.4", diff --git a/services/bots/src/discord/commands/common/info.ts b/services/bots/src/discord/commands/common/info.ts index f2c8ceb..e7a0025 100644 --- a/services/bots/src/discord/commands/common/info.ts +++ b/services/bots/src/discord/commands/common/info.ts @@ -1,12 +1,6 @@ -import { TransformPipe } from '@discord-nestjs/common'; -import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; +import { InteractionEvent } from '@discord-nestjs/core'; import { getVersionInfo } from '@lib/common'; -import { BlankDto } from '../../discord.const'; +import { ChatInputCommandInteraction } from 'discord.js'; import { CommandHandler, DiscordCommandClass } from '../../discord.decorator'; const version = getVersionInfo(__dirname); @@ -15,13 +9,9 @@ const version = getVersionInfo(__dirname); name: 'info', description: 'Returns bot information', }) -@UsePipes(TransformPipe) -export class CommandCommonInfo implements DiscordTransformedCommand { +export class CommandCommonInfo { @CommandHandler() - async handler( - @Payload() handlerDto: BlankDto, - { interaction }: TransformedCommandExecutionContext, - ): Promise { + async handler(@InteractionEvent() interaction: ChatInputCommandInteraction): Promise { await interaction.reply({ embeds: [ { diff --git a/services/bots/src/discord/commands/common/message.ts b/services/bots/src/discord/commands/common/message.ts index 04cbc54..5b89e85 100644 --- a/services/bots/src/discord/commands/common/message.ts +++ b/services/bots/src/discord/commands/common/message.ts @@ -1,12 +1,12 @@ -import { TransformPipe } from '@discord-nestjs/common'; +import { SlashCommandPipe } from '@discord-nestjs/common'; +import { InteractionEvent, Param } from '@discord-nestjs/core'; import { - DiscordTransformedCommand, - Param, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; -import { AutocompleteInteraction, EmbedBuilder, Events, InteractionType } from 'discord.js'; + AutocompleteInteraction, + ChatInputCommandInteraction, + EmbedBuilder, + Events, + InteractionType, +} from 'discord.js'; import { OptionalUserMentionDto } from '../../discord.const'; import { CommandHandler, DiscordCommandClass, OnDiscordEvent } from '../../discord.decorator'; import { ServiceCommonMessageData } from '../../services/common/message-data'; @@ -25,17 +25,15 @@ class MessageDto extends OptionalUserMentionDto { name: 'message', description: 'Returns a predefined message', }) -@UsePipes(TransformPipe) -export class CommandCommonMessage implements DiscordTransformedCommand { +export class CommandCommonMessage { constructor(private serviceCommonMessageData: ServiceCommonMessageData) {} @CommandHandler() async handler( - @Payload() handlerDto: MessageDto, - context: TransformedCommandExecutionContext, + @InteractionEvent(SlashCommandPipe) handlerDto: MessageDto, + @InteractionEvent() interaction: ChatInputCommandInteraction, ): Promise { const { messageKey, userMention } = handlerDto; - const { interaction } = context; if (messageKey === 'reload') { await this.serviceCommonMessageData.ensureData(interaction.guildId, true); diff --git a/services/bots/src/discord/commands/common/ping.ts b/services/bots/src/discord/commands/common/ping.ts index d07b42d..46bb108 100644 --- a/services/bots/src/discord/commands/common/ping.ts +++ b/services/bots/src/discord/commands/common/ping.ts @@ -1,24 +1,14 @@ -import { TransformPipe } from '@discord-nestjs/common'; -import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; -import { BlankDto } from '../../discord.const'; +import { InteractionEvent } from '@discord-nestjs/core'; +import { ChatInputCommandInteraction } from 'discord.js'; import { CommandHandler, DiscordCommandClass } from '../../discord.decorator'; @DiscordCommandClass({ name: 'ping', description: 'Returns pong', }) -@UsePipes(TransformPipe) -export class CommandCommonPing implements DiscordTransformedCommand { +export class CommandCommonPing { @CommandHandler() - async handler( - @Payload() handlerDto: BlankDto, - { interaction }: TransformedCommandExecutionContext, - ): Promise { + async handler(@InteractionEvent() interaction: ChatInputCommandInteraction): Promise { await interaction.reply('pong'); } } diff --git a/services/bots/src/discord/commands/common/pinned.ts b/services/bots/src/discord/commands/common/pinned.ts index 778988c..9876a2b 100644 --- a/services/bots/src/discord/commands/common/pinned.ts +++ b/services/bots/src/discord/commands/common/pinned.ts @@ -1,24 +1,14 @@ -import { TransformPipe } from '@discord-nestjs/common'; -import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; +import { InteractionEvent } from '@discord-nestjs/core'; +import { ChatInputCommandInteraction } from 'discord.js'; import { CommandHandler, DiscordCommandClass } from '../../discord.decorator'; -import { BlankDto } from '../../discord.const'; @DiscordCommandClass({ name: 'pinned', description: 'Returns pinned messages', }) -@UsePipes(TransformPipe) -export class CommandCommonPinned implements DiscordTransformedCommand { +export class CommandCommonPinned { @CommandHandler() - async handler( - @Payload() handlerDto: BlankDto, - { interaction }: TransformedCommandExecutionContext, - ): Promise { + async handler(@InteractionEvent() interaction: ChatInputCommandInteraction): Promise { const pinned = await interaction.channel.messages.fetchPinned(); if (pinned.size === 0) { diff --git a/services/bots/src/discord/commands/common/topic.ts b/services/bots/src/discord/commands/common/topic.ts index 21ca1a5..ce5da11 100644 --- a/services/bots/src/discord/commands/common/topic.ts +++ b/services/bots/src/discord/commands/common/topic.ts @@ -1,10 +1,6 @@ -import { TransformPipe } from '@discord-nestjs/common'; -import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; +import { SlashCommandPipe } from '@discord-nestjs/common'; +import { InteractionEvent } from '@discord-nestjs/core'; +import { ChatInputCommandInteraction } from 'discord.js'; import { OptionalUserMentionDto } from '../../discord.const'; import { CommandHandler, DiscordCommandClass } from '../../discord.decorator'; @@ -12,12 +8,11 @@ import { CommandHandler, DiscordCommandClass } from '../../discord.decorator'; name: 'topic', description: 'Returns the topic of the current channel', }) -@UsePipes(TransformPipe) -export class CommandCommonTopic implements DiscordTransformedCommand { +export class CommandCommonTopic { @CommandHandler() async handler( - @Payload() handlerDto: OptionalUserMentionDto, - { interaction }: TransformedCommandExecutionContext, + @InteractionEvent(SlashCommandPipe) handlerDto: OptionalUserMentionDto, + @InteractionEvent() interaction: ChatInputCommandInteraction, ): Promise { // @ts-ignore not all channel types have topic const topic = interaction.channel.topic; diff --git a/services/bots/src/discord/commands/esphome/component.ts b/services/bots/src/discord/commands/esphome/component.ts index d93816b..8f981d8 100644 --- a/services/bots/src/discord/commands/esphome/component.ts +++ b/services/bots/src/discord/commands/esphome/component.ts @@ -1,13 +1,13 @@ -import { TransformPipe } from '@discord-nestjs/common'; +import { SlashCommandPipe } from '@discord-nestjs/common'; +import { InteractionEvent, Param } from '@discord-nestjs/core'; import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - Param, - UsePipes, -} from '@discord-nestjs/core'; + AutocompleteInteraction, + ChatInputCommandInteraction, + EmbedBuilder, + Events, + InteractionType, +} from 'discord.js'; import { CommandHandler, DiscordCommandClass, OnDiscordEvent } from '../../discord.decorator'; -import { AutocompleteInteraction, EmbedBuilder, Events, InteractionType } from 'discord.js'; import { ServiceEsphomeComponentData, sourceWithFallback, @@ -27,17 +27,15 @@ class ComponentsDto { name: 'component', description: 'Returns information about an component', }) -@UsePipes(TransformPipe) -export class CommandEsphomeComponent implements DiscordTransformedCommand { +export class CommandEsphomeComponent { constructor(private serviceEsphomeComponentData: ServiceEsphomeComponentData) {} @CommandHandler() async handler( - @Payload() handlerDto: ComponentsDto, - context: TransformedCommandExecutionContext, + @InteractionEvent(SlashCommandPipe) handlerDto: ComponentsDto, + @InteractionEvent() interaction: ChatInputCommandInteraction, ): Promise { const { component } = handlerDto; - const { interaction } = context; const channel = interaction.channel.id; if (component === 'reload') { diff --git a/services/bots/src/discord/commands/home-assistant/integration.ts b/services/bots/src/discord/commands/home-assistant/integration.ts index bfd8d6d..9f09f2f 100644 --- a/services/bots/src/discord/commands/home-assistant/integration.ts +++ b/services/bots/src/discord/commands/home-assistant/integration.ts @@ -1,14 +1,14 @@ -import { TransformPipe } from '@discord-nestjs/common'; +import { SlashCommandPipe } from '@discord-nestjs/common'; +import { InteractionEvent, Param } from '@discord-nestjs/core'; import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - Param, - UsePipes, -} from '@discord-nestjs/core'; -import { CommandHandler, DiscordCommandClass, OnDiscordEvent } from '../../discord.decorator'; -import { AutocompleteInteraction, EmbedBuilder, Events, InteractionType } from 'discord.js'; + AutocompleteInteraction, + ChatInputCommandInteraction, + EmbedBuilder, + Events, + InteractionType, +} from 'discord.js'; import { Emoji } from '../../discord.const'; +import { CommandHandler, DiscordCommandClass, OnDiscordEvent } from '../../discord.decorator'; import { ServiceHomeassistantIntegrationData } from '../../services/home-assistant/integration-data'; const BETA_CHANNEL_ID = '427516175237382144'; @@ -35,17 +35,15 @@ class IntegrationDto { name: 'integration', description: 'Returns information about an integration', }) -@UsePipes(TransformPipe) -export class CommandHomeassistantIntegration implements DiscordTransformedCommand { +export class CommandHomeassistantIntegration { constructor(private serviceHomeassistantIntegrationData: ServiceHomeassistantIntegrationData) {} @CommandHandler() async handler( - @Payload() handlerDto: IntegrationDto, - context: TransformedCommandExecutionContext, + @InteractionEvent(SlashCommandPipe) handlerDto: IntegrationDto, + @InteractionEvent() interaction: ChatInputCommandInteraction, ): Promise { const { domain } = handlerDto; - const { interaction } = context; const channel = interaction.channelId === BETA_CHANNEL_ID ? 'beta' : 'stable'; if (domain === 'reload') { diff --git a/services/bots/src/discord/commands/home-assistant/my.ts b/services/bots/src/discord/commands/home-assistant/my.ts index 3b150c5..b08ef3b 100644 --- a/services/bots/src/discord/commands/home-assistant/my.ts +++ b/services/bots/src/discord/commands/home-assistant/my.ts @@ -1,15 +1,9 @@ -import { TransformPipe } from '@discord-nestjs/common'; -import { - DiscordTransformedCommand, - On, - Param, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; +import { SlashCommandPipe } from '@discord-nestjs/common'; +import { InteractionEvent, Param } from '@discord-nestjs/core'; import { ActionRowBuilder, AutocompleteInteraction, + ChatInputCommandInteraction, EmbedBuilder, Events, ModalActionRowComponentBuilder, @@ -18,12 +12,12 @@ import { TextInputBuilder, TextInputStyle, } from 'discord.js'; +import { CommandHandler, DiscordCommandClass, OnDiscordEvent } from '../../discord.decorator'; import { IntegrationData, ServiceHomeassistantIntegrationData, } from '../../services/home-assistant/integration-data'; import { ServiceHomeassistantMyRedirectData } from '../../services/home-assistant/my-redirect-data'; -import { CommandHandler, DiscordCommandClass, OnDiscordEvent } from '../../discord.decorator'; class MyDto { @Param({ @@ -39,8 +33,7 @@ class MyDto { name: 'my', description: 'Returns a my link', }) -@UsePipes(TransformPipe) -export class CommandHomeAssistantMy implements DiscordTransformedCommand { +export class CommandHomeAssistantMy { constructor( private serviceHomeassistantIntegrationData: ServiceHomeassistantIntegrationData, private serviceHomeassistantMyRedirectData: ServiceHomeassistantMyRedirectData, @@ -48,11 +41,10 @@ export class CommandHomeAssistantMy implements DiscordTransformedCommand @CommandHandler() async handler( - @Payload() handlerDto: MyDto, - context: TransformedCommandExecutionContext, + @InteractionEvent(SlashCommandPipe) handlerDto: MyDto, + @InteractionEvent() interaction: ChatInputCommandInteraction, ): Promise { const { redirect } = handlerDto; - const { interaction } = context; if (redirect === 'reload') { await this.serviceHomeassistantMyRedirectData.ensureData(true); diff --git a/services/bots/src/discord/commands/home-assistant/versions.ts b/services/bots/src/discord/commands/home-assistant/versions.ts index 15e4b3c..c4067da 100644 --- a/services/bots/src/discord/commands/home-assistant/versions.ts +++ b/services/bots/src/discord/commands/home-assistant/versions.ts @@ -1,25 +1,14 @@ -import { EmbedBuilder } from 'discord.js'; +import { InteractionEvent } from '@discord-nestjs/core'; +import { ChatInputCommandInteraction, EmbedBuilder } from 'discord.js'; import { CommandHandler, DiscordCommandClass } from '../../discord.decorator'; -import { - DiscordTransformedCommand, - Payload, - TransformedCommandExecutionContext, - UsePipes, -} from '@discord-nestjs/core'; -import { TransformPipe } from '@discord-nestjs/common'; -import { BlankDto } from '../../discord.const'; @DiscordCommandClass({ name: 'versions', description: 'Returns version information', }) -@UsePipes(TransformPipe) -export class CommandHomeAssistantVersions implements DiscordTransformedCommand { +export class CommandHomeAssistantVersions { @CommandHandler() - async handler( - @Payload() handlerDto: BlankDto, - { interaction }: TransformedCommandExecutionContext, - ): Promise { + async handler(@InteractionEvent() interaction: ChatInputCommandInteraction): Promise { const [betaResponse, stableResponse] = await Promise.all([ fetch('https://version.home-assistant.io/beta.json'), fetch('https://version.home-assistant.io/stable.json'), diff --git a/services/bots/src/discord/discord.const.ts b/services/bots/src/discord/discord.const.ts index 649da62..2261d3a 100644 --- a/services/bots/src/discord/discord.const.ts +++ b/services/bots/src/discord/discord.const.ts @@ -1,8 +1,6 @@ import { Transform } from 'class-transformer'; import { Param, ParamType } from '@discord-nestjs/core'; -export class BlankDto {} - export class OptionalUserMentionDto { @Transform(({ value }) => (value ? `<@${value}>` : undefined)) @Param({ diff --git a/services/bots/src/discord/discord.decorator.ts b/services/bots/src/discord/discord.decorator.ts index f2957dc..628e03c 100644 --- a/services/bots/src/discord/discord.decorator.ts +++ b/services/bots/src/discord/discord.decorator.ts @@ -1,24 +1,44 @@ -import { - CommandOptions, - COMMAND_DECORATOR, - TransformedCommandExecutionContext, -} from '@discord-nestjs/core'; +import { ChatInputCommandOptions, COMMAND_DECORATOR } from '@discord-nestjs/core'; +import { HANDLER_DECORATOR } from '@discord-nestjs/core/dist/decorators/command/handler/handler.constant'; -import { reportException } from '../../../../libs/sentry/src/reporting'; import { + ApplicationCommandType, AutocompleteInteraction, + ChatInputCommandInteraction, Events, InteractionType, Message, PermissionFlagsBits, } from 'discord.js'; +import { reportException } from '../../../../libs/sentry/src/reporting'; interface CommandHandlerDecoratorOptions { allowChannels?: string[]; } -export function DiscordCommandClass(options: CommandOptions): ClassDecorator { +const getInteraction = (params: any[]): ChatInputCommandInteraction | undefined => { + // There are several ways the interaction object are attached, this loops over them all untill it's found + for (const param of params) { + if (param instanceof ChatInputCommandInteraction) { + return param; + } + if (param instanceof Array) { + const _check = getInteraction(param); + if (_check) { + return _check; + } + } + } +}; + +export function DiscordCommandClass(options: ChatInputCommandOptions): ClassDecorator { return (target: TFunction): TFunction | void => { + if (!options.type) { + options.type = ApplicationCommandType.ChatInput; + } + if (options.type === ApplicationCommandType.ChatInput && !options.include) { + options.include = []; + } Reflect.defineMetadata( COMMAND_DECORATOR, { @@ -39,8 +59,14 @@ export const CommandHandler = (options?: CommandHandlerDecoratorOptions): Method descriptor: PropertyDescriptor, ): PropertyDescriptor => { const originalMethod = descriptor.value; + Reflect.defineMetadata(HANDLER_DECORATOR, {}, target, propertyKey); descriptor.value = async function (...params: any[]) { - const { interaction }: TransformedCommandExecutionContext = params[params.length - 1]; + const interaction = getInteraction(params); + if (!interaction) { + // This should only happen on dev, so we log it out + console.error('Missing interaction, check the method arguments on the command class'); + return; + } if ( options?.allowChannels?.length && diff --git a/yarn.lock b/yarn.lock index ed0eb95..6cb735c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -643,36 +643,36 @@ __metadata: languageName: node linkType: hard -"@discord-nestjs/common@npm:^4.0.7": - version: 4.0.7 - resolution: "@discord-nestjs/common@npm:4.0.7" +"@discord-nestjs/common@npm:^5.2.10": + version: 5.2.10 + resolution: "@discord-nestjs/common@npm:5.2.10" dependencies: - "@nestjs/mapped-types": 1.1.0 + "@nestjs/mapped-types": 2.0.3 class-transformer: 0.5.1 - class-validator: 0.13.2 + class-validator: 0.14.0 peerDependencies: "@discord-nestjs/core": "*" - "@nestjs/common": 8.* || 9.* - "@nestjs/core": 8.* || 9.* + "@nestjs/common": 9.* || 10.* + "@nestjs/core": 9.* || 10.* discord.js: 14.* reflect-metadata: ^0.1.13 rxjs: ^7.* - checksum: 4fee4075fb885c58d0e7fa3d9a34c69b4f006859aea003ce11bf8f8be054e42588ff10804d69bf26362df47cfccdf1b00b9320bc0f772703e56bd4db850f616d + checksum: ab3016dcffdd439d1ef6348158fd359ba9806b9484326fdbea0cb2f206b8606d175cad413d82a5cba8d4291d2a93ccd0ab6c71fb34d24921c05e4f1b72d4dc77 languageName: node linkType: hard -"@discord-nestjs/core@npm:^4.3.0": - version: 4.3.0 - resolution: "@discord-nestjs/core@npm:4.3.0" +"@discord-nestjs/core@npm:^5.3.12": + version: 5.3.12 + resolution: "@discord-nestjs/core@npm:5.3.12" dependencies: class-transformer: 0.5.1 peerDependencies: - "@nestjs/common": 8.* || 9.* - "@nestjs/core": 8.* || 9.* + "@nestjs/common": 9.* || 10.* + "@nestjs/core": 9.* || 10.* discord.js: 14.* reflect-metadata: ^0.1.13 rxjs: ^7.* - checksum: e4489a128791aaa93dbd45a7d9692af94cdd340d7700545dedd3600c155f92650993a7b2b3119bc4cc41831ee4e0e432c576565bae8ee014cb9a99ad9c472004 + checksum: d40847f45df69b070d0c6e84083d707034bb5bd5c066170f3cefadb339be46e7fca6b993c1fa6683e238e77f016abfd7bd0698c2abf676ee2c14bfd5f309d5d5 languageName: node linkType: hard @@ -1406,6 +1406,23 @@ __metadata: languageName: node linkType: hard +"@nestjs/mapped-types@npm:2.0.3": + version: 2.0.3 + resolution: "@nestjs/mapped-types@npm:2.0.3" + peerDependencies: + "@nestjs/common": ^8.0.0 || ^9.0.0 || ^10.0.0 + class-transformer: ^0.4.0 || ^0.5.0 + class-validator: ^0.13.0 || ^0.14.0 + reflect-metadata: ^0.1.12 + peerDependenciesMeta: + class-transformer: + optional: true + class-validator: + optional: true + checksum: 4f9ab9fc753cb2ef4a0f929b5ad93b737bfcbe5a2847e684ff095ed7ea4b4c00d0a980d68249edb2b25874abf4d931274f6dc5ad93b2bd65456f3880938b7cf2 + languageName: node + linkType: hard + "@nestjs/passport@npm:^8.2.1": version: 8.2.2 resolution: "@nestjs/passport@npm:8.2.2" @@ -2373,6 +2390,13 @@ __metadata: languageName: node linkType: hard +"@types/validator@npm:^13.7.10": + version: 13.11.7 + resolution: "@types/validator@npm:13.11.7" + checksum: 975ad31728f3e32278f090545b879453d5d2b26dd159c6b632efb79e748711bca15e6339b93e85c33b48208b1aee262d3043246118aa3c67a74fb0f89700b1d5 + languageName: node + linkType: hard + "@types/ws@npm:^8.5.3": version: 8.5.3 resolution: "@types/ws@npm:8.5.3" @@ -3636,13 +3660,14 @@ __metadata: languageName: node linkType: hard -"class-validator@npm:0.13.2": - version: 0.13.2 - resolution: "class-validator@npm:0.13.2" +"class-validator@npm:0.14.0": + version: 0.14.0 + resolution: "class-validator@npm:0.14.0" dependencies: - libphonenumber-js: ^1.9.43 + "@types/validator": ^13.7.10 + libphonenumber-js: ^1.10.14 validator: ^13.7.0 - checksum: 0deb4c29faa18345f6989fd7eaaaa07b05caae5298603fcd6485531c6daad503e5d2b24cc1342e4fc88ae5ba0acffdc24d0fc333110ef3f21a667cd8a79e1258 + checksum: f62e4a0ad24cee68f4b2bc70d32b96de90cb598f96bde362b4dbf4234151af8eb6ae225458312a38fc49fa3959844cf61c60e731a8205e9a570454cff8de2710 languageName: node linkType: hard @@ -6524,10 +6549,10 @@ __metadata: languageName: node linkType: hard -"libphonenumber-js@npm:^1.9.43": - version: 1.10.13 - resolution: "libphonenumber-js@npm:1.10.13" - checksum: a1740bbed8faa1adb4ae01dda6a7c16b4fd2917efdd9bafac53fa06d9e4b53dc67543d282f7fd0043649edddc0f03359448a17adb837e534358c7ba92c7dc268 +"libphonenumber-js@npm:^1.10.14": + version: 1.10.52 + resolution: "libphonenumber-js@npm:1.10.52" + checksum: 4e3fddbdbb17694e86a02ef662e8ab030f14f56a494fd2c928089483bfc663d990dda7dcdab98467e42510a8d92bad890cc1d31b9651f452f8b9e8cb8b0800f9 languageName: node linkType: hard @@ -8184,8 +8209,8 @@ __metadata: resolution: "service-hub@workspace:." dependencies: "@dev-thought/nestjs-github-webhooks": ^1.0.0 - "@discord-nestjs/common": ^4.0.7 - "@discord-nestjs/core": ^4.3.0 + "@discord-nestjs/common": ^5.2.10 + "@discord-nestjs/core": ^5.3.12 "@nestjs/cli": ^8.2.5 "@nestjs/common": ^8.4.4 "@nestjs/config": ^2.0.0