diff --git a/base/JaBa.js b/base/JaBa.js index 6b5c0741..d2097b80 100644 --- a/base/JaBa.js +++ b/base/JaBa.js @@ -249,6 +249,8 @@ class JaBa extends Client { return userData; } else { userData = new this.usersData({ id: userID }); + + userData.markModified(); await userData.save(); this.databaseCache.users.set(userID, userData); @@ -272,6 +274,8 @@ class JaBa extends Client { return memberData; } else { memberData = new this.membersData({ id: memberID, guildID: guildId }); + + memberData.markModified(); await memberData.save(); const guildData = await this.findOrCreateGuild(guildId); @@ -279,6 +283,7 @@ class JaBa extends Client { if (guildData) { guildData.members.push(memberData._id); + guildData.markModified("members"); await guildData.save(); } @@ -302,6 +307,8 @@ class JaBa extends Client { return guildData; } else { guildData = new this.guildsData({ id: guildId }); + + guildData.markModified(); await guildData.save(); this.databaseCache.guilds.set(guildId, guildData); diff --git a/commands/!DISABLED/importmee6.js b/commands/!DISABLED/importmee6.js index 66e32dad..ea27c57f 100644 --- a/commands/!DISABLED/importmee6.js +++ b/commands/!DISABLED/importmee6.js @@ -39,6 +39,7 @@ class ImportMee6 extends BaseCommand { data.memberData.level = level; + data.memberData.markModified(); await data.memberData.save(); interaction.editReply({ diff --git a/commands/Administration/automod.js b/commands/Administration/automod.js index dd68e21c..1ea54769 100644 --- a/commands/Administration/automod.js +++ b/commands/Administration/automod.js @@ -85,12 +85,14 @@ class Automod extends BaseCommand { ignored: [], }; + data.guildData.markModified("plugins.automod"); await data.guildData.save(); interaction.success(`administration/automod:${state ? "ENABLED" : "DISABLED"}`); } else if (command === "ignore") { data.guildData.plugins.automod.ignored.push(channel.id); + data.guildData.markModified("plugins.automod"); await data.guildData.save(); interaction.success("administration/automod:DISABLED_CHANNEL", { diff --git a/commands/Administration/autorole.js b/commands/Administration/autorole.js index 7121e811..f14cac61 100644 --- a/commands/Administration/autorole.js +++ b/commands/Administration/autorole.js @@ -66,6 +66,7 @@ class Autorole extends BaseCommand { role: role.id, }; + data.guildData.markModified("plugins.autorole"); await data.guildData.save(); interaction.success("administration/autorole:SUCCESS_ENABLED", { @@ -77,6 +78,7 @@ class Autorole extends BaseCommand { role: null, }; + data.guildData.markModified("plugins.autorole"); await data.guildData.save(); interaction.success("administration/autorole:SUCCESS_DISABLED"); diff --git a/commands/Administration/config.js b/commands/Administration/config.js index c3f64a85..28a14bfa 100644 --- a/commands/Administration/config.js +++ b/commands/Administration/config.js @@ -203,6 +203,7 @@ async function changeSetting(interaction, setting, state, channel, guildData) { if (!state) { guildData.plugins[settingSplitted[0]][settingSplitted[1]] = null; + guildData.markModified(`plugins.${settingSplitted[0]}`); await guildData.save(); return interaction.reply({ @@ -215,6 +216,7 @@ async function changeSetting(interaction, setting, state, channel, guildData) { if (channel) { guildData.plugins[settingSplitted[0]][settingSplitted[1]] = channel.id; + guildData.markModified(`plugins.${settingSplitted[0]}`); await guildData.save(); return interaction.reply({ diff --git a/commands/Administration/goodbye.js b/commands/Administration/goodbye.js index a77f2e3b..850f366f 100644 --- a/commands/Administration/goodbye.js +++ b/commands/Administration/goodbye.js @@ -108,6 +108,7 @@ class Goodbye extends BaseCommand { withImage: null, }; + data.guildData.markModified("plugins.goodbye"); await data.guildData.save(); interaction.success("administration/goodbye:DISABLED"); @@ -123,6 +124,7 @@ class Goodbye extends BaseCommand { withImage: image, }; + data.guildData.markModified("plugins.goodbye"); await data.guildData.save(); interaction.success("administration/goodbye:ENABLED", { diff --git a/commands/Administration/set.js b/commands/Administration/set.js index 53467fed..343e48cd 100644 --- a/commands/Administration/set.js +++ b/commands/Administration/set.js @@ -88,6 +88,7 @@ class Set extends BaseCommand { case "level": { memberData.level = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -99,6 +100,7 @@ class Set extends BaseCommand { case "xp": { memberData.exp = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -110,6 +112,7 @@ class Set extends BaseCommand { case "credits": { memberData.money = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -121,6 +124,7 @@ class Set extends BaseCommand { case "bank": { memberData.bankSold = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { diff --git a/commands/Administration/setlang.js b/commands/Administration/setlang.js index 8a852fbe..e5dc48b9 100644 --- a/commands/Administration/setlang.js +++ b/commands/Administration/setlang.js @@ -52,6 +52,7 @@ class Setlang extends BaseCommand { data.guildData.language = language.name; + data.guildData.markModified("language"); await data.guildData.save(); return interaction.success("administration/setlang:SUCCESS", { diff --git a/commands/Administration/welcome.js b/commands/Administration/welcome.js index f3af4bc5..b25bc15f 100644 --- a/commands/Administration/welcome.js +++ b/commands/Administration/welcome.js @@ -108,6 +108,7 @@ class Welcome extends BaseCommand { withImage: null, }; + data.guildData.markModified("plugins.welcome"); await data.guildData.save(); interaction.success("administration/welcome:DISABLED"); @@ -123,6 +124,7 @@ class Welcome extends BaseCommand { withImage: image, }; + data.guildData.markModified("plugins.welcome"); await data.guildData.save(); interaction.success("administration/welcome:ENABLED", { diff --git a/commands/Economy/achievements.js b/commands/Economy/achievements.js index 939772e0..677aaa24 100644 --- a/commands/Economy/achievements.js +++ b/commands/Economy/achievements.js @@ -47,7 +47,7 @@ class Achievements extends BaseCommand { const user = interaction.options.getUser("user") || interaction.member; if (user.bot) return interaction.error("economy/profile:BOT_USER"); - const userData = user.id === interaction.user.id ? data.userData : await client.findOrCreateUser({ id: user.id }); + const userData = user.id === interaction.user.id ? data.userData : await client.findOrCreateUser(user.id); const embed = new EmbedBuilder() .setAuthor({ diff --git a/commands/Economy/bank.js b/commands/Economy/bank.js index 1ac744ab..ce2ba5dd 100644 --- a/commands/Economy/bank.js +++ b/commands/Economy/bank.js @@ -69,6 +69,7 @@ class Bank extends BaseCommand { data.memberData.money -= credits; data.memberData.bankSold += credits; + data.memberData.markModified(); await data.memberData.save(); const info = { @@ -102,6 +103,7 @@ class Bank extends BaseCommand { data.memberData.money += credits; data.memberData.bankSold -= credits; + data.memberData.markModified(); await data.memberData.save(); interaction.success("economy/bank:SUCCESS_WD", { diff --git a/commands/Economy/birthdate.js b/commands/Economy/birthdate.js index b114b5cb..343c0fb9 100644 --- a/commands/Economy/birthdate.js +++ b/commands/Economy/birthdate.js @@ -90,6 +90,7 @@ class Birthdate extends BaseCommand { data.userData.birthdate = d; + data.userData.markModified(); await data.userData.save(); interaction.success("economy/birthdate:SUCCESS", { diff --git a/commands/Economy/divorce.js b/commands/Economy/divorce.js index 0c625f34..29e2c1fc 100644 --- a/commands/Economy/divorce.js +++ b/commands/Economy/divorce.js @@ -40,13 +40,13 @@ class Divorce extends BaseCommand { data.userData.lover = null; + data.userData.markModified(); await data.userData.save(); - const oldLover = await client.findOrCreateUser({ - id: user.id, - }); + const oldLover = await client.findOrCreateUser(user.id); oldLover.lover = null; + oldLover.markModified(); await oldLover.save(); interaction.success("economy/divorce:DIVORCED", { diff --git a/commands/Economy/marry.js b/commands/Economy/marry.js index 51815699..fadee4ea 100644 --- a/commands/Economy/marry.js +++ b/commands/Economy/marry.js @@ -52,9 +52,7 @@ class Marry extends BaseCommand { if (member.user.bot) return interaction.error("economy/marry:BOT_USER"); if (member.id === interaction.member.id) return interaction.error("economy/marry:YOURSELF"); - const userData = await client.findOrCreateUser({ - id: member.id, - }); + const userData = await client.findOrCreateUser(member.id); if (userData.lover) return interaction.error("economy/marry:ALREADY_MARRIED_USER", { user: member.toString() }); for (const requester in pendings) { @@ -130,6 +128,8 @@ class Marry extends BaseCommand { data.userData.lover = member.id; userData.lover = interaction.member.id; + data.userData.markModified(); + userData.markModified(); await data.userData.save(); await userData.save(); @@ -150,6 +150,7 @@ class Marry extends BaseCommand { userData.achievements.married.achieved = true; userData.achievements.married.progress.now = 1; + userData.markModified(); await userData.save(); } @@ -158,6 +159,7 @@ class Marry extends BaseCommand { data.userData.achievements.married.achieved = true; data.userData.achievements.married.progress.now = 1; + data.userData.markModified(); await data.userData.save(); } diff --git a/commands/Economy/pay.js b/commands/Economy/pay.js index 4d08b44a..699176ed 100644 --- a/commands/Economy/pay.js +++ b/commands/Economy/pay.js @@ -73,10 +73,12 @@ class Pay extends BaseCommand { data.memberData.money -= amount; + data.memberData.markModified(); await data.memberData.save(); memberData.money += amount; + memberData.markModified(); await memberData.save(); const info1 = { diff --git a/commands/Economy/profile.js b/commands/Economy/profile.js index bef59615..8bfdd772 100644 --- a/commands/Economy/profile.js +++ b/commands/Economy/profile.js @@ -50,7 +50,7 @@ class Profile extends BaseCommand { if (member.user.bot) return interaction.error("economy/profile:BOT_USER"); const memberData = member.id === interaction.user.id ? data.memberData : await client.findOrCreateMember({ id: member.id, guildId: interaction.guildId }); - const userData = member.id === interaction.user.id ? data.userData : await client.findOrCreateUser({ id: member.id }); + const userData = member.id === interaction.user.id ? data.userData : await client.findOrCreateUser(member.id); if (userData.lover && !client.users.cache.find(u => u.id === userData.lover)) await client.users.fetch(userData.lover, true); const guilds = client.guilds.cache.filter(g => g.members.cache.find(m => m.id === member.id)); diff --git a/commands/Economy/rep.js b/commands/Economy/rep.js index 2f30e5e5..7f45ac1e 100644 --- a/commands/Economy/rep.js +++ b/commands/Economy/rep.js @@ -62,11 +62,10 @@ class Rep extends BaseCommand { data.userData.cooldowns.rep = toWait; + data.userData.markModified(); await data.userData.save(); - const userData = await client.findOrCreateUser({ - id: user.id, - }); + const userData = await client.findOrCreateUser(user.id); userData.rep++; @@ -86,6 +85,7 @@ class Rep extends BaseCommand { } } + userData.markModified(); await userData.save(); interaction.success("economy/rep:SUCCESS", { diff --git a/commands/Economy/rob.js b/commands/Economy/rob.js index f769e4bd..c37f55f7 100644 --- a/commands/Economy/rob.js +++ b/commands/Economy/rob.js @@ -88,6 +88,7 @@ class Rob extends BaseCommand { memberData.cooldowns.rob = toWait; + memberData.markModified(); await memberData.save(); interaction.replyT("economy/rob:ROB_WON_" + randomNum, { @@ -98,6 +99,8 @@ class Rob extends BaseCommand { data.memberData.money += amount; memberData.money -= amount; + data.memberData.markModified(); + memberData.markModified(); await data.memberData.save(); await memberData.save(); } else { @@ -113,6 +116,8 @@ class Rob extends BaseCommand { data.memberData.money -= potentiallyLose; memberData.money += won; + data.memberData.markModified(); + memberData.markModified(); await data.memberData.save(); await memberData.save(); } diff --git a/commands/Economy/setbio.js b/commands/Economy/setbio.js index 0b7d356e..ec6143c7 100644 --- a/commands/Economy/setbio.js +++ b/commands/Economy/setbio.js @@ -50,6 +50,7 @@ class Setbio extends BaseCommand { data.userData.bio = newBio; + data.userData.markModified(); await data.userData.save(); interaction.success("economy/setbio:SUCCESS"); diff --git a/commands/Economy/slots.js b/commands/Economy/slots.js index 63a3e7fc..f412fe9c 100644 --- a/commands/Economy/slots.js +++ b/commands/Economy/slots.js @@ -143,9 +143,11 @@ class Slots extends BaseCommand { }); } + data.userData.markModified(); await data.userData.save(); } + data.memberData.markModified(); await data.memberData.save(); return; @@ -191,9 +193,11 @@ class Slots extends BaseCommand { }); } + data.userData.markModified(); await data.userData.save(); } + data.memberData.markModified(); await data.memberData.save(); return; @@ -220,9 +224,11 @@ class Slots extends BaseCommand { if (!data.userData.achievements.slots.achieved) { data.userData.achievements.slots.progress.now = 0; + data.userData.markModified(); await data.userData.save(); } + data.memberData.markModified(); await data.memberData.save(); return; diff --git a/commands/Economy/transactions.js b/commands/Economy/transactions.js index 24547337..a5dbc2e0 100644 --- a/commands/Economy/transactions.js +++ b/commands/Economy/transactions.js @@ -47,6 +47,7 @@ class Transactions extends BaseCommand { if (interaction.options.getBoolean("clear")) { data.memberData.transactions = []; + data.memberData.markModified("transactions"); await data.memberData.save(); return interaction.success("economy/transactions:CLEARED", null, { ephemeral: true }); diff --git a/commands/Economy/work.js b/commands/Economy/work.js index 985c0d50..379f5115 100644 --- a/commands/Economy/work.js +++ b/commands/Economy/work.js @@ -48,6 +48,7 @@ class Work extends BaseCommand { data.memberData.cooldowns.work = toWait; data.memberData.workStreak = (data.memberData.workStreak || 0) + 1; + data.memberData.markModified(); await data.memberData.save(); const embed = new EmbedBuilder() @@ -98,6 +99,7 @@ class Work extends BaseCommand { data.memberData.money += won; + data.memberData.markModified(); await data.memberData.save(); const info = { @@ -124,6 +126,7 @@ class Work extends BaseCommand { data.userData.achievements.work.achieved = true; } + data.userData.markModified(); await data.userData.save(); } diff --git a/commands/Fun/number.js b/commands/Fun/number.js index dcb64bf0..6c52f082 100644 --- a/commands/Fun/number.js +++ b/commands/Fun/number.js @@ -96,6 +96,7 @@ class Number extends BaseCommand { }; data.memberData.transactions.push(info); + memberData.markModified("transactions"); await memberData.save(); } diff --git a/commands/Fun/tictactoe.js b/commands/Fun/tictactoe.js index f3d67230..c0e5c7b4 100644 --- a/commands/Fun/tictactoe.js +++ b/commands/Fun/tictactoe.js @@ -58,15 +58,17 @@ class TicTacToe extends BaseCommand { memberData.money += 100; - await memberData.save(); - const info = { user: interaction.translate("economy/transactions:TTT"), amount: 100, date: Date.now(), type: "got", }; + memberData.transactions.push(info); + + memberData.markModified(); + await memberData.save(); }); } } diff --git a/commands/General/afk.js b/commands/General/afk.js index 57aa68c4..121a1d42 100644 --- a/commands/General/afk.js +++ b/commands/General/afk.js @@ -51,6 +51,7 @@ class Afk extends BaseCommand { data.userData.afk = reason; + data.userData.markModified(); await data.userData.save(); interaction.success("general/afk:SUCCESS", { diff --git a/commands/General/remindme.js b/commands/General/remindme.js index e917292d..ecde111b 100644 --- a/commands/General/remindme.js +++ b/commands/General/remindme.js @@ -72,6 +72,7 @@ class Remindme extends BaseCommand { data.userData.reminds.push(rData); + data.userData.markModified("reminds"); await data.userData.save(); client.databaseCache.usersReminds.set(interaction.user.id, data.userData); diff --git a/commands/Moderation/clearwarns.js b/commands/Moderation/clearwarns.js index 4b94b562..1e66b199 100644 --- a/commands/Moderation/clearwarns.js +++ b/commands/Moderation/clearwarns.js @@ -55,6 +55,7 @@ class Clearwarns extends BaseCommand { memberData.sanctions = []; + memberData.markModified("sanctions"); await memberData.save(); interaction.success("moderation/clearwarns:SUCCESS", { diff --git a/commands/Moderation/warn.js b/commands/Moderation/warn.js index cc3fbbe1..0136e4e2 100644 --- a/commands/Moderation/warn.js +++ b/commands/Moderation/warn.js @@ -178,6 +178,7 @@ class Warn extends BaseCommand { memberData.sanctions.push(caseInfo); + memberData.markModified("sanctions"); await memberData.save(); if (data.guildData.plugins.modlogs) { diff --git a/commands/Owner/debug.js b/commands/Owner/debug.js index adcdb9b4..a84faaca 100644 --- a/commands/Owner/debug.js +++ b/commands/Owner/debug.js @@ -136,9 +136,7 @@ class Debug extends BaseCommand { const member = interaction.options.getMember("user"); if (member.user.bot) return interaction.error("misc:BOT_USER", null, { ephemeral: true }); - const userData = await client.findOrCreateUser({ - id: member.id, - }), + const userData = await client.findOrCreateUser(member.id), memberData = await client.findOrCreateMember({ id: member.id, guildId: interaction.guildId, @@ -148,6 +146,7 @@ class Debug extends BaseCommand { case "level": { memberData.level = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -159,6 +158,7 @@ class Debug extends BaseCommand { case "xp": { memberData.exp = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -170,6 +170,7 @@ class Debug extends BaseCommand { case "credits": { memberData.money = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -181,6 +182,7 @@ class Debug extends BaseCommand { case "bank": { memberData.bankSold = int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -192,6 +194,7 @@ class Debug extends BaseCommand { case "rep": { userData.rep = int; + userData.markModified(); await userData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -207,9 +210,7 @@ class Debug extends BaseCommand { const member = interaction.options.getMember("target"); if (member.user.bot) return interaction.error("misc:BOT_USER", null, { ephemeral: true }); - const userData = await client.findOrCreateUser({ - id: member.id, - }), + const userData = await client.findOrCreateUser(member.id), memberData = await client.findOrCreateMember({ id: member.id, guildId: interaction.guildId, @@ -219,6 +220,7 @@ class Debug extends BaseCommand { case "level": { memberData.level += int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -230,6 +232,7 @@ class Debug extends BaseCommand { case "xp": { memberData.exp += int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -241,6 +244,7 @@ class Debug extends BaseCommand { case "credits": { memberData.money += int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -252,6 +256,7 @@ class Debug extends BaseCommand { case "bank": { memberData.bankSold += int; + memberData.markModified(); await memberData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { @@ -263,6 +268,7 @@ class Debug extends BaseCommand { case "rep": { userData.rep += int; + userData.markModified(); await userData.save(); return interaction.success(`owner/debug:SUCCESS_${type.toUpperCase()}`, { diff --git a/commands/Tickets/createticketembed.js b/commands/Tickets/createticketembed.js index 73c6e64b..e0495fc8 100644 --- a/commands/Tickets/createticketembed.js +++ b/commands/Tickets/createticketembed.js @@ -45,6 +45,7 @@ class CreateTicketEmbed extends BaseCommand { guildData.plugins.tickets.count++; + guildData.markModified("plugins.tickets"); await guildData.save(); const channel = await interaction.guild.channels.create({ diff --git a/dashboard/settings.js b/dashboard/settings.js index 8271cf64..310a9df5 100644 --- a/dashboard/settings.js +++ b/dashboard/settings.js @@ -29,6 +29,7 @@ module.exports = client => [ guildData.language = newData; + guildData.markModified(); await guildData.save(); return; @@ -54,6 +55,7 @@ module.exports = client => [ guildData.plugins.welcome.enabled = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -74,6 +76,7 @@ module.exports = client => [ guildData.plugins.welcome.withImage = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -94,6 +97,7 @@ module.exports = client => [ guildData.plugins.welcome.message = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -114,6 +118,7 @@ module.exports = client => [ guildData.plugins.welcome.channel = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -141,6 +146,7 @@ module.exports = client => [ guildData.plugins.goodbye.enabled = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -161,6 +167,7 @@ module.exports = client => [ guildData.plugins.goodbye.withImage = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -181,6 +188,7 @@ module.exports = client => [ guildData.plugins.goodbye.message = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -201,6 +209,7 @@ module.exports = client => [ guildData.plugins.goodbye.channel = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -228,6 +237,7 @@ module.exports = client => [ guildData.plugins.autorole.enabled = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -248,6 +258,7 @@ module.exports = client => [ guildData.plugins.autorole.role = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -275,6 +286,7 @@ module.exports = client => [ guildData.plugins.automod.enabled = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -295,6 +307,7 @@ module.exports = client => [ guildData.plugins.automod.ignored = newData; + guildData.markModified("plugins"); await guildData.save(); return; @@ -324,6 +337,7 @@ module.exports = client => [ guildData.plugins.monitoring.messageUpdate = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -346,6 +360,7 @@ module.exports = client => [ guildData.plugins.monitoring.messageDelete = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -373,6 +388,7 @@ module.exports = client => [ guildData.plugins.suggestions = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -393,6 +409,7 @@ module.exports = client => [ guildData.plugins.reports = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -413,6 +430,7 @@ module.exports = client => [ guildData.plugins.birthdays = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; @@ -433,6 +451,7 @@ module.exports = client => [ guildData.plugins.modlogs = newData !== "" ? newData : null; + guildData.markModified("plugins"); await guildData.save(); return; diff --git a/events/CommandHandler.js b/events/CommandHandler.js index 5b00b60b..ebb7f887 100644 --- a/events/CommandHandler.js +++ b/events/CommandHandler.js @@ -18,7 +18,7 @@ class CommandHandler extends BaseEvent { const command = client.commands.get(interaction.commandName); const data = []; - const userData = await client.findOrCreateUser({ id: interaction.user.id }); + const userData = await client.findOrCreateUser(interaction.user.id); data.userData = userData; if (interaction.inGuild()) { @@ -51,6 +51,7 @@ class CommandHandler extends BaseEvent { userData.achievements.firstCommand.progress.now = 1; userData.achievements.firstCommand.achieved = true; + userData.markModified("achievements"); await userData.save(); interaction.user.send(args); diff --git a/events/Guild/guildCreate.js b/events/Guild/guildCreate.js index af6435ba..b0401a33 100644 --- a/events/Guild/guildCreate.js +++ b/events/Guild/guildCreate.js @@ -15,12 +15,13 @@ class GuildCreate extends BaseEvent { * @param {import("discord.js").Guild} guild */ async execute(client, guild) { - const userData = await client.findOrCreateUser({ id: guild.ownerId }); + const userData = await client.findOrCreateUser(guild.ownerId); if (!userData.achievements.invite.achieved) { userData.achievements.invite.progress.now = 1; userData.achievements.invite.achieved = true; + userData.markModified("achievements"); await userData.save(); } diff --git a/events/Guild/guildMemberAdd.js b/events/Guild/guildMemberAdd.js index 38528644..878b51d2 100644 --- a/events/Guild/guildMemberAdd.js +++ b/events/Guild/guildMemberAdd.js @@ -138,7 +138,8 @@ class GuildMemberAdd extends BaseEvent { content: message, files: [attachment], }); - } else channel.send({ content: message }); + } else + channel.send({ content: message }); } } } diff --git a/events/Guild/guildMemberRemove.js b/events/Guild/guildMemberRemove.js index 08db4544..5e3edd32 100644 --- a/events/Guild/guildMemberRemove.js +++ b/events/Guild/guildMemberRemove.js @@ -141,7 +141,8 @@ class GuildMemberRemove extends BaseEvent { content: message, files: [attachment], }); - } else channel.send({ content: message }); + } else + channel.send({ content: message }); } } } diff --git a/events/Guild/guildMemberUpdate.js b/events/Guild/guildMemberUpdate.js index 059cf5dd..12be20a7 100644 --- a/events/Guild/guildMemberUpdate.js +++ b/events/Guild/guildMemberUpdate.js @@ -20,11 +20,12 @@ class GuildMemberUpdate extends BaseEvent { if (oldMember.roles.cache.some(r => r.id === "940149470975365191")) return; if (newMember?.roles.cache.some(r => r.id === "940149470975365191")) { - const userData = await client.findOrCreateUser({ id: newMember.id }); + const userData = await client.findOrCreateUser(newMember.id); userData.achievements.tip.progress.now = 1; userData.achievements.tip.achieved = true; + userData.markModified("achievements"); await userData.save(); newMember.send({ diff --git a/events/MessageHandler.js b/events/MessageHandler.js index a6a3805d..cc98ab8a 100644 --- a/events/MessageHandler.js +++ b/events/MessageHandler.js @@ -24,7 +24,7 @@ class MessageCreate extends BaseEvent { if (message.author.bot) return; if (message.content.match(new RegExp(`^<@!?${client.user.id}>( |)$`))) return message.replyT("misc:HELLO_SERVER", null, { mention: true }); - const userData = await client.findOrCreateUser({ id: message.author.id }); + const userData = await client.findOrCreateUser(message.author.id); data.userData = userData; if (message.guild && !message.member) await message.guild.members.fetch(message.author.id); @@ -105,10 +105,10 @@ class MessageCreate extends BaseEvent { message.delete(); } - const afkReason = data.userData.afk; - if (afkReason) { + if (data.userData.afk) { data.userData.afk = null; + data.userData.markModified(); await data.userData.save(); message.replyT("general/afk:DELETED", { @@ -117,7 +117,7 @@ class MessageCreate extends BaseEvent { } message.mentions.users.forEach(async u => { - const userData = await client.findOrCreateUser({ id: u.id }); + const userData = await client.findOrCreateUser(u.id); if (userData.afk) message.replyT("general/afk:IS_AFK", { user: u.getUsername(), reason: userData.afk }, { ephemeral: true }); }); @@ -156,6 +156,7 @@ async function updateXp(client, msg, memberData) { }, { mention: false }); } else memberData.exp = parseInt(newXp, 10); + memberData.markModified(); await memberData.save(); } diff --git a/helpers/checkReminds.js b/helpers/checkReminds.js index 1f41120c..9c039d80 100644 --- a/helpers/checkReminds.js +++ b/helpers/checkReminds.js @@ -49,6 +49,7 @@ module.exports.init = function (client) { }); user.reminds = user.reminds.filter(r => r.sendAt >= dateNow); + user.markModified("reminds"); await user.save(); if (user.reminds.length === 0) client.databaseCache.usersReminds.delete(user.id); diff --git a/helpers/cleanup.js b/helpers/cleanup.js index 3c9521a8..c99b8d68 100644 --- a/helpers/cleanup.js +++ b/helpers/cleanup.js @@ -30,6 +30,7 @@ module.exports.init = async function (client) { const index = transactions.indexOf(transaction); transactions.splice(index, 1); + member.markModified("transactions"); await member.save(); } } @@ -45,6 +46,7 @@ module.exports.init = async function (client) { client.usersData.deleteOne({ id: u.id }); client.logger.log(`Removed from database deleted user - ID: ${u.id} Username: ${u.username}`); + client.usersData.markModified(); client.usersData.save(); } }); @@ -59,6 +61,7 @@ module.exports.init = async function (client) { client.membersData.deleteOne({ id: u.id }); client.logger.log(`Removed from database deleted user - ID: ${u.id} Username: ${u.username}`); + client.membersData.markModified(); client.membersData.save(); } }); diff --git a/package.json b/package.json index f10ed81e..dc7fe9d5 100644 --- a/package.json +++ b/package.json @@ -14,25 +14,25 @@ "@discordjs/opus": "^0.9.0", "@discordjs/rest": "^2.0.1", "@discordjs/voice": "^0.16.0", - "canvas": "^2.10.2", + "canvas": "^2.11.2", "chalk": "^4.1.2", - "cron": "^2.1.0", + "cron": "^2.4.4", "discord-api-types": "^0.37.62", "discord-giveaways": "^6.0.1", "discord-player": "^6.6.6", "discord.js": "^14.13.0", - "gamedig": "^4.0.2", - "i18next": "^21.9.1", - "i18next-fs-backend": "^1.1.5", - "md5": "^2.2.1", - "moment": "^2.26.0", + "gamedig": "^4.1.0", + "i18next": "^21.10.0", + "i18next-fs-backend": "^1.2.0", + "md5": "^2.3.0", + "moment": "^2.29.4", "mongoose": "^7.6.3", "ms": "^2.1.3", - "node-fetch": "^2.6.7", + "node-fetch": "^2.7.0", "youtube-ext": "^1.1.16" }, "devDependencies": { - "eslint": "^8.23.0" + "eslint": "^8.52.0" }, "eslintConfig": { "env": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb50060b..fc5eb161 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,14 +18,14 @@ dependencies: specifier: ^0.16.0 version: 0.16.0(@discordjs/opus@0.9.0) canvas: - specifier: ^2.10.2 - version: 2.10.2 + specifier: ^2.11.2 + version: 2.11.2 chalk: specifier: ^4.1.2 version: 4.1.2 cron: - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^2.4.4 + version: 2.4.4 discord-api-types: specifier: ^0.37.62 version: 0.37.62 @@ -39,20 +39,20 @@ dependencies: specifier: ^14.13.0 version: 14.13.0 gamedig: - specifier: ^4.0.2 - version: 4.0.2 + specifier: ^4.1.0 + version: 4.1.0 i18next: - specifier: ^21.9.1 - version: 21.9.1 + specifier: ^21.10.0 + version: 21.10.0 i18next-fs-backend: - specifier: ^1.1.5 - version: 1.1.5 + specifier: ^1.2.0 + version: 1.2.0 md5: - specifier: ^2.2.1 - version: 2.2.1 + specifier: ^2.3.0 + version: 2.3.0 moment: - specifier: ^2.26.0 - version: 2.26.0 + specifier: ^2.29.4 + version: 2.29.4 mongoose: specifier: ^7.6.3 version: 7.6.3 @@ -60,16 +60,16 @@ dependencies: specifier: ^2.1.3 version: 2.1.3 node-fetch: - specifier: ^2.6.7 - version: 2.6.7 + specifier: ^2.7.0 + version: 2.7.0 youtube-ext: specifier: ^1.1.16 version: 1.1.16 devDependencies: eslint: - specifier: ^8.23.0 - version: 8.23.0 + specifier: ^8.52.0 + version: 8.52.0 packages: @@ -78,11 +78,11 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@babel/runtime@7.22.5: - resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==} + /@babel/runtime@7.23.2: + resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.13.11 + regenerator-runtime: 0.14.0 dev: false /@discord-player/equalizer@0.2.3: @@ -95,10 +95,10 @@ packages: file-type: 16.5.4 genius-lyrics: 4.4.6 isomorphic-unfetch: 4.0.2 - node-html-parser: 6.1.10 + node-html-parser: 6.1.11 reverbnation-scraper: 2.0.0 soundcloud.ts: 0.5.2 - spotify-url-info: 3.2.8 + spotify-url-info: 3.2.9 youtube-sr: 4.3.9 transitivePeerDependencies: - encoding @@ -124,7 +124,7 @@ packages: dependencies: '@discordjs/formatters': 0.3.2 '@discordjs/util': 1.0.1 - '@sapphire/shapeshift': 3.9.2 + '@sapphire/shapeshift': 3.9.3 discord-api-types: 0.37.50 fast-deep-equal: 3.1.3 ts-mixer: 6.0.3 @@ -147,15 +147,15 @@ packages: resolution: {integrity: sha512-YJOVVZ545x24mHzANfYoy0BJX5PDyeZlpiJjDkUBM/V/Ao7TFX9lcUvCN4nr0tbr5ubeaXxtEBILUrHtTphVeQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.2 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.12 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.5.3 - tar: 6.1.15 + semver: 7.5.4 + tar: 6.2.0 transitivePeerDependencies: - encoding - supports-color @@ -183,7 +183,7 @@ packages: '@sapphire/snowflake': 3.5.1 '@vladfrangu/async_event_emitter': 2.2.2 discord-api-types: 0.37.50 - magic-bytes.js: 1.0.15 + magic-bytes.js: 1.5.0 tslib: 2.6.2 undici: 5.22.1 dev: false @@ -197,11 +197,11 @@ packages: resolution: {integrity: sha512-ToGCvHD1cBscuW3p+C7zOF5+L7MJmU4GjdOARfNk9mkHyFFZq4grK+Sxr3QXKbp27DtfDBc9uqD4GUOYgxngfA==} engines: {node: '>=16.9.0'} dependencies: - '@types/ws': 8.5.5 + '@types/ws': 8.5.8 discord-api-types: 0.37.62 prism-media: 1.3.5(@discordjs/opus@0.9.0) - tslib: 2.6.0 - ws: 8.13.0 + tslib: 2.6.2 + ws: 8.14.2 transitivePeerDependencies: - '@discordjs/opus' - bufferutil @@ -219,24 +219,39 @@ packages: '@discordjs/rest': 2.0.1 '@discordjs/util': 1.0.1 '@sapphire/async-queue': 1.5.0 - '@types/ws': 8.5.5 + '@types/ws': 8.5.8 '@vladfrangu/async_event_emitter': 2.2.2 discord-api-types: 0.37.50 tslib: 2.6.2 - ws: 8.13.0 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - utf-8-validate dev: false - /@eslint/eslintrc@1.4.1: - resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.52.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.0 - globals: 13.20.0 + espree: 9.6.1 + globals: 13.23.0 ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -246,55 +261,56 @@ packages: - supports-color dev: true + /@eslint/js@8.52.0: + resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@fastify/busboy@2.0.0: resolution: {integrity: sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==} engines: {node: '>=14'} dev: false - /@humanwhocodes/config-array@0.10.7: - resolution: {integrity: sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==} + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 1.2.1 + '@humanwhocodes/object-schema': 2.0.1 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true - /@humanwhocodes/gitignore-to-minimatch@1.0.2: - resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} - dev: true - /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} dev: true - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true dependencies: - detect-libc: 2.0.1 + detect-libc: 2.0.2 https-proxy-agent: 5.0.1 make-dir: 3.1.0 - node-fetch: 2.6.12 + node-fetch: 2.7.0 nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.5.3 - tar: 6.1.15 + semver: 7.5.4 + tar: 6.2.0 transitivePeerDependencies: - encoding - supports-color dev: false - /@mongodb-js/saslprep@1.1.0: - resolution: {integrity: sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==} + /@mongodb-js/saslprep@1.1.1: + resolution: {integrity: sha512-t7c5K033joZZMspnHg/gWPE4kandgc2OxE74aYOtGKfgB9VPuVJPix0H6fhmm2erj5PBJ21mqcx34lpIGtUCsQ==} requiresBuild: true dependencies: sparse-bitfield: 3.0.3 @@ -327,8 +343,8 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sapphire/shapeshift@3.9.2: - resolution: {integrity: sha512-YRbCXWy969oGIdqR/wha62eX8GNHsvyYi0Rfd4rNW6tSVVa8p0ELiMEuOH/k8rgtvRoM+EMV7Csqz77YdwiDpA==} + /@sapphire/shapeshift@3.9.3: + resolution: {integrity: sha512-WzKJSwDYloSkHoBbE8rkRW8UNKJiSRJ/P8NqJ5iVq7U2Yr/kriIBx2hW+wj2Z5e5EnXL1hgYomgaFsdK6b+zqQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dependencies: fast-deep-equal: 3.1.3 @@ -340,8 +356,8 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: false - /@sindresorhus/is@5.4.1: - resolution: {integrity: sha512-axlrvsHlHlFmKKMEg4VyvMzFr93JWJj4eIfXY1STVuO2fsImCa7ncaiG5gC8HKOX590AW5RtRsC41/B+OfrSqw==} + /@sindresorhus/is@5.6.0: + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} engines: {node: '>=14.16'} dev: false @@ -356,12 +372,18 @@ packages: resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} dev: false - /@types/http-cache-semantics@4.0.1: - resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + /@types/http-cache-semantics@4.0.3: + resolution: {integrity: sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA==} dev: false - /@types/node@20.3.3: - resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} + /@types/luxon@3.3.3: + resolution: {integrity: sha512-/BJF3NT0pRMuxrenr42emRUF67sXwcZCd+S1ksG/Fcf9O7C3kKCY4uJSbKBE4KDUIYr3WMsvfmWD8hRjXExBJQ==} + dev: false + + /@types/node@20.8.9: + resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} + dependencies: + undici-types: 5.26.5 dev: false /@types/webidl-conversions@7.0.2: @@ -371,16 +393,20 @@ packages: /@types/whatwg-url@8.2.2: resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} dependencies: - '@types/node': 20.3.3 + '@types/node': 20.8.9 '@types/webidl-conversions': 7.0.2 dev: false - /@types/ws@8.5.5: - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} + /@types/ws@8.5.8: + resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} dependencies: - '@types/node': 20.3.3 + '@types/node': 20.8.9 dev: false + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + /@vladfrangu/async_event_emitter@2.2.2: resolution: {integrity: sha512-HIzRG7sy88UZjBJamssEczH5q7t5+axva19UbZLO6u0ySbYPrwzWiXBcC0WuHyhKKoeCyneH+FvYzKQq/zTtkQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} @@ -390,16 +416,16 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /acorn-jsx@5.3.2(acorn@8.9.0): + /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.9.0 + acorn: 8.11.2 dev: true - /acorn@8.9.0: - resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -422,11 +448,6 @@ packages: uri-js: 4.4.1 dev: true - /amdefine@1.0.1: - resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} - engines: {node: '>=0.4.2'} - dev: false - /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -457,11 +478,6 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -481,13 +497,6 @@ packages: balanced-match: 1.0.2 concat-map: 0.0.1 - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - /bson@5.5.1: resolution: {integrity: sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==} engines: {node: '>=14.20.1'} @@ -505,14 +514,14 @@ packages: engines: {node: '>=14.16'} dev: false - /cacheable-request@10.2.12: - resolution: {integrity: sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==} + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} dependencies: - '@types/http-cache-semantics': 4.0.1 + '@types/http-cache-semantics': 4.0.3 get-stream: 6.0.1 http-cache-semantics: 4.1.1 - keyv: 4.5.2 + keyv: 4.5.4 mimic-response: 4.0.0 normalize-url: 8.0.0 responselike: 3.0.0 @@ -523,13 +532,13 @@ packages: engines: {node: '>=6'} dev: true - /canvas@2.10.2: - resolution: {integrity: sha512-FSmlsip0nZ0U4Zcfht0qBJqDhlfGuevTZKE8h+dBOYrJjGvY3iqMGSzzbvkaFhvMXiVxfcMaPHS/kge++T5SKg==} + /canvas@2.11.2: + resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} engines: {node: '>=6'} requiresBuild: true dependencies: - '@mapbox/node-pre-gyp': 1.0.10 - nan: 2.17.0 + '@mapbox/node-pre-gyp': 1.0.11 + nan: 2.18.0 simple-get: 3.1.1 transitivePeerDependencies: - encoding @@ -590,19 +599,9 @@ packages: hasBin: true dev: false - /commander@2.8.1: - resolution: {integrity: sha512-+pJLBFVk+9ZZdlAOB5WuIElVPPth47hILFkmGym57aq8kwxsowvByvB0DHs1vQAhyMZzdcpTtF0VDKGkSDR4ZQ==} - engines: {node: '>= 0.6.x'} - dependencies: - graceful-readlink: 1.0.1 - dev: false - - /compressjs@1.0.3: - resolution: {integrity: sha512-jpKJjBTretQACTGLNuvnozP1JdP2ZLrjdGdBgk/tz1VfXlUcBhhSZW6vEsuThmeot/yjvSrPQKEgfF3X2Lpi8Q==} - hasBin: true - dependencies: - amdefine: 1.0.1 - commander: 2.8.1 + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} dev: false /concat-map@0.0.1: @@ -616,10 +615,11 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: false - /cron@2.1.0: - resolution: {integrity: sha512-Hq7u3P8y7UWYvsZbSKHHJDVG0VO9O7tp2qljxzTScelcTODBfCme8AIhnZsFwmQ9NchZ3hr2uNr+s3DSms7q6w==} + /cron@2.4.4: + resolution: {integrity: sha512-MHlPImXJj3K7x7lyUHjtKEOl69CSlTOWxS89jiFgNkzXfvhVjhMz/nc7/EIfN9vgooZp8XTtXJ1FREdmbyXOiQ==} dependencies: - luxon: 1.28.1 + '@types/luxon': 3.3.3 + luxon: 3.3.0 dev: false /cross-spawn@7.0.3: @@ -698,18 +698,11 @@ packages: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: false - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} engines: {node: '>=8'} dev: false - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /discord-api-types@0.37.50: resolution: {integrity: sha512-X4CDiMnDbA3s3RaUXWXmgAIbY1uxab3fqe3qwzg5XutR3wjqi7M3IkgQbsIBzpqBN2YWr/Qdv7JrFRqSgb4TFg==} dev: false @@ -740,7 +733,7 @@ packages: '@discord-player/utils': 0.2.2 discord-voip: 0.1.3(@discordjs/opus@0.9.0) ip: 1.1.8 - libsodium-wrappers: 0.7.11 + libsodium-wrappers: 0.7.13 transitivePeerDependencies: - '@discordjs/opus' - bufferutil @@ -756,11 +749,11 @@ packages: dependencies: '@discord-player/ffmpeg': 0.1.0 '@discord-player/opus': 0.1.2 - '@types/ws': 8.5.5 + '@types/ws': 8.5.8 discord-api-types: 0.37.62 prism-media: 1.3.5(@discordjs/opus@0.9.0) tslib: 2.6.2 - ws: 8.13.0 + ws: 8.14.2 transitivePeerDependencies: - '@discordjs/opus' - bufferutil @@ -781,13 +774,13 @@ packages: '@discordjs/util': 1.0.1 '@discordjs/ws': 1.0.1 '@sapphire/snowflake': 3.5.1 - '@types/ws': 8.5.5 + '@types/ws': 8.5.8 discord-api-types: 0.37.50 fast-deep-equal: 3.1.3 lodash.snakecase: 4.1.1 tslib: 2.6.2 undici: 5.22.1 - ws: 8.13.0 + ws: 8.14.2 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -841,67 +834,53 @@ packages: engines: {node: '>=10'} dev: true - /eslint-scope@7.2.0: - resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.23.0): - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.23.0 - eslint-visitor-keys: 2.1.0 - dev: true - - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true - - /eslint-visitor-keys@3.4.1: - resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.23.0: - resolution: {integrity: sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA==} + /eslint@8.52.0: + resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.4.1 - '@humanwhocodes/config-array': 0.10.7 - '@humanwhocodes/gitignore-to-minimatch': 1.0.2 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.52.0 + '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.0 - eslint-utils: 3.0.0(eslint@8.23.0) - eslint-visitor-keys: 3.4.1 - espree: 9.6.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 find-up: 5.0.0 - functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.20.0 - globby: 11.1.0 - grapheme-splitter: 1.0.4 + globals: 13.23.0 + graphemer: 1.4.0 ignore: 5.2.4 - import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 + is-path-inside: 3.0.3 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -909,21 +888,19 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - regexpp: 3.2.0 strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree@9.6.0: - resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) - eslint-visitor-keys: 3.4.1 + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 dev: true /esquery@1.5.0: @@ -958,17 +935,6 @@ packages: /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob@3.3.0: - resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true @@ -995,7 +961,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.1 dev: true /file-type@16.5.4: @@ -1007,13 +973,6 @@ packages: token-types: 4.2.1 dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -1022,16 +981,17 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.1: + resolution: {integrity: sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==} + engines: {node: '>=12.0.0'} dependencies: - flatted: 3.2.7 + flatted: 3.2.9 + keyv: 4.5.4 rimraf: 3.0.2 dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true /form-data-encoder@2.1.4: @@ -1056,24 +1016,19 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - dev: true - - /gamedig@4.0.2: - resolution: {integrity: sha512-sTqdQce36vdFeZ05aPRfVux62nueq4jxRmbbAXPPxUx/srTDWwhDwxLPYLDTu9mT0ItLdJ9rceCE0moDOt51Mg==} - engines: {node: '>=12.0.0'} + /gamedig@4.1.0: + resolution: {integrity: sha512-jvLUEakihJgpiw9t9yQRsbcemeALeTNlnaWY1gvYdwI63ZlkxznTaLqX5K/eluRTTCtAWNW3YceT6NVjyAZIwA==} + engines: {node: '>=14.0.0'} hasBin: true dependencies: cheerio: 1.0.0-rc.12 - compressjs: 1.0.3 gbxremote: 0.2.1 got: 12.6.1 iconv-lite: 0.6.3 long: 5.2.3 minimist: 1.2.8 - moment: 2.29.4 punycode: 2.3.0 + seek-bzip: 2.0.0 varint: 6.0.0 dev: false @@ -1106,8 +1061,8 @@ packages: /genius-lyrics@4.4.6: resolution: {integrity: sha512-TeSF4qXwLm+Nl8wUX+WUTJlEhPBanMw9EWpIHE2a/Qs4y2NBK99AHYfZJc73H1HVkZj4zPfscuGWlkQbbh0pDA==} dependencies: - node-html-parser: 6.1.10 - undici: 5.26.4 + node-html-parser: 6.1.11 + undici: 5.27.0 dev: false /get-stream@6.0.1: @@ -1115,13 +1070,6 @@ packages: engines: {node: '>=10'} dev: false - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -1139,33 +1087,21 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.0 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /got@12.6.1: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} dependencies: - '@sindresorhus/is': 5.4.1 + '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.12 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 @@ -1175,12 +1111,8 @@ packages: responselike: 3.0.0 dev: false - /graceful-readlink@1.0.1: - resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} - dev: false - - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /has-flag@4.0.0: @@ -1231,14 +1163,14 @@ packages: - supports-color dev: false - /i18next-fs-backend@1.1.5: - resolution: {integrity: sha512-raTel3EfshiUXxR0gvmIoqp75jhkj8+7R1LjB006VZKPTFBbXyx6TlUVhb8Z9+7ahgpFbcQg1QWVOdf/iNzI5A==} + /i18next-fs-backend@1.2.0: + resolution: {integrity: sha512-pUx3AcgXCbur0jpFA7U67Z2RJflAcIi698Y8VL+phdOqUchahxriV3Cs+M6UkPNQSS/zPEzWLfdJ8EgjB7HVxg==} dev: false - /i18next@21.9.1: - resolution: {integrity: sha512-ITbDrAjbRR73spZAiu6+ex5WNlHRr1mY+acDi2ioTHuUiviJqSz269Le1xHAf0QaQ6GgIHResUhQNcxGwa/PhA==} + /i18next@21.10.0: + resolution: {integrity: sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==} dependencies: - '@babel/runtime': 7.22.5 + '@babel/runtime': 7.23.2 dev: false /iconv-lite@0.6.3: @@ -1308,9 +1240,9 @@ packages: is-extglob: 2.1.1 dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /isarray@0.0.1: @@ -1341,7 +1273,6 @@ packages: /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: false /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -1356,11 +1287,10 @@ packages: engines: {node: '>=12.0.0'} dev: false - /keyv@4.5.2: - resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 - dev: false /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -1370,14 +1300,14 @@ packages: type-check: 0.4.0 dev: true - /libsodium-wrappers@0.7.11: - resolution: {integrity: sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q==} + /libsodium-wrappers@0.7.13: + resolution: {integrity: sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==} dependencies: - libsodium: 0.7.11 + libsodium: 0.7.13 dev: false - /libsodium@0.7.11: - resolution: {integrity: sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A==} + /libsodium@0.7.13: + resolution: {integrity: sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==} dev: false /locate-path@6.0.0: @@ -1415,23 +1345,24 @@ packages: yallist: 4.0.0 dev: false - /luxon@1.28.1: - resolution: {integrity: sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw==} + /luxon@3.3.0: + resolution: {integrity: sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==} + engines: {node: '>=12'} dev: false - /magic-bytes.js@1.0.15: - resolution: {integrity: sha512-bpRmwbRHqongRhA+mXzbLWjVy7ylqmfMBYaQkSs6pac0z6hBTvsgrH0r4FBYd/UYVJBmS6Rp/O+oCCQVLzKV1g==} + /magic-bytes.js@1.5.0: + resolution: {integrity: sha512-wJkXvutRbNWcc37tt5j1HyOK1nosspdh3dj6LUYYAvF6JYNqs53IfRvK9oEpcwiDA1NdoIi64yAMfdivPeVAyw==} dev: false /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.3.0 + semver: 6.3.1 dev: false - /md5@2.2.1: - resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==} + /md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} dependencies: charenc: 0.0.2 crypt: 0.0.2 @@ -1444,19 +1375,6 @@ packages: dev: false optional: true - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - /mimic-response@2.1.0: resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} engines: {node: '>=8'} @@ -1507,10 +1425,6 @@ packages: hasBin: true dev: false - /moment@2.26.0: - resolution: {integrity: sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==} - dev: false - /moment@2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} dev: false @@ -1547,7 +1461,7 @@ packages: mongodb-connection-string-url: 2.6.0 socks: 2.7.1 optionalDependencies: - '@mongodb-js/saslprep': 1.1.0 + '@mongodb-js/saslprep': 1.1.1 dev: false /mongoose@7.6.3: @@ -1591,8 +1505,8 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /nan@2.17.0: - resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==} + /nan@2.18.0: + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} dev: false /natural-compare@1.4.0: @@ -1608,20 +1522,8 @@ packages: engines: {node: '>=10.5.0'} dev: false - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -1641,8 +1543,8 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-html-parser@6.1.10: - resolution: {integrity: sha512-6/uWdWxjQWQ7tMcFK2wWlrflsQUzh1HsEzlIf2j5+TtzfhT2yUvg3DwZYAmjEHeR3uX74ko7exjHW69J0tOzIg==} + /node-html-parser@6.1.11: + resolution: {integrity: sha512-FAgwwZ6h0DSDWxfD0Iq1tsDcBCxdJB1nXpLPPxX8YyVWzbfCjKWEzaynF4gZZ/8hziUmp7ZSaKylcn0iKhufUQ==} dependencies: css-select: 5.1.0 he: 1.2.0 @@ -1751,21 +1653,11 @@ packages: engines: {node: '>=8'} dev: true - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - /peek-readable@4.1.0: resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} engines: {node: '>=8'} dev: false - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -1851,15 +1743,10 @@ packages: readable-stream: 3.6.2 dev: false - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} dev: false - /regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - dev: true - /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: false @@ -1884,7 +1771,7 @@ packages: /reverbnation-scraper@2.0.0: resolution: {integrity: sha512-t1Mew5QC9QEVEry5DXyagvci2O+TgXTGoMHbNoW5NRz6LTOzK/DLHUpnrQwloX8CVX5z1a802vwHM3YgUVOvKg==} dependencies: - node-fetch: 2.6.12 + node-fetch: 2.7.0 transitivePeerDependencies: - encoding dev: false @@ -1917,13 +1804,20 @@ packages: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} dev: false - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /seek-bzip@2.0.0: + resolution: {integrity: sha512-SMguiTnYrhpLdk3PwfzHeotrcwi8bNV4iemL9tx9poR/yeaMYwB9VzR1w7b57DuWpuqR8n6oZboi0hj3AxZxQg==} + hasBin: true + dependencies: + commander: 6.2.1 + dev: false + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.5.3: - resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -1972,11 +1866,6 @@ packages: simple-concat: 1.0.1 dev: false - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -1993,7 +1882,7 @@ packages: /soundcloud.ts@0.5.2: resolution: {integrity: sha512-/pc72HWYJpSpup+mJBE9pT31JsrMcxJGBlip3Vem+0Fsscg98xh1/7I2nCpAKuMAeV6MVyrisI8TfjO6T7qKJg==} dependencies: - undici: 5.26.4 + undici: 5.27.0 dev: false /sparse-bitfield@3.0.3: @@ -2009,8 +1898,8 @@ packages: engines: {node: '>= 16'} dev: false - /spotify-url-info@3.2.8: - resolution: {integrity: sha512-IKkC8TdtO7tzxVNH8tEP4FL+2LGFed518BkAhkizZoN7X9BD6ZcppYP6PFiYNd0AkxSqdStnrMrt9lYUjc1LOw==} + /spotify-url-info@3.2.9: + resolution: {integrity: sha512-e/hXlXMecNKtxQLLr2MOoQD3m8VVTru+L0zQk5oTMvXhRrnIGK1JFSUqay7GNyEn8dQgBpwH/lZ5aJ3uzoU0Cw==} engines: {node: '>= 12'} dependencies: himalaya: 1.1.0 @@ -2079,8 +1968,8 @@ packages: dependencies: has-flag: 4.0.0 - /tar@6.1.15: - resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 @@ -2095,13 +1984,6 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /token-types@4.2.1: resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} engines: {node: '>=10'} @@ -2125,10 +2007,6 @@ packages: resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==} dev: false - /tslib@2.6.0: - resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} - dev: false - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false @@ -2145,6 +2023,10 @@ packages: engines: {node: '>=10'} dev: true + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: false + /undici@5.22.1: resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==} engines: {node: '>=14.0'} @@ -2152,8 +2034,8 @@ packages: busboy: 1.6.0 dev: false - /undici@5.26.4: - resolution: {integrity: sha512-OG+QOf0fTLtazL9P9X7yqWxQ+Z0395Wk6DSkyTxtaq3wQEjIroVe7Y4asCX/vcCxYpNGMnwz8F0qbRYUoaQVMw==} + /undici@5.27.0: + resolution: {integrity: sha512-l3ydWhlhOJzMVOYkymLykcRRXqbUaQriERtR70B9LzNkZ4bX52Fc8wbTDneMiwo8T+AemZXvXaTx+9o5ROxrXg==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.0.0 @@ -2223,8 +2105,8 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -2261,7 +2143,7 @@ packages: /youtube-ext@1.1.16: resolution: {integrity: sha512-vyzHSwxlCAwqWUxZKJ/5g139BgnbmZFTy9I0nxDwqlbAh74dB1LjayCoB5BgLaaIkSMruEQwlf5bF+EeR235qA==} dependencies: - undici: 5.26.4 + undici: 5.27.0 dev: false /youtube-sr@4.3.9: