From ac46c1ba36fa73d88c4153387e8c8ea8225e7112 Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Thu, 2 Mar 2023 21:31:44 +0100 Subject: [PATCH 01/11] feat: use SMTP instead of 3rd party service --- #.env | 6 ++++++ config.development.json | 7 +++---- config.production.json | 7 +++---- package.json | 2 +- src/config.ts | 11 +++++++---- src/datadrop.ts | 17 ++++++----------- src/models/Configuration.ts | 5 +++-- src/models/index.ts | 3 +++ src/services/SMTPService.ts | 25 +++++++++++++++++++++++++ src/services/index.ts | 4 ++++ 10 files changed, 61 insertions(+), 26 deletions(-) create mode 100644 src/models/index.ts create mode 100644 src/services/SMTPService.ts create mode 100644 src/services/index.ts diff --git a/#.env b/#.env index 6a07b1e..872f716 100644 --- a/#.env +++ b/#.env @@ -1,3 +1,9 @@ NODE_ENV=development POSTGRES_DB= POSTGRES_USER= +POSTGRES_PASSWORD= +DATABASE_PORT=5432 +DATABASE_HOST=localhost +NODE_ENV=development +SMTP_USER= +SMTP_PASS= diff --git a/config.development.json b/config.development.json index ca091ad..363168f 100644 --- a/config.development.json +++ b/config.development.json @@ -144,9 +144,8 @@ "emote": "📢" }, "communicationServiceOptions": { - "mailData": { - "from": "fctienoreplydiscord@henallux.be", - "templateId": "9131196" - } + "from": "noreply-discord@henallux.be", + "port": 587, + "host": "smtp.office365.com" } } diff --git a/config.production.json b/config.production.json index c8ddd34..83bd7aa 100644 --- a/config.production.json +++ b/config.production.json @@ -156,9 +156,8 @@ "emote": "📢" }, "communicationServiceOptions": { - "mailData": { - "from": "fctienoreplydiscord@henallux.be", - "templateId": "9131196" - } + "from": "noreply-discord@henallux.be", + "port": 587, + "host": "smtp.office365.com" } } diff --git a/package.json b/package.json index 0fa5961..622fe36 100644 --- a/package.json +++ b/package.json @@ -28,10 +28,10 @@ "@hunteroi/discord-selfrole": "^4.0.5", "@hunteroi/discord-temp-channels": "^3.3.1", "@hunteroi/discord-verification": "^1.5.2", - "smtp2go-nodejs": "^0.3.5", "discord-sync-commands": "^0.5.2", "discord.js": "^14.22.1", "ts-postgres": "1.3.0" + "nodemailer": "^6.9.1", }, "devDependencies": { "@biomejs/biome": "^2.2.4", diff --git a/src/config.ts b/src/config.ts index 677376e..073a893 100644 --- a/src/config.ts +++ b/src/config.ts @@ -29,9 +29,11 @@ const defaultConfig: Configuration = { tutor: { roleid: "", emote: "" }, announce: { roleid: "", emote: "", channelid: "" }, communicationServiceOptions: { - apiKey: "", - mailData: { from: "", templateId: "" }, - }, + auth: { user: '', pass: '' }, + from: '', + port: 587, + host: '' + } }; export async function readConfig(): Promise { @@ -51,7 +53,8 @@ export async function readConfig(): Promise { ...json, version: `${environment}-v${packageInfo.version}`, }; - config.communicationServiceOptions.apiKey = process.env.MAILING_API_KEY; + config.communicationServiceOptions.auth.user = process.env.SMTP_USER; + config.communicationServiceOptions.auth.pass = process.env.SMTP_PASS; return config; } catch (err: unknown) { diff --git a/src/datadrop.ts b/src/datadrop.ts index 9b0d4a8..9d818aa 100644 --- a/src/datadrop.ts +++ b/src/datadrop.ts @@ -19,6 +19,7 @@ import { VerificationManager, VerificationManagerEvents, } from "@hunteroi/discord-verification"; +import * as path from 'path'; import { SMTP2GoService } from "@hunteroi/discord-verification/lib/services/SMTP2GoService.js"; import { type ButtonInteraction, @@ -35,14 +36,10 @@ import { type VoiceChannel, } from "discord.js"; -import { readConfig } from "./config.js"; -import { getErrorMessage, readFilesFrom } from "./helpers.js"; -import type { Command } from "./models/Command.js"; -import type { Configuration } from "./models/Configuration.js"; -import type { Event } from "./models/Event.js"; -import type { IDatabaseService } from "./models/IDatabaseService.js"; -import type { User } from "./models/User.js"; -import PostgresDatabaseService from "./services/PostgresDatabaseService.js"; +import { PostgresDatabaseService, SMTPService } from './services/index.js'; +import { getErrorMessage, readFilesFrom } from './helpers.js'; +import { Configuration, User, IDatabaseService } from './models/index.js'; +import { readConfig } from './config.js'; export class DatadropClient extends Client { #config: Configuration; @@ -74,9 +71,7 @@ export class DatadropClient extends Client { this.tempChannelsManager = new TempChannelsManager(this); this.database = new PostgresDatabaseService(this.logger); - const communicationService = new SMTP2GoService( - config.communicationServiceOptions, - ); + const communicationService = new SMTPService(config.communicationServiceOptions); this.verificationManager = new VerificationManager( this, this.database, diff --git a/src/models/Configuration.ts b/src/models/Configuration.ts index 0171538..ca9fc42 100644 --- a/src/models/Configuration.ts +++ b/src/models/Configuration.ts @@ -1,6 +1,7 @@ -import type { SMTP2GoOptions } from "@hunteroi/discord-verification/lib/services/SMTP2GoService.js"; import type { Snowflake } from "discord.js"; +import { SMTPServiceOptions } from '../services/SMTPService.js'; + export interface SpecialRoleConfiguration { roleid: Snowflake; emote: string; @@ -58,5 +59,5 @@ export interface Configuration { announce: AnnounceConfiguration; - communicationServiceOptions: SMTP2GoOptions; + communicationServiceOptions: SMTPServiceOptions; } diff --git a/src/models/index.ts b/src/models/index.ts new file mode 100644 index 0000000..0329ba4 --- /dev/null +++ b/src/models/index.ts @@ -0,0 +1,3 @@ +export * from './Configuration'; +export * from './IDatabaseService'; +export * from './User'; diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts new file mode 100644 index 0000000..93009b0 --- /dev/null +++ b/src/services/SMTPService.ts @@ -0,0 +1,25 @@ +import { createTransport } from 'nodemailer'; +import SMTPTransport from 'nodemailer/lib/smtp-transport'; +import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; + +export type SMTPServiceOptions = SMTPTransport.Options; + +export default class SMTPService implements ISenderAPI { + #options: SMTPServiceOptions; + + constructor(options: SMTPServiceOptions) { + this.#options = options; + } + + async send({ name, code, ...data }: SenderAPIData): Promise { + const transporter = createTransport(this.#options); + await transporter.verify(); + await transporter.sendMail({ + from: this.#options.from, + to: data.to, + subject: 'Discord Authentication Code', + text: `Hello ${name}! Your code is ${code}. See you soon o/`, + html: `

Hello ${name}!

Your code is ${code}.

See you soon o/

` + }); + } +} diff --git a/src/services/index.ts b/src/services/index.ts new file mode 100644 index 0000000..0f19454 --- /dev/null +++ b/src/services/index.ts @@ -0,0 +1,4 @@ +import PostgresDatabaseService from './PostgresDatabaseService'; +import SMTPService from './SMTPService'; + +export { PostgresDatabaseService, SMTPService }; From 12829f6602896b4318863ef8e975855aced695fa Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Sat, 11 Mar 2023 13:19:47 +0100 Subject: [PATCH 02/11] fix: log errors from Discord websocket --- src/events/error.ts | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/events/error.ts diff --git a/src/events/error.ts b/src/events/error.ts new file mode 100644 index 0000000..cff785f --- /dev/null +++ b/src/events/error.ts @@ -0,0 +1,5 @@ +import { DatadropClient } from '../datadrop'; + +module.exports = async (client: DatadropClient, error: Error) => { + client.logger.error(`${error.name}: ${error.message}\n${error.cause}\n${error.stack}`); +}; From c951c7fd5557cdbe5b148e6578cd72d3c9dddee8 Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Sat, 11 Mar 2023 13:20:09 +0100 Subject: [PATCH 03/11] fix: migrations runned at container mount --- src/services/PostgresDatabaseService.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index 9064b8b..805fde3 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -208,7 +208,7 @@ export default class PostgresDatabaseService implements IDatabaseService { async #runMigrations(): Promise { await this.#runMigration("User soft delete", async () => { await this.#database.query( - "ALTER TABLE Users ADD IF NOT EXISTS isDeleted timestamp;", + "ALTER TABLE Users ADD COLUMN IF NOT EXISTS isDeleted timestamp;", ); }); } @@ -218,12 +218,9 @@ export default class PostgresDatabaseService implements IDatabaseService { "SELECT * FROM Migrations WHERE name = $1", [name], ); - const migration = [...result].pop(); - if (!migration) { - await this.#database.query( - "INSERT INTO Migrations (name) VALUES($1);", - [name], - ); + this.#logger.verbose(`Running migration "${name}" with pre-query returning ${JSON.stringify(result)}`); + if (result && result.rows.length === 0) { + await this.#database.query('INSERT INTO Migrations (name) VALUES($1);', [name]); await callback(); } } From 5caba20356dae630736be9143bab884f3ca386ab Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Sat, 11 Mar 2023 13:21:08 +0100 Subject: [PATCH 04/11] fix: fix config for SMTP & adapt mail content --- config.development.json | 7 ++++++- config.production.json | 5 ++++- src/config.ts | 6 ++++-- src/services/SMTPService.ts | 8 ++++---- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/config.development.json b/config.development.json index 363168f..a713267 100644 --- a/config.development.json +++ b/config.development.json @@ -146,6 +146,11 @@ "communicationServiceOptions": { "from": "noreply-discord@henallux.be", "port": 587, - "host": "smtp.office365.com" + "host": "smtp.office365.com", + "tls": { + "rejectUnauthorized": false + }, + "debug": true, + "logger": true } } diff --git a/config.production.json b/config.production.json index 83bd7aa..74662fd 100644 --- a/config.production.json +++ b/config.production.json @@ -158,6 +158,9 @@ "communicationServiceOptions": { "from": "noreply-discord@henallux.be", "port": 587, - "host": "smtp.office365.com" + "host": "smtp.office365.com", + "tls": { + "rejectUnauthorized": false + } } } diff --git a/src/config.ts b/src/config.ts index 073a893..26066dd 100644 --- a/src/config.ts +++ b/src/config.ts @@ -53,8 +53,10 @@ export async function readConfig(): Promise { ...json, version: `${environment}-v${packageInfo.version}`, }; - config.communicationServiceOptions.auth.user = process.env.SMTP_USER; - config.communicationServiceOptions.auth.pass = process.env.SMTP_PASS; + config.communicationServiceOptions.auth = { + user: process.env.SMTP_USER, + pass: process.env.SMTP_PASS + }; return config; } catch (err: unknown) { diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts index 93009b0..47f8f3a 100644 --- a/src/services/SMTPService.ts +++ b/src/services/SMTPService.ts @@ -1,6 +1,6 @@ +import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; import { createTransport } from 'nodemailer'; import SMTPTransport from 'nodemailer/lib/smtp-transport'; -import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; export type SMTPServiceOptions = SMTPTransport.Options; @@ -17,9 +17,9 @@ export default class SMTPService implements ISenderAPI { await transporter.sendMail({ from: this.#options.from, to: data.to, - subject: 'Discord Authentication Code', - text: `Hello ${name}! Your code is ${code}. See you soon o/`, - html: `

Hello ${name}!

Your code is ${code}.

See you soon o/

` + subject: "Code d'Authentification Discord", + text: `Hello ${name}! Ton code est ${code}. A plus tard o/`, + html: `

Hello ${name}!

Ton code est ${code}.

A plus tard o/

` }); } } From ae9033c5e28c093d7f2b37b7330aa6228cd2d888 Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Fri, 20 Sep 2024 20:06:53 +0200 Subject: [PATCH 05/11] fix: clean up and check runtime --- package.json | 2 +- src/datadrop.ts | 4 +- src/events/error.ts | 6 +- src/models/index.ts | 8 +- src/services/PostgresDatabaseService.ts | 5 +- src/services/SMTPService.ts | 3 +- src/services/index.ts | 4 +- yarn.lock | 344 ++++++++++++++++++++++++ 8 files changed, 361 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 622fe36..b72a2ec 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "@hunteroi/discord-verification": "^1.5.2", "discord-sync-commands": "^0.5.2", "discord.js": "^14.22.1", - "ts-postgres": "1.3.0" "nodemailer": "^6.9.1", + "ts-postgres": "1.3.0" }, "devDependencies": { "@biomejs/biome": "^2.2.4", diff --git a/src/datadrop.ts b/src/datadrop.ts index 9d818aa..ea73485 100644 --- a/src/datadrop.ts +++ b/src/datadrop.ts @@ -19,8 +19,6 @@ import { VerificationManager, VerificationManagerEvents, } from "@hunteroi/discord-verification"; -import * as path from 'path'; -import { SMTP2GoService } from "@hunteroi/discord-verification/lib/services/SMTP2GoService.js"; import { type ButtonInteraction, Client, @@ -38,7 +36,7 @@ import { import { PostgresDatabaseService, SMTPService } from './services/index.js'; import { getErrorMessage, readFilesFrom } from './helpers.js'; -import { Configuration, User, IDatabaseService } from './models/index.js'; +import { Configuration, IDatabaseService, User } from './models/index.js'; import { readConfig } from './config.js'; export class DatadropClient extends Client { diff --git a/src/events/error.ts b/src/events/error.ts index cff785f..a81d0e8 100644 --- a/src/events/error.ts +++ b/src/events/error.ts @@ -1,5 +1,5 @@ -import { DatadropClient } from '../datadrop'; +import { DatadropClient } from '../datadrop.js'; -module.exports = async (client: DatadropClient, error: Error) => { +export default async function error(client: DatadropClient, error: Error) { client.logger.error(`${error.name}: ${error.message}\n${error.cause}\n${error.stack}`); -}; +} diff --git a/src/models/index.ts b/src/models/index.ts index 0329ba4..18ba038 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1,3 +1,5 @@ -export * from './Configuration'; -export * from './IDatabaseService'; -export * from './User'; +import { Configuration } from './Configuration.js'; +import { IDatabaseService } from './IDatabaseService.js'; +import { User } from './User.js'; + +export { Configuration, IDatabaseService, User }; diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index 805fde3..2420331 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -7,9 +7,10 @@ import { type Value, } from "ts-postgres"; +import type { ConsoleLogger } from "@hunteroi/advanced-logger"; + +import { User, IDatabaseService } from '../models/index.js'; import { getErrorMessage } from "../helpers.js"; -import type { IDatabaseService } from "../models/IDatabaseService.js"; -import type { User } from "../models/User.js"; export default class PostgresDatabaseService implements IDatabaseService { readonly #logger: ConsoleLogger; diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts index 47f8f3a..94145fa 100644 --- a/src/services/SMTPService.ts +++ b/src/services/SMTPService.ts @@ -1,7 +1,8 @@ -import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; import { createTransport } from 'nodemailer'; import SMTPTransport from 'nodemailer/lib/smtp-transport'; +import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; + export type SMTPServiceOptions = SMTPTransport.Options; export default class SMTPService implements ISenderAPI { diff --git a/src/services/index.ts b/src/services/index.ts index 0f19454..eb24101 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -1,4 +1,4 @@ -import PostgresDatabaseService from './PostgresDatabaseService'; -import SMTPService from './SMTPService'; +import PostgresDatabaseService from './PostgresDatabaseService.js'; +import SMTPService from './SMTPService.js'; export { PostgresDatabaseService, SMTPService }; diff --git a/yarn.lock b/yarn.lock index 9172917..240ef04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -503,6 +503,20 @@ dependencies: undici-types "~7.12.0" +"@types/ws@^7.4.7": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + +"@types/nodemailer@^6.4.7": + version "6.4.16" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.16.tgz#db006abcb1e1c8e6ea2fb53b27fefec3c03eaa6c" + integrity sha512-uz6hN6Pp0upXMcilM61CoKyjT7sskBoOWpptkjjJp8jIMlTdc3xG01U7proKkXzruMS4hS0zqtHNkNPFB20rKQ== + dependencies: + "@types/node" "*" + "@types/ws@^8.5.10": version "8.5.12" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" @@ -544,6 +558,48 @@ babel-plugin-polyfill-corejs2@^0.4.14: "@babel/compat-data" "^7.27.7" "@babel/helper-define-polyfill-provider" "^0.6.5" semver "^6.3.1" +callsites@^3.1.0: +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== babel-plugin-polyfill-corejs3@^0.13.0: version "0.13.0" @@ -653,6 +709,43 @@ discord-api-types@^0.38.1, discord-api-types@^0.38.16: version "0.38.26" resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.38.26.tgz#d30f6bf0a4725b0a5ea46e0a12cef0b8880bbc9a" integrity sha512-xpmPviHjIJ6dFu1eNwNDIGQ3N6qmPUUYFVAx/YZ64h7ZgPkTcKjnciD8bZe8Vbeji7yS5uYljyciunpq0J5NSw== +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +discord-api-types@0.37.83: + version "0.37.83" + resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.83.tgz#a22a799729ceded8176ea747157837ddf4708b1f" + integrity sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA== discord-sync-commands@^0.5.2: version "0.5.2" @@ -814,6 +907,105 @@ form-data@^4.0.4: hasown "^2.0.2" mime-types "^2.1.12" +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + 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@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -992,6 +1184,33 @@ mime-types@^3.0.1: dependencies: mime-db "^1.54.0" +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -1006,6 +1225,31 @@ ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +node-fetch@^2.6.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +nodemailer@^6.9.1: + version "6.9.15" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.15.tgz#57b79dc522be27e0e47ac16cc860aa0673e62e04" + integrity sha512-AHf04ySLC6CIfuRtRiEYtGEXgRfa6INgWGluDhnxTZhHSKvrBu7lc1VVchQ0d8nPc4cFaZoPq8vkyNoZr0TpGQ== + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + whatwg-url "^5.0.0" node-releases@^2.0.21: version "2.0.21" @@ -1056,6 +1300,106 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +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" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + 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-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +semver@^7.6.0: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + resolve-pkg-maps@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" From 4de0c3b44c3a754c8cb5d89c3a2dd3b6bc277972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=C3=ABl=20Devresse?= <9126633-hunteroi@users.noreply.gitlab.com> Date: Wed, 30 Oct 2024 12:44:35 +0100 Subject: [PATCH 06/11] style: flatten after rebase --- src/commands/others/link.ts | 2 +- src/commands/owner/eval.ts | 2 +- src/commands/owner/reload.ts | 2 +- src/commands/owner/restart.ts | 2 +- src/commands/utility/email.ts | 2 +- src/commands/utility/ping.ts | 2 +- src/datadrop.ts | 2 +- src/events/clientReady.ts | 3 +- src/events/error.ts | 2 +- src/events/guildMemberAdd.ts | 4 +- src/events/guildMemberRemove.ts | 3 +- src/events/interactionCreate.ts | 4 +- src/helpers.ts | 1 + src/models/Configuration.ts | 2 +- src/models/Event.ts | 1 + src/models/index.ts | 6 +- src/services/PostgresDatabaseService.ts | 5 +- src/services/SMTPService.ts | 4 +- yarn.lock | 153 +++++++++--------------- 19 files changed, 81 insertions(+), 121 deletions(-) diff --git a/src/commands/others/link.ts b/src/commands/others/link.ts index 0818439..30eac77 100644 --- a/src/commands/others/link.ts +++ b/src/commands/others/link.ts @@ -8,7 +8,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../../datadrop.js"; -import type { Command } from "../../models/Command.js"; +import type { Command } from "../../models/index.js"; export default { data: new SlashCommandBuilder() diff --git a/src/commands/owner/eval.ts b/src/commands/owner/eval.ts index fdb7ecf..fe692dc 100644 --- a/src/commands/owner/eval.ts +++ b/src/commands/owner/eval.ts @@ -8,7 +8,7 @@ import type { DatadropClient } from "../../datadrop.js"; import { clean } from "../../helpers.js"; -import type { Command } from "../../models/Command.js"; +import type { Command } from "../../models/index.js"; export default { data: new SlashCommandBuilder() diff --git a/src/commands/owner/reload.ts b/src/commands/owner/reload.ts index 84db3c5..57c61e9 100644 --- a/src/commands/owner/reload.ts +++ b/src/commands/owner/reload.ts @@ -6,7 +6,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../../datadrop.js"; -import type { Command } from "../../models/Command.js"; +import type { Command } from "../../models/index.js"; export default { data: new SlashCommandBuilder() diff --git a/src/commands/owner/restart.ts b/src/commands/owner/restart.ts index ceec82e..aa3a832 100644 --- a/src/commands/owner/restart.ts +++ b/src/commands/owner/restart.ts @@ -6,7 +6,7 @@ } from "discord.js"; import type { DatadropClient } from "../../datadrop.js"; -import type { Command } from "../../models/Command.js"; +import type { Command } from "../../models/index.js"; export default { data: new SlashCommandBuilder() diff --git a/src/commands/utility/email.ts b/src/commands/utility/email.ts index 20046b4..a65a045 100644 --- a/src/commands/utility/email.ts +++ b/src/commands/utility/email.ts @@ -5,7 +5,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../../datadrop.js"; -import type { Command } from "../../models/Command.js"; +import type { Command } from "../../models/index.js"; const people = [ { diff --git a/src/commands/utility/ping.ts b/src/commands/utility/ping.ts index 2ec41f7..c493719 100644 --- a/src/commands/utility/ping.ts +++ b/src/commands/utility/ping.ts @@ -4,7 +4,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../../datadrop.js"; -import type { Command } from "../../models/Command.js"; +import type { Command } from "../../models/index.js"; export default { data: new SlashCommandBuilder().setName("ping").setDescription("Pong!"), diff --git a/src/datadrop.ts b/src/datadrop.ts index ea73485..7bf4877 100644 --- a/src/datadrop.ts +++ b/src/datadrop.ts @@ -36,7 +36,7 @@ import { import { PostgresDatabaseService, SMTPService } from './services/index.js'; import { getErrorMessage, readFilesFrom } from './helpers.js'; -import { Configuration, IDatabaseService, User } from './models/index.js'; +import type { Command, Event, Configuration, IDatabaseService, User } from './models/index.js'; import { readConfig } from './config.js'; export class DatadropClient extends Client { diff --git a/src/events/clientReady.ts b/src/events/clientReady.ts index fd031f9..c6baee8 100644 --- a/src/events/clientReady.ts +++ b/src/events/clientReady.ts @@ -2,8 +2,7 @@ import type { RoleToEmojiData } from "@hunteroi/discord-selfrole"; import { ButtonStyle, bold, Events, Role, roleMention } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; -import type { Configuration } from "../models/Configuration.js"; -import type { Event } from "../models/Event.js"; +import type { Event, Configuration } from "../models/index.js"; export default { name: Events.ClientReady, diff --git a/src/events/error.ts b/src/events/error.ts index a81d0e8..0a8b7d2 100644 --- a/src/events/error.ts +++ b/src/events/error.ts @@ -1,4 +1,4 @@ -import { DatadropClient } from '../datadrop.js'; +import type { DatadropClient } from '../datadrop.js'; export default async function error(client: DatadropClient, error: Error) { client.logger.error(`${error.name}: ${error.message}\n${error.cause}\n${error.stack}`); diff --git a/src/events/guildMemberAdd.ts b/src/events/guildMemberAdd.ts index 1234fd0..dfac635 100644 --- a/src/events/guildMemberAdd.ts +++ b/src/events/guildMemberAdd.ts @@ -8,9 +8,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; -import { getErrorMessage } from "../helpers.js"; -import type { AnnounceConfiguration } from "../models/Configuration.js"; -import type { Event } from "../models/Event.js"; +import type { Event, AnnounceConfiguration } from "../models/index.js"; export default { name: Events.GuildMemberAdd, diff --git a/src/events/guildMemberRemove.ts b/src/events/guildMemberRemove.ts index 1b28e9a..986e390 100644 --- a/src/events/guildMemberRemove.ts +++ b/src/events/guildMemberRemove.ts @@ -1,8 +1,7 @@ import { Events, type GuildMember } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; -import { getErrorMessage } from "../helpers.js"; -import type { Event } from "../models/Event.js"; +import type { Event } from "../models/index.js"; export default { name: Events.GuildMemberRemove, diff --git a/src/events/interactionCreate.ts b/src/events/interactionCreate.ts index 36714ed..85e56a8 100644 --- a/src/events/interactionCreate.ts +++ b/src/events/interactionCreate.ts @@ -20,7 +20,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; -import type { Event } from "../models/Event.js"; +import type { Event } from "../models/index.js"; import { CommandHandler } from "../services/CommandHandler.js"; export default { @@ -228,7 +228,7 @@ async function showVerificationButton( .setCustomId(`lacb${interaction.user.id}`) .setDisabled( content.includes(client.errorMessage) || - content.includes(client.activeAccountMessage), + content.includes(client.activeAccountMessage), ); const buttonComponent = new ActionRowBuilder().addComponents( linkAccountButton, diff --git a/src/helpers.ts b/src/helpers.ts index 08d8461..d452efc 100644 --- a/src/helpers.ts +++ b/src/helpers.ts @@ -1,5 +1,6 @@ import * as fsp from "node:fs/promises"; import * as path from "node:path"; + import { ConsoleLogger, type DefaultLogger } from "@hunteroi/advanced-logger"; const console = new ConsoleLogger(); diff --git a/src/models/Configuration.ts b/src/models/Configuration.ts index ca9fc42..b34536a 100644 --- a/src/models/Configuration.ts +++ b/src/models/Configuration.ts @@ -1,6 +1,6 @@ import type { Snowflake } from "discord.js"; -import { SMTPServiceOptions } from '../services/SMTPService.js'; +import type { SMTPServiceOptions } from '../services/SMTPService.js'; export interface SpecialRoleConfiguration { roleid: Snowflake; diff --git a/src/models/Event.ts b/src/models/Event.ts index a9511a8..a23d49a 100644 --- a/src/models/Event.ts +++ b/src/models/Event.ts @@ -1,4 +1,5 @@ import type { ClientEvents } from "discord.js"; + import type { DatadropClient } from "../datadrop.js"; export interface Event { diff --git a/src/models/index.ts b/src/models/index.ts index 18ba038..908a213 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1,5 +1,7 @@ -import { Configuration } from './Configuration.js'; +import { Command } from './Command.js'; +import { SpecialRoleConfiguration, GroupConfiguration, YearConfiguration, AnnounceConfiguration, Configuration } from './Configuration.js'; +import { Event } from './Event.js'; import { IDatabaseService } from './IDatabaseService.js'; import { User } from './User.js'; -export { Configuration, IDatabaseService, User }; +export { Command, SpecialRoleConfiguration, GroupConfiguration, YearConfiguration, AnnounceConfiguration, Configuration, Event, IDatabaseService, User }; diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index 2420331..e8f1017 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -9,8 +9,7 @@ import { import type { ConsoleLogger } from "@hunteroi/advanced-logger"; -import { User, IDatabaseService } from '../models/index.js'; -import { getErrorMessage } from "../helpers.js"; +import type { User, IDatabaseService } from '../models/index.js'; export default class PostgresDatabaseService implements IDatabaseService { readonly #logger: ConsoleLogger; @@ -106,7 +105,7 @@ export default class PostgresDatabaseService implements IDatabaseService { */ public async readBy( argument: // biome-ignore lint/suspicious/noExplicitAny: DB values can be of any type - Map | ((user: User, index: string | number) => boolean), + Map | ((user: User, index: string | number) => boolean), ): Promise { if (!(argument instanceof Map)) throw new Error("Method not implemented."); diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts index 94145fa..aa01c4e 100644 --- a/src/services/SMTPService.ts +++ b/src/services/SMTPService.ts @@ -1,7 +1,7 @@ import { createTransport } from 'nodemailer'; -import SMTPTransport from 'nodemailer/lib/smtp-transport'; +import type SMTPTransport from 'nodemailer/lib/smtp-transport'; -import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; +import type { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; export type SMTPServiceOptions = SMTPTransport.Options; diff --git a/yarn.lock b/yarn.lock index 240ef04..69a08b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -489,13 +489,22 @@ resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.3.tgz#0c102aa2ec5b34f806e9bc8625fc6a5e1d0a0c6a" integrity sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ== +"@sindresorhus/is@^4.0.1": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + "@types/node@*": - version "22.5.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" - integrity sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA== + version "22.8.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.4.tgz#ab754f7ac52e1fe74174f761c5b03acaf06da0dc" + integrity sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw== dependencies: - undici-types "~6.19.2" + undici-types "~6.19.8" +"@types/node@^20.12.7": + version "20.17.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.3.tgz#1ad87177c53fa2b237e79a4929fd37932f779f0c" + integrity sha512-tSQrmKKatLDGnG92h40GD7FzUt0MjahaHwOME4VAFeeA/Xopayq5qLyQRy7Jg/pjgKIFBXuKcGhJo+UdYG55jQ== "@types/node@^24.5.2": version "24.5.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-24.5.2.tgz#52ceb83f50fe0fcfdfbd2a9fab6db2e9e7ef6446" @@ -503,13 +512,6 @@ dependencies: undici-types "~7.12.0" -"@types/ws@^7.4.7": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - "@types/nodemailer@^6.4.7": version "6.4.16" resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.16.tgz#db006abcb1e1c8e6ea2fb53b27fefec3c03eaa6c" @@ -517,6 +519,13 @@ dependencies: "@types/node" "*" +"@types/ws@^7.4.7": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + "@types/ws@^8.5.10": version "8.5.12" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" @@ -559,44 +568,6 @@ babel-plugin-polyfill-corejs2@^0.4.14: "@babel/helper-define-polyfill-provider" "^0.6.5" semver "^6.3.1" callsites@^3.1.0: -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== @@ -705,6 +676,10 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +discord-api-types@0.37.100: + version "0.37.100" + resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.100.tgz#5979892d39511bc7f1dbb9660d2d2cad698b3de7" + integrity sha512-a8zvUI0GYYwDtScfRd/TtaNBDTXwP5DiDVX7K5OmE+DRT57gBqKnwtOC5Ol8z0mRW8KQfETIgiB8U0YZ9NXiCA== discord-api-types@^0.38.1, discord-api-types@^0.38.16: version "0.38.26" resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.38.26.tgz#d30f6bf0a4725b0a5ea46e0a12cef0b8880bbc9a" @@ -714,34 +689,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - discord-api-types@0.37.83: version "0.37.83" resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.83.tgz#a22a799729ceded8176ea747157837ddf4708b1f" @@ -754,6 +701,10 @@ discord-sync-commands@^0.5.2: dependencies: discord.js "^14.20.0" +discord.js@^14.16.2: + version "14.16.3" + resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.16.3.tgz#9553366953c992469f47a55af2a11c2054a9babe" + integrity sha512-EPCWE9OkA9DnFFNrO7Kl1WHHDYFXu3CNVFJg63bfU7hVtjZGyhShwZtSBImINQRWxWP2tgo2XI+QhdXx28r0aA== discord.js@^14.20.0, discord.js@^14.22.1: version "14.22.1" resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.22.1.tgz#aa364cf0108b41bac3eaa9fa1aae836d0882a91c" @@ -766,6 +717,7 @@ discord.js@^14.20.0, discord.js@^14.22.1: "@discordjs/util" "^1.1.1" "@discordjs/ws" "^1.2.3" "@sapphire/snowflake" "3.5.3" + discord-api-types "0.37.100" discord-api-types "^0.38.16" fast-deep-equal "3.1.3" lodash.snakecase "4.1.1" @@ -1229,25 +1181,6 @@ node-fetch@^2.6.1: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -nodemailer@^6.9.1: - version "6.9.15" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.15.tgz#57b79dc522be27e0e47ac16cc860aa0673e62e04" - integrity sha512-AHf04ySLC6CIfuRtRiEYtGEXgRfa6INgWGluDhnxTZhHSKvrBu7lc1VVchQ0d8nPc4cFaZoPq8vkyNoZr0TpGQ== - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: whatwg-url "^5.0.0" @@ -1275,6 +1208,23 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +nodemailer@^6.9.1: + version "6.9.16" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.16.tgz#3ebdf6c6f477c571c0facb0727b33892635e0b8b" + integrity sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ== + +ow@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/ow/-/ow-0.27.0.tgz#d44da088e8184fa11de64b5813206f9f86ab68d0" + integrity sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ== + dependencies: + "@sindresorhus/is" "^4.0.1" + callsites "^3.1.0" + dot-prop "^6.0.1" + lodash.isequal "^4.5.0" + type-fest "^1.2.1" + vali-date "^1.0.0" + path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -1480,6 +1430,11 @@ ts-typed-events@^3.0.0: resolved "https://registry.yarnpkg.com/ts-typed-events/-/ts-typed-events-3.0.0.tgz#2f9d96ff962edfc936402c859370337373880faa" integrity sha512-+2FZ0XPX+UPR7PO8ZQjuvnuDMYRhzrDaCRaNHaBG1xSL//0oPa3XMU5yxgDTzW67VzkE33fQpx1YxWBdkaF7Zw== +tslib@^2.3.0, tslib@^2.6.2, tslib@^2.6.3: + version "2.8.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" + integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + tslib@^2.6.2, tslib@^2.6.3: version "2.7.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" @@ -1500,6 +1455,12 @@ typescript@^5.9.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A== +typescript@^5.4.4: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + +undici-types@~6.19.2, undici-types@~6.19.8: undici-types@~6.19.2: version "6.19.8" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" From 295113907631db879eb8e6175761318ea88a7cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=C3=ABl=20Devresse?= <9126633-hunteroi@users.noreply.gitlab.com> Date: Wed, 30 Oct 2024 12:45:36 +0100 Subject: [PATCH 07/11] style: lint after rebase --- src/config.ts | 10 ++++----- src/datadrop.ts | 18 +++++++++++----- src/events/clientReady.ts | 2 +- src/events/error.ts | 6 ++++-- src/events/guildMemberAdd.ts | 2 +- src/events/interactionCreate.ts | 2 +- src/models/Configuration.ts | 2 +- src/models/index.ts | 28 +++++++++++++++++++------ src/services/PostgresDatabaseService.ts | 13 ++++++++---- src/services/SMTPService.ts | 8 +++---- src/services/index.ts | 4 ++-- 11 files changed, 63 insertions(+), 32 deletions(-) diff --git a/src/config.ts b/src/config.ts index 26066dd..0bce769 100644 --- a/src/config.ts +++ b/src/config.ts @@ -29,11 +29,11 @@ const defaultConfig: Configuration = { tutor: { roleid: "", emote: "" }, announce: { roleid: "", emote: "", channelid: "" }, communicationServiceOptions: { - auth: { user: '', pass: '' }, - from: '', + auth: { user: "", pass: "" }, + from: "", port: 587, - host: '' - } + host: "", + }, }; export async function readConfig(): Promise { @@ -55,7 +55,7 @@ export async function readConfig(): Promise { }; config.communicationServiceOptions.auth = { user: process.env.SMTP_USER, - pass: process.env.SMTP_PASS + pass: process.env.SMTP_PASS, }; return config; diff --git a/src/datadrop.ts b/src/datadrop.ts index 7bf4877..26da22d 100644 --- a/src/datadrop.ts +++ b/src/datadrop.ts @@ -34,10 +34,16 @@ import { type VoiceChannel, } from "discord.js"; -import { PostgresDatabaseService, SMTPService } from './services/index.js'; -import { getErrorMessage, readFilesFrom } from './helpers.js'; -import type { Command, Event, Configuration, IDatabaseService, User } from './models/index.js'; -import { readConfig } from './config.js'; +import { readConfig } from "./config.js"; +import { getErrorMessage, readFilesFrom } from "./helpers.js"; +import type { + Command, + Configuration, + Event, + IDatabaseService, + User, +} from "./models/index.js"; +import { PostgresDatabaseService, SMTPService } from "./services/index.js"; export class DatadropClient extends Client { #config: Configuration; @@ -69,7 +75,9 @@ export class DatadropClient extends Client { this.tempChannelsManager = new TempChannelsManager(this); this.database = new PostgresDatabaseService(this.logger); - const communicationService = new SMTPService(config.communicationServiceOptions); + const communicationService = new SMTPService( + config.communicationServiceOptions, + ); this.verificationManager = new VerificationManager( this, this.database, diff --git a/src/events/clientReady.ts b/src/events/clientReady.ts index c6baee8..82e8f44 100644 --- a/src/events/clientReady.ts +++ b/src/events/clientReady.ts @@ -2,7 +2,7 @@ import type { RoleToEmojiData } from "@hunteroi/discord-selfrole"; import { ButtonStyle, bold, Events, Role, roleMention } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; -import type { Event, Configuration } from "../models/index.js"; +import type { Configuration, Event } from "../models/index.js"; export default { name: Events.ClientReady, diff --git a/src/events/error.ts b/src/events/error.ts index 0a8b7d2..31bb220 100644 --- a/src/events/error.ts +++ b/src/events/error.ts @@ -1,5 +1,7 @@ -import type { DatadropClient } from '../datadrop.js'; +import type { DatadropClient } from "../datadrop.js"; export default async function error(client: DatadropClient, error: Error) { - client.logger.error(`${error.name}: ${error.message}\n${error.cause}\n${error.stack}`); + client.logger.error( + `${error.name}: ${error.message}\n${error.cause}\n${error.stack}`, + ); } diff --git a/src/events/guildMemberAdd.ts b/src/events/guildMemberAdd.ts index dfac635..85085b8 100644 --- a/src/events/guildMemberAdd.ts +++ b/src/events/guildMemberAdd.ts @@ -8,7 +8,7 @@ import { } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; -import type { Event, AnnounceConfiguration } from "../models/index.js"; +import type { AnnounceConfiguration, Event } from "../models/index.js"; export default { name: Events.GuildMemberAdd, diff --git a/src/events/interactionCreate.ts b/src/events/interactionCreate.ts index 85e56a8..1c6efee 100644 --- a/src/events/interactionCreate.ts +++ b/src/events/interactionCreate.ts @@ -228,7 +228,7 @@ async function showVerificationButton( .setCustomId(`lacb${interaction.user.id}`) .setDisabled( content.includes(client.errorMessage) || - content.includes(client.activeAccountMessage), + content.includes(client.activeAccountMessage), ); const buttonComponent = new ActionRowBuilder().addComponents( linkAccountButton, diff --git a/src/models/Configuration.ts b/src/models/Configuration.ts index b34536a..7f36040 100644 --- a/src/models/Configuration.ts +++ b/src/models/Configuration.ts @@ -1,6 +1,6 @@ import type { Snowflake } from "discord.js"; -import type { SMTPServiceOptions } from '../services/SMTPService.js'; +import type { SMTPServiceOptions } from "../services/SMTPService.js"; export interface SpecialRoleConfiguration { roleid: Snowflake; diff --git a/src/models/index.ts b/src/models/index.ts index 908a213..9677c71 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1,7 +1,23 @@ -import { Command } from './Command.js'; -import { SpecialRoleConfiguration, GroupConfiguration, YearConfiguration, AnnounceConfiguration, Configuration } from './Configuration.js'; -import { Event } from './Event.js'; -import { IDatabaseService } from './IDatabaseService.js'; -import { User } from './User.js'; +import { Command } from "./Command.js"; +import { + AnnounceConfiguration, + Configuration, + GroupConfiguration, + SpecialRoleConfiguration, + YearConfiguration, +} from "./Configuration.js"; +import { Event } from "./Event.js"; +import { IDatabaseService } from "./IDatabaseService.js"; +import { User } from "./User.js"; -export { Command, SpecialRoleConfiguration, GroupConfiguration, YearConfiguration, AnnounceConfiguration, Configuration, Event, IDatabaseService, User }; +export { + Command, + SpecialRoleConfiguration, + GroupConfiguration, + YearConfiguration, + AnnounceConfiguration, + Configuration, + Event, + IDatabaseService, + User, +}; diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index e8f1017..8e2930d 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -9,7 +9,7 @@ import { import type { ConsoleLogger } from "@hunteroi/advanced-logger"; -import type { User, IDatabaseService } from '../models/index.js'; +import type { IDatabaseService, User } from "../models/index.js"; export default class PostgresDatabaseService implements IDatabaseService { readonly #logger: ConsoleLogger; @@ -105,7 +105,7 @@ export default class PostgresDatabaseService implements IDatabaseService { */ public async readBy( argument: // biome-ignore lint/suspicious/noExplicitAny: DB values can be of any type - Map | ((user: User, index: string | number) => boolean), + Map | ((user: User, index: string | number) => boolean), ): Promise { if (!(argument instanceof Map)) throw new Error("Method not implemented."); @@ -218,9 +218,14 @@ export default class PostgresDatabaseService implements IDatabaseService { "SELECT * FROM Migrations WHERE name = $1", [name], ); - this.#logger.verbose(`Running migration "${name}" with pre-query returning ${JSON.stringify(result)}`); + this.#logger.verbose( + `Running migration "${name}" with pre-query returning ${JSON.stringify(result)}`, + ); if (result && result.rows.length === 0) { - await this.#database.query('INSERT INTO Migrations (name) VALUES($1);', [name]); + await this.#database.query( + "INSERT INTO Migrations (name) VALUES($1);", + [name], + ); await callback(); } } diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts index aa01c4e..03a0177 100644 --- a/src/services/SMTPService.ts +++ b/src/services/SMTPService.ts @@ -1,7 +1,7 @@ -import { createTransport } from 'nodemailer'; -import type SMTPTransport from 'nodemailer/lib/smtp-transport'; +import { createTransport } from "nodemailer"; +import type SMTPTransport from "nodemailer/lib/smtp-transport"; -import type { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; +import type { ISenderAPI, SenderAPIData } from "@hunteroi/discord-verification"; export type SMTPServiceOptions = SMTPTransport.Options; @@ -20,7 +20,7 @@ export default class SMTPService implements ISenderAPI { to: data.to, subject: "Code d'Authentification Discord", text: `Hello ${name}! Ton code est ${code}. A plus tard o/`, - html: `

Hello ${name}!

Ton code est ${code}.

A plus tard o/

` + html: `

Hello ${name}!

Ton code est ${code}.

A plus tard o/

`, }); } } diff --git a/src/services/index.ts b/src/services/index.ts index eb24101..d259ec6 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -1,4 +1,4 @@ -import PostgresDatabaseService from './PostgresDatabaseService.js'; -import SMTPService from './SMTPService.js'; +import PostgresDatabaseService from "./PostgresDatabaseService.js"; +import SMTPService from "./SMTPService.js"; export { PostgresDatabaseService, SMTPService }; From a963cd390d3298c48dbc87c9badee094c1764243 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tina=C3=ABl=20Devresse?= <9126633-hunteroi@users.noreply.gitlab.com> Date: Wed, 30 Oct 2024 12:47:08 +0100 Subject: [PATCH 08/11] chore: increment patch version --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index b72a2ec..1481291 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,8 @@ "devDependencies": { "@biomejs/biome": "^2.2.4", "@types/node": "^24.5.2", - "tsx": "^4.20.5", + "@types/nodemailer": "^6.4.7", + "tsx": "^4.20.5", "typescript": "^5.9.2" } } From 62fc5d338b7e316ad4ff80ab55de659f97e30c9f Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Sun, 8 Jun 2025 15:29:11 +0200 Subject: [PATCH 09/11] fix: getErrorMessage not imported --- src/events/guildMemberAdd.ts | 1 + src/events/guildMemberRemove.ts | 1 + src/services/PostgresDatabaseService.ts | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/events/guildMemberAdd.ts b/src/events/guildMemberAdd.ts index 85085b8..a5029c0 100644 --- a/src/events/guildMemberAdd.ts +++ b/src/events/guildMemberAdd.ts @@ -9,6 +9,7 @@ import { import type { DatadropClient } from "../datadrop.js"; import type { AnnounceConfiguration, Event } from "../models/index.js"; +import { getErrorMessage } from '../helpers.js'; export default { name: Events.GuildMemberAdd, diff --git a/src/events/guildMemberRemove.ts b/src/events/guildMemberRemove.ts index 986e390..73aacb1 100644 --- a/src/events/guildMemberRemove.ts +++ b/src/events/guildMemberRemove.ts @@ -2,6 +2,7 @@ import { Events, type GuildMember } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; import type { Event } from "../models/index.js"; +import { getErrorMessage } from '../helpers.js'; export default { name: Events.GuildMemberRemove, diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index 8e2930d..2fcf8a5 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -10,6 +10,7 @@ import { import type { ConsoleLogger } from "@hunteroi/advanced-logger"; import type { IDatabaseService, User } from "../models/index.js"; +import { getErrorMessage } from '../helpers.js'; export default class PostgresDatabaseService implements IDatabaseService { readonly #logger: ConsoleLogger; @@ -105,7 +106,7 @@ export default class PostgresDatabaseService implements IDatabaseService { */ public async readBy( argument: // biome-ignore lint/suspicious/noExplicitAny: DB values can be of any type - Map | ((user: User, index: string | number) => boolean), + Map | ((user: User, index: string | number) => boolean), ): Promise { if (!(argument instanceof Map)) throw new Error("Method not implemented."); From 4eaa199b0de2206b0e9e594ecf8d011b8751d476 Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Thu, 25 Sep 2025 01:13:32 +0200 Subject: [PATCH 10/11] fix: quality gate issues, linting, nodemailer security issue --- #.env | 6 - #.env.development | 3 +- README.md | 3 +- config.development.json | 9 +- config.production.json | 7 +- package.json | 6 +- src/config.ts | 2 +- src/events/guildMemberAdd.ts | 2 +- src/events/guildMemberRemove.ts | 2 +- src/models/index.ts | 22 +- src/services/PostgresDatabaseService.ts | 6 +- src/services/SMTPService.ts | 12 +- src/services/index.ts | 6 +- yarn.lock | 1790 ++++++++++++----------- 14 files changed, 972 insertions(+), 904 deletions(-) diff --git a/#.env b/#.env index 872f716..6a07b1e 100644 --- a/#.env +++ b/#.env @@ -1,9 +1,3 @@ NODE_ENV=development POSTGRES_DB= POSTGRES_USER= -POSTGRES_PASSWORD= -DATABASE_PORT=5432 -DATABASE_HOST=localhost -NODE_ENV=development -SMTP_USER= -SMTP_PASS= diff --git a/#.env.development b/#.env.development index 636a8c3..42f0430 100644 --- a/#.env.development +++ b/#.env.development @@ -3,4 +3,5 @@ POSTGRES_PASSWORD= DATABASE_PORT=5432 DATABASE_HOST=localhost DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${POSTGRES_DB}?schema=public -MAILING_API_KEY= +SMTP_USER= +SMTP_PASS= diff --git a/README.md b/README.md index e9bc38a..5ee335d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,8 @@ POSTGRES_PASSWORD= DATABASE_PORT=5432 DATABASE_HOST=localhost DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${POSTGRES_DB}?schema=public -MAILING_API_KEY= +SMTP_USER= +SMTP_PASS= ``` An empty copy of this file is available as [#.env.development](./#.env.development). diff --git a/config.development.json b/config.development.json index a713267..2926576 100644 --- a/config.development.json +++ b/config.development.json @@ -144,12 +144,11 @@ "emote": "📢" }, "communicationServiceOptions": { - "from": "noreply-discord@henallux.be", + "from": "tyree.tromp1@ethereal.email", "port": 587, - "host": "smtp.office365.com", - "tls": { - "rejectUnauthorized": false - }, + "host": "smtp.ethereal.email", + "secure": false, + "service": "Ethereal", "debug": true, "logger": true } diff --git a/config.production.json b/config.production.json index 74662fd..eaa8969 100644 --- a/config.production.json +++ b/config.production.json @@ -157,10 +157,9 @@ }, "communicationServiceOptions": { "from": "noreply-discord@henallux.be", - "port": 587, "host": "smtp.office365.com", - "tls": { - "rejectUnauthorized": false - } + "port": 587, + "secure": true, + "service": "Outlook365" } } diff --git a/package.json b/package.json index 1481291..a1e1565 100644 --- a/package.json +++ b/package.json @@ -30,14 +30,14 @@ "@hunteroi/discord-verification": "^1.5.2", "discord-sync-commands": "^0.5.2", "discord.js": "^14.22.1", - "nodemailer": "^6.9.1", + "nodemailer": "^7.0.6", "ts-postgres": "1.3.0" }, "devDependencies": { "@biomejs/biome": "^2.2.4", "@types/node": "^24.5.2", - "@types/nodemailer": "^6.4.7", - "tsx": "^4.20.5", + "@types/nodemailer": "^7.0.1", + "tsx": "^4.20.5", "typescript": "^5.9.2" } } diff --git a/src/config.ts b/src/config.ts index 0bce769..1e4754b 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,5 +1,5 @@ import packageInfo from "../package.json" with { type: "json" }; -import type { Configuration } from "./models/Configuration.js"; +import type { Configuration } from "./models/index.js"; // should be Partial but codebase not ready yet const defaultConfig: Configuration = { diff --git a/src/events/guildMemberAdd.ts b/src/events/guildMemberAdd.ts index a5029c0..5fff629 100644 --- a/src/events/guildMemberAdd.ts +++ b/src/events/guildMemberAdd.ts @@ -8,8 +8,8 @@ import { } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; +import { getErrorMessage } from "../helpers.js"; import type { AnnounceConfiguration, Event } from "../models/index.js"; -import { getErrorMessage } from '../helpers.js'; export default { name: Events.GuildMemberAdd, diff --git a/src/events/guildMemberRemove.ts b/src/events/guildMemberRemove.ts index 73aacb1..3a2fc85 100644 --- a/src/events/guildMemberRemove.ts +++ b/src/events/guildMemberRemove.ts @@ -1,8 +1,8 @@ import { Events, type GuildMember } from "discord.js"; import type { DatadropClient } from "../datadrop.js"; +import { getErrorMessage } from "../helpers.js"; import type { Event } from "../models/index.js"; -import { getErrorMessage } from '../helpers.js'; export default { name: Events.GuildMemberRemove, diff --git a/src/models/index.ts b/src/models/index.ts index 9677c71..2dc47bd 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1,23 +1,11 @@ -import { Command } from "./Command.js"; -import { +export { Command } from "./Command.js"; +export { AnnounceConfiguration, Configuration, GroupConfiguration, SpecialRoleConfiguration, YearConfiguration, } from "./Configuration.js"; -import { Event } from "./Event.js"; -import { IDatabaseService } from "./IDatabaseService.js"; -import { User } from "./User.js"; - -export { - Command, - SpecialRoleConfiguration, - GroupConfiguration, - YearConfiguration, - AnnounceConfiguration, - Configuration, - Event, - IDatabaseService, - User, -}; +export { Event } from "./Event.js"; +export { IDatabaseService } from "./IDatabaseService.js"; +export { User } from "./User.js"; diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index 2fcf8a5..5738dcb 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -7,12 +7,10 @@ import { type Value, } from "ts-postgres"; -import type { ConsoleLogger } from "@hunteroi/advanced-logger"; - +import { getErrorMessage } from "../helpers.js"; import type { IDatabaseService, User } from "../models/index.js"; -import { getErrorMessage } from '../helpers.js'; -export default class PostgresDatabaseService implements IDatabaseService { +export class PostgresDatabaseService implements IDatabaseService { readonly #logger: ConsoleLogger; readonly #database: Client; diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts index 03a0177..f1cafa3 100644 --- a/src/services/SMTPService.ts +++ b/src/services/SMTPService.ts @@ -1,12 +1,11 @@ -import { createTransport } from "nodemailer"; -import type SMTPTransport from "nodemailer/lib/smtp-transport"; - import type { ISenderAPI, SenderAPIData } from "@hunteroi/discord-verification"; +import { createTransport, getTestMessageUrl } from "nodemailer"; +import type SMTPTransport from "nodemailer/lib/smtp-transport/index.js"; export type SMTPServiceOptions = SMTPTransport.Options; -export default class SMTPService implements ISenderAPI { - #options: SMTPServiceOptions; +export class SMTPService implements ISenderAPI { + readonly #options: SMTPServiceOptions; constructor(options: SMTPServiceOptions) { this.#options = options; @@ -15,12 +14,13 @@ export default class SMTPService implements ISenderAPI { async send({ name, code, ...data }: SenderAPIData): Promise { const transporter = createTransport(this.#options); await transporter.verify(); - await transporter.sendMail({ + const result = await transporter.sendMail({ from: this.#options.from, to: data.to, subject: "Code d'Authentification Discord", text: `Hello ${name}! Ton code est ${code}. A plus tard o/`, html: `

Hello ${name}!

Ton code est ${code}.

A plus tard o/

`, }); + console.debug("Preview URL: %s", getTestMessageUrl(result)); } } diff --git a/src/services/index.ts b/src/services/index.ts index d259ec6..3d88b47 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -1,4 +1,2 @@ -import PostgresDatabaseService from "./PostgresDatabaseService.js"; -import SMTPService from "./SMTPService.js"; - -export { PostgresDatabaseService, SMTPService }; +export { PostgresDatabaseService } from "./PostgresDatabaseService.js"; +export { SMTPService } from "./SMTPService.js"; diff --git a/yarn.lock b/yarn.lock index 69a08b4..ff7c5ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,139 +2,467 @@ # yarn lockfile v1 -"@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.4.tgz#96fdf1af1b8859c8474ab39c295312bfb7c24b04" - integrity sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw== - -"@babel/generator@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" - integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw== - dependencies: - "@babel/parser" "^7.28.3" - "@babel/types" "^7.28.2" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.6.5": - version "0.6.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753" - integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg== - dependencies: - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-plugin-utils" "^7.27.1" - debug "^4.4.1" - lodash.debounce "^4.0.8" - resolve "^1.22.10" - -"@babel/helper-globals@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" - integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== - -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-plugin-utils@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" - integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg== - dependencies: - "@babel/types" "^7.28.4" - -"@babel/plugin-transform-runtime@^7.26.10": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz#f5990a1b2d2bde950ed493915e0719841c8d0eaa" - integrity sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - babel-plugin-polyfill-corejs2 "^0.4.14" - babel-plugin-polyfill-corejs3 "^0.13.0" - babel-plugin-polyfill-regenerator "^0.6.5" - semver "^6.3.1" - -"@babel/runtime@^7.27.0": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326" - integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ== - -"@babel/template@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.27.1": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" - integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.3" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.4" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" - debug "^4.3.1" - -"@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" - integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" +"@aws-crypto/sha256-browser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" + integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== + dependencies: + "@aws-crypto/sha256-js" "^5.2.0" + "@aws-crypto/supports-web-crypto" "^5.2.0" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" + integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== + dependencies: + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" + +"@aws-crypto/supports-web-crypto@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb" + integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg== + dependencies: + tslib "^2.6.2" + +"@aws-crypto/util@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da" + integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-sesv2@^3.839.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.896.0.tgz#d7b4b88d74f69a008130a145942261710593da85" + integrity sha512-KqWoxNmSKw4KYDrB3IH6AIfX855Dlorya1PcRqODa16xUp8aqoYACuBq+cjSuy5F6j9YDGSZgc20JDmWQRkN8Q== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.896.0" + "@aws-sdk/credential-provider-node" "3.896.0" + "@aws-sdk/middleware-host-header" "3.893.0" + "@aws-sdk/middleware-logger" "3.893.0" + "@aws-sdk/middleware-recursion-detection" "3.893.0" + "@aws-sdk/middleware-user-agent" "3.896.0" + "@aws-sdk/region-config-resolver" "3.893.0" + "@aws-sdk/signature-v4-multi-region" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@aws-sdk/util-user-agent-browser" "3.893.0" + "@aws-sdk/util-user-agent-node" "3.896.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.12.0" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/hash-node" "^4.1.1" + "@smithy/invalid-dependency" "^4.1.1" + "@smithy/middleware-content-length" "^4.1.1" + "@smithy/middleware-endpoint" "^4.2.4" + "@smithy/middleware-retry" "^4.3.0" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-body-length-node" "^4.1.0" + "@smithy/util-defaults-mode-browser" "^4.1.4" + "@smithy/util-defaults-mode-node" "^4.1.4" + "@smithy/util-endpoints" "^3.1.2" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/client-sso@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.896.0.tgz#a93eb9043e28156345676c5e35035365f67897d9" + integrity sha512-mpE3mrNili1dcvEvxaYjyoib8HlRXkb2bY5a3WeK++KObFY+HUujKtgQmiNSRX5YwQszm//fTrmGMmv9zpMcKg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.896.0" + "@aws-sdk/middleware-host-header" "3.893.0" + "@aws-sdk/middleware-logger" "3.893.0" + "@aws-sdk/middleware-recursion-detection" "3.893.0" + "@aws-sdk/middleware-user-agent" "3.896.0" + "@aws-sdk/region-config-resolver" "3.893.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@aws-sdk/util-user-agent-browser" "3.893.0" + "@aws-sdk/util-user-agent-node" "3.896.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.12.0" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/hash-node" "^4.1.1" + "@smithy/invalid-dependency" "^4.1.1" + "@smithy/middleware-content-length" "^4.1.1" + "@smithy/middleware-endpoint" "^4.2.4" + "@smithy/middleware-retry" "^4.3.0" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-body-length-node" "^4.1.0" + "@smithy/util-defaults-mode-browser" "^4.1.4" + "@smithy/util-defaults-mode-node" "^4.1.4" + "@smithy/util-endpoints" "^3.1.2" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/core@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.896.0.tgz#883360ca8035e0844372370501c62409c0c8ce12" + integrity sha512-uJaoyWKeGNyCyeI+cIJrD7LEB4iF/W8/x2ij7zg32OFpAAJx96N34/e+XSKp/xkJpO5FKiBOskKLnHeUsJsAPA== + dependencies: + "@aws-sdk/types" "3.893.0" + "@aws-sdk/xml-builder" "3.894.0" + "@smithy/core" "^3.12.0" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/signature-v4" "^5.2.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-env@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.896.0.tgz#f385c8395fee16abdda5f73c391dee78dd326157" + integrity sha512-Cnqhupdkp825ICySrz4QTI64Nq3AmUAscPW8dueanni0avYBDp7RBppX4H0+6icqN569B983XNfQ0YSImQhfhg== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-http@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.896.0.tgz#4715b4205c42c4adf0b6efb3e228639f1e038802" + integrity sha512-CN0fTCKCUA1OTSx1c76o8XyJCy2WoI/av3J8r8mL6GmxTerhLRyzDy/MwxzPjTYPoL+GLEg6V4a9fRkWj1hBUA== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/property-provider" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/util-stream" "^4.3.2" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-ini@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.896.0.tgz#8e4eaa85ad10ce5988381ee19f6bf96d14cbcab0" + integrity sha512-+rbYG98czzwZLTYHJasK+VBjnIeXk73mRpZXHvaa4kDNxBezdN2YsoGNpLlPSxPdbpq18LY3LRtkdFTaT6DIQA== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/credential-provider-env" "3.896.0" + "@aws-sdk/credential-provider-http" "3.896.0" + "@aws-sdk/credential-provider-process" "3.896.0" + "@aws-sdk/credential-provider-sso" "3.896.0" + "@aws-sdk/credential-provider-web-identity" "3.896.0" + "@aws-sdk/nested-clients" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.896.0.tgz#6b25a92b18d051d04b88d31ed36ff5025cfe7c10" + integrity sha512-J0Jm+56MNngk1PIyqoJFf5FC2fjA4CYXlqODqNRDtid7yk7HB9W3UTtvxofmii5KJOLcHGNPdGnHWKkUc+xYgw== + dependencies: + "@aws-sdk/credential-provider-env" "3.896.0" + "@aws-sdk/credential-provider-http" "3.896.0" + "@aws-sdk/credential-provider-ini" "3.896.0" + "@aws-sdk/credential-provider-process" "3.896.0" + "@aws-sdk/credential-provider-sso" "3.896.0" + "@aws-sdk/credential-provider-web-identity" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.896.0.tgz#008a1e09f7d276336bead54a9b7572ab2a7b8b3e" + integrity sha512-UfWVMQPZy7dus40c4LWxh5vQ+I51z0q4vf09Eqas5848e9DrGRG46GYIuc/gy+4CqEypjbg/XNMjnZfGLHxVnQ== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-sso@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.896.0.tgz#78609a50ed292675b691fef11f87281f4d844ad4" + integrity sha512-77Te8WrVdLABKlv7QyetXP6aYEX1UORiahLA1PXQb/p66aFBw18Xc6JiN/6zJ4RqdyV1Xr9rwYBwGYua93ANIA== + dependencies: + "@aws-sdk/client-sso" "3.896.0" + "@aws-sdk/core" "3.896.0" + "@aws-sdk/token-providers" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-web-identity@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.896.0.tgz#b80271e417bd2f26f349bec5a718301a16af9772" + integrity sha512-gwMwZWumo+V0xJplO8j2HIb1TfPsF9fbcRGXS0CanEvjg4fF2Xs1pOQl2oCw3biPZpxHB0plNZjqSF2eneGg9g== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/nested-clients" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-host-header@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.893.0.tgz#1a4b14c11cff158b383e2b859be5c468d2c2c162" + integrity sha512-qL5xYRt80ahDfj9nDYLhpCNkDinEXvjLe/Qen/Y/u12+djrR2MB4DRa6mzBCkLkdXDtf0WAoW2EZsNCfGrmOEQ== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-logger@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.893.0.tgz#4ecb20ee0771a2f3afdc07c1310b97251d3854e2" + integrity sha512-ZqzMecjju5zkBquSIfVfCORI/3Mge21nUY4nWaGQy+NUXehqCGG4W7AiVpiHGOcY2cGJa7xeEkYcr2E2U9U0AA== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-recursion-detection@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.893.0.tgz#9fde6f10e72fcbd8ce4f0eea629c07ca64ce86ba" + integrity sha512-H7Zotd9zUHQAr/wr3bcWHULYhEeoQrF54artgsoUGIf/9emv6LzY89QUccKIxYd6oHKNTrTyXm9F0ZZrzXNxlg== + dependencies: + "@aws-sdk/types" "3.893.0" + "@aws/lambda-invoke-store" "^0.0.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-sdk-s3@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.896.0.tgz#419d558892d49b63db68265577b6ca6a1e35516e" + integrity sha512-hlPu/AZ5Afa4ZafP+aXIjRtKm7BX57lurA+TJ+7nXm1Az8Du3Sg2tZXP2/GfqTztLIFQYj/Jy5smkJ0+1HNAPQ== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-arn-parser" "3.893.0" + "@smithy/core" "^3.12.0" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/protocol-http" "^5.2.1" + "@smithy/signature-v4" "^5.2.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/util-config-provider" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-stream" "^4.3.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-user-agent@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.896.0.tgz#be459f4b652e200cfded484f87353ac69fbef69f" + integrity sha512-so/3tZH34YIeqG/QJgn5ZinnmHRdXV1ehsj4wVUrezL/dVW86jfwIkQIwpw8roOC657UoUf91c9FDhCxs3J5aQ== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@smithy/core" "^3.12.0" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/nested-clients@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.896.0.tgz#5fb0f31ca8a4a26d92b812e946e068d9b3c63bc6" + integrity sha512-KaHALB6DIXScJL/ExmonADr3jtTV6dpOHoEeTRSskJ/aW+rhZo7kH8SLmrwOT/qX8d5tza17YyR/oRkIKY6Eaw== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.896.0" + "@aws-sdk/middleware-host-header" "3.893.0" + "@aws-sdk/middleware-logger" "3.893.0" + "@aws-sdk/middleware-recursion-detection" "3.893.0" + "@aws-sdk/middleware-user-agent" "3.896.0" + "@aws-sdk/region-config-resolver" "3.893.0" + "@aws-sdk/types" "3.893.0" + "@aws-sdk/util-endpoints" "3.895.0" + "@aws-sdk/util-user-agent-browser" "3.893.0" + "@aws-sdk/util-user-agent-node" "3.896.0" + "@smithy/config-resolver" "^4.2.2" + "@smithy/core" "^3.12.0" + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/hash-node" "^4.1.1" + "@smithy/invalid-dependency" "^4.1.1" + "@smithy/middleware-content-length" "^4.1.1" + "@smithy/middleware-endpoint" "^4.2.4" + "@smithy/middleware-retry" "^4.3.0" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-body-length-node" "^4.1.0" + "@smithy/util-defaults-mode-browser" "^4.1.4" + "@smithy/util-defaults-mode-node" "^4.1.4" + "@smithy/util-endpoints" "^3.1.2" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@aws-sdk/region-config-resolver@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.893.0.tgz#570dfd2314b3f71eb263557bb06fea36b5188cd6" + integrity sha512-/cJvh3Zsa+Of0Zbg7vl9wp/kZtdb40yk/2+XcroAMVPO9hPvmS9r/UOm6tO7FeX4TtkRFwWaQJiTZTgSdsPY+Q== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + "@smithy/util-config-provider" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + tslib "^2.6.2" + +"@aws-sdk/signature-v4-multi-region@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.896.0.tgz#2aa0ca3055dc000f6d68fe48adcee612ce814d36" + integrity sha512-txiQDEZXL9tlNP8mbnNaDtuHBYc/FCqaZ8Y76qnfM3o6CTIn0t0tTAlnx1CyFe4EaikVBgQuZvj5KfNA8PmlzA== + dependencies: + "@aws-sdk/middleware-sdk-s3" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/protocol-http" "^5.2.1" + "@smithy/signature-v4" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/token-providers@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.896.0.tgz#760cdca947129cd422ca636218addefffa932420" + integrity sha512-WBoD+RY7tUfW9M+wGrZ2vdveR+ziZOjGHWFY3lcGnDvI8KE+fcSccEOTxgJBNBS5Z8B+WHKU2sZjb+Z7QqGwjw== + dependencies: + "@aws-sdk/core" "3.896.0" + "@aws-sdk/nested-clients" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/types@3.893.0", "@aws-sdk/types@^3.222.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.893.0.tgz#1afbdb9d62bf86caeac380e3cac11a051076400a" + integrity sha512-Aht1nn5SnA0N+Tjv0dzhAY7CQbxVtmq1bBR6xI0MhG7p2XYVh1wXuKTzrldEvQWwA3odOYunAfT9aBiKZx9qIg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/util-arn-parser@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.893.0.tgz#fcc9b792744b9da597662891c2422dda83881d8d" + integrity sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA== + dependencies: + tslib "^2.6.2" + +"@aws-sdk/util-endpoints@3.895.0": + version "3.895.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.895.0.tgz#d3881250cecc40fa9d721a33661c1aaa64aba643" + integrity sha512-MhxBvWbwxmKknuggO2NeMwOVkHOYL98pZ+1ZRI5YwckoCL3AvISMnPJgfN60ww6AIXHGpkp+HhpFdKOe8RHSEg== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-endpoints" "^3.1.2" + tslib "^2.6.2" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.893.0.tgz#5df15f24e1edbe12ff1fe8906f823b51cd53bae8" + integrity sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg== + dependencies: + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-browser@3.893.0": + version "3.893.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.893.0.tgz#be0aac5c73a30c2a03aedb2e3501bb277bad79a1" + integrity sha512-PE9NtbDBW6Kgl1bG6A5fF3EPo168tnkj8TgMcT0sg4xYBWsBpq0bpJZRh+Jm5Bkwiw9IgTCLjEU7mR6xWaMB9w== + dependencies: + "@aws-sdk/types" "3.893.0" + "@smithy/types" "^4.5.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@aws-sdk/util-user-agent-node@3.896.0": + version "3.896.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.896.0.tgz#190a8aa7ffae3f8d29bacdd3835b901daf116195" + integrity sha512-jegizucAwoxyBddKl0kRGNEgRHcfGuMeyhP1Nf+wIUmHz/9CxobIajqcVk/KRNLdZY5mSn7YG2VtP3z0BcBb0w== + dependencies: + "@aws-sdk/middleware-user-agent" "3.896.0" + "@aws-sdk/types" "3.893.0" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@aws-sdk/xml-builder@3.894.0": + version "3.894.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.894.0.tgz#7110e86622345d3da220a2ed5259a30a91dec4bc" + integrity sha512-E6EAMc9dT1a2DOdo4zyOf3fp5+NJ2wI+mcm7RaW1baFIWDwcb99PpvWoV7YEiK7oaBDshuOEGWKUSYXdW+JYgA== + dependencies: + "@smithy/types" "^4.5.0" + fast-xml-parser "5.2.5" + tslib "^2.6.2" + +"@aws/lambda-invoke-store@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.0.1.tgz#92d792a7dda250dfcb902e13228f37a81be57c8f" + integrity sha512-ORHRQ2tmvnBXc8t/X9Z8IcSbBA4xTLKuN873FopzklHMeqBst7YG0d+AX97inkvDX+NChYtSr+qGfcqGFaI8Zw== "@biomejs/biome@^2.2.4": version "2.2.4" @@ -270,10 +598,10 @@ picomatch "^4.0.2" which "^4.0.0" -"@ecies/ciphers@^0.2.0": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.1.tgz#a3119516fb55d27ed2d21c497b1c4988f0b4ca02" - integrity sha512-ezMihhjW24VNK/2qQR7lH8xCQY24nk0XHF/kwJ1OuiiY5iEwQXOcKVSy47fSoHPRG8gVGXcK5SgtONDk5xMwtQ== +"@ecies/ciphers@^0.2.3": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.4.tgz#20a4e51f61d521e5e311eb49385d93d91087de51" + integrity sha512-t+iX+Wf5nRKyNzk8dviW3Ikb/280+aEJAnw9YXvCp2tYGPSkMki+NRY+8aNLmVFv3eNtMdvViPNOPxS8SZNP+w== "@esbuild/aix-ppc64@0.25.10": version "0.25.10" @@ -428,53 +756,27 @@ resolved "https://registry.yarnpkg.com/@hunteroi/discord-verification/-/discord-verification-1.5.2.tgz#fcb6bbc626d11af2230f625f011323f5fa7edc04" integrity sha512-F31p2ARYAm16tjbRadio898ype5nmhAI0eJ1vUXo08posyrxxW07VxNiy6hV09FulaM2+KwPYn7pXAZMGC2dMg== -"@jridgewell/gen-mapping@^0.3.12": - version "0.3.13" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" - integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.5" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" - integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.31" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0" - integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@noble/ciphers@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.0.0.tgz#34758a1cbfcd4126880f83e6b1cdeb88785b7970" - integrity sha512-wH5EHOmLi0rEazphPbecAzmjd12I6/Yv/SiHdkA9LSycsQk7RuuTp7am5/o62qYr0RScE7Pc9icXGBbsr6cesA== +"@noble/ciphers@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc" + integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw== -"@noble/curves@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.6.0.tgz#be5296ebcd5a1730fccea4786d420f87abfeb40b" - integrity sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ== +"@noble/curves@^1.9.1": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.7.tgz#79d04b4758a43e4bca2cbdc62e7771352fa6b951" + integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw== dependencies: - "@noble/hashes" "1.5.0" + "@noble/hashes" "1.8.0" -"@noble/hashes@1.5.0", "@noble/hashes@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.5.0.tgz#abadc5ca20332db2b1b2aa3e496e9af1213570b0" - integrity sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA== +"@noble/hashes@1.8.0", "@noble/hashes@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== "@sapphire/async-queue@^1.5.2", "@sapphire/async-queue@^1.5.3": - version "1.5.3" - resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.3.tgz#03cd2a2f3665068f314736bdc56eee2025352422" - integrity sha512-x7zadcfJGxFka1Q3f8gCts1F0xMwCKbZweM85xECGI0hBTeIZJGGCrHgLggihBoprlQ/hBmDR5LKfIPqnmHM3w== + version "1.5.5" + resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.5.5.tgz#2b18d402bb920b65b13ad4ed8dfb6c386300dd84" + integrity sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg== "@sapphire/shapeshift@^4.0.0": version "4.0.0" @@ -484,52 +786,438 @@ fast-deep-equal "^3.1.3" lodash "^4.17.21" -"@sapphire/snowflake@3.5.3", "@sapphire/snowflake@^3.5.3": +"@sapphire/snowflake@3.5.3": version "3.5.3" resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.3.tgz#0c102aa2ec5b34f806e9bc8625fc6a5e1d0a0c6a" integrity sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ== -"@sindresorhus/is@^4.0.1": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== +"@sapphire/snowflake@^3.5.3": + version "3.5.5" + resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.5.tgz#33a60ab4231e3cab29e8a0077f342125f2c8d1bd" + integrity sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ== + +"@smithy/abort-controller@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-4.1.1.tgz#9b3872ab6b2c061486175c281dadc0a853260533" + integrity sha512-vkzula+IwRvPR6oKQhMYioM3A/oX/lFCZiwuxkQbRhqJS2S4YRY2k7k/SyR2jMf3607HLtbEwlRxi0ndXHMjRg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/config-resolver@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.2.2.tgz#3f6a3c163f9b5b7f852d7d1817bc9e3b2136fa5f" + integrity sha512-IT6MatgBWagLybZl1xQcURXRICvqz1z3APSCAI9IqdvfCkrA7RaQIEfgC6G/KvfxnDfQUDqFV+ZlixcuFznGBQ== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + "@smithy/util-config-provider" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + tslib "^2.6.2" + +"@smithy/core@^3.12.0": + version "3.12.0" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.12.0.tgz#81bb6a2a113e334ddaede9d502ff17ce4d8a2cc6" + integrity sha512-zJeAgogZfbwlPGL93y4Z/XNeIN37YCreRUd6YMIRvaq+6RnBK8PPYYIQ85Is/GglPh3kNImD5riDCXbVSDpCiQ== + dependencies: + "@smithy/middleware-serde" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-body-length-browser" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-stream" "^4.3.2" + "@smithy/util-utf8" "^4.1.0" + "@smithy/uuid" "^1.0.0" + tslib "^2.6.2" + +"@smithy/credential-provider-imds@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-4.1.2.tgz#68662c873dbe812c13159cb2be3c4ba8aeb52149" + integrity sha512-JlYNq8TShnqCLg0h+afqe2wLAwZpuoSgOyzhYvTgbiKBWRov+uUve+vrZEQO6lkdLOWPh7gK5dtb9dS+KGendg== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + tslib "^2.6.2" + +"@smithy/fetch-http-handler@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.2.1.tgz#fe284a00f1b3a35edf9fba454d287b7f74ef20af" + integrity sha512-5/3wxKNtV3wO/hk1is+CZUhL8a1yy/U+9u9LKQ9kZTkMsHaQjJhc3stFfiujtMnkITjzWfndGA2f7g9Uh9vKng== + dependencies: + "@smithy/protocol-http" "^5.2.1" + "@smithy/querystring-builder" "^4.1.1" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + tslib "^2.6.2" + +"@smithy/hash-node@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.1.1.tgz#86ceca92487492267e944e4f4507106b731e7971" + integrity sha512-H9DIU9WBLhYrvPs9v4sYvnZ1PiAI0oc8CgNQUJ1rpN3pP7QADbTOUjchI2FB764Ub0DstH5xbTqcMJu1pnVqxA== + dependencies: + "@smithy/types" "^4.5.0" + "@smithy/util-buffer-from" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/invalid-dependency@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.1.1.tgz#2511335ff889944701c7d2a3b1e4a4d6fe9ddfab" + integrity sha512-1AqLyFlfrrDkyES8uhINRlJXmHA2FkG+3DY8X+rmLSqmFwk3DJnvhyGzyByPyewh2jbmV+TYQBEfngQax8IFGg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/is-array-buffer@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" + integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== + dependencies: + tslib "^2.6.2" -"@types/node@*": - version "22.8.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.4.tgz#ab754f7ac52e1fe74174f761c5b03acaf06da0dc" - integrity sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw== +"@smithy/is-array-buffer@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-4.1.0.tgz#d18a2f22280e7173633cb91a9bdb6f3d8a6560b8" + integrity sha512-ePTYUOV54wMogio+he4pBybe8fwg4sDvEVDBU8ZlHOZXbXK3/C0XfJgUCu6qAZcawv05ZhZzODGUerFBPsPUDQ== dependencies: - undici-types "~6.19.8" + tslib "^2.6.2" + +"@smithy/middleware-content-length@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.1.1.tgz#eaea7bd14c7a0b64aef87b8c372c2a04d7b9cb72" + integrity sha512-9wlfBBgTsRvC2JxLJxv4xDGNBrZuio3AgSl0lSFX7fneW2cGskXTYpFxCdRYD2+5yzmsiTuaAJD1Wp7gWt9y9w== + dependencies: + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/middleware-endpoint@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.2.4.tgz#d815d27b7869a66ee97b41932053ca5d5ec6315e" + integrity sha512-FZ4hzupOmthm8Q8ujYrd0I+/MHwVMuSTdkDtIQE0xVuvJt9pLT6Q+b0p4/t+slDyrpcf+Wj7SN+ZqT5OryaaZg== + dependencies: + "@smithy/core" "^3.12.0" + "@smithy/middleware-serde" "^4.1.1" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + "@smithy/url-parser" "^4.1.1" + "@smithy/util-middleware" "^4.1.1" + tslib "^2.6.2" + +"@smithy/middleware-retry@^4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.3.0.tgz#453c9668b013fbfa900957857f74f3b15936b384" + integrity sha512-qhEX9745fAxZvtLM4bQJAVC98elWjiMO2OiHl1s6p7hUzS4QfZO1gXUYNwEK8m0J6NoCD5W52ggWxbIDHI0XSg== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/protocol-http" "^5.2.1" + "@smithy/service-error-classification" "^4.1.2" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-retry" "^4.1.2" + "@smithy/uuid" "^1.0.0" + tslib "^2.6.2" + +"@smithy/middleware-serde@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.1.1.tgz#cfb99f53c744d7730928235cbe66cc7ff8a8a9b2" + integrity sha512-lh48uQdbCoj619kRouev5XbWhCwRKLmphAif16c4J6JgJ4uXjub1PI6RL38d3BLliUvSso6klyB/LTNpWSNIyg== + dependencies: + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/middleware-stack@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.1.1.tgz#1d533fde4ccbb62d7fc0f0b8ac518b7e4791e311" + integrity sha512-ygRnniqNcDhHzs6QAPIdia26M7e7z9gpkIMUe/pK0RsrQ7i5MblwxY8078/QCnGq6AmlUUWgljK2HlelsKIb/A== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/node-config-provider@^4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.2.2.tgz#ede9ac2f689cfdf26815a53fadf139e6aa77bdbb" + integrity sha512-SYGTKyPvyCfEzIN5rD8q/bYaOPZprYUPD2f5g9M7OjaYupWOoQFYJ5ho+0wvxIRf471i2SR4GoiZ2r94Jq9h6A== + dependencies: + "@smithy/property-provider" "^4.1.1" + "@smithy/shared-ini-file-loader" "^4.2.0" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/node-http-handler@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.2.1.tgz#d7ab8e31659030d3d5a68f0982f15c00b1e67a0c" + integrity sha512-REyybygHlxo3TJICPF89N2pMQSf+p+tBJqpVe1+77Cfi9HBPReNjTgtZ1Vg73exq24vkqJskKDpfF74reXjxfw== + dependencies: + "@smithy/abort-controller" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/querystring-builder" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/property-provider@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-4.1.1.tgz#6e11ae6729840314afed05fd6ab48f62c654116b" + integrity sha512-gm3ZS7DHxUbzC2wr8MUCsAabyiXY0gaj3ROWnhSx/9sPMc6eYLMM4rX81w1zsMaObj2Lq3PZtNCC1J6lpEY7zg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/protocol-http@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.2.1.tgz#33f2b8e4e1082c3ae0372d1322577e6fa71d7824" + integrity sha512-T8SlkLYCwfT/6m33SIU/JOVGNwoelkrvGjFKDSDtVvAXj/9gOT78JVJEas5a+ETjOu4SVvpCstKgd0PxSu/aHw== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/querystring-builder@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-4.1.1.tgz#4d35c1735de8214055424045a117fa5d1d5cdec1" + integrity sha512-J9b55bfimP4z/Jg1gNo+AT84hr90p716/nvxDkPGCD4W70MPms0h8KF50RDRgBGZeL83/u59DWNqJv6tEP/DHA== + dependencies: + "@smithy/types" "^4.5.0" + "@smithy/util-uri-escape" "^4.1.0" + tslib "^2.6.2" + +"@smithy/querystring-parser@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-4.1.1.tgz#21b861439b2db16abeb0a6789b126705fa25eea1" + integrity sha512-63TEp92YFz0oQ7Pj9IuI3IgnprP92LrZtRAkE3c6wLWJxfy/yOPRt39IOKerVr0JS770olzl0kGafXlAXZ1vng== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/service-error-classification@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-4.1.2.tgz#06839c332f4620a4b80c78a0c32377732dc6697a" + integrity sha512-Kqd8wyfmBWHZNppZSMfrQFpc3M9Y/kjyN8n8P4DqJJtuwgK1H914R471HTw7+RL+T7+kI1f1gOnL7Vb5z9+NgQ== + dependencies: + "@smithy/types" "^4.5.0" + +"@smithy/shared-ini-file-loader@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.2.0.tgz#e4717242686bf611bd1a5d6f79870abe480c1c99" + integrity sha512-OQTfmIEp2LLuWdxa8nEEPhZmiOREO6bcB6pjs0AySf4yiZhl6kMOfqmcwcY8BaBPX+0Tb+tG7/Ia/6mwpoZ7Pw== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/signature-v4@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-5.2.1.tgz#0048489d2f1b3c888382595a085edd31967498f8" + integrity sha512-M9rZhWQLjlQVCCR37cSjHfhriGRN+FQ8UfgrYNufv66TJgk+acaggShl3KS5U/ssxivvZLlnj7QH2CUOKlxPyA== + dependencies: + "@smithy/is-array-buffer" "^4.1.0" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-hex-encoding" "^4.1.0" + "@smithy/util-middleware" "^4.1.1" + "@smithy/util-uri-escape" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/smithy-client@^4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.6.4.tgz#3a66bb71c91dadf1806adab664ba2e164a1139ab" + integrity sha512-qL7O3VDyfzCSN9r+sdbQXGhaHtrfSJL30En6Jboj0I3bobf2g1/T0eP2L4qxqrEW26gWhJ4THI4ElVVLjYyBHg== + dependencies: + "@smithy/core" "^3.12.0" + "@smithy/middleware-endpoint" "^4.2.4" + "@smithy/middleware-stack" "^4.1.1" + "@smithy/protocol-http" "^5.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-stream" "^4.3.2" + tslib "^2.6.2" + +"@smithy/types@^4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.5.0.tgz#850e334662a1ef1286c35814940c80880400a370" + integrity sha512-RkUpIOsVlAwUIZXO1dsz8Zm+N72LClFfsNqf173catVlvRZiwPy0x2u0JLEA4byreOPKDZPGjmPDylMoP8ZJRg== + dependencies: + tslib "^2.6.2" + +"@smithy/url-parser@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.1.1.tgz#0e9a5e72b3cf9d7ab7305f9093af5528d9debaf6" + integrity sha512-bx32FUpkhcaKlEoOMbScvc93isaSiRM75pQ5IgIBaMkT7qMlIibpPRONyx/0CvrXHzJLpOn/u6YiDX2hcvs7Dg== + dependencies: + "@smithy/querystring-parser" "^4.1.1" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-base64@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-4.1.0.tgz#5965026081d9aef4a8246f5702807570abe538b2" + integrity sha512-RUGd4wNb8GeW7xk+AY5ghGnIwM96V0l2uzvs/uVHf+tIuVX2WSvynk5CxNoBCsM2rQRSZElAo9rt3G5mJ/gktQ== + dependencies: + "@smithy/util-buffer-from" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/util-body-length-browser@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-4.1.0.tgz#636bdf4bc878c546627dab4b9b0e4db31b475be7" + integrity sha512-V2E2Iez+bo6bUMOTENPr6eEmepdY8Hbs+Uc1vkDKgKNA/brTJqOW/ai3JO1BGj9GbCeLqw90pbbH7HFQyFotGQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-body-length-node@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-4.1.0.tgz#646750e4af58f97254a5d5cfeaba7d992f0152ec" + integrity sha512-BOI5dYjheZdgR9XiEM3HJcEMCXSoqbzu7CzIgYrx0UtmvtC3tC2iDGpJLsSRFffUpy8ymsg2ARMP5fR8mtuUQQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-buffer-from@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" + integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== + dependencies: + "@smithy/is-array-buffer" "^2.2.0" + tslib "^2.6.2" + +"@smithy/util-buffer-from@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-4.1.0.tgz#21f9e644a0eb41226d92e4eff763f76a7db7e9cc" + integrity sha512-N6yXcjfe/E+xKEccWEKzK6M+crMrlwaCepKja0pNnlSkm6SjAeLKKA++er5Ba0I17gvKfN/ThV+ZOx/CntKTVw== + dependencies: + "@smithy/is-array-buffer" "^4.1.0" + tslib "^2.6.2" -"@types/node@^20.12.7": - version "20.17.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.3.tgz#1ad87177c53fa2b237e79a4929fd37932f779f0c" - integrity sha512-tSQrmKKatLDGnG92h40GD7FzUt0MjahaHwOME4VAFeeA/Xopayq5qLyQRy7Jg/pjgKIFBXuKcGhJo+UdYG55jQ== -"@types/node@^24.5.2": +"@smithy/util-config-provider@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-4.1.0.tgz#6a07d73446c1e9a46d7a3c125f2a9301060bc957" + integrity sha512-swXz2vMjrP1ZusZWVTB/ai5gK+J8U0BWvP10v9fpcFvg+Xi/87LHvHfst2IgCs1i0v4qFZfGwCmeD/KNCdJZbQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-defaults-mode-browser@^4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.1.4.tgz#a967e994d4581682891f7252c7a42a2d6c1841e4" + integrity sha512-mLDJ1s4eA3vwOGaQOEPlg5LB4LdZUUMpB5UMOMofeGhWqiS7WR7dTpLiNi9zVn+YziKUd3Af5NLfxDs7NJqmIw== + dependencies: + "@smithy/property-provider" "^4.1.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@smithy/util-defaults-mode-node@^4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.1.4.tgz#ce6b88431db4c5b42933904fd0051c91415c41ab" + integrity sha512-pjX2iMTcOASaSanAd7bu6i3fcMMezr3NTr8Rh64etB0uHRZi+Aw86DoCxPESjY4UTIuA06hhqtTtw95o//imYA== + dependencies: + "@smithy/config-resolver" "^4.2.2" + "@smithy/credential-provider-imds" "^4.1.2" + "@smithy/node-config-provider" "^4.2.2" + "@smithy/property-provider" "^4.1.1" + "@smithy/smithy-client" "^4.6.4" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-endpoints@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.1.2.tgz#be4005c8616923d453347048ef26a439267b2782" + integrity sha512-+AJsaaEGb5ySvf1SKMRrPZdYHRYSzMkCoK16jWnIMpREAnflVspMIDeCVSZJuj+5muZfgGpNpijE3mUNtjv01Q== + dependencies: + "@smithy/node-config-provider" "^4.2.2" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-hex-encoding@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-4.1.0.tgz#9b27cf0c25d0de2c8ebfe75cc20df84e5014ccc9" + integrity sha512-1LcueNN5GYC4tr8mo14yVYbh/Ur8jHhWOxniZXii+1+ePiIbsLZ5fEI0QQGtbRRP5mOhmooos+rLmVASGGoq5w== + dependencies: + tslib "^2.6.2" + +"@smithy/util-middleware@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.1.1.tgz#e19749a127499c9bdada713a8afd807d92d846e2" + integrity sha512-CGmZ72mL29VMfESz7S6dekqzCh8ZISj3B+w0g1hZFXaOjGTVaSqfAEFAq8EGp8fUL+Q2l8aqNmt8U1tglTikeg== + dependencies: + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-retry@^4.1.2": + version "4.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.1.2.tgz#8d28c27cf69643e173c75cc18ff0186deb7cefed" + integrity sha512-NCgr1d0/EdeP6U5PSZ9Uv5SMR5XRRYoVr1kRVtKZxWL3tixEL3UatrPIMFZSKwHlCcp2zPLDvMubVDULRqeunA== + dependencies: + "@smithy/service-error-classification" "^4.1.2" + "@smithy/types" "^4.5.0" + tslib "^2.6.2" + +"@smithy/util-stream@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-4.3.2.tgz#7ce40c266b1e828d73c27e545959cda4f42fd61f" + integrity sha512-Ka+FA2UCC/Q1dEqUanCdpqwxOFdf5Dg2VXtPtB1qxLcSGh5C1HdzklIt18xL504Wiy9nNUKwDMRTVCbKGoK69g== + dependencies: + "@smithy/fetch-http-handler" "^5.2.1" + "@smithy/node-http-handler" "^4.2.1" + "@smithy/types" "^4.5.0" + "@smithy/util-base64" "^4.1.0" + "@smithy/util-buffer-from" "^4.1.0" + "@smithy/util-hex-encoding" "^4.1.0" + "@smithy/util-utf8" "^4.1.0" + tslib "^2.6.2" + +"@smithy/util-uri-escape@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-4.1.0.tgz#ed4a5c498f1da07122ca1e3df4ca3e2c67c6c18a" + integrity sha512-b0EFQkq35K5NHUYxU72JuoheM6+pytEVUGlTwiFxWFpmddA+Bpz3LgsPRIpBk8lnPE47yT7AF2Egc3jVnKLuPg== + dependencies: + tslib "^2.6.2" + +"@smithy/util-utf8@^2.0.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" + integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== + dependencies: + "@smithy/util-buffer-from" "^2.2.0" + tslib "^2.6.2" + +"@smithy/util-utf8@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-4.1.0.tgz#912c33c1a06913f39daa53da79cb8f7ab740d97b" + integrity sha512-mEu1/UIXAdNYuBcyEPbjScKi/+MQVXNIuY/7Cm5XLIWe319kDrT5SizBE95jqtmEXoDbGoZxKLCMttdZdqTZKQ== + dependencies: + "@smithy/util-buffer-from" "^4.1.0" + tslib "^2.6.2" + +"@smithy/uuid@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@smithy/uuid/-/uuid-1.0.0.tgz#a0fd3aa879d57e2f2fd6a7308deee864a412e1cf" + integrity sha512-OlA/yZHh0ekYFnbUkmYBDQPE6fGfdrvgz39ktp8Xf+FA6BfxLejPTMDOG0Nfk5/rDySAz1dRbFf24zaAFYVXlQ== + dependencies: + tslib "^2.6.2" + +"@types/node@*", "@types/node@^24.5.2": version "24.5.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-24.5.2.tgz#52ceb83f50fe0fcfdfbd2a9fab6db2e9e7ef6446" integrity sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ== dependencies: undici-types "~7.12.0" -"@types/nodemailer@^6.4.7": - version "6.4.16" - resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.16.tgz#db006abcb1e1c8e6ea2fb53b27fefec3c03eaa6c" - integrity sha512-uz6hN6Pp0upXMcilM61CoKyjT7sskBoOWpptkjjJp8jIMlTdc3xG01U7proKkXzruMS4hS0zqtHNkNPFB20rKQ== - dependencies: - "@types/node" "*" - -"@types/ws@^7.4.7": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== +"@types/nodemailer@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-7.0.1.tgz#d52f769bb09745cc67e09bf3935531b992d22857" + integrity sha512-UfHAghPmGZVzaL8x9y+mKZMWyHC399+iq0MOmya5tIyenWX3lcdSb60vOmp0DocR6gCDTYTozv/ULQnREyyjkg== dependencies: + "@aws-sdk/client-sesv2" "^3.839.0" "@types/node" "*" "@types/ws@^8.5.10": - version "8.5.12" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" - integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" @@ -545,76 +1233,10 @@ ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^1.8.4: - version "1.12.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.12.2.tgz#6c307390136cf7a2278d09cec63b136dfc6e6da7" - integrity sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.4" - proxy-from-env "^1.1.0" - -babel-plugin-polyfill-corejs2@^0.4.14: - version "0.4.14" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f" - integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg== - dependencies: - "@babel/compat-data" "^7.27.7" - "@babel/helper-define-polyfill-provider" "^0.6.5" - semver "^6.3.1" -callsites@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -babel-plugin-polyfill-corejs3@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz#bb7f6aeef7addff17f7602a08a6d19a128c30164" - integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.5" - core-js-compat "^3.43.0" - -babel-plugin-polyfill-regenerator@^0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5" - integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.5" - -baseline-browser-mapping@^2.8.3: - version "2.8.6" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.8.6.tgz#c37dea4291ed8d01682f85661dbe87967028642e" - integrity sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw== - -browserslist@^4.24.0, browserslist@^4.25.3: - version "4.26.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.26.2.tgz#7db3b3577ec97f1140a52db4936654911078cef3" - integrity sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A== - dependencies: - baseline-browser-mapping "^2.8.3" - caniuse-lite "^1.0.30001741" - electron-to-chromium "^1.5.218" - node-releases "^2.0.21" - update-browserslist-db "^1.1.3" - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -caniuse-lite@^1.0.30001741: - version "1.0.30001743" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001743.tgz#50ff91a991220a1ee2df5af00650dd5c308ea7cd" - integrity sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw== +bowser@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.12.1.tgz#f9ad78d7aebc472feb63dd9635e3ce2337e0e2c1" + integrity sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw== chalk@^3.0.0: version "3.0.0" @@ -636,63 +1258,24 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - commander@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== -core-js-compat@^3.43.0: - version "3.45.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.45.1.tgz#424f3f4af30bf676fd1b67a579465104f64e9c7a" - integrity sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA== - dependencies: - browserslist "^4.25.3" - cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" -debug@^4.3.1, debug@^4.4.1: - version "4.4.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" - integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== - dependencies: - ms "^2.1.3" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -discord-api-types@0.37.100: - version "0.37.100" - resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.100.tgz#5979892d39511bc7f1dbb9660d2d2cad698b3de7" - integrity sha512-a8zvUI0GYYwDtScfRd/TtaNBDTXwP5DiDVX7K5OmE+DRT57gBqKnwtOC5Ol8z0mRW8KQfETIgiB8U0YZ9NXiCA== discord-api-types@^0.38.1, discord-api-types@^0.38.16: version "0.38.26" resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.38.26.tgz#d30f6bf0a4725b0a5ea46e0a12cef0b8880bbc9a" integrity sha512-xpmPviHjIJ6dFu1eNwNDIGQ3N6qmPUUYFVAx/YZ64h7ZgPkTcKjnciD8bZe8Vbeji7yS5uYljyciunpq0J5NSw== -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -discord-api-types@0.37.83: - version "0.37.83" - resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.83.tgz#a22a799729ceded8176ea747157837ddf4708b1f" - integrity sha512-urGGYeWtWNYMKnYlZnOnDHm8fVRffQs3U0SpE8RHeiuLKb/u92APS8HoQnPTFbnXmY1vVnXjXO4dOxcAn3J+DA== discord-sync-commands@^0.5.2: version "0.5.2" @@ -701,10 +1284,6 @@ discord-sync-commands@^0.5.2: dependencies: discord.js "^14.20.0" -discord.js@^14.16.2: - version "14.16.3" - resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.16.3.tgz#9553366953c992469f47a55af2a11c2054a9babe" - integrity sha512-EPCWE9OkA9DnFFNrO7Kl1WHHDYFXu3CNVFJg63bfU7hVtjZGyhShwZtSBImINQRWxWP2tgo2XI+QhdXx28r0aA== discord.js@^14.20.0, discord.js@^14.22.1: version "14.22.1" resolved "https://registry.yarnpkg.com/discord.js/-/discord.js-14.22.1.tgz#aa364cf0108b41bac3eaa9fa1aae836d0882a91c" @@ -717,7 +1296,6 @@ discord.js@^14.20.0, discord.js@^14.22.1: "@discordjs/util" "^1.1.1" "@discordjs/ws" "^1.2.3" "@sapphire/snowflake" "3.5.3" - discord-api-types "0.37.100" discord-api-types "^0.38.16" fast-deep-equal "3.1.3" lodash.snakecase "4.1.1" @@ -730,56 +1308,15 @@ dotenv@^17.2.1: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-17.2.2.tgz#4010cfe1c2be4fc0f46fd3d951afb424bc067ac6" integrity sha512-Sf2LSQP+bOlhKWWyhFsn0UsfdK/kCWRv1iuA2gXAwt3dyNabr6QSj00I2V10pidqz69soatm9ZwZvpQMTIOd5Q== -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - eciesjs@^0.4.10: - version "0.4.10" - resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.10.tgz#7548ae8385809d1b81529ebe48b87d8549941270" - integrity sha512-dYAgdXAC7/d9fEC0w6kpRWj5vHah2BQgMM639g78JI0FUUffMN2Mq60HEHPkyH8ah+FX+cQd6ouDK4kWiatzyw== - dependencies: - "@ecies/ciphers" "^0.2.0" - "@noble/ciphers" "^1.0.0" - "@noble/curves" "^1.6.0" - "@noble/hashes" "^1.5.0" - -electron-to-chromium@^1.5.218: - version "1.5.223" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.223.tgz#cf9b1aebba1c8ee5e50d1c9e198229e15bc87b28" - integrity sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ== - -es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + version "0.4.15" + resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.15.tgz#8c7191ce425c54627ee5c65328ab54eaa6ed4556" + integrity sha512-r6kEJXDKecVOCj2nLMuXK/FCPeurW33+3JRpfXVbjLja3XUYFfD9I/JBreH6sUyzcm3G/YQboBjMla6poKeSdA== dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" + "@ecies/ciphers" "^0.2.3" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "^1.9.1" + "@noble/hashes" "^1.8.0" esbuild@~0.25.0: version "0.25.10" @@ -813,11 +1350,6 @@ esbuild@~0.25.0: "@esbuild/win32-ia32" "0.25.10" "@esbuild/win32-x64" "0.25.10" -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -838,201 +1370,40 @@ fast-deep-equal@3.1.3, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fdir@^6.2.0: - version "6.4.2" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.2.tgz#ddaa7ce1831b161bc3657bb99cb36e1622702689" - integrity sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ== - -follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -form-data@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" - integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - hasown "^2.0.2" - mime-types "^2.1.12" - -fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== - dependencies: - flat-cache "^4.0.0" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - 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@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.4" - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== +fast-xml-parser@5.2.5: + version "5.2.5" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz#4809fdfb1310494e341098c25cb1341a01a9144a" + integrity sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ== dependencies: - is-glob "^4.0.3" + strnum "^2.1.0" -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +fdir@^6.2.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== fsevents@~2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -get-intrinsic@^1.2.6: - version "1.3.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-tsconfig@^4.7.5: - version "4.8.1" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" - integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== + version "4.10.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.10.1.tgz#d34c1c01f47d65a606c37aa7a177bc3e56ab4b2e" + integrity sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ== dependencies: resolve-pkg-maps "^1.0.0" -gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -1043,13 +1414,6 @@ ignore@^5.3.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -is-core-module@^2.16.0: - version "2.16.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" - integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== - dependencies: - hasown "^2.0.2" - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -1065,21 +1429,6 @@ isexe@^3.1.1: resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d" integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - lodash.snakecase@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" @@ -1090,79 +1439,16 @@ lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - magic-bytes.js@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/magic-bytes.js/-/magic-bytes.js-1.10.0.tgz#c41cf4bc2f802992b05e64962411c9dd44fdef92" - integrity sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + version "1.12.1" + resolved "https://registry.yarnpkg.com/magic-bytes.js/-/magic-bytes.js-1.12.1.tgz#031fedceb1fc652c1ccd917c6b45a6e8d6554245" + integrity sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA== merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-db@^1.54.0: - version "1.54.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" - integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime-types@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce" - integrity sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA== - dependencies: - mime-db "^1.54.0" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -1173,21 +1459,10 @@ moment@^2.24.0: resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -node-fetch@^2.6.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-releases@^2.0.21: - version "2.0.21" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.21.tgz#f59b018bc0048044be2d4c4c04e4c8b18160894c" - integrity sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw== +nodemailer@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-7.0.6.tgz#e850630242e28c64fd666c7f6ca8382baf5a5661" + integrity sha512-F44uVzgwo49xboqbFgBGkRaiMgtoBrBEWCVincJPK9+S9Adkzt/wXCLKbf7dxucmxfTI5gHGB+bEmdyzN6QKjw== npm-run-path@^4.0.1: version "4.0.1" @@ -1208,167 +1483,21 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -nodemailer@^6.9.1: - version "6.9.16" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.16.tgz#3ebdf6c6f477c571c0facb0727b33892635e0b8b" - integrity sha512-psAuZdTIRN08HKVd/E8ObdV6NO7NTBY3KsC30F7M4H1OnmLCUNaS56FpYxyb26zWLSyYF9Ozch9KYHhHegsiOQ== - -ow@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/ow/-/ow-0.27.0.tgz#d44da088e8184fa11de64b5813206f9f86ab68d0" - integrity sha512-SGnrGUbhn4VaUGdU0EJLMwZWSupPmF46hnTRII7aCLCrqixTAC5eKo8kI4/XXf1eaaI8YEVT+3FeGNJI9himAQ== - dependencies: - "@sindresorhus/is" "^4.0.1" - callsites "^3.1.0" - dot-prop "^6.0.1" - lodash.isequal "^4.5.0" - type-fest "^1.2.1" - vali-date "^1.0.0" - path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - picomatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" - integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -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" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - 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-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -semver@^7.6.0: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + version "4.0.3" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== resolve-pkg-maps@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve@^1.22.10: - version "1.22.10" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" - integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== - dependencies: - is-core-module "^2.16.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -1386,21 +1515,16 @@ signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -smtp2go-nodejs@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/smtp2go-nodejs/-/smtp2go-nodejs-0.3.5.tgz#0b35ed1df02aefb27c70bc95068f552e7d1f03a5" - integrity sha512-iYCDi12QZKcHyRkGCOyeCsdTLXm2rB8saALNxIfxncnFV741fCtnyyX1h4JFwhtWojOMDOar70JePRehBTKUHg== - dependencies: - "@babel/plugin-transform-runtime" "^7.26.10" - "@babel/runtime" "^7.27.0" - axios "^1.8.4" - mime-types "^3.0.1" - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== +strnum@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.1.1.tgz#cf2a6e0cf903728b8b2c4b971b7e36b4e82d46ab" + integrity sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw== + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -1408,11 +1532,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - ts-mixer@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/ts-mixer/-/ts-mixer-6.0.4.tgz#1da39ceabc09d947a82140d9f09db0f84919ca28" @@ -1430,15 +1549,10 @@ ts-typed-events@^3.0.0: resolved "https://registry.yarnpkg.com/ts-typed-events/-/ts-typed-events-3.0.0.tgz#2f9d96ff962edfc936402c859370337373880faa" integrity sha512-+2FZ0XPX+UPR7PO8ZQjuvnuDMYRhzrDaCRaNHaBG1xSL//0oPa3XMU5yxgDTzW67VzkE33fQpx1YxWBdkaF7Zw== -tslib@^2.3.0, tslib@^2.6.2, tslib@^2.6.3: - version "2.8.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" - integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== - tslib@^2.6.2, tslib@^2.6.3: - version "2.7.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsx@^4.20.5: version "4.20.5" @@ -1455,17 +1569,6 @@ typescript@^5.9.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A== -typescript@^5.4.4: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== - -undici-types@~6.19.2, undici-types@~6.19.8: -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== - undici-types@~7.12.0: version "7.12.0" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.12.0.tgz#15c5c7475c2a3ba30659529f5cdb4674b622fafb" @@ -1476,14 +1579,6 @@ undici@6.21.3: resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.3.tgz#185752ad92c3d0efe7a7d1f6854a50f83b552d7a" integrity sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw== -update-browserslist-db@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -1502,8 +1597,3 @@ ws@^8.17.0: version "8.18.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== From dbf433df830a642db3047f3d7348e925bbb94fa3 Mon Sep 17 00:00:00 2001 From: HunteRoi Date: Mon, 29 Sep 2025 12:02:16 +0200 Subject: [PATCH 11/11] docs: add extensions recommendations --- .vscode/extensions.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 28d296d..b84f2ac 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,5 +3,15 @@ "ms-azuretools.vscode-docker", "gamunu.vscode-yarn", "biomejs.biome", + "oouo-diogo-perdigao.docthis", + "dotenv.dotenv-vscode", + "github.vscode-github-actions", + "prisma.prisma", + "richie5um2.vscode-sort-json", + "rilut.ts-extract-interface", + "redhat.vscode-yaml", + "anthropic.claude-code", + "arcanis.vscode-zipfs", + "codescene.codescene-vscode", ] }