From 3aa8394737ed8daadb20ebcddc46280760fd8297 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Thu, 16 Apr 2026 13:25:20 -0400 Subject: [PATCH 1/2] revert --- package.json | 54 +- pnpm-lock.yaml | 1857 +++++++---------- scripts/utils.ts | 11 +- src/api/AudioPlayer.ts | 2 +- src/api/PluginManager.ts | 2 +- src/components/CheckedTextInput.tsx | 12 +- .../components/SettingColorComponent.tsx | 1 - .../settings/tabs/plugins/PluginCard.tsx | 2 +- .../settings/tabs/plugins/PluginModal.css | 22 +- .../settings/tabs/plugins/PluginModal.tsx | 13 +- .../settings/tabs/plugins/index.tsx | 91 +- .../settings/tabs/plugins/styles.css | 7 +- .../settings/tabs/sync/CloudTab.tsx | 2 +- .../settings/tabs/vencord/index.tsx | 2 +- src/debug/loadLazyChunks.ts | 2 +- src/debug/reporterData.ts | 1 - src/equicordplugins/altKrispSwitch/index.tsx | 1 - .../alwaysExpandProfiles/index.ts | 1 - src/equicordplugins/animalese/index.ts | 1 - src/equicordplugins/atSomeone/index.ts | 1 - src/equicordplugins/autoZipper/index.ts | 1 - .../bannersEverywhere/index.tsx | 1 - src/equicordplugins/baseDecoder/index.tsx | 2 - .../betterActivities/index.tsx | 2 +- .../betterAudioPlayer/index.tsx | 1 - .../betterBanReasons/index.tsx | 1 - .../betterBlockedUsers/index.tsx | 1 - src/equicordplugins/betterCommands/index.ts | 2 - src/equicordplugins/betterInvites/index.tsx | 1 - src/equicordplugins/betterPlusReacts/index.ts | 1 - src/equicordplugins/blockKeywords/index.ts | 1 - src/equicordplugins/blockKrisp/index.ts | 1 - src/equicordplugins/bypassPinPrompt/index.ts | 1 - src/equicordplugins/bypassStatus/index.tsx | 1 - src/equicordplugins/channelBadges/index.tsx | 1 - src/equicordplugins/channelTabs/index.tsx | 3 +- src/equicordplugins/cleanChannelName/index.ts | 1 - .../cleanerChannelGroups/index.ts | 1 - src/equicordplugins/clickableRoles/index.tsx | 1 - src/equicordplugins/clientSideBlock/index.tsx | 3 +- .../index.tsx | 1 - src/equicordplugins/collapsibleUi/index.tsx | 4 +- src/equicordplugins/commandPalette/index.tsx | 1 - .../commandPalette/registry.tsx | 3 +- src/equicordplugins/components.dev/index.tsx | 1 - src/equicordplugins/contentWarning/index.tsx | 1 - .../copyProfileColors/index.tsx | 1 - src/equicordplugins/copyStatusUrls/index.ts | 1 - src/equicordplugins/copyUserMention/index.tsx | 1 - src/equicordplugins/cursorBuddy/index.tsx | 3 +- .../customFolderIcons/index.tsx | 1 - src/equicordplugins/customSounds/index.tsx | 2 - .../customStatusTimeouts/index.tsx | 1 - .../customTimestamps/index.tsx | 1 - .../customUserColors/index.tsx | 1 - src/equicordplugins/declutter/index.tsx | 1 - src/equicordplugins/disableCameras/index.tsx | 1 - .../components/makeDevBanner.tsx | 2 +- .../discordDevBanner/index.tsx | 1 - .../dragFavoriteEmotes/index.tsx | 1 - src/equicordplugins/dragify/index.tsx | 1 - .../elementHighlighter.dev/index.tsx | 1 - .../equibopStreamFixes.equibop/index.tsx | 1 - src/equicordplugins/equicordHelper/index.tsx | 2 - src/equicordplugins/equicordToolbox/index.tsx | 3 +- src/equicordplugins/equissant/index.ts | 1 - src/equicordplugins/exitSounds/index.tsx | 1 - src/equicordplugins/exportMessages/index.tsx | 1 - .../fastDeleteChannels/index.tsx | 1 - .../favouriteAnything/index.tsx | 3 +- .../favouriteAnything/polyfills.ts | 2 +- src/equicordplugins/fileUpload/index.tsx | 1 - src/equicordplugins/findReply/index.tsx | 2 - .../fixFileExtensions/index.tsx | 1 - src/equicordplugins/followVoiceUser/index.tsx | 1 - src/equicordplugins/fontLoader/index.tsx | 1 - src/equicordplugins/forwardAnywhere/index.ts | 1 - .../frequentQuickSwitcher/index.tsx | 1 - src/equicordplugins/friendCodes/index.tsx | 1 - src/equicordplugins/friendTags/index.tsx | 1 - src/equicordplugins/friendshipRanks/index.tsx | 1 - src/equicordplugins/fullVcPfp/index.tsx | 1 - src/equicordplugins/ghosted/index.tsx | 1 - src/equicordplugins/gifCollections/index.tsx | 1 - src/equicordplugins/githubRepos/index.tsx | 2 - src/equicordplugins/globalBadges/index.tsx | 1 - src/equicordplugins/googleThat/index.tsx | 4 +- .../guildPickerDumper/index.tsx | 1 - src/equicordplugins/hideChatButtons/index.tsx | 1 - src/equicordplugins/hideMessages/index.tsx | 2 - src/equicordplugins/hideServers/index.tsx | 3 +- src/equicordplugins/holyNotes/index.tsx | 2 - src/equicordplugins/homeTyping/index.tsx | 1 - src/equicordplugins/hopOn/index.tsx | 1 - src/equicordplugins/husk/index.tsx | 2 - src/equicordplugins/iRememberYou/index.tsx | 1 - src/equicordplugins/iconViewer/index.tsx | 1 - src/equicordplugins/idleAutoRestart/index.tsx | 1 - src/equicordplugins/ignoreCalls/index.tsx | 1 - src/equicordplugins/inRole/index.tsx | 3 +- src/equicordplugins/ingtoninator/index.tsx | 2 - .../instantScreenshare/index.tsx | 3 +- .../invisibleChat.desktop/index.tsx | 3 +- src/equicordplugins/inviteDefaults/index.ts | 1 - src/equicordplugins/jumpTo/index.tsx | 1 - src/equicordplugins/jumpscare/index.tsx | 1 - .../keyboardNavigation/index.tsx | 1 - src/equicordplugins/keyboardSounds/index.ts | 1 - src/equicordplugins/keywordNotify/index.tsx | 1 - src/equicordplugins/lastActive/index.tsx | 1 - src/equicordplugins/loginWithQR/index.tsx | 1 - .../mediaPlaybackSpeed/index.tsx | 1 - src/equicordplugins/messageBurst/index.ts | 2 - src/equicordplugins/messageColors/index.tsx | 1 - .../messageFetchTimer/index.tsx | 2 - .../messageLinkTooltip/index.tsx | 1 - .../components/LogsModal.tsx | 2 +- .../messageLoggerEnhanced/index.tsx | 5 +- .../messageLoggerEnhanced/settings.tsx | 3 +- .../utils/settingsUtils.ts | 2 +- src/equicordplugins/messageNotifier/index.ts | 1 - src/equicordplugins/messagePeek/index.tsx | 2 - .../messageTranslate/index.tsx | 1 - .../micLoopbackTester/index.tsx | 1 - .../middleClickTweaks/index.ts | 3 +- src/equicordplugins/moreCommands/index.ts | 2 - .../moreStickers/components/misc.tsx | 2 +- src/equicordplugins/moreStickers/index.tsx | 1 - src/equicordplugins/moreUserTags/index.tsx | 2 - src/equicordplugins/moyai/index.ts | 1 - src/equicordplugins/musicControls/index.tsx | 3 +- .../neverPausePreviews/index.tsx | 1 - .../newPluginsManager/index.tsx | 1 - src/equicordplugins/noNitroUpsell/index.ts | 3 +- src/equicordplugins/noPushToTalk/index.ts | 1 - .../noRPC.discordDesktop/index.ts | 1 - src/equicordplugins/noRoleHeaders/index.ts | 1 - .../normalizeMessageLinks/index.ts | 1 - .../index.tsx | 1 - src/equicordplugins/orbolayBridge/index.tsx | 1 - src/equicordplugins/partyMode/index.ts | 1 - src/equicordplugins/pinIcon/index.tsx | 1 - .../pingNotifications/index.tsx | 1 - src/equicordplugins/platformSpoofer/index.tsx | 1 - src/equicordplugins/polishWording/index.ts | 2 - src/equicordplugins/profileSets/index.tsx | 1 - src/equicordplugins/questify/index.tsx | 1 - .../index.tsx | 1 - src/equicordplugins/quoter/index.tsx | 1 - src/equicordplugins/randomVoice/index.tsx | 2 - .../recentDMSwitcher/index.tsx | 1 - src/equicordplugins/remix/index.tsx | 1 - src/equicordplugins/repeatMessages/index.tsx | 2 - src/equicordplugins/replyPingControl/index.ts | 1 - src/equicordplugins/richMagnetLinks/index.tsx | 1 - src/equicordplugins/richPresence/index.tsx | 115 +- .../rpcEditor/ReplaceSettings.tsx | 4 +- src/equicordplugins/rpcEditor/index.tsx | 1 - src/equicordplugins/rpcStats/index.tsx | 1 - .../saveFavoriteGIFs/index.tsx | 2 - .../scheduledMessages/index.tsx | 2 - .../screenRecorder.equibop/index.tsx | 5 +- src/equicordplugins/searchFix/index.tsx | 1 - src/equicordplugins/sekaiStickers/index.tsx | 2 - src/equicordplugins/selfForward/index.ts | 1 - src/equicordplugins/serverSearch/index.tsx | 4 +- .../showBadgesInChat/index.tsx | 4 +- .../showMessageEmbeds/index.tsx | 1 - .../showResourceChannels/index.ts | 1 - src/equicordplugins/showSongName/index.tsx | 1 - src/equicordplugins/sidebarChat/index.tsx | 1 - src/equicordplugins/signature/index.tsx | 2 - src/equicordplugins/snowfall/index.tsx | 3 +- src/equicordplugins/soggy/index.tsx | 3 +- .../songLink.desktop/index.tsx | 2 - .../songSpotlight.desktop/index.tsx | 2 - .../splitLargeMessages/index.ts | 2 - .../spotifyActivityToggle/index.tsx | 2 - src/equicordplugins/statusPresets/index.tsx | 1 - .../statusWhileActive.desktop/index.ts | 1 - src/equicordplugins/steamStatusSync/index.tsx | 1 - src/equicordplugins/stickerBlocker/index.tsx | 1 - .../streamingCodecDisabler/index.ts | 1 - src/equicordplugins/talkInReverse/index.tsx | 3 +- src/equicordplugins/themeLibrary/index.tsx | 1 - src/equicordplugins/tidalEmbeds/index.tsx | 3 +- src/equicordplugins/tiktokTTS/index.ts | 1 - src/equicordplugins/timezones/index.tsx | 1 - src/equicordplugins/title/index.ts | 1 - .../toastNotifications/index.tsx | 1 - src/equicordplugins/toggleVideoBind/index.ts | 1 - src/equicordplugins/toneIndicators/index.tsx | 1 - src/equicordplugins/translatePlus/index.tsx | 2 - src/equicordplugins/triviaAI/index.tsx | 2 - src/equicordplugins/unitConverter/index.tsx | 2 - .../universalMention/index.tsx | 1 - .../unlimitedAccounts/index.ts | 1 - .../unreadBadgeCount/index.tsx | 1 - src/equicordplugins/urlHighlighter/index.tsx | 1 - src/equicordplugins/userpfp/index.tsx | 1 - .../VariableWithCallbacks.ts | 40 - .../components/SettingsTab.tsx | 340 --- .../components/UserpluginInstallButton.tsx | 55 - .../userpluginInstaller.dev/index.tsx | 145 -- .../userpluginInstaller.dev/misc/constants.ts | 28 - .../misc/pluginValidate.txt | 158 -- .../misc/setGitPath.txt | 118 -- .../userpluginInstaller.dev/misc/style.css | 78 - .../misc/updateValidate.txt | 129 -- .../userpluginInstaller.dev/native.ts | 473 ----- .../vcNarratorCustom/index.tsx | 1 - src/equicordplugins/vcPanelSettings/index.tsx | 1 - src/equicordplugins/viewRawVariant/index.tsx | 1 - src/equicordplugins/voiceButtons/index.tsx | 1 - src/equicordplugins/voiceChannelLog/index.tsx | 3 +- src/equicordplugins/voiceChatUtils/index.tsx | 1 - .../voiceJoinMessages/index.ts | 1 - .../voiceMessageTranscriber.desktop/index.tsx | 1 - src/equicordplugins/voiceRejoin/index.tsx | 1 - src/equicordplugins/waitForSlot/index.tsx | 1 - src/equicordplugins/wallpaperFree/index.tsx | 1 - src/equicordplugins/webpackTarball/index.tsx | 1 - .../whitelistedEmojis/index.tsx | 1 - src/equicordplugins/whosWatching/index.tsx | 1 - src/equicordplugins/wigglyText/index.tsx | 1 - src/equicordplugins/writeUpperCase/index.ts | 1 - src/main/utils/extensions.ts | 2 +- src/plugins/_core/supportHelper.tsx | 2 +- .../accountPanelServerProfile/index.tsx | 3 +- src/plugins/alwaysAnimate/index.ts | 1 - src/plugins/alwaysExpandRoles/index.ts | 1 - src/plugins/alwaysTrust/index.tsx | 1 - src/plugins/anonymiseFileNames/index.tsx | 2 - src/plugins/appleMusic.desktop/index.tsx | 1 - src/plugins/arRPC.web/index.tsx | 1 - .../index.ts | 1 - src/plugins/betterFolders/index.tsx | 2 +- src/plugins/betterGifAltText/index.ts | 1 - src/plugins/betterGifPicker/index.ts | 1 - src/plugins/betterNotes/index.tsx | 1 - src/plugins/betterRoleContext/index.tsx | 1 - src/plugins/betterRoleDot/index.ts | 1 - src/plugins/betterSessions/index.tsx | 2 +- src/plugins/betterSessions/styles.css | 2 + src/plugins/betterSettings/index.tsx | 1 - src/plugins/betterUploadButton/index.ts | 1 - src/plugins/biggerStreamPreview/index.tsx | 1 - src/plugins/blurNsfw/index.ts | 1 - src/plugins/callTimer/index.tsx | 1 - src/plugins/characterCounter/index.tsx | 1 - src/plugins/clearURLs/index.ts | 2 - src/plugins/clientTheme/index.tsx | 1 - src/plugins/colorSighted/index.ts | 1 - src/plugins/consoleJanitor/index.tsx | 1 - src/plugins/consoleShortcuts/index.ts | 3 +- src/plugins/copyEmojiMarkdown/index.tsx | 1 - src/plugins/copyFileContents/index.tsx | 1 - src/plugins/copyStickerLinks/index.tsx | 1 - src/plugins/copyUserURLs/index.tsx | 1 - src/plugins/crashHandler/index.ts | 2 +- src/plugins/ctrlEnterSend/index.ts | 1 - src/plugins/customCommands/index.ts | 4 +- src/plugins/customIdle/index.ts | 1 - src/plugins/customRPC/index.tsx | 1 - src/plugins/dearrow/index.tsx | 1 - src/plugins/decor/index.tsx | 1 - src/plugins/devCompanion.dev/index.tsx | 1 - src/plugins/devCompanion.dev/initWs.tsx | 6 +- src/plugins/devCompanion.dev/types/send.ts | 2 +- src/plugins/devCompanion.dev/util.tsx | 2 +- src/plugins/disableCallIdle/index.ts | 1 - src/plugins/dontRoundMyTimestamps/index.ts | 1 - src/plugins/experiments/index.tsx | 3 - src/plugins/expressionCloner/index.tsx | 5 +- src/plugins/f8break/index.ts | 1 - src/plugins/fakeNitro/index.tsx | 1 - src/plugins/fakeProfileThemes/index.tsx | 1 - src/plugins/favEmojiFirst/index.tsx | 3 +- src/plugins/favGifSearch/index.tsx | 1 - src/plugins/fixCodeblockGap/index.ts | 1 - src/plugins/fixImagesQuality/index.tsx | 1 - .../fixSpotifyEmbeds.desktop/index.tsx | 1 - .../fixYoutubeEmbeds.desktop/index.tsx | 1 - .../fixYoutubeEmbeds.desktop/native.ts | 2 +- src/plugins/forceOwnerCrown/index.ts | 1 - src/plugins/friendInvites/index.ts | 2 - src/plugins/friendsSince/index.tsx | 1 - src/plugins/fullSearchContext/index.tsx | 1 - src/plugins/fullUserInChatbox/index.tsx | 1 - src/plugins/gameActivityToggle/index.tsx | 3 +- src/plugins/gifPaste/index.ts | 1 - src/plugins/greetStickerPicker/index.tsx | 1 - src/plugins/hideAttachments/index.tsx | 3 +- src/plugins/iLoveSpam/index.ts | 1 - src/plugins/ignoreActivities/index.tsx | 1 - src/plugins/imageFilename/index.ts | 1 - src/plugins/imageLink/index.ts | 1 - src/plugins/imageZoom/index.tsx | 3 +- src/plugins/implicitRelationships/index.ts | 27 +- src/plugins/ircColors/index.ts | 1 - src/plugins/keepCurrentChannel/index.ts | 1 - src/plugins/lastfmRichPresence/index.tsx | 1 - src/plugins/loadingQuotes/index.ts | 1 - src/plugins/memberCount/index.tsx | 1 - src/plugins/mentionAvatars/index.tsx | 1 - src/plugins/messageClickActions/index.ts | 1 - src/plugins/messageLatency/index.tsx | 1 - src/plugins/messageLinkEmbeds/index.tsx | 1 - src/plugins/messageLogger/index.tsx | 1 - src/plugins/moreQuickReactions/index.ts | 1 - src/plugins/mutualGroupDMs/index.tsx | 3 +- src/plugins/newGuildSettings/index.tsx | 3 +- src/plugins/noBlockedMessages/index.ts | 1 - src/plugins/noDeepLinks.web/index.ts | 1 - src/plugins/noDevtoolsWarning/index.ts | 1 - src/plugins/noF1/index.ts | 1 - src/plugins/noMaskedUrlPaste/index.ts | 1 - src/plugins/noMosaic/index.ts | 3 +- src/plugins/noOnboardingDelay/index.ts | 1 - src/plugins/noPendingCount/index.ts | 1 - src/plugins/noProfileThemes/index.ts | 1 - src/plugins/noReplyMention/index.tsx | 1 - src/plugins/noServerEmojis/index.ts | 1 - .../noSystemBadge.discordDesktop/index.ts | 1 - src/plugins/noTypingAnimation/index.ts | 1 - src/plugins/noUnblockToJump/index.ts | 1 - src/plugins/notificationVolume/index.ts | 1 - src/plugins/onePingPerDM/index.ts | 3 +- src/plugins/openInApp/index.ts | 1 - src/plugins/overrideForumDefaults/index.tsx | 1 - src/plugins/pauseInvitesForever/index.tsx | 3 +- src/plugins/permissionFreeWill/index.ts | 1 - src/plugins/permissionsViewer/index.tsx | 1 - src/plugins/petpet/index.ts | 2 - src/plugins/pictureInPicture/index.tsx | 1 - src/plugins/pinDms/index.tsx | 1 - src/plugins/plainFolderIcon/index.ts | 1 - src/plugins/platformIndicators/index.tsx | 2 - src/plugins/previewMessage/index.tsx | 2 - src/plugins/quickMention/index.tsx | 2 - src/plugins/quickReply/index.ts | 1 - src/plugins/reactErrorDecoder/index.ts | 3 +- .../readAllNotificationsButton/index.tsx | 1 - src/plugins/relationshipNotifier/index.ts | 1 - src/plugins/replaceGoogleSearch/index.tsx | 1 - src/plugins/replyTimestamp/index.tsx | 1 - src/plugins/revealAllSpoilers/index.ts | 2 +- src/plugins/reverseImageSearch/index.tsx | 3 +- src/plugins/reviewDB/index.tsx | 2 - src/plugins/roleColorEverywhere/index.tsx | 1 - src/plugins/secretRingTone/index.ts | 1 - src/plugins/seeSummaries/index.tsx | 1 - src/plugins/sendTimestamps/index.tsx | 2 - src/plugins/serverInfo/index.tsx | 3 +- src/plugins/serverListIndicators/index.tsx | 1 - src/plugins/shikiCodeblocks.desktop/index.ts | 1 - src/plugins/showAllMessageButtons/index.ts | 6 +- src/plugins/showConnections/index.tsx | 1 - src/plugins/showHiddenChannels/index.tsx | 1 - src/plugins/showHiddenThings/index.ts | 3 +- src/plugins/showMeYourName/index.tsx | 5 +- src/plugins/showTimeoutDuration/index.tsx | 1 - src/plugins/silentMessageToggle/index.tsx | 2 - src/plugins/silentTyping/index.tsx | 4 +- src/plugins/sortFriendRequests/index.tsx | 1 - src/plugins/spotifyCrack/index.ts | 1 - src/plugins/spotifyShareCommands/index.ts | 2 - src/plugins/startupTimings/index.tsx | 1 - src/plugins/stickerPaste/index.ts | 1 - src/plugins/streamerModeOnStream/index.ts | 1 - src/plugins/superReactionTweaks/index.ts | 1 - src/plugins/textReplace/index.tsx | 5 +- src/plugins/themeAttributes/index.ts | 1 - src/plugins/translate/index.tsx | 2 - src/plugins/typingIndicator/index.tsx | 1 - src/plugins/typingTweaks/index.tsx | 1 - src/plugins/unindent/index.ts | 2 - src/plugins/unlockedAvatarZoom/index.ts | 1 - src/plugins/unsuppressEmbeds/index.tsx | 1 - src/plugins/userMessagesPronouns/index.ts | 1 - src/plugins/userVoiceShow/index.tsx | 2 - src/plugins/usrbg/index.tsx | 1 - src/plugins/validReply/index.ts | 1 - src/plugins/validUser/index.tsx | 3 +- src/plugins/vcDoubleClick/index.ts | 1 - src/plugins/vcNarrator/index.tsx | 1 - src/plugins/viewIcons/index.tsx | 9 +- src/plugins/viewRaw/index.tsx | 2 - src/plugins/voiceDownload/index.tsx | 1 - src/plugins/voiceMessages/index.tsx | 8 +- src/plugins/volumeBooster/index.ts | 1 - src/plugins/webContextMenus.web/index.ts | 1 - src/plugins/webKeybinds.web/index.ts | 1 - src/plugins/webScreenShareFixes.web/index.ts | 1 - src/plugins/whoReacted/index.tsx | 1 - src/plugins/xsOverlay/index.tsx | 3 +- src/plugins/youtubeAdblock.desktop/index.ts | 1 - src/utils/text.ts | 1 + src/utils/types.ts | 31 +- src/webpack/common/components.ts | 2 +- src/webpack/patchWebpack.ts | 4 +- src/webpack/webpack.ts | 2 +- tsconfig.json | 29 +- 403 files changed, 1007 insertions(+), 3418 deletions(-) delete mode 100644 src/equicordplugins/userpluginInstaller.dev/VariableWithCallbacks.ts delete mode 100644 src/equicordplugins/userpluginInstaller.dev/components/SettingsTab.tsx delete mode 100644 src/equicordplugins/userpluginInstaller.dev/components/UserpluginInstallButton.tsx delete mode 100644 src/equicordplugins/userpluginInstaller.dev/index.tsx delete mode 100644 src/equicordplugins/userpluginInstaller.dev/misc/constants.ts delete mode 100644 src/equicordplugins/userpluginInstaller.dev/misc/pluginValidate.txt delete mode 100644 src/equicordplugins/userpluginInstaller.dev/misc/setGitPath.txt delete mode 100644 src/equicordplugins/userpluginInstaller.dev/misc/style.css delete mode 100644 src/equicordplugins/userpluginInstaller.dev/misc/updateValidate.txt delete mode 100644 src/equicordplugins/userpluginInstaller.dev/native.ts diff --git a/package.json b/package.json index cd9f7f0cc..ba30c00f3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "equicord", "private": "true", - "version": "1.14.7.0", + "version": "1.14.6.2", "description": "The other cutest Discord client mod", "homepage": "https://github.com/Equicord/Equicord#readme", "bugs": { @@ -54,47 +54,47 @@ "gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3", "idb": "8.0.3", "jsqr": "1.4.0", - "monaco-editor": "^0.55.1", + "monaco-editor": "^0.54.0", "nanoid": "^5.1.6", "native-file-system-adapter": "^3.0.1", "usercss-meta": "^0.12.0", - "virtual-merge": "^1.0.1", - "yaml-js": "^0.3.1" + "virtual-merge": "^1.0.1" }, "devDependencies": { - "@electron/asar": "^4.2.0", - "@stylistic/eslint-plugin": "^5.10.0", - "@types/chrome": "^0.1.40", - "@types/lodash": "^4.17.24", - "@types/node": "^25.6.0", + "@electron/asar": "^4.0.1", + "@stylistic/eslint-plugin": "^5.6.0", + "@types/adm-zip": "^0.5.7", + "@types/chrome": "^0.1.30", + "@types/diff": "^7.0.2", + "@types/lodash": "^4.17.20", + "@types/node": "^24.10.1", "@types/react": "^19.0.10", "@types/react-dom": "^19.0.4", - "@types/yazl": "^3.3.1", + "@types/yazl": "^3.3.0", "@vencord/discord-types": "link:packages/discord-types", - "diff": "^9.0.0", - "esbuild": "^0.28.0", - "eslint": "10.2.0", + "diff": "^8.0.2", + "esbuild": "^0.27.0", + "eslint": "9.39.1", "eslint-import-resolver-alias": "^1.1.2", "eslint-plugin-react": "^7.37.5", "eslint-plugin-simple-header": "^1.2.1", - "eslint-plugin-simple-import-sort": "^13.0.0", - "eslint-plugin-unused-imports": "^4.4.1", + "eslint-plugin-simple-import-sort": "^12.1.1", + "eslint-plugin-unused-imports": "^4.3.0", "highlight.js": "11.11.1", "html-minifier-terser": "^7.2.0", "moment": "^2.22.2", "p-limit": "^7.3.0", - "puppeteer-core": "^24.41.0", - "standalone-electron-types": "^41.2.1", - "stylelint": "^17.8.0", - "stylelint-config-standard": "^40.0.0", - "svgo": "^4.0.1", + "puppeteer-core": "^24.30.0", + "standalone-electron-types": "^34.2.0", + "stylelint": "^16.25.0", + "stylelint-config-standard": "^39.0.1", "ts-patch": "^3.3.0", - "ts-pattern": "^5.9.0", - "tsx": "^4.21.0", - "type-fest": "^5.5.0", - "typescript": "^6.0.2", - "typescript-eslint": "^8.58.2", - "typescript-transform-paths": "^3.5.6", + "ts-pattern": "^5.6.0", + "tsx": "^4.20.6", + "type-fest": "^5.2.0", + "typescript": "^5.9.3", + "typescript-eslint": "^8.47.0", + "typescript-transform-paths": "^3.5.5", "zip-local": "^0.3.5" }, "packageManager": "pnpm@10.33.0", @@ -125,4 +125,4 @@ "engines": { "node": ">=18" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 53ca76f94..eb2eba634 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,7 +27,7 @@ importers: version: 0.1.2 '@song-spotlight/api': specifier: ^2.1.3 - version: 2.1.3(typescript@6.0.2) + version: 2.1.3(typescript@5.9.3) '@streamparser/json': specifier: ^0.0.22 version: 0.0.22 @@ -59,8 +59,8 @@ importers: specifier: 1.4.0 version: 1.4.0 monaco-editor: - specifier: ^0.55.1 - version: 0.55.1 + specifier: ^0.54.0 + version: 0.54.0 nanoid: specifier: ^5.1.6 version: 5.1.6 @@ -73,25 +73,28 @@ importers: virtual-merge: specifier: ^1.0.1 version: 1.0.2 - yaml-js: - specifier: ^0.3.1 - version: 0.3.1 devDependencies: '@electron/asar': - specifier: ^4.2.0 - version: 4.2.0 + specifier: ^4.0.1 + version: 4.0.1 '@stylistic/eslint-plugin': - specifier: ^5.10.0 - version: 5.10.0(eslint@10.2.0) + specifier: ^5.6.0 + version: 5.6.0(eslint@9.39.1) + '@types/adm-zip': + specifier: ^0.5.7 + version: 0.5.7 '@types/chrome': - specifier: ^0.1.40 - version: 0.1.40 + specifier: ^0.1.30 + version: 0.1.30 + '@types/diff': + specifier: ^7.0.2 + version: 7.0.2 '@types/lodash': - specifier: ^4.17.24 - version: 4.17.24 + specifier: ^4.17.20 + version: 4.17.20 '@types/node': - specifier: ^25.6.0 - version: 25.6.0 + specifier: ^24.10.1 + version: 24.10.1 '@types/react': specifier: ^19.0.10 version: 19.0.12 @@ -99,35 +102,35 @@ importers: specifier: ^19.0.4 version: 19.0.4(@types/react@19.0.12) '@types/yazl': - specifier: ^3.3.1 - version: 3.3.1 + specifier: ^3.3.0 + version: 3.3.0 '@vencord/discord-types': specifier: link:packages/discord-types version: link:packages/discord-types diff: - specifier: ^9.0.0 - version: 9.0.0 + specifier: ^8.0.2 + version: 8.0.2 esbuild: - specifier: ^0.28.0 - version: 0.28.0 + specifier: ^0.27.0 + version: 0.27.0 eslint: - specifier: 10.2.0 - version: 10.2.0 + specifier: 9.39.1 + version: 9.39.1 eslint-import-resolver-alias: specifier: ^1.1.2 - version: 1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)) + version: 1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)) eslint-plugin-react: specifier: ^7.37.5 - version: 7.37.5(eslint@10.2.0) + version: 7.37.5(eslint@9.39.1) eslint-plugin-simple-header: specifier: ^1.2.1 - version: 1.2.2(eslint@10.2.0) + version: 1.2.2(eslint@9.39.1) eslint-plugin-simple-import-sort: - specifier: ^13.0.0 - version: 13.0.0(eslint@10.2.0) + specifier: ^12.1.1 + version: 12.1.1(eslint@9.39.1) eslint-plugin-unused-imports: - specifier: ^4.4.1 - version: 4.4.1(@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0) + specifier: ^4.3.0 + version: 4.3.0(@typescript-eslint/eslint-plugin@8.47.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1) highlight.js: specifier: 11.11.1 version: 11.11.1 @@ -141,41 +144,38 @@ importers: specifier: ^7.3.0 version: 7.3.0 puppeteer-core: - specifier: ^24.41.0 - version: 24.41.0 + specifier: ^24.30.0 + version: 24.30.0 standalone-electron-types: - specifier: ^41.2.1 - version: 41.2.1 + specifier: ^34.2.0 + version: 34.2.0 stylelint: - specifier: ^17.8.0 - version: 17.8.0(typescript@6.0.2) + specifier: ^16.25.0 + version: 16.25.0(typescript@5.9.3) stylelint-config-standard: - specifier: ^40.0.0 - version: 40.0.0(stylelint@17.8.0(typescript@6.0.2)) - svgo: - specifier: ^4.0.1 - version: 4.0.1 + specifier: ^39.0.1 + version: 39.0.1(stylelint@16.25.0(typescript@5.9.3)) ts-patch: specifier: ^3.3.0 version: 3.3.0 ts-pattern: - specifier: ^5.9.0 - version: 5.9.0 + specifier: ^5.6.0 + version: 5.6.2 tsx: - specifier: ^4.21.0 - version: 4.21.0 + specifier: ^4.20.6 + version: 4.20.6 type-fest: - specifier: ^5.5.0 - version: 5.5.0 + specifier: ^5.2.0 + version: 5.2.0 typescript: - specifier: ^6.0.2 - version: 6.0.2 + specifier: ^5.9.3 + version: 5.9.3 typescript-eslint: - specifier: ^8.58.2 - version: 8.58.2(eslint@10.2.0)(typescript@6.0.2) + specifier: ^8.47.0 + version: 8.47.0(eslint@9.39.1)(typescript@5.9.3) typescript-transform-paths: - specifier: ^3.5.6 - version: 3.5.6(typescript@6.0.2) + specifier: ^3.5.5 + version: 3.5.5(typescript@5.9.3) zip-local: specifier: ^0.3.5 version: 0.3.5 @@ -246,58 +246,40 @@ packages: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@cacheable/memory@2.0.8': - resolution: {integrity: sha512-FvEb29x5wVwu/Kf93IWwsOOEuhHh6dYCJF3vcKLzXc0KXIW181AOzv6ceT4ZpBHDvAfG60eqb+ekmrnLHIy+jw==} + '@cacheable/memory@2.0.5': + resolution: {integrity: sha512-fkiAxCvssEyJZ5fxX4tcdZFRmW9JehSTGvvqmXn6rTzG5cH6V/3C4ad8yb01vOjp2xBydHkHrgpW0qeGtzt6VQ==} - '@cacheable/utils@2.4.1': - resolution: {integrity: sha512-eiFgzCbIneyMlLOmNG4g9xzF7Hv3Mga4LjxjcSC/ues6VYq2+gUbQI8JqNuw/ZM8tJIeIaBGpswAsqV2V7ApgA==} + '@cacheable/utils@2.3.1': + resolution: {integrity: sha512-38NJXjIr4W1Sghun8ju+uYWD8h2c61B4dKwfnQHVDFpAJ9oS28RpfqZQJ6Dgd3RceGkILDY9YT+72HJR3LoeSQ==} - '@csstools/css-calc@3.2.0': - resolution: {integrity: sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==} - engines: {node: '>=20.19.0'} + '@csstools/css-parser-algorithms@3.0.5': + resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} + engines: {node: '>=18'} peerDependencies: - '@csstools/css-parser-algorithms': ^4.0.0 - '@csstools/css-tokenizer': ^4.0.0 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-parser-algorithms@4.0.0': - resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} - engines: {node: '>=20.19.0'} + '@csstools/css-tokenizer@3.0.4': + resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@4.0.3': + resolution: {integrity: sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==} + engines: {node: '>=18'} peerDependencies: - '@csstools/css-tokenizer': ^4.0.0 + '@csstools/css-parser-algorithms': ^3.0.5 + '@csstools/css-tokenizer': ^3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.1.3': - resolution: {integrity: sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==} + '@csstools/selector-specificity@5.0.0': + resolution: {integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==} + engines: {node: '>=18'} peerDependencies: - css-tree: ^3.2.1 - peerDependenciesMeta: - css-tree: - optional: true + postcss-selector-parser: ^7.0.0 - '@csstools/css-tokenizer@4.0.0': - resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} - engines: {node: '>=20.19.0'} + '@dual-bundle/import-meta-resolve@4.2.1': + resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} - '@csstools/media-query-list-parser@5.0.0': - resolution: {integrity: sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==} - engines: {node: '>=20.19.0'} - peerDependencies: - '@csstools/css-parser-algorithms': ^4.0.0 - '@csstools/css-tokenizer': ^4.0.0 - - '@csstools/selector-resolve-nested@4.0.0': - resolution: {integrity: sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==} - engines: {node: '>=20.19.0'} - peerDependencies: - postcss-selector-parser: ^7.1.1 - - '@csstools/selector-specificity@6.0.0': - resolution: {integrity: sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==} - engines: {node: '>=20.19.0'} - peerDependencies: - postcss-selector-parser: ^7.1.1 - - '@electron/asar@4.2.0': - resolution: {integrity: sha512-npW1NW5yy8EB9XY/vEw9sUdgmq0sJEhmSBb6bqyFOAw1CSkrhvAvO6QWlW8CdIMo8VN1lkdF345l/MeW0LrY0Q==} + '@electron/asar@4.0.1': + resolution: {integrity: sha512-F4Ykm1jiBGY1WV/o8Q8oFW8Nq0u+S2/vPujzNJtdSJ6C4LHC4CiGLn7c17s7SolZ23gcvCebMncmZtNc+MkxPQ==} engines: {node: '>=22.12.0'} hasBin: true @@ -313,12 +295,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.28.0': - resolution: {integrity: sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/android-arm64@0.25.1': resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} engines: {node: '>=18'} @@ -331,12 +307,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.28.0': - resolution: {integrity: sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm@0.25.1': resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} engines: {node: '>=18'} @@ -349,12 +319,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.28.0': - resolution: {integrity: sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-x64@0.25.1': resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} engines: {node: '>=18'} @@ -367,12 +331,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.28.0': - resolution: {integrity: sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/darwin-arm64@0.25.1': resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} engines: {node: '>=18'} @@ -385,12 +343,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.28.0': - resolution: {integrity: sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-x64@0.25.1': resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} engines: {node: '>=18'} @@ -403,12 +355,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.28.0': - resolution: {integrity: sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/freebsd-arm64@0.25.1': resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} engines: {node: '>=18'} @@ -421,12 +367,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.28.0': - resolution: {integrity: sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-x64@0.25.1': resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} engines: {node: '>=18'} @@ -439,12 +379,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.28.0': - resolution: {integrity: sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/linux-arm64@0.25.1': resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} engines: {node: '>=18'} @@ -457,12 +391,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.28.0': - resolution: {integrity: sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm@0.25.1': resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} engines: {node: '>=18'} @@ -475,12 +403,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.28.0': - resolution: {integrity: sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-ia32@0.25.1': resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} engines: {node: '>=18'} @@ -493,12 +415,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.28.0': - resolution: {integrity: sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-loong64@0.25.1': resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} engines: {node: '>=18'} @@ -511,12 +427,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.28.0': - resolution: {integrity: sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-mips64el@0.25.1': resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} engines: {node: '>=18'} @@ -529,12 +439,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.28.0': - resolution: {integrity: sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-ppc64@0.25.1': resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} engines: {node: '>=18'} @@ -547,12 +451,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.28.0': - resolution: {integrity: sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-riscv64@0.25.1': resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} engines: {node: '>=18'} @@ -565,12 +463,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.28.0': - resolution: {integrity: sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-s390x@0.25.1': resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} engines: {node: '>=18'} @@ -583,12 +475,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.28.0': - resolution: {integrity: sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-x64@0.25.1': resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} engines: {node: '>=18'} @@ -601,12 +487,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.28.0': - resolution: {integrity: sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/netbsd-arm64@0.25.1': resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} engines: {node: '>=18'} @@ -619,12 +499,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.28.0': - resolution: {integrity: sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-x64@0.25.1': resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} engines: {node: '>=18'} @@ -637,12 +511,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.28.0': - resolution: {integrity: sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/openbsd-arm64@0.25.1': resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} engines: {node: '>=18'} @@ -655,12 +523,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.28.0': - resolution: {integrity: sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-x64@0.25.1': resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} engines: {node: '>=18'} @@ -673,24 +535,12 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.28.0': - resolution: {integrity: sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openharmony-arm64@0.27.0': resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.28.0': - resolution: {integrity: sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/sunos-x64@0.25.1': resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} engines: {node: '>=18'} @@ -703,12 +553,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.28.0': - resolution: {integrity: sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/win32-arm64@0.25.1': resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} engines: {node: '>=18'} @@ -721,12 +565,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.28.0': - resolution: {integrity: sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-ia32@0.25.1': resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} engines: {node: '>=18'} @@ -739,12 +577,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.28.0': - resolution: {integrity: sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-x64@0.25.1': resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} engines: {node: '>=18'} @@ -757,47 +589,43 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.28.0': - resolution: {integrity: sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@eslint-community/eslint-utils@4.9.0': resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.9.1': - resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.12.2': - resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.23.5': - resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/config-array@0.21.1': + resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.5.5': - resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/config-helpers@0.4.2': + resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@1.2.1': - resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/core@0.17.0': + resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@3.0.5': - resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.7.1': - resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/js@9.39.1': + resolution: {integrity: sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.7': + resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.4.1': + resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ffmpeg/ffmpeg@0.12.10': resolution: {integrity: sha512-lVtk8PW8e+NUzGZhPTWj2P1J4/NyuCrbDD3O9IGpSeLYtUZKBqZO8CNj1WYGghep/MXoM8e1qVY1GztTkf8YYQ==} @@ -834,6 +662,18 @@ packages: '@intrnl/xxhash64@0.1.2': resolution: {integrity: sha512-1+lx7j99fdph+uy3EnjQyr39KQZ7LP56+aWOr6finJWpgYpvb7XrhFUqDwnEk/wpPC98nCjAT6RulpW3crWjlg==} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -855,11 +695,11 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@keyv/bigmap@1.3.1': - resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} + '@keyv/bigmap@1.3.0': + resolution: {integrity: sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg==} engines: {node: '>= 18'} peerDependencies: - keyv: ^5.6.0 + keyv: ^5.5.4 '@keyv/serialize@1.1.1': resolution: {integrity: sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==} @@ -876,18 +716,14 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@puppeteer/browsers@2.13.0': - resolution: {integrity: sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==} + '@puppeteer/browsers@2.10.13': + resolution: {integrity: sha512-a9Ruw3j3qlnB5a/zHRTkruppynxqaeE4H9WNj5eYGRWqw0ZauZ23f4W2ARf3hghF5doozyD+CRtt7XSYuYRI/Q==} engines: {node: '>=18'} hasBin: true '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} - '@song-spotlight/api@2.1.3': resolution: {integrity: sha512-Wai7JHd9lrHtM/lkhfWQIFjIWKtP8iD+zj4Lnwbs/ykELR0MB2k56TDnQaRAelvu8XOygt27wfDBDQSEepPqdA==} peerDependencies: @@ -896,27 +732,27 @@ packages: '@streamparser/json@0.0.22': resolution: {integrity: sha512-b6gTSBjJ8G8SuO3Gbbj+zXbVx8NSs1EbpbMKpzGLWMdkR+98McH9bEjSz3+0mPJf68c5nxa3CrJHp5EQNXM6zQ==} - '@stylistic/eslint-plugin@5.10.0': - resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==} + '@stylistic/eslint-plugin@5.6.0': + resolution: {integrity: sha512-owEc4B8ME+O/xyZOkLVyLqPMsUgJXIM4XzCm5Vt3WvRXpyoOfYxgA+JkEiFqXPCI8+Nc2BzAT+KGAK7QleGs8Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.0.0 || ^10.0.0 + eslint: '>=9.0.0' '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@types/chrome@0.1.40': - resolution: {integrity: sha512-UnfyRAe8ORu9HSuTH0EqyOEUin3JrWW9Nl/gDXezNfTUrfIoxw+WRZgKOxGz0t5BnjbfXBnS2eCYfW2PxH1wcA==} + '@types/adm-zip@0.5.7': + resolution: {integrity: sha512-DNEs/QvmyRLurdQPChqq0Md4zGvPwHerAJYWk9l2jCbD1VPpnzRJorOdiq4zsw09NFbYnhfsoEhWtxIzXpn2yw==} - '@types/esrecurse@4.3.1': - resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/chrome@0.1.30': + resolution: {integrity: sha512-rcP14i+ip4s3SLG6JzNOWIDd+0i8Bg+kBslHl8d4g6m/e2kEbWnR90AtlOPUZj9ONVRbKxnQUqsInxFzXyqLdA==} + + '@types/diff@7.0.2': + resolution: {integrity: sha512-JSWRMozjFKsGlEjiiKajUjIJVKuKdE3oVy2DNtK+fUo8q82nhFZ2CPQwicAIkXrofahDXrWJ7mjelvZphMS98Q==} '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/filesystem@0.0.36': resolution: {integrity: sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==} @@ -944,14 +780,14 @@ packages: '@types/lodash@4.17.15': resolution: {integrity: sha512-w/P33JFeySuhN6JLkysYUK2gEmy9kHHFN7E8ro0tkfmlDOgxBDzWEZ/J8cWA+fHqFevpswDTFZnDx+R9lbL6xw==} - '@types/lodash@4.17.24': - resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} + '@types/lodash@4.17.20': + resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} '@types/node@22.13.13': resolution: {integrity: sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==} - '@types/node@25.6.0': - resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==} + '@types/node@24.10.1': + resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} '@types/react-dom@19.0.4': resolution: {integrity: sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==} @@ -967,72 +803,69 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@types/yazl@3.3.1': - resolution: {integrity: sha512-DIWfCKpsTp6hE5BDBHV3+fIL/bLUF9Bv13iDrWnMlmhQpH67buNvI291ZauQ1xcccxK3FqQ9honnXpq4R8NMuQ==} + '@types/yazl@3.3.0': + resolution: {integrity: sha512-mFL6lGkk2N5u5nIxpNV/K5LW3qVSbxhJrMxYGOOxZndWxMgCamr/iCsq/1t9kd8pEwhuNP91LC5qZm/qS9pOEw==} - '@typescript-eslint/eslint-plugin@8.58.2': - resolution: {integrity: sha512-aC2qc5thQahutKjP+cl8cgN9DWe3ZUqVko30CMSZHnFEHyhOYoZSzkGtAI2mcwZ38xeImDucI4dnqsHiOYuuCw==} + '@typescript-eslint/eslint-plugin@8.47.0': + resolution: {integrity: sha512-fe0rz9WJQ5t2iaLfdbDc9T80GJy0AeO453q8C3YCilnGozvOyCG5t+EZtg7j7D88+c3FipfP/x+wzGnh1xp8ZA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.58.2 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/parser': ^8.47.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.58.2': - resolution: {integrity: sha512-/Zb/xaIDfxeJnvishjGdcR4jmr7S+bda8PKNhRGdljDM+elXhlvN0FyPSsMnLmJUrVG9aPO6dof80wjMawsASg==} + '@typescript-eslint/parser@8.47.0': + resolution: {integrity: sha512-lJi3PfxVmo0AkEY93ecfN+r8SofEqZNGByvHAI3GBLrvt1Cw6H5k1IM02nSzu0RfUafr2EvFSw0wAsZgubNplQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.58.2': - resolution: {integrity: sha512-Cq6UfpZZk15+r87BkIh5rDpi38W4b+Sjnb8wQCPPDDweS/LRCFjCyViEbzHk5Ck3f2QDfgmlxqSa7S7clDtlfg==} + '@typescript-eslint/project-service@8.47.0': + resolution: {integrity: sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.1.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.58.2': - resolution: {integrity: sha512-SgmyvDPexWETQek+qzZnrG6844IaO02UVyOLhI4wpo82dpZJY9+6YZCKAMFzXb7qhx37mFK1QcPQ18tud+vo6Q==} + '@typescript-eslint/scope-manager@8.47.0': + resolution: {integrity: sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.58.2': - resolution: {integrity: sha512-3SR+RukipDvkkKp/d0jP0dyzuls3DbGmwDpVEc5wqk5f38KFThakqAAO0XMirWAE+kT00oTauTbzMFGPoAzB0A==} + '@typescript-eslint/tsconfig-utils@8.47.0': + resolution: {integrity: sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.1.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.58.2': - resolution: {integrity: sha512-Z7EloNR/B389FvabdGeTo2XMs4W9TjtPiO9DAsmT0yom0bwlPyRjkJ1uCdW1DvrrrYP50AJZ9Xc3sByZA9+dcg==} + '@typescript-eslint/type-utils@8.47.0': + resolution: {integrity: sha512-QC9RiCmZ2HmIdCEvhd1aJELBlD93ErziOXXlHEZyuBo3tBiAZieya0HLIxp+DoDWlsQqDawyKuNEhORyku+P8A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.58.2': - resolution: {integrity: sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==} + '@typescript-eslint/types@8.47.0': + resolution: {integrity: sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.58.2': - resolution: {integrity: sha512-ELGuoofuhhoCvNbQjFFiobFcGgcDCEm0ThWdmO4Z0UzLqPXS3KFvnEZ+SHewwOYHjM09tkzOWXNTv9u6Gqtyuw==} + '@typescript-eslint/typescript-estree@8.47.0': + resolution: {integrity: sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '>=4.8.4 <6.1.0' + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.58.2': - resolution: {integrity: sha512-QZfjHNEzPY8+l0+fIXMvuQ2sJlplB4zgDZvA+NmvZsZv3EQwOcc1DuIU1VJUTWZ/RKouBMhDyNaBMx4sWvrzRA==} + '@typescript-eslint/utils@8.47.0': + resolution: {integrity: sha512-g7XrNf25iL4TJOiPqatNuaChyqt49a/onq5YsJ9+hXeugK+41LVg7AxikMfM02PC6jbNtZLCJj6AUcQXJS/jGQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.58.2': - resolution: {integrity: sha512-f1WO2Lx8a9t8DARmcWAUPJbu0G20bJlj8L4z72K00TMeJAoyLr/tHhI/pzYBLrR4dXWkcxO1cWYZEOX8DKHTqA==} + '@typescript-eslint/visitor-keys@8.47.0': + resolution: {integrity: sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vap/core@0.0.12': @@ -1061,17 +894,12 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} - engines: {node: '>=0.4.0'} - hasBin: true - agent-base@7.1.3: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -1092,6 +920,10 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1107,6 +939,10 @@ packages: resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==} engines: {node: '>= 0.4'} + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} @@ -1160,9 +996,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - balanced-match@4.0.4: - resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} - engines: {node: 18 || 20 || >=22} + balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} bare-events@2.5.4: resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} @@ -1197,10 +1032,7 @@ packages: basic-ftp@5.0.5: resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} engines: {node: '>=10.0.0'} - deprecated: Security vulnerability fixed in 5.2.1, please upgrade - - boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + deprecated: Security vulnerability fixed in 5.2.0, please upgrade brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1208,10 +1040,6 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - brace-expansion@5.0.5: - resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} - engines: {node: 18 || 20 || >=22} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -1222,8 +1050,8 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - cacheable@2.3.4: - resolution: {integrity: sha512-djgxybDbw9fL/ZWMI3+CE8ZilNxcwFkVtDc1gJ+IlOSSWkSMPQabhV/XCHTQ6pwwN6aivXPZ43omTooZiX06Ew==} + cacheable@2.2.0: + resolution: {integrity: sha512-LEJxRqfeomiiRd2t0uON6hxAtgOoWDfY3fugebbz+J3vDLO+SkdfFChQcOHTZhj9SYa9iwE9MGYNX72dKiOE4w==} call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} @@ -1252,8 +1080,8 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chromium-bidi@14.0.0: - resolution: {integrity: sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==} + chromium-bidi@11.0.0: + resolution: {integrity: sha512-cM3DI+OOb89T3wO8cpPSro80Q9eKYJ7hGVXoGS3GkDPxnYSqiv+6xwpIf6XERyJ9Tdsl09hmNmY94BkgZdVekw==} peerDependencies: devtools-protocol: '*' @@ -1285,10 +1113,6 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - commander@13.1.0: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} @@ -1299,8 +1123,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - cosmiconfig@9.0.1: - resolution: {integrity: sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -1312,38 +1136,19 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - css-functions-list@3.3.3: - resolution: {integrity: sha512-8HFEBPKhOpJPEPu70wJJetjKta86Gw9+CCyCnB3sui2qQfOvRyqBy4IKLKKAwdMpWb2lHXWk9Wb4Z6AmaUT1Pg==} - engines: {node: '>=12'} - - css-select@5.2.2: - resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + css-functions-list@3.2.3: + resolution: {integrity: sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==} + engines: {node: '>=12 || >=16'} css-tree@3.1.0: resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - css-tree@3.2.1: - resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.2.2: - resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} - engines: {node: '>= 6'} - cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -1371,6 +1176,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1395,32 +1209,23 @@ packages: resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} engines: {node: '>= 14'} - devtools-protocol@0.0.1595872: - resolution: {integrity: sha512-kRfgp8vWVjBu/fbYCiVFiOqsCk3CrMKEo3WbgGT2NXK2dG7vawWPBljixajVgGK9II8rDO9G0oD0zLt3I1daRg==} + devtools-protocol@0.0.1521046: + resolution: {integrity: sha512-vhE6eymDQSKWUXwwA37NtTTVEzjtGVfDr3pRbsWEQ5onH/Snp2c+2xZHWJJawG/0hCCJLRGt4xVtEVUVILol4w==} - diff@9.0.0: - resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==} + diff@8.0.2: + resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} engines: {node: '>=0.3.1'} + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - - domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - - dompurify@3.2.7: - resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} - - domutils@3.2.2: - resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dompurify@3.1.7: + resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==} dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -1429,9 +1234,15 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -1492,11 +1303,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.28.0: - resolution: {integrity: sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==} - engines: {node: '>=18'} - hasBin: true - escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -1565,23 +1371,23 @@ packages: peerDependencies: eslint: '>=8.41.0' - eslint-plugin-simple-import-sort@13.0.0: - resolution: {integrity: sha512-McAc+/Nlvcg4byY/CABGH8kqnefWBj8s3JA2okEtz8ixbECQgU46p0HkTUKa4YS7wvgGceimlc34p1nXqbWqtA==} + eslint-plugin-simple-import-sort@12.1.1: + resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: eslint: '>=5.0.0' - eslint-plugin-unused-imports@4.4.1: - resolution: {integrity: sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==} + eslint-plugin-unused-imports@4.3.0: + resolution: {integrity: sha512-ZFBmXMGBYfHttdRtOG9nFFpmUvMtbHSjsKrS20vdWdbfiVYsO3yA2SGYy9i9XmZJDfMGBflZGBCm70SEnFQtOA==} peerDependencies: '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 - eslint: ^10.0.0 || ^9.0.0 || ^8.0.0 + eslint: ^9.0.0 || ^8.0.0 peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true - eslint-scope@9.1.2: - resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint-scope@8.4.0: + resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} @@ -1591,13 +1397,9 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.1: - resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - - eslint@10.2.0: - resolution: {integrity: sha512-+L0vBFYGIpSNIt/KWTpFonPrqYvgKw1eUI5Vn7mEogrQcWtWYtNQ7dNqC+px/J0idT3BAkiWrhfS7k+Tum8TUA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint@9.39.1: + resolution: {integrity: sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: jiti: '*' @@ -1609,17 +1411,13 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@11.2.0: - resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.7.0: - resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -1671,15 +1469,6 @@ packages: fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -1687,8 +1476,8 @@ packages: fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - file-entry-cache@11.1.2: - resolution: {integrity: sha512-N2WFfK12gmrK1c1GXOqiAJ1tc5YE+R53zvQ+t5P8S5XhnmKYVB5eZEiLNZKDSmoG8wqqbF9EXYBBW/nef19log==} + file-entry-cache@10.1.4: + resolution: {integrity: sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==} file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} @@ -1706,19 +1495,20 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} - flat-cache@6.1.22: - resolution: {integrity: sha512-N2dnzVJIphnNsjHcrxGW7DePckJ6haPrSFqpsBUhHYgwtKGVq4JrBGielEGD2fCVnsGm1zlBVZ8wGhkyuetgug==} + flat-cache@6.1.19: + resolution: {integrity: sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==} flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - flatted@3.4.2: - resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} - for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + fs-extra@11.3.0: resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} engines: {node: '>=14.14'} @@ -1742,10 +1532,6 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.5.0: - resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} - engines: {node: '>=18'} - get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -1781,9 +1567,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@13.0.6: - resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} - engines: {node: 18 || 20 || >=22} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + engines: {node: 20 || >=22} + hasBin: true global-modules@2.0.0: resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} @@ -1797,13 +1584,17 @@ packages: resolution: {integrity: sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==} engines: {node: '>=16'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globby@16.2.0: - resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} - engines: {node: '>=20'} + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} globjoin@0.1.4: resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} @@ -1815,6 +1606,9 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -1826,10 +1620,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-flag@5.0.1: - resolution: {integrity: sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==} - engines: {node: '>=12'} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -1845,8 +1635,8 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hashery@1.5.1: - resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} + hashery@1.2.0: + resolution: {integrity: sha512-43XJKpwle72Ik5Zpam7MuzRWyNdwwdf6XHlh8wCj2PggvWf+v/Dm5B0dxGZOmddidgeO6Ofu9As/o231Ti/9PA==} engines: {node: '>=20'} hasown@2.0.2: @@ -1857,20 +1647,17 @@ packages: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} - hookified@1.15.1: - resolution: {integrity: sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==} - - hookified@2.1.1: - resolution: {integrity: sha512-AHb76R16GB5EsPBE2J7Ko5kiEyXwviB9P5SMrAKcuAu4vJPZttViAbj9+tZeaQE5zjDme+1vcHP78Yj/WoAveA==} + hookified@1.13.0: + resolution: {integrity: sha512-6sPYUY8olshgM/1LDNW4QZQN0IqgKhtl/1C8koNZBJrKLBk3AZl6chQtNwpNztvfiApHMEwMHek5rv993PRbWw==} html-minifier-terser@7.2.0: resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true - html-tags@5.1.0: - resolution: {integrity: sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==} - engines: {node: '>=20.10'} + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} @@ -1887,6 +1674,10 @@ packages: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + ignore@7.0.3: + resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} + engines: {node: '>= 4'} + ignore@7.0.5: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} @@ -1895,9 +1686,6 @@ packages: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-meta-resolve@4.2.0: - resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -1988,10 +1776,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} - is-plain-object@5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -2046,6 +1830,10 @@ packages: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} engines: {node: '>= 0.4'} + jackspeak@4.1.1: + resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + engines: {node: 20 || >=22} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2094,13 +1882,16 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - keyv@5.6.0: - resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} + keyv@5.5.4: + resolution: {integrity: sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==} kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + known-css-properties@0.37.0: + resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2112,6 +1903,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} @@ -2122,8 +1916,8 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lru-cache@11.3.5: - resolution: {integrity: sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==} + lru-cache@11.2.1: + resolution: {integrity: sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==} engines: {node: 20 || >=22} lru-cache@7.18.3: @@ -2139,21 +1933,15 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mathml-tag-names@4.0.0: - resolution: {integrity: sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} mdn-data@2.12.2: resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - mdn-data@2.27.1: - resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - - meow@14.1.0: - resolution: {integrity: sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==} - engines: {node: '>=20'} + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -2163,9 +1951,9 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - minimatch@10.2.5: - resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} - engines: {node: 18 || 20 || >=22} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} + engines: {node: 20 || >=22} minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2180,8 +1968,8 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.1.3: - resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} mitt@3.0.1: @@ -2190,8 +1978,8 @@ packages: moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - monaco-editor@0.55.1: - resolution: {integrity: sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==} + monaco-editor@0.54.0: + resolution: {integrity: sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2229,9 +2017,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2295,6 +2080,9 @@ packages: resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} engines: {node: '>= 14'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -2323,9 +2111,13 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@2.0.2: - resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} - engines: {node: 18 || 20 || >=22} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -2341,29 +2133,28 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - picomatch@4.0.4: - resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} - engines: {node: '>=12'} - possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} + postcss-resolve-nested-selector@0.1.6: + resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} + postcss-safe-parser@7.0.1: resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} engines: {node: '>=18.0'} peerDependencies: postcss: ^8.4.31 - postcss-selector-parser@7.1.1: - resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} engines: {node: '>=4'} postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.10: - resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -2391,8 +2182,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - puppeteer-core@24.41.0: - resolution: {integrity: sha512-rLIUri7E/NQ3APSEYCCozaSJx0u8Tu9wxO6BJwnvXmIgILSK3L0TombaVh3izp1njAGrO6H2ru0hcIrLF+gWLw==} + puppeteer-core@24.30.0: + resolution: {integrity: sha512-2S3Smy0t0W4wJnNvDe7W0bE7wDmZjfZ3ljfMgJd6hn2Hq/f0jgN+x9PULZo2U3fu5UUIJ+JP8cNUGllu8P91Pg==} engines: {node: '>=18'} q@1.5.1: @@ -2403,8 +2194,8 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qified@0.9.1: - resolution: {integrity: sha512-n7mar4T0xQ+39dE2vGTAlbxUEpndwPANH0kDef1/MYsB8Bba9wshkybIRx74qgcvKQPEWErf9AqAdYjhzY2Ilg==} + qified@0.5.2: + resolution: {integrity: sha512-7gJ6mxcQb9vUBOtbKm5mDevbe2uRcOEVp1g4gb/Q+oLntB3HY8eBhOYRxFI2mlDFlY1e4DOSCptzxarXRvzxCA==} engines: {node: '>=20'} queue-microtask@1.2.3: @@ -2437,6 +2228,10 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -2472,10 +2267,6 @@ packages: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -2485,13 +2276,13 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true @@ -2535,9 +2326,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} @@ -2569,8 +2360,8 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - standalone-electron-types@41.2.1: - resolution: {integrity: sha512-0NAQpGYvxpqZ87SNaWyJhmgmIZ3vkPkES01j3etqSoRepINU/LpNy9bk4Pyp/4me6rCs11jPoWqzQCEn+e+d6Q==} + standalone-electron-types@34.2.0: + resolution: {integrity: sha512-+BIrNe0TdZBBBRS3G/F7cPbuBipSZylSjSrJu9+sjw84+vz36a5oZ7l9NeH7aXgMWmPzPZKsTm+K0nOIvhENJQ==} stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} @@ -2583,9 +2374,9 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@8.2.0: - resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} - engines: {node: '>=20'} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} string.prototype.matchall@4.0.12: resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} @@ -2618,27 +2409,27 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - stylelint-config-recommended@18.0.0: - resolution: {integrity: sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==} - engines: {node: '>=20.19.0'} - peerDependencies: - stylelint: ^17.0.0 + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} - stylelint-config-standard@40.0.0: - resolution: {integrity: sha512-EznGJxOUhtWck2r6dJpbgAdPATIzvpLdK9+i5qPd4Lx70es66TkBPljSg4wN3Qnc6c4h2n+WbUrUynQ3fanjHw==} - engines: {node: '>=20.19.0'} + stylelint-config-recommended@17.0.0: + resolution: {integrity: sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==} + engines: {node: '>=18.12.0'} peerDependencies: - stylelint: ^17.0.0 + stylelint: ^16.23.0 - stylelint@17.8.0: - resolution: {integrity: sha512-oHkld9T60LDSaUQ4CSVc+tlt9eUoDlxhaGWShsUCKyIL14boZfmK5bSphZqx64aiC5tCqX+BsQMTMoSz8D1zIg==} - engines: {node: '>=20.19.0'} + stylelint-config-standard@39.0.1: + resolution: {integrity: sha512-b7Fja59EYHRNOTa3aXiuWnhUWXFU2Nfg6h61bLfAb5GS5fX3LMUD0U5t4S8N/4tpHQg3Acs2UVPR9jy2l1g/3A==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.23.0 + + stylelint@16.25.0: + resolution: {integrity: sha512-Li0avYWV4nfv1zPbdnxLYBGq4z8DVZxbRgx4Kn6V+Uftz1rMoF1qiEI3oL4kgWqyYgCgs7gT5maHNZ82Gk03vQ==} + engines: {node: '>=18.12.0'} hasBin: true - supports-color@10.2.2: - resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} - engines: {node: '>=18'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -2647,9 +2438,9 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-hyperlinks@4.4.0: - resolution: {integrity: sha512-UKbpT93hN5Nr9go5UY7bopIB9YQlMz9nm/ct4IXt/irb5YRkn9WaqrOBJGZ5Pwvsd5FQzSVeYlGdXoCAPQZrPg==} - engines: {node: '>=20'} + supports-hyperlinks@3.2.0: + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -2658,11 +2449,6 @@ packages: svg-tags@1.0.0: resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - svgo@4.0.1: - resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} - engines: {node: '>=16'} - hasBin: true - table@6.9.0: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} @@ -2685,16 +2471,12 @@ packages: text-decoder@1.1.1: resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==} - tinyglobby@0.2.16: - resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} - engines: {node: '>=12.0.0'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - ts-api-utils@2.5.0: - resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} peerDependencies: typescript: '>=4.8.4' @@ -2706,9 +2488,6 @@ packages: ts-pattern@5.6.2: resolution: {integrity: sha512-d4IxJUXROL5NCa3amvMg6VQW2HVtZYmUTPfvVtO7zJWGYLJ+mry9v2OmYm+z67aniQoQ8/yFNadiEwtNS9qQiw==} - ts-pattern@5.9.0: - resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} - tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -2723,8 +2502,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + tsx@4.20.6: + resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==} engines: {node: '>=18.0.0'} hasBin: true @@ -2740,8 +2519,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.5.0: - resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==} + type-fest@5.2.0: + resolution: {integrity: sha512-xxCJm+Bckc6kQBknN7i9fnP/xobQRsRQxR01CztFkp/h++yfVxUUcmMgfR2HttJx/dpWjS9ubVuyspJv24Q9DA==} engines: {node: '>=20'} typed-array-buffer@1.0.3: @@ -2760,23 +2539,23 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} - typed-query-selector@2.12.1: - resolution: {integrity: sha512-uzR+FzI8qrUEIu96oaeBJmd9E7CFEiQ3goA5qCVgc4s5llSubcfGHq9yUstZx/k4s9dXHVKsE35YWoFyvEqEHA==} + typed-query-selector@2.12.0: + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} - typescript-eslint@8.58.2: - resolution: {integrity: sha512-V8iSng9mRbdZjl54VJ9NKr6ZB+dW0J3TzRXRGcSbLIej9jV86ZRtlYeTKDR/QLxXykocJ5icNzbsl2+5TzIvcQ==} + typescript-eslint@8.47.0: + resolution: {integrity: sha512-Lwe8i2XQ3WoMjua/r1PHrCTpkubPYJCAfOurtn+mtTzqB6jNd+14n9UN1bJ4s3F49x9ixAm0FLflB/JzQ57M8Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' - typescript-transform-paths@3.5.6: - resolution: {integrity: sha512-3eQTG6Ogt+pgPEh45uX2s9OwcfAVjWnyNO+osjYcOqYaWDVMIFUkqW8e0O1cOaVwdMqQFQf6alDT+76xmeS2Ag==} + typescript-transform-paths@3.5.5: + resolution: {integrity: sha512-RMK86wKe/4+ad+3kMT9SKAs3K0tUHLe7hF+MLbD6VpC9VUmFuKorhf3pHz+qO5GdS4mUp2ncNUo14j6ws9UvBQ==} peerDependencies: typescript: '>=3.6.5' - typescript@6.0.2: - resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true @@ -2787,12 +2566,8 @@ packages: undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} - - unicorn-magic@0.4.0: - resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} - engines: {node: '>=20'} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} @@ -2821,8 +2596,8 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - webdriver-bidi-protocol@0.4.1: - resolution: {integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==} + webdriver-bidi-protocol@0.3.8: + resolution: {integrity: sha512-21Yi2GhGntMc671vNBCjiAeEVknXjVRoyu+k+9xOMShu+ZQfpGQwnBqbNz/Sv4GXZ6JmutlPAi2nIJcrymAWuQ==} which-boxed-primitive@1.1.1: resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} @@ -2866,15 +2641,19 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@7.0.1: - resolution: {integrity: sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==} - engines: {node: ^20.17.0 || >=22.9.0} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -2889,10 +2668,6 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yaml-js@0.3.1: - resolution: {integrity: sha512-LjoIFHCtSfkGzPsmYmfDsW+TShtQBcY7lwH1yLQ5brJHXRhjteUnVE2ThCbz1madq8JUZIAjFiavfnIFeTO8CQ==} - engines: {node: '>=8'} - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -2937,51 +2712,40 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@cacheable/memory@2.0.8': + '@cacheable/memory@2.0.5': dependencies: - '@cacheable/utils': 2.4.1 - '@keyv/bigmap': 1.3.1(keyv@5.6.0) - hookified: 1.15.1 - keyv: 5.6.0 + '@cacheable/utils': 2.3.1 + '@keyv/bigmap': 1.3.0(keyv@5.5.4) + hookified: 1.13.0 + keyv: 5.5.4 - '@cacheable/utils@2.4.1': + '@cacheable/utils@2.3.1': dependencies: - hashery: 1.5.1 - keyv: 5.6.0 + hashery: 1.2.0 + keyv: 5.5.4 - '@csstools/css-calc@3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': + '@csstools/css-tokenizer@3.0.4': {} + + '@csstools/media-query-list-parser@4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: - '@csstools/css-tokenizer': 4.0.0 + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 - '@csstools/css-syntax-patches-for-csstree@1.1.3(css-tree@3.2.1)': - optionalDependencies: - css-tree: 3.2.1 - - '@csstools/css-tokenizer@4.0.0': {} - - '@csstools/media-query-list-parser@5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.0)': dependencies: - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-tokenizer': 4.0.0 + postcss-selector-parser: 7.1.0 - '@csstools/selector-resolve-nested@4.0.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 + '@dual-bundle/import-meta-resolve@4.2.1': {} - '@csstools/selector-specificity@6.0.0(postcss-selector-parser@7.1.1)': - dependencies: - postcss-selector-parser: 7.1.1 - - '@electron/asar@4.2.0': + '@electron/asar@4.0.1': dependencies: commander: 13.1.0 - glob: 13.0.6 - minimatch: 10.2.5 + glob: 11.0.3 + minimatch: 10.0.3 '@esbuild/aix-ppc64@0.25.1': optional: true @@ -2989,264 +2753,197 @@ snapshots: '@esbuild/aix-ppc64@0.27.0': optional: true - '@esbuild/aix-ppc64@0.28.0': - optional: true - '@esbuild/android-arm64@0.25.1': optional: true '@esbuild/android-arm64@0.27.0': optional: true - '@esbuild/android-arm64@0.28.0': - optional: true - '@esbuild/android-arm@0.25.1': optional: true '@esbuild/android-arm@0.27.0': optional: true - '@esbuild/android-arm@0.28.0': - optional: true - '@esbuild/android-x64@0.25.1': optional: true '@esbuild/android-x64@0.27.0': optional: true - '@esbuild/android-x64@0.28.0': - optional: true - '@esbuild/darwin-arm64@0.25.1': optional: true '@esbuild/darwin-arm64@0.27.0': optional: true - '@esbuild/darwin-arm64@0.28.0': - optional: true - '@esbuild/darwin-x64@0.25.1': optional: true '@esbuild/darwin-x64@0.27.0': optional: true - '@esbuild/darwin-x64@0.28.0': - optional: true - '@esbuild/freebsd-arm64@0.25.1': optional: true '@esbuild/freebsd-arm64@0.27.0': optional: true - '@esbuild/freebsd-arm64@0.28.0': - optional: true - '@esbuild/freebsd-x64@0.25.1': optional: true '@esbuild/freebsd-x64@0.27.0': optional: true - '@esbuild/freebsd-x64@0.28.0': - optional: true - '@esbuild/linux-arm64@0.25.1': optional: true '@esbuild/linux-arm64@0.27.0': optional: true - '@esbuild/linux-arm64@0.28.0': - optional: true - '@esbuild/linux-arm@0.25.1': optional: true '@esbuild/linux-arm@0.27.0': optional: true - '@esbuild/linux-arm@0.28.0': - optional: true - '@esbuild/linux-ia32@0.25.1': optional: true '@esbuild/linux-ia32@0.27.0': optional: true - '@esbuild/linux-ia32@0.28.0': - optional: true - '@esbuild/linux-loong64@0.25.1': optional: true '@esbuild/linux-loong64@0.27.0': optional: true - '@esbuild/linux-loong64@0.28.0': - optional: true - '@esbuild/linux-mips64el@0.25.1': optional: true '@esbuild/linux-mips64el@0.27.0': optional: true - '@esbuild/linux-mips64el@0.28.0': - optional: true - '@esbuild/linux-ppc64@0.25.1': optional: true '@esbuild/linux-ppc64@0.27.0': optional: true - '@esbuild/linux-ppc64@0.28.0': - optional: true - '@esbuild/linux-riscv64@0.25.1': optional: true '@esbuild/linux-riscv64@0.27.0': optional: true - '@esbuild/linux-riscv64@0.28.0': - optional: true - '@esbuild/linux-s390x@0.25.1': optional: true '@esbuild/linux-s390x@0.27.0': optional: true - '@esbuild/linux-s390x@0.28.0': - optional: true - '@esbuild/linux-x64@0.25.1': optional: true '@esbuild/linux-x64@0.27.0': optional: true - '@esbuild/linux-x64@0.28.0': - optional: true - '@esbuild/netbsd-arm64@0.25.1': optional: true '@esbuild/netbsd-arm64@0.27.0': optional: true - '@esbuild/netbsd-arm64@0.28.0': - optional: true - '@esbuild/netbsd-x64@0.25.1': optional: true '@esbuild/netbsd-x64@0.27.0': optional: true - '@esbuild/netbsd-x64@0.28.0': - optional: true - '@esbuild/openbsd-arm64@0.25.1': optional: true '@esbuild/openbsd-arm64@0.27.0': optional: true - '@esbuild/openbsd-arm64@0.28.0': - optional: true - '@esbuild/openbsd-x64@0.25.1': optional: true '@esbuild/openbsd-x64@0.27.0': optional: true - '@esbuild/openbsd-x64@0.28.0': - optional: true - '@esbuild/openharmony-arm64@0.27.0': optional: true - '@esbuild/openharmony-arm64@0.28.0': - optional: true - '@esbuild/sunos-x64@0.25.1': optional: true '@esbuild/sunos-x64@0.27.0': optional: true - '@esbuild/sunos-x64@0.28.0': - optional: true - '@esbuild/win32-arm64@0.25.1': optional: true '@esbuild/win32-arm64@0.27.0': optional: true - '@esbuild/win32-arm64@0.28.0': - optional: true - '@esbuild/win32-ia32@0.25.1': optional: true '@esbuild/win32-ia32@0.27.0': optional: true - '@esbuild/win32-ia32@0.28.0': - optional: true - '@esbuild/win32-x64@0.25.1': optional: true '@esbuild/win32-x64@0.27.0': optional: true - '@esbuild/win32-x64@0.28.0': - optional: true - - '@eslint-community/eslint-utils@4.9.0(eslint@10.2.0)': + '@eslint-community/eslint-utils@4.9.0(eslint@9.39.1)': dependencies: - eslint: 10.2.0 + eslint: 9.39.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.9.1(eslint@10.2.0)': - dependencies: - eslint: 10.2.0 - eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.1': {} - '@eslint-community/regexpp@4.12.2': {} - - '@eslint/config-array@0.23.5': + '@eslint/config-array@0.21.1': dependencies: - '@eslint/object-schema': 3.0.5 - debug: 4.4.3 - minimatch: 10.2.5 + '@eslint/object-schema': 2.1.7 + debug: 4.4.1 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.5.5': + '@eslint/config-helpers@0.4.2': dependencies: - '@eslint/core': 1.2.1 + '@eslint/core': 0.17.0 - '@eslint/core@1.2.1': + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 - '@eslint/object-schema@3.0.5': {} - - '@eslint/plugin-kit@0.7.1': + '@eslint/eslintrc@3.3.1': dependencies: - '@eslint/core': 1.2.1 + ajv: 6.12.6 + debug: 4.4.1 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.39.1': {} + + '@eslint/object-schema@2.1.7': {} + + '@eslint/plugin-kit@0.4.1': + dependencies: + '@eslint/core': 0.17.0 levn: 0.4.1 '@ffmpeg/ffmpeg@0.12.10': @@ -3272,6 +2969,21 @@ snapshots: '@intrnl/xxhash64@0.1.2': {} + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 @@ -3294,11 +3006,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@keyv/bigmap@1.3.1(keyv@5.6.0)': + '@keyv/bigmap@1.3.0(keyv@5.5.4)': dependencies: - hashery: 1.5.1 - hookified: 1.15.1 - keyv: 5.6.0 + hashery: 1.2.0 + hookified: 1.13.0 + keyv: 5.5.4 '@keyv/serialize@1.1.1': {} @@ -3314,13 +3026,13 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@puppeteer/browsers@2.13.0': + '@puppeteer/browsers@2.10.13': dependencies: debug: 4.4.3 extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.5.0 - semver: 7.7.4 + semver: 7.7.3 tar-fs: 3.1.1 yargs: 17.7.2 transitivePeerDependencies: @@ -3329,21 +3041,19 @@ snapshots: '@rtsao/scc@1.1.0': {} - '@sindresorhus/merge-streams@4.0.0': {} - - '@song-spotlight/api@2.1.3(typescript@6.0.2)': + '@song-spotlight/api@2.1.3(typescript@5.9.3)': dependencies: - typescript: 6.0.2 + typescript: 5.9.3 optionalDependencies: zod: 4.3.6 '@streamparser/json@0.0.22': {} - '@stylistic/eslint-plugin@5.10.0(eslint@10.2.0)': + '@stylistic/eslint-plugin@5.6.0(eslint@9.39.1)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.0) - '@typescript-eslint/types': 8.58.2 - eslint: 10.2.0 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@typescript-eslint/types': 8.47.0 + eslint: 9.39.1 eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -3351,17 +3061,19 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} - '@types/chrome@0.1.40': + '@types/adm-zip@0.5.7': + dependencies: + '@types/node': 24.10.1 + + '@types/chrome@0.1.30': dependencies: '@types/filesystem': 0.0.36 '@types/har-format': 1.2.15 - '@types/esrecurse@4.3.1': {} + '@types/diff@7.0.2': {} '@types/estree@1.0.7': {} - '@types/estree@1.0.8': {} - '@types/filesystem@0.0.36': dependencies: '@types/filewriter': 0.0.33 @@ -3387,15 +3099,15 @@ snapshots: '@types/lodash@4.17.15': {} - '@types/lodash@4.17.24': {} + '@types/lodash@4.17.20': {} '@types/node@22.13.13': dependencies: undici-types: 6.20.0 - '@types/node@25.6.0': + '@types/node@24.10.1': dependencies: - undici-types: 7.19.2 + undici-types: 7.16.0 '@types/react-dom@19.0.4(@types/react@19.0.12)': dependencies: @@ -3407,112 +3119,111 @@ snapshots: '@types/stylus@0.48.42': dependencies: - '@types/node': 25.6.0 + '@types/node': 24.10.1 '@types/tinycolor2@1.4.6': {} - '@types/trusted-types@2.0.7': - optional: true - '@types/yauzl@2.10.3': dependencies: - '@types/node': 25.6.0 + '@types/node': 24.10.1 optional: true - '@types/yazl@3.3.1': + '@types/yazl@3.3.0': dependencies: - '@types/node': 25.6.0 + '@types/node': 24.10.1 - '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)(typescript@6.0.2)': + '@typescript-eslint/eslint-plugin@8.47.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)': dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/type-utils': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - '@typescript-eslint/utils': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - '@typescript-eslint/visitor-keys': 8.58.2 - eslint: 10.2.0 - ignore: 7.0.5 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.47.0 + '@typescript-eslint/type-utils': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.47.0 + eslint: 9.39.1 + graphemer: 1.4.0 + ignore: 7.0.3 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2)': + '@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2) - '@typescript-eslint/visitor-keys': 8.58.2 - debug: 4.4.3 - eslint: 10.2.0 - typescript: 6.0.2 + '@typescript-eslint/scope-manager': 8.47.0 + '@typescript-eslint/types': 8.47.0 + '@typescript-eslint/typescript-estree': 8.47.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.47.0 + debug: 4.4.1 + eslint: 9.39.1 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.58.2(typescript@6.0.2)': + '@typescript-eslint/project-service@8.47.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@6.0.2) - '@typescript-eslint/types': 8.58.2 - debug: 4.4.3 - typescript: 6.0.2 + '@typescript-eslint/tsconfig-utils': 8.47.0(typescript@5.9.3) + '@typescript-eslint/types': 8.47.0 + debug: 4.4.1 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.58.2': + '@typescript-eslint/scope-manager@8.47.0': dependencies: - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/visitor-keys': 8.58.2 + '@typescript-eslint/types': 8.47.0 + '@typescript-eslint/visitor-keys': 8.47.0 - '@typescript-eslint/tsconfig-utils@8.58.2(typescript@6.0.2)': + '@typescript-eslint/tsconfig-utils@8.47.0(typescript@5.9.3)': dependencies: - typescript: 6.0.2 + typescript: 5.9.3 - '@typescript-eslint/type-utils@8.58.2(eslint@10.2.0)(typescript@6.0.2)': + '@typescript-eslint/type-utils@8.47.0(eslint@9.39.1)(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2) - '@typescript-eslint/utils': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - debug: 4.4.3 - eslint: 10.2.0 - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 + '@typescript-eslint/types': 8.47.0 + '@typescript-eslint/typescript-estree': 8.47.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + debug: 4.4.1 + eslint: 9.39.1 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.58.2': {} + '@typescript-eslint/types@8.47.0': {} - '@typescript-eslint/typescript-estree@8.58.2(typescript@6.0.2)': + '@typescript-eslint/typescript-estree@8.47.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.58.2(typescript@6.0.2) - '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@6.0.2) - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/visitor-keys': 8.58.2 - debug: 4.4.3 - minimatch: 10.2.5 - semver: 7.7.3 - tinyglobby: 0.2.16 - ts-api-utils: 2.5.0(typescript@6.0.2) - typescript: 6.0.2 + '@typescript-eslint/project-service': 8.47.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.47.0(typescript@5.9.3) + '@typescript-eslint/types': 8.47.0 + '@typescript-eslint/visitor-keys': 8.47.0 + debug: 4.4.1 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.58.2(eslint@10.2.0)(typescript@6.0.2)': + '@typescript-eslint/utils@8.47.0(eslint@9.39.1)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.0) - '@typescript-eslint/scope-manager': 8.58.2 - '@typescript-eslint/types': 8.58.2 - '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2) - eslint: 10.2.0 - typescript: 6.0.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@typescript-eslint/scope-manager': 8.47.0 + '@typescript-eslint/types': 8.47.0 + '@typescript-eslint/typescript-estree': 8.47.0(typescript@5.9.3) + eslint: 9.39.1 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.58.2': + '@typescript-eslint/visitor-keys@8.47.0': dependencies: - '@typescript-eslint/types': 8.58.2 - eslint-visitor-keys: 5.0.1 + '@typescript-eslint/types': 8.47.0 + eslint-visitor-keys: 4.2.1 '@vap/core@0.0.12': dependencies: @@ -3534,19 +3245,13 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@8.16.0): - dependencies: - acorn: 8.16.0 - acorn@8.14.1: {} acorn@8.15.0: {} - acorn@8.16.0: {} - agent-base@7.1.3: {} - ajv@6.14.0: + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -3572,6 +3277,8 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@6.2.3: {} + argparse@2.0.1: {} array-buffer-byte-length@1.0.2: @@ -3599,6 +3306,8 @@ snapshots: is-string: 1.1.1 math-intrinsics: 1.1.0 + array-union@2.1.0: {} + array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.8 @@ -3675,7 +3384,7 @@ snapshots: balanced-match@1.0.2: {} - balanced-match@4.0.4: {} + balanced-match@2.0.0: {} bare-events@2.5.4: optional: true @@ -3704,8 +3413,6 @@ snapshots: basic-ftp@5.0.5: {} - boolbase@1.0.0: {} - brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -3715,10 +3422,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.5: - dependencies: - balanced-match: 4.0.4 - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -3727,13 +3430,13 @@ snapshots: buffer-from@1.1.2: {} - cacheable@2.3.4: + cacheable@2.2.0: dependencies: - '@cacheable/memory': 2.0.8 - '@cacheable/utils': 2.4.1 - hookified: 1.15.1 - keyv: 5.6.0 - qified: 0.9.1 + '@cacheable/memory': 2.0.5 + '@cacheable/utils': 2.3.1 + hookified: 1.13.0 + keyv: 5.5.4 + qified: 0.5.2 call-bind-apply-helpers@1.0.2: dependencies: @@ -3770,9 +3473,9 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chromium-bidi@14.0.0(devtools-protocol@0.0.1595872): + chromium-bidi@11.0.0(devtools-protocol@0.0.1521046): dependencies: - devtools-protocol: 0.0.1595872 + devtools-protocol: 0.0.1521046 mitt: 3.0.1 zod: 3.24.2 @@ -3802,22 +3505,20 @@ snapshots: commander@10.0.1: {} - commander@11.1.0: {} - commander@13.1.0: {} commander@2.20.3: {} concat-map@0.0.1: {} - cosmiconfig@9.0.1(typescript@6.0.2): + cosmiconfig@9.0.0(typescript@5.9.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 6.0.2 + typescript: 5.9.3 cross-spawn@7.0.6: dependencies: @@ -3825,39 +3526,15 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-functions-list@3.3.3: {} - - css-select@5.2.2: - dependencies: - boolbase: 1.0.0 - css-what: 6.2.2 - domhandler: 5.0.3 - domutils: 3.2.2 - nth-check: 2.1.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.2.1 + css-functions-list@3.2.3: {} css-tree@3.1.0: dependencies: mdn-data: 2.12.2 source-map-js: 1.2.1 - css-tree@3.2.1: - dependencies: - mdn-data: 2.27.1 - source-map-js: 1.2.1 - - css-what@6.2.2: {} - cssesc@3.0.0: {} - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - csstype@3.1.3: {} data-uri-to-buffer@6.0.2: {} @@ -3884,6 +3561,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.1: + dependencies: + ms: 2.1.3 + debug@4.4.3: dependencies: ms: 2.1.3 @@ -3908,35 +3589,19 @@ snapshots: escodegen: 2.1.0 esprima: 4.0.1 - devtools-protocol@0.0.1595872: {} + devtools-protocol@0.0.1521046: {} - diff@9.0.0: {} + diff@8.0.2: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 doctrine@2.1.0: dependencies: esutils: 2.0.3 - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - dompurify@3.2.7: - optionalDependencies: - '@types/trusted-types': 2.0.7 - - domutils@3.2.2: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 + dompurify@3.1.7: {} dot-case@3.0.4: dependencies: @@ -3949,8 +3614,12 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + eastasianwidth@0.2.0: {} + emoji-regex@8.0.0: {} + emoji-regex@9.2.2: {} + end-of-stream@1.4.4: dependencies: once: 1.4.0 @@ -4175,35 +3844,6 @@ snapshots: '@esbuild/win32-ia32': 0.27.0 '@esbuild/win32-x64': 0.27.0 - esbuild@0.28.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.28.0 - '@esbuild/android-arm': 0.28.0 - '@esbuild/android-arm64': 0.28.0 - '@esbuild/android-x64': 0.28.0 - '@esbuild/darwin-arm64': 0.28.0 - '@esbuild/darwin-x64': 0.28.0 - '@esbuild/freebsd-arm64': 0.28.0 - '@esbuild/freebsd-x64': 0.28.0 - '@esbuild/linux-arm': 0.28.0 - '@esbuild/linux-arm64': 0.28.0 - '@esbuild/linux-ia32': 0.28.0 - '@esbuild/linux-loong64': 0.28.0 - '@esbuild/linux-mips64el': 0.28.0 - '@esbuild/linux-ppc64': 0.28.0 - '@esbuild/linux-riscv64': 0.28.0 - '@esbuild/linux-s390x': 0.28.0 - '@esbuild/linux-x64': 0.28.0 - '@esbuild/netbsd-arm64': 0.28.0 - '@esbuild/netbsd-x64': 0.28.0 - '@esbuild/openbsd-arm64': 0.28.0 - '@esbuild/openbsd-x64': 0.28.0 - '@esbuild/openharmony-arm64': 0.28.0 - '@esbuild/sunos-x64': 0.28.0 - '@esbuild/win32-arm64': 0.28.0 - '@esbuild/win32-ia32': 0.28.0 - '@esbuild/win32-x64': 0.28.0 - escalade@3.1.2: {} escape-string-regexp@1.0.5: {} @@ -4218,9 +3858,9 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1) eslint-import-resolver-node@0.3.9: dependencies: @@ -4230,17 +3870,17 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint@10.2.0): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - eslint: 10.2.0 + '@typescript-eslint/parser': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + eslint: 9.39.1 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -4249,9 +3889,9 @@ snapshots: array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 - eslint: 10.2.0 + eslint: 9.39.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint-import-resolver-node@0.3.9)(eslint@10.2.0) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -4263,13 +3903,13 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.58.2(eslint@10.2.0)(typescript@6.0.2) + '@typescript-eslint/parser': 8.47.0(eslint@9.39.1)(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - eslint-plugin-react@7.37.5(eslint@10.2.0): + eslint-plugin-react@7.37.5(eslint@9.39.1): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -4277,7 +3917,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 10.2.0 + eslint: 9.39.1 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -4291,24 +3931,22 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-simple-header@1.2.2(eslint@10.2.0): + eslint-plugin-simple-header@1.2.2(eslint@9.39.1): dependencies: - eslint: 10.2.0 + eslint: 9.39.1 - eslint-plugin-simple-import-sort@13.0.0(eslint@10.2.0): + eslint-plugin-simple-import-sort@12.1.1(eslint@9.39.1): dependencies: - eslint: 10.2.0 + eslint: 9.39.1 - eslint-plugin-unused-imports@4.4.1(@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0): + eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.47.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1): dependencies: - eslint: 10.2.0 + eslint: 9.39.1 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)(typescript@6.0.2) + '@typescript-eslint/eslint-plugin': 8.47.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3) - eslint-scope@9.1.2: + eslint-scope@8.4.0: dependencies: - '@types/esrecurse': 4.3.1 - '@types/estree': 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -4316,28 +3954,29 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.1: {} - - eslint@10.2.0: + eslint@9.39.1: dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@10.2.0) - '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.23.5 - '@eslint/config-helpers': 0.5.5 - '@eslint/core': 1.2.1 - '@eslint/plugin-kit': 0.7.1 + '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.39.1 + '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.2 '@types/estree': 1.0.7 - ajv: 6.14.0 + ajv: 6.12.6 + chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 9.1.2 - eslint-visitor-keys: 5.0.1 - espree: 11.2.0 - esquery: 1.7.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -4347,7 +3986,8 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - minimatch: 10.2.5 + lodash.merge: 4.6.2 + minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 transitivePeerDependencies: @@ -4359,15 +3999,9 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 4.2.1 - espree@11.2.0: - dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) - eslint-visitor-keys: 5.0.1 - esprima@4.0.1: {} - esquery@1.7.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 @@ -4419,10 +4053,6 @@ snapshots: dependencies: pend: 1.2.0 - fdir@6.5.0(picomatch@4.0.4): - optionalDependencies: - picomatch: 4.0.4 - fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -4431,9 +4061,9 @@ snapshots: fflate@0.8.2: {} - file-entry-cache@11.1.2: + file-entry-cache@10.1.4: dependencies: - flat-cache: 6.1.22 + flat-cache: 6.1.19 file-entry-cache@8.0.0: dependencies: @@ -4453,20 +4083,23 @@ snapshots: flatted: 3.3.3 keyv: 4.5.4 - flat-cache@6.1.22: + flat-cache@6.1.19: dependencies: - cacheable: 2.3.4 - flatted: 3.4.2 - hookified: 1.15.1 + cacheable: 2.2.0 + flatted: 3.3.3 + hookified: 1.13.0 flatted@3.3.3: {} - flatted@3.4.2: {} - for-each@0.3.5: dependencies: is-callable: 1.2.7 + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + fs-extra@11.3.0: dependencies: graceful-fs: 4.2.11 @@ -4491,8 +4124,6 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.5.0: {} - get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -4544,11 +4175,14 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@13.0.6: + glob@11.0.3: dependencies: - minimatch: 10.2.5 - minipass: 7.1.3 - path-scurry: 2.0.2 + foreground-child: 3.3.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 global-modules@2.0.0: dependencies: @@ -4566,19 +4200,21 @@ snapshots: kind-of: 6.0.3 which: 4.0.0 + globals@14.0.0: {} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.2.0 - globby@16.2.0: + globby@11.1.0: dependencies: - '@sindresorhus/merge-streams': 4.0.0 + array-union: 2.1.0 + dir-glob: 3.0.1 fast-glob: 3.3.3 - ignore: 7.0.5 - is-path-inside: 4.0.0 - slash: 5.1.0 - unicorn-magic: 0.4.0 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 globjoin@0.1.4: {} @@ -4586,14 +4222,14 @@ snapshots: graceful-fs@4.2.11: {} + graphemer@1.4.0: {} + has-bigints@1.0.2: {} has-flag@3.0.0: {} has-flag@4.0.0: {} - has-flag@5.0.1: {} - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.1 @@ -4608,9 +4244,9 @@ snapshots: dependencies: has-symbols: 1.1.0 - hashery@1.5.1: + hashery@1.2.0: dependencies: - hookified: 1.15.1 + hookified: 1.13.0 hasown@2.0.2: dependencies: @@ -4618,9 +4254,7 @@ snapshots: highlight.js@11.11.1: {} - hookified@1.15.1: {} - - hookified@2.1.1: {} + hookified@1.13.0: {} html-minifier-terser@7.2.0: dependencies: @@ -4632,7 +4266,7 @@ snapshots: relateurl: 0.2.7 terser: 5.39.0 - html-tags@5.1.0: {} + html-tags@3.3.1: {} http-proxy-agent@7.0.2: dependencies: @@ -4652,6 +4286,8 @@ snapshots: ignore@5.3.1: {} + ignore@7.0.3: {} + ignore@7.0.5: {} import-fresh@3.3.1: @@ -4659,8 +4295,6 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-meta-resolve@4.2.0: {} - imurmurhash@0.1.4: {} ini@1.3.8: {} @@ -4750,8 +4384,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@4.0.0: {} - is-plain-object@5.0.0: {} is-regex@1.2.1: @@ -4808,6 +4440,10 @@ snapshots: has-symbols: 1.1.0 set-function-name: 2.0.2 + jackspeak@4.1.1: + dependencies: + '@isaacs/cliui': 8.0.2 + js-tokens@4.0.0: {} js-yaml@4.1.0: @@ -4855,12 +4491,14 @@ snapshots: dependencies: json-buffer: 3.0.1 - keyv@5.6.0: + keyv@5.5.4: dependencies: '@keyv/serialize': 1.1.1 kind-of@6.0.3: {} + known-css-properties@0.37.0: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -4872,6 +4510,8 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.merge@4.6.2: {} + lodash.truncate@4.4.2: {} loose-envify@1.4.0: @@ -4882,7 +4522,7 @@ snapshots: dependencies: tslib: 2.6.2 - lru-cache@11.3.5: {} + lru-cache@11.2.1: {} lru-cache@7.18.3: {} @@ -4890,15 +4530,11 @@ snapshots: math-intrinsics@1.1.0: {} - mathml-tag-names@4.0.0: {} - - mdn-data@2.0.28: {} + mathml-tag-names@2.1.3: {} mdn-data@2.12.2: {} - mdn-data@2.27.1: {} - - meow@14.1.0: {} + meow@13.2.0: {} merge2@1.4.1: {} @@ -4907,9 +4543,9 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - minimatch@10.2.5: + minimatch@10.0.3: dependencies: - brace-expansion: 5.0.5 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: @@ -4925,15 +4561,15 @@ snapshots: minimist@1.2.8: {} - minipass@7.1.3: {} + minipass@7.1.2: {} mitt@3.0.1: {} moment@2.30.1: {} - monaco-editor@0.55.1: + monaco-editor@0.54.0: dependencies: - dompurify: 3.2.7 + dompurify: 3.1.7 marked: 14.0.0 ms@2.1.3: {} @@ -4960,10 +4596,6 @@ snapshots: normalize-path@3.0.0: {} - nth-check@2.1.1: - dependencies: - boolbase: 1.0.0 - object-assign@4.1.1: {} object-inspect@1.13.4: {} @@ -5055,6 +4687,8 @@ snapshots: degenerator: 5.0.1 netmask: 2.0.2 + package-json-from-dist@1.0.1: {} + pako@1.0.11: {} param-case@3.0.4: @@ -5084,10 +4718,12 @@ snapshots: path-parse@1.0.7: {} - path-scurry@2.0.2: + path-scurry@2.0.0: dependencies: - lru-cache: 11.3.5 - minipass: 7.1.3 + lru-cache: 11.2.1 + minipass: 7.1.2 + + path-type@4.0.0: {} pend@1.2.0: {} @@ -5097,22 +4733,22 @@ snapshots: picomatch@4.0.3: {} - picomatch@4.0.4: {} - possible-typed-array-names@1.1.0: {} - postcss-safe-parser@7.0.1(postcss@8.5.10): - dependencies: - postcss: 8.5.10 + postcss-resolve-nested-selector@0.1.6: {} - postcss-selector-parser@7.1.1: + postcss-safe-parser@7.0.1(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + + postcss-selector-parser@7.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 postcss-value-parser@4.2.0: {} - postcss@8.5.10: + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -5150,15 +4786,15 @@ snapshots: punycode@2.3.1: {} - puppeteer-core@24.41.0: + puppeteer-core@24.30.0: dependencies: - '@puppeteer/browsers': 2.13.0 - chromium-bidi: 14.0.0(devtools-protocol@0.0.1595872) + '@puppeteer/browsers': 2.10.13 + chromium-bidi: 11.0.0(devtools-protocol@0.0.1521046) debug: 4.4.3 - devtools-protocol: 0.0.1595872 - typed-query-selector: 2.12.1 - webdriver-bidi-protocol: 0.4.1 - ws: 8.20.0 + devtools-protocol: 0.0.1521046 + typed-query-selector: 2.12.0 + webdriver-bidi-protocol: 0.3.8 + ws: 8.18.3 transitivePeerDependencies: - bare-buffer - bufferutil @@ -5167,9 +4803,9 @@ snapshots: q@1.5.1: {} - qified@0.9.1: + qified@0.5.2: dependencies: - hookified: 2.1.1 + hookified: 1.13.0 queue-microtask@1.2.3: {} @@ -5203,6 +4839,8 @@ snapshots: resolve-from@4.0.0: {} + resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} resolve@1.22.11: @@ -5248,15 +4886,13 @@ snapshots: es-errors: 1.3.0 is-regex: 1.2.1 - sax@1.6.0: {} - semver@6.3.1: {} semver@7.7.1: {} - semver@7.7.3: {} + semver@7.7.2: {} - semver@7.7.4: {} + semver@7.7.3: {} set-function-length@1.2.2: dependencies: @@ -5316,7 +4952,7 @@ snapshots: signal-exit@4.1.0: {} - slash@5.1.0: {} + slash@3.0.0: {} slice-ansi@4.0.0: dependencies: @@ -5350,7 +4986,7 @@ snapshots: sprintf-js@1.1.3: {} - standalone-electron-types@41.2.1: + standalone-electron-types@34.2.0: dependencies: '@types/node': 22.13.13 @@ -5372,9 +5008,10 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@8.2.0: + string-width@5.1.2: dependencies: - get-east-asian-width: 1.5.0 + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 strip-ansi: 7.1.2 string.prototype.matchall@4.0.12: @@ -5431,59 +5068,61 @@ snapshots: strip-bom@3.0.0: {} - stylelint-config-recommended@18.0.0(stylelint@17.8.0(typescript@6.0.2)): - dependencies: - stylelint: 17.8.0(typescript@6.0.2) + strip-json-comments@3.1.1: {} - stylelint-config-standard@40.0.0(stylelint@17.8.0(typescript@6.0.2)): + stylelint-config-recommended@17.0.0(stylelint@16.25.0(typescript@5.9.3)): dependencies: - stylelint: 17.8.0(typescript@6.0.2) - stylelint-config-recommended: 18.0.0(stylelint@17.8.0(typescript@6.0.2)) + stylelint: 16.25.0(typescript@5.9.3) - stylelint@17.8.0(typescript@6.0.2): + stylelint-config-standard@39.0.1(stylelint@16.25.0(typescript@5.9.3)): dependencies: - '@csstools/css-calc': 3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) - '@csstools/css-syntax-patches-for-csstree': 1.1.3(css-tree@3.2.1) - '@csstools/css-tokenizer': 4.0.0 - '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) - '@csstools/selector-resolve-nested': 4.0.0(postcss-selector-parser@7.1.1) - '@csstools/selector-specificity': 6.0.0(postcss-selector-parser@7.1.1) + stylelint: 16.25.0(typescript@5.9.3) + stylelint-config-recommended: 17.0.0(stylelint@16.25.0(typescript@5.9.3)) + + stylelint@16.25.0(typescript@5.9.3): + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + '@csstools/media-query-list-parser': 4.0.3(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0) + '@dual-bundle/import-meta-resolve': 4.2.1 + balanced-match: 2.0.0 colord: 2.9.3 - cosmiconfig: 9.0.1(typescript@6.0.2) - css-functions-list: 3.3.3 - css-tree: 3.2.1 + cosmiconfig: 9.0.0(typescript@5.9.3) + css-functions-list: 3.2.3 + css-tree: 3.1.0 debug: 4.4.3 fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 - file-entry-cache: 11.1.2 + file-entry-cache: 10.1.4 global-modules: 2.0.0 - globby: 16.2.0 + globby: 11.1.0 globjoin: 0.1.4 - html-tags: 5.1.0 + html-tags: 3.3.1 ignore: 7.0.5 - import-meta-resolve: 4.2.0 + imurmurhash: 0.1.4 is-plain-object: 5.0.0 - mathml-tag-names: 4.0.0 - meow: 14.1.0 + known-css-properties: 0.37.0 + mathml-tag-names: 2.1.3 + meow: 13.2.0 micromatch: 4.0.8 normalize-path: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.10 - postcss-safe-parser: 7.0.1(postcss@8.5.10) - postcss-selector-parser: 7.1.1 + postcss: 8.5.6 + postcss-resolve-nested-selector: 0.1.6 + postcss-safe-parser: 7.0.1(postcss@8.5.6) + postcss-selector-parser: 7.1.0 postcss-value-parser: 4.2.0 - string-width: 8.2.0 - supports-hyperlinks: 4.4.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + supports-hyperlinks: 3.2.0 svg-tags: 1.0.0 table: 6.9.0 - write-file-atomic: 7.0.1 + write-file-atomic: 5.0.1 transitivePeerDependencies: - supports-color - typescript - supports-color@10.2.2: {} - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -5492,25 +5131,15 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-hyperlinks@4.4.0: + supports-hyperlinks@3.2.0: dependencies: - has-flag: 5.0.1 - supports-color: 10.2.2 + has-flag: 4.0.0 + supports-color: 7.2.0 supports-preserve-symlinks-flag@1.0.0: {} svg-tags@1.0.0: {} - svgo@4.0.1: - dependencies: - commander: 11.1.0 - css-select: 5.2.2 - css-tree: 3.1.0 - css-what: 6.2.2 - csso: 5.0.5 - picocolors: 1.1.1 - sax: 1.6.0 - table@6.9.0: dependencies: ajv: 8.17.1 @@ -5548,18 +5177,13 @@ snapshots: dependencies: b4a: 1.6.6 - tinyglobby@0.2.16: - dependencies: - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - ts-api-utils@2.5.0(typescript@6.0.2): + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: - typescript: 6.0.2 + typescript: 5.9.3 ts-patch@3.3.0: dependencies: @@ -5572,8 +5196,6 @@ snapshots: ts-pattern@5.6.2: {} - ts-pattern@5.9.0: {} - tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -5592,9 +5214,9 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - tsx@4.21.0: + tsx@4.20.6: dependencies: - esbuild: 0.27.0 + esbuild: 0.25.1 get-tsconfig: 4.10.0 optionalDependencies: fsevents: 2.3.3 @@ -5607,7 +5229,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.5.0: + type-fest@5.2.0: dependencies: tagged-tag: 1.0.0 @@ -5644,25 +5266,25 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typed-query-selector@2.12.1: {} + typed-query-selector@2.12.0: {} - typescript-eslint@8.58.2(eslint@10.2.0)(typescript@6.0.2): + typescript-eslint@8.47.0(eslint@9.39.1)(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0)(typescript@6.0.2) - '@typescript-eslint/parser': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2) - '@typescript-eslint/utils': 8.58.2(eslint@10.2.0)(typescript@6.0.2) - eslint: 10.2.0 - typescript: 6.0.2 + '@typescript-eslint/eslint-plugin': 8.47.0(@typescript-eslint/parser@8.47.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.47.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.47.0(eslint@9.39.1)(typescript@5.9.3) + eslint: 9.39.1 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - typescript-transform-paths@3.5.6(typescript@6.0.2): + typescript-transform-paths@3.5.5(typescript@5.9.3): dependencies: minimatch: 9.0.5 - typescript: 6.0.2 + typescript: 5.9.3 - typescript@6.0.2: {} + typescript@5.9.3: {} unbox-primitive@1.1.0: dependencies: @@ -5673,9 +5295,7 @@ snapshots: undici-types@6.20.0: {} - undici-types@7.19.2: {} - - unicorn-magic@0.4.0: {} + undici-types@7.16.0: {} universalify@2.0.1: {} @@ -5696,7 +5316,7 @@ snapshots: web-streams-polyfill@3.3.3: optional: true - webdriver-bidi-protocol@0.4.1: {} + webdriver-bidi-protocol@0.3.8: {} which-boxed-primitive@1.1.1: dependencies: @@ -5769,18 +5389,23 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} - write-file-atomic@7.0.1: + write-file-atomic@5.0.1: dependencies: + imurmurhash: 0.1.4 signal-exit: 4.1.0 - ws@8.20.0: {} + ws@8.18.3: {} y18n@5.0.8: {} - yaml-js@0.3.1: {} - yargs-parser@21.1.1: {} yargs@17.7.2: diff --git a/scripts/utils.ts b/scripts/utils.ts index 2727f5447..701919c8a 100644 --- a/scripts/utils.ts +++ b/scripts/utils.ts @@ -38,7 +38,6 @@ export interface PluginData { name: string; description: string; tags: string[]; - searchTerms: string[]; authors: Dev[]; dependencies: string[]; hasPatches: boolean; @@ -153,8 +152,7 @@ export async function parseFile(fileName: string) { enabledByDefault: false, required: false, isModified: false, - tags: [] as string[], - searchTerms: [] as string[], + tags: [] as string[] } as PluginData; for (const prop of pluginObj.properties) { @@ -210,10 +208,9 @@ export async function parseFile(fileName: string) { }); break; case "tags": - case "searchTerms": - if (!isArrayLiteralExpression(value)) throw fail(`${key} is not an array literal`); - data[key] = value.elements.map(e => { - if (!isStringLiteral(e)) throw fail(`${key} array contains non-string literals`); + if (!isArrayLiteralExpression(value)) throw fail("tags is not an array literal"); + data.tags = value.elements.map(e => { + if (!isStringLiteral(e)) throw fail("tags array contains non-string literals"); return e.text; }); break; diff --git a/src/api/AudioPlayer.ts b/src/api/AudioPlayer.ts index d106d26b8..53d6c0614 100644 --- a/src/api/AudioPlayer.ts +++ b/src/api/AudioPlayer.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { findByCodeLazy, findLazy } from "@webpack"; +import { findByCodeLazy, findLazy } from "webpack"; let defaultSounds: null | string[] = null; const findDefaultSounds = findLazy(module => module.resolve && module.id && module.keys().some(key => key.endsWith(".mp3")), false); diff --git a/src/api/PluginManager.ts b/src/api/PluginManager.ts index 8cd514d59..0721b4d20 100644 --- a/src/api/PluginManager.ts +++ b/src/api/PluginManager.ts @@ -28,7 +28,6 @@ import { addMessagePopoverButton, removeMessagePopoverButton } from "@api/Messag import { addNicknameIcon, removeNicknameIcon } from "@api/NicknameIcons"; import { Settings, SettingsStore } from "@api/Settings"; import { disableStyle, enableStyle } from "@api/Styles"; -import { traceFunction } from "@debug/Tracer"; import { Logger } from "@utils/Logger"; import { onlyOnce } from "@utils/onlyOnce"; import { canonicalizeFind, canonicalizeReplacement } from "@utils/patches"; @@ -40,6 +39,7 @@ import { patches } from "@webpack/patcher"; import Plugins from "~plugins"; export { Plugins as plugins }; +import { traceFunction } from "../debug/Tracer"; import { addAudioProcessor, removeAudioProcessor } from "./AudioPlayer"; import { addChannelToolbarButton, addHeaderBarButton, removeChannelToolbarButton, removeHeaderBarButton } from "./HeaderBar"; import { addProfileCollection, removeProfileCollection } from "./ProfileCollections"; diff --git a/src/components/CheckedTextInput.tsx b/src/components/CheckedTextInput.tsx index cb2015f94..027dd51fa 100644 --- a/src/components/CheckedTextInput.tsx +++ b/src/components/CheckedTextInput.tsx @@ -16,13 +16,13 @@ * along with this program. If not, see . */ -import { React, TextInput, useState } from "@webpack/common"; +import { React, TextInput } from "@webpack/common"; interface TextInputProps { /** * WARNING: Changing this between renders will have no effect! */ - initialValue: string; + value: string; /** * This will only be called if the new value passed validate() */ @@ -41,15 +41,13 @@ interface TextInputProps { * A very simple wrapper around Discord's TextInput that validates input and shows * the user an error message and only calls your onChange when the input is valid */ -export function CheckedTextInput({ initialValue, onChange, validate, placeholder }: TextInputProps) { - const [value, setValue] = useState(initialValue); - const [error, setError] = useState(); +export function CheckedTextInput({ value: initialValue, onChange, validate, placeholder }: TextInputProps) { + const [value, setValue] = React.useState(initialValue); + const [error, setError] = React.useState(); function handleChange(v: string) { setValue(v); - const res = validate(v); - if (res === true) { setError(void 0); onChange(v); diff --git a/src/components/ThemeSettings/components/SettingColorComponent.tsx b/src/components/ThemeSettings/components/SettingColorComponent.tsx index 9f3e00fd2..e01228c5f 100644 --- a/src/components/ThemeSettings/components/SettingColorComponent.tsx +++ b/src/components/ThemeSettings/components/SettingColorComponent.tsx @@ -9,7 +9,6 @@ import "./colorStyles.css"; import { classNameFactory } from "@utils/css"; import { findByCodeLazy } from "@webpack"; import { ColorPicker, useMemo } from "@webpack/common"; -import type tinycolor from "tinycolor2"; // TinyColor is completely unmangled and it's duplicated in two modules! Fun! const TinyColor: tinycolor.Constructor = findByCodeLazy("this._gradientType="); diff --git a/src/components/settings/tabs/plugins/PluginCard.tsx b/src/components/settings/tabs/plugins/PluginCard.tsx index 96d1cb788..140498249 100644 --- a/src/components/settings/tabs/plugins/PluginCard.tsx +++ b/src/components/settings/tabs/plugins/PluginCard.tsx @@ -6,13 +6,13 @@ import { showNotice } from "@api/Notices"; import { isPluginEnabled, pluginRequiresRestart, startDependenciesRecursive, startPlugin, stopPlugin } from "@api/PluginManager"; -import { Settings } from "@api/Settings"; import { CogWheel, InfoIcon } from "@components/Icons"; import { AddonCard } from "@components/settings/AddonCard"; import { classNameFactory } from "@utils/css"; import { Logger } from "@utils/Logger"; import { OptionType, Plugin } from "@utils/types"; import { React, showToast, Toasts } from "@webpack/common"; +import { Settings } from "Vencord"; import { PluginMeta } from "~plugins"; diff --git a/src/components/settings/tabs/plugins/PluginModal.css b/src/components/settings/tabs/plugins/PluginModal.css index bdd35c80c..90620c665 100644 --- a/src/components/settings/tabs/plugins/PluginModal.css +++ b/src/components/settings/tabs/plugins/PluginModal.css @@ -60,25 +60,5 @@ } .vc-plugin-modal-info { - display: flex; - gap: 1em; - justify-content: space-between; - align-items: start; -} - -.vc-plugin-modal-tags { - display: flex; - flex-wrap: wrap; - gap: 4px; - margin-block: 8px 16px; -} - -.vc-plugin-modal-tag { align-items: center; - border: 1px solid var(--border-normal); - border-radius: 9999px; - display: flex; - justify-content: center; - padding: 6px 12px; - color: var(--text-default); -} +} \ No newline at end of file diff --git a/src/components/settings/tabs/plugins/PluginModal.tsx b/src/components/settings/tabs/plugins/PluginModal.tsx index 177fce95d..cf3379ee9 100644 --- a/src/components/settings/tabs/plugins/PluginModal.tsx +++ b/src/components/settings/tabs/plugins/PluginModal.tsx @@ -32,7 +32,7 @@ import { proxyLazy } from "@utils/lazy"; import { Margins } from "@utils/margins"; import { classes, isObjectEmpty } from "@utils/misc"; import { ModalContent, ModalFooter, ModalHeader, ModalProps, ModalRoot, ModalSize, openModal } from "@utils/modal"; -import { OptionType, Plugin, PluginTag } from "@utils/types"; +import { OptionType, Plugin } from "@utils/types"; import { User } from "@vencord/discord-types"; import { findComponentByCodeLazy, findCssClassesLazy } from "@webpack"; import { Clickable, FluxDispatcher, React, Toasts, Tooltip, useEffect, useMemo, UserStore, UserSummaryItem, UserUtils, useState } from "@webpack/common"; @@ -74,16 +74,6 @@ export function makeDummyUser(user: { username: string; id?: string; avatar?: st return newUser; } -function PluginTags({ tags }: { tags: PluginTag[]; }) { - return ( -
- {tags.map(tag => ( -
{tag}
- ))} -
- ); -} - export default function PluginModal({ plugin, onRestartNeeded, onClose, transitionState }: PluginModalProps) { const pluginSettings = useSettings([`plugins.${plugin.name}.*`]).plugins[plugin.name]; const hasSettings = Boolean(pluginSettings && plugin.options && !isObjectEmpty(plugin.options)); @@ -177,7 +167,6 @@ export default function PluginModal({ plugin, onRestartNeeded, onClose, transiti
{plugin.name} {plugin.description} - {!!plugin.tags?.length && } {!!plugin.settingsAboutComponent && (
diff --git a/src/components/settings/tabs/plugins/index.tsx b/src/components/settings/tabs/plugins/index.tsx index 022bb9322..66a35a346 100644 --- a/src/components/settings/tabs/plugins/index.tsx +++ b/src/components/settings/tabs/plugins/index.tsx @@ -36,8 +36,7 @@ import { Logger } from "@utils/Logger"; import { Margins } from "@utils/margins"; import { classes } from "@utils/misc"; import { useAwaiter, useIntersection } from "@utils/react"; -import { PluginTag, PluginTags } from "@utils/types"; -import { Alerts, lodash, Parser, React, SearchableSelect, Select, TextInput, Toasts, Tooltip, useCallback, useMemo, useRef, useState } from "@webpack/common"; +import { Alerts, lodash, Parser, React, Select, TextInput, Toasts, Tooltip, useCallback, useMemo, useState } from "@webpack/common"; import { JSX } from "react"; import Plugins, { ExcludedPlugins, PluginMeta } from "~plugins"; @@ -144,8 +143,7 @@ function ExcludedPluginsList({ search }: { search: string; }) { export default function PluginSettings() { const settings = useSettings(); - const changeRef = useRef>(null); - const changes = changeRef.current ??= new ChangeList(); + const changes = React.useMemo(() => new ChangeList(), []); React.useEffect(() => { return () => { @@ -196,13 +194,25 @@ export default function PluginSettings() { const hasUserPlugins = useMemo(() => !IS_STANDALONE && Object.values(PluginMeta).some(m => m.userPlugin), []); - const [searchValue, setSearchValue] = useState({ value: "", tags: [] as PluginTag[], status: SearchStatus.ALL }); + const [searchValue, setSearchValue] = useState({ value: "", status: SearchStatus.ALL }); + const [searchInput, setSearchInput] = useState(""); + + const debouncedSetSearch = useMemo( + () => debounce((query: string) => setSearchValue(prev => ({ ...prev, value: query })), 150), + [] + ); const search = searchValue.value.toLowerCase(); - const onSearch = (query: string) => setSearchValue(prev => ({ ...prev, value: query })); + const onSearch = useCallback((query: string) => { + setSearchInput(query); + debouncedSetSearch(query); + }, [debouncedSetSearch]); + const onStatusChange = useCallback((status: SearchStatus) => { + setSearchValue(prev => ({ ...prev, status })); + }, []); const pluginFilter = useCallback((plugin: typeof Plugins[keyof typeof Plugins], newPluginsSet: Set | null) => { - const { status, tags } = searchValue; + const { status } = searchValue; const enabled = isPluginEnabled(plugin.name); switch (status) { @@ -229,14 +239,12 @@ export default function PluginSettings() { break; } - if (tags.length && tags.some(t => !plugin.tags?.includes(t))) return false; - if (!search.length) return true; return ( plugin.name.toLowerCase().includes(search.replace(/\s+/g, "")) || plugin.description.toLowerCase().includes(search) || - plugin.searchTerms?.some(t => t.toLowerCase().includes(search)) + plugin.tags?.some(t => t.toLowerCase().includes(search)) ); }, [searchValue, search]); @@ -398,45 +406,31 @@ export default function PluginSettings() { Filters - - - - - -
- v === searchValue.status} + closeOnSelect={true} + /> +
-
+
Plugins @@ -462,7 +456,6 @@ export default function PluginSettings() { Required Plugins -
{requiredPlugins.length ? requiredPlugins diff --git a/src/components/settings/tabs/plugins/styles.css b/src/components/settings/tabs/plugins/styles.css index 0f531b126..27e512395 100644 --- a/src/components/settings/tabs/plugins/styles.css +++ b/src/components/settings/tabs/plugins/styles.css @@ -45,12 +45,7 @@ display: grid; height: 40px; gap: 10px; - grid-template-columns: 1fr 1fr; - align-items: center; -} - -.vc-plugins-filter-control { - height: 40px; + grid-template-columns: 1fr 150px; } .vc-plugins-dep-name { diff --git a/src/components/settings/tabs/sync/CloudTab.tsx b/src/components/settings/tabs/sync/CloudTab.tsx index c66fde69a..e848106c8 100644 --- a/src/components/settings/tabs/sync/CloudTab.tsx +++ b/src/components/settings/tabs/sync/CloudTab.tsx @@ -137,7 +137,7 @@ function CloudTab() {
{ cloud.url = v; cloud.authenticated = false; diff --git a/src/components/settings/tabs/vencord/index.tsx b/src/components/settings/tabs/vencord/index.tsx index c2f0aacea..37901be6d 100644 --- a/src/components/settings/tabs/vencord/index.tsx +++ b/src/components/settings/tabs/vencord/index.tsx @@ -20,7 +20,6 @@ import { Paragraph } from "@components/Paragraph"; import { openContributorModal, openPluginModal, SettingsTab, wrapTab } from "@components/settings"; import { QuickAction, QuickActionCard } from "@components/settings/QuickAction"; import { SpecialCard } from "@components/settings/SpecialCard"; -import BadgeAPI from "@plugins/_api/badges"; import { gitRemote } from "@shared/vencordUserAgent"; import { DONOR_ROLE_ID, GUILD_ID, IS_MAC, IS_WINDOWS, VC_DONOR_ROLE_ID, VC_GUILD_ID } from "@utils/constants"; import { classNameFactory } from "@utils/css"; @@ -28,6 +27,7 @@ import { Margins } from "@utils/margins"; import { identity, isAnyPluginDev } from "@utils/misc"; import { relaunch } from "@utils/native"; import { GuildMemberStore, React, Select, UserStore } from "@webpack/common"; +import BadgeAPI from "plugins/_api/badges"; import { DonateButtonComponent } from "./DonateButton"; import { openNotificationSettingsModal } from "./NotificationSettings"; diff --git a/src/debug/loadLazyChunks.ts b/src/debug/loadLazyChunks.ts index 997e69fa2..44e483faf 100644 --- a/src/debug/loadLazyChunks.ts +++ b/src/debug/loadLazyChunks.ts @@ -9,8 +9,8 @@ import { canonicalizeMatch } from "@utils/patches"; import { ModuleFactory } from "@vencord/discord-types/webpack"; import * as Webpack from "@webpack"; import { wreq } from "@webpack"; -import { AnyModuleFactory } from "@webpack/types"; import pLimit from "p-limit"; +import { AnyModuleFactory } from "webpack"; function getWebpackChunkMap() { const sym = Symbol(); diff --git a/src/debug/reporterData.ts b/src/debug/reporterData.ts index e713521e5..0fd261c0f 100644 --- a/src/debug/reporterData.ts +++ b/src/debug/reporterData.ts @@ -26,7 +26,6 @@ export interface ReporterData { }; failedWebpack: Record; } - export const reporterData: ReporterData = { failedPatches: { foundNoModule: [], diff --git a/src/equicordplugins/altKrispSwitch/index.tsx b/src/equicordplugins/altKrispSwitch/index.tsx index 8f05a8e43..a55216aa3 100644 --- a/src/equicordplugins/altKrispSwitch/index.tsx +++ b/src/equicordplugins/altKrispSwitch/index.tsx @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "AltKrispSwitch", description: "Makes the Noise Suppression Popout switch between None and Krisp instead of Krisp and Standard", - tags: ["Customisation", "Voice"], authors: [Devs.newwares], patches: [ { diff --git a/src/equicordplugins/alwaysExpandProfiles/index.ts b/src/equicordplugins/alwaysExpandProfiles/index.ts index 3a448288b..c78baea4f 100644 --- a/src/equicordplugins/alwaysExpandProfiles/index.ts +++ b/src/equicordplugins/alwaysExpandProfiles/index.ts @@ -11,7 +11,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "AlwaysExpandProfiles", description: "Always expands profile popouts to the full modal", - tags: ["Appearance", "Utility"], authors: [Devs.thororen], patches: [ { diff --git a/src/equicordplugins/animalese/index.ts b/src/equicordplugins/animalese/index.ts index a63bc44dc..1f8ccb568 100644 --- a/src/equicordplugins/animalese/index.ts +++ b/src/equicordplugins/animalese/index.ts @@ -193,7 +193,6 @@ async function playSound(buffer: AudioBuffer, volume: number) { export default definePlugin({ name: "Animalese", description: "Plays animal crossing animalese for every message sent (they yap a lot)", - tags: ["Customisation", "Fun"], authors: [EquicordDevs.ryanamay, EquicordDevs.Mocha], settings, diff --git a/src/equicordplugins/atSomeone/index.ts b/src/equicordplugins/atSomeone/index.ts index 15a094059..40902e6c4 100644 --- a/src/equicordplugins/atSomeone/index.ts +++ b/src/equicordplugins/atSomeone/index.ts @@ -13,7 +13,6 @@ export default definePlugin({ name: "AtSomeone", authors: [Devs.Joona], description: "Mention someone randomly", - tags: ["Chat", "Fun"], patches: [ { find: ".LAUNCHABLE_APPLICATIONS;", diff --git a/src/equicordplugins/autoZipper/index.ts b/src/equicordplugins/autoZipper/index.ts index a2b0a1d24..ab0f2335f 100644 --- a/src/equicordplugins/autoZipper/index.ts +++ b/src/equicordplugins/autoZipper/index.ts @@ -209,7 +209,6 @@ function handlePaste(event: ClipboardEvent) { export default definePlugin({ name: "AutoZipper", description: "Automatically zips specified file types and folders before uploading to Discord", - tags: ["Chat", "Organisation"], authors: [EquicordDevs.SSnowly], settings, diff --git a/src/equicordplugins/bannersEverywhere/index.tsx b/src/equicordplugins/bannersEverywhere/index.tsx index 6aea3cfe6..5959a4022 100644 --- a/src/equicordplugins/bannersEverywhere/index.tsx +++ b/src/equicordplugins/bannersEverywhere/index.tsx @@ -44,7 +44,6 @@ const DATASTORE_KEY = "bannersEverywhere"; export default definePlugin({ name: "BannersEverywhere", description: "Displays banners in the member list ", - tags: ["Appearance", "Customisation"], authors: [Devs.ImLvna, Devs.AutumnVN], settings, patches: [ diff --git a/src/equicordplugins/baseDecoder/index.tsx b/src/equicordplugins/baseDecoder/index.tsx index 9ecb51a9e..35ba3d701 100644 --- a/src/equicordplugins/baseDecoder/index.tsx +++ b/src/equicordplugins/baseDecoder/index.tsx @@ -107,8 +107,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "DecodeBase64", description: "Decode base64 content of any message and copy the decoded content.", - dependencies: ["MessagePopoverAPI"], - tags: ["Appearance", "Customisation", "Chat"], authors: [EquicordDevs.ThePirateStoner], settings, messagePopoverButton: { diff --git a/src/equicordplugins/betterActivities/index.tsx b/src/equicordplugins/betterActivities/index.tsx index 97e97a918..edb29a7c8 100644 --- a/src/equicordplugins/betterActivities/index.tsx +++ b/src/equicordplugins/betterActivities/index.tsx @@ -20,7 +20,7 @@ export default definePlugin({ name: "BetterActivities", description: "Shows activity icons in the member list and allows showing all activities", authors: [Devs.D3SOX, Devs.Arjix, Devs.AutumnVN, Devs.thororen], - tags: ["Activity"], + tags: ["activity"], settings, patchActivityList, showAllActivitiesComponent, diff --git a/src/equicordplugins/betterAudioPlayer/index.tsx b/src/equicordplugins/betterAudioPlayer/index.tsx index 94c3d9770..1692b2d85 100644 --- a/src/equicordplugins/betterAudioPlayer/index.tsx +++ b/src/equicordplugins/betterAudioPlayer/index.tsx @@ -274,7 +274,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "BetterAudioPlayer", description: "Adds a spectrograph and oscilloscope visualizer to audio attachment players.", - tags: ["Appearance", "Media", "Voice"], authors: [EquicordDevs.creations], settings, diff --git a/src/equicordplugins/betterBanReasons/index.tsx b/src/equicordplugins/betterBanReasons/index.tsx index 86d0b6dfe..68e849e1c 100644 --- a/src/equicordplugins/betterBanReasons/index.tsx +++ b/src/equicordplugins/betterBanReasons/index.tsx @@ -74,7 +74,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "BetterBanReasons", description: "Create custom reasons to use in the Discord ban modal, and/or show a text input by default instead of the options.", - tags: ["Appearance", "Customisation"], authors: [Devs.Inbestigator], patches: [ { diff --git a/src/equicordplugins/betterBlockedUsers/index.tsx b/src/equicordplugins/betterBlockedUsers/index.tsx index 995a7af10..ce936edb0 100644 --- a/src/equicordplugins/betterBlockedUsers/index.tsx +++ b/src/equicordplugins/betterBlockedUsers/index.tsx @@ -17,7 +17,6 @@ let updateFunc = (v: any) => { }; export default definePlugin({ name: "BetterBlockedUsers", description: "Allows you to search in blocked users list and makes names selectable in settings.", - tags: ["Appearance", "Shortcuts"], authors: [EquicordDevs.TheArmagan], patches: [ { diff --git a/src/equicordplugins/betterCommands/index.ts b/src/equicordplugins/betterCommands/index.ts index b405fdd52..6c7df169f 100644 --- a/src/equicordplugins/betterCommands/index.ts +++ b/src/equicordplugins/betterCommands/index.ts @@ -33,8 +33,6 @@ function fetchIndex(target: object) { export default definePlugin({ name: "BetterCommands", description: "Enhances the command system with miscellaneous improvements.", - dependencies: ["CommandsAPI"], - tags: ["Appearance", "Commands", "Shortcuts"], authors: [Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/betterInvites/index.tsx b/src/equicordplugins/betterInvites/index.tsx index 1676df307..76b2facfa 100644 --- a/src/equicordplugins/betterInvites/index.tsx +++ b/src/equicordplugins/betterInvites/index.tsx @@ -34,7 +34,6 @@ function lurk(id: string) { export default definePlugin({ name: "BetterInvites", description: "See invites expiration date, view inviter profile and preview servers before joining by clicking the name", - tags: ["Appearance", "Customisation", "Chat", "Servers"], authors: [EquicordDevs.iamme, Devs.thororen], patches: [ { diff --git a/src/equicordplugins/betterPlusReacts/index.ts b/src/equicordplugins/betterPlusReacts/index.ts index 995a759a5..2e3f84d2b 100644 --- a/src/equicordplugins/betterPlusReacts/index.ts +++ b/src/equicordplugins/betterPlusReacts/index.ts @@ -12,7 +12,6 @@ export default definePlugin({ name: "BetterPlusReacts", authors: [Devs.Joona], description: "The amount of plus before :emoji: is the message to add it to", - tags: ["Chat", "Emotes"], patches: [ { find: ".SLASH_COMMAND_USED,", diff --git a/src/equicordplugins/blockKeywords/index.ts b/src/equicordplugins/blockKeywords/index.ts index 13b44744c..3f7504373 100644 --- a/src/equicordplugins/blockKeywords/index.ts +++ b/src/equicordplugins/blockKeywords/index.ts @@ -70,7 +70,6 @@ export function containsBlockedKeywords(message: Message) { export default definePlugin({ name: "BlockKeywords", description: "Blocks messages containing specific user-defined keywords, as if the user sending them was blocked.", - tags: ["Appearance", "Customisation", "Privacy"], authors: [EquicordDevs.catcraft], patches: [ { diff --git a/src/equicordplugins/blockKrisp/index.ts b/src/equicordplugins/blockKrisp/index.ts index 9b80b65e8..28f6791ea 100644 --- a/src/equicordplugins/blockKrisp/index.ts +++ b/src/equicordplugins/blockKrisp/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "BlockKrisp", description: "Prevent Krisp from loading", - tags: ["Privacy", "Utility", "Voice"], authors: [Devs.D3SOX], patches: [ // Block loading modules on Desktop diff --git a/src/equicordplugins/bypassPinPrompt/index.ts b/src/equicordplugins/bypassPinPrompt/index.ts index c90c44b93..6c1503cd2 100644 --- a/src/equicordplugins/bypassPinPrompt/index.ts +++ b/src/equicordplugins/bypassPinPrompt/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "BypassPinPrompt", description: "Bypass the pin prompt when using the pin functions", - tags: ["Shortcuts"], authors: [Devs.thororen], patches: [ ...[ diff --git a/src/equicordplugins/bypassStatus/index.tsx b/src/equicordplugins/bypassStatus/index.tsx index 04d6861a2..ac9d635d0 100644 --- a/src/equicordplugins/bypassStatus/index.tsx +++ b/src/equicordplugins/bypassStatus/index.tsx @@ -157,7 +157,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "BypassStatus", description: "Still get notifications from specific sources when in do not disturb mode. Right-click on users/channels/guilds to set them to bypass do not disturb mode.", - tags: ["Activity", "Customisation", "Notifications", "Servers"], authors: [Devs.Inbestigator], dependencies: ["AudioPlayerAPI"], flux: { diff --git a/src/equicordplugins/channelBadges/index.tsx b/src/equicordplugins/channelBadges/index.tsx index ba65fc47a..25096a123 100644 --- a/src/equicordplugins/channelBadges/index.tsx +++ b/src/equicordplugins/channelBadges/index.tsx @@ -32,7 +32,6 @@ function renderBadge(id: number, title: string) { export default definePlugin({ name: "ChannelBadges", description: "Adds badges to channels based on their type", - tags: ["Appearance", "Customisation", "Servers"], authors: [EquicordDevs.creations, Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/channelTabs/index.tsx b/src/equicordplugins/channelTabs/index.tsx index 9cfa461ed..35e6888a3 100644 --- a/src/equicordplugins/channelTabs/index.tsx +++ b/src/equicordplugins/channelTabs/index.tsx @@ -15,8 +15,8 @@ import { ChannelStore, Menu } from "@webpack/common"; import { JSX } from "react"; import ChannelsTabsContainer from "./components/ChannelTabsContainer"; -import * as ChannelTabsUtils from "./util"; import { BasicChannelTabsProps, createTab, handleChannelSwitch, settings } from "./util"; +import * as ChannelTabsUtils from "./util"; const contextMenuPatch: NavContextMenuPatchCallback = (children, props: { channel: Channel, messageId?: string; }) => { const { channel, messageId } = props; @@ -47,7 +47,6 @@ const contextMenuPatch: NavContextMenuPatchCallback = (children, props: { channe export default definePlugin({ name: "ChannelTabs", description: "Group your commonly visited channels in tabs, like a browser", - tags: ["Appearance", "Customisation", "Organisation", "Servers"], authors: [Devs.TheSun, Devs.TheKodeToad, EquicordDevs.keifufu, Devs.Nickyux, EquicordDevs.DiabeloDEV, EquicordDevs.justjxke], dependencies: ["ContextMenuAPI"], contextMenus: { diff --git a/src/equicordplugins/cleanChannelName/index.ts b/src/equicordplugins/cleanChannelName/index.ts index 9193ac648..822d5b5d2 100644 --- a/src/equicordplugins/cleanChannelName/index.ts +++ b/src/equicordplugins/cleanChannelName/index.ts @@ -12,7 +12,6 @@ export default definePlugin({ name: "CleanChannelName", authors: [Devs.AutumnVN], description: "remove all emoji and decor shit from channel names", - tags: ["Appearance", "Customisation", "Chat", "Emotes", "Servers"], patches: [ { find: "loadAllGuildAndPrivateChannelsFromDisk(){", diff --git a/src/equicordplugins/cleanerChannelGroups/index.ts b/src/equicordplugins/cleanerChannelGroups/index.ts index 05c80840c..73f5ba4ce 100644 --- a/src/equicordplugins/cleanerChannelGroups/index.ts +++ b/src/equicordplugins/cleanerChannelGroups/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "CleanerChannelGroups", description: "Hides all channels in collapsed categories, even if they have unread messages.", - tags: ["Appearance", "Customisation", "Chat", "Organisation", "Servers"], authors: [EquicordDevs.justjxke], patches: [ { diff --git a/src/equicordplugins/clickableRoles/index.tsx b/src/equicordplugins/clickableRoles/index.tsx index c23359ffc..6f4005e58 100644 --- a/src/equicordplugins/clickableRoles/index.tsx +++ b/src/equicordplugins/clickableRoles/index.tsx @@ -146,7 +146,6 @@ const WrappedClickableRole = ErrorBoundary.wrap(ClickableRole, { noop: true }); export default definePlugin({ name: "ClickableRoles", description: "Click on roles in user profiles and the member list to see which members have them.", - tags: ["Appearance", "Roles"], authors: [Devs.prism], patches: [ diff --git a/src/equicordplugins/clientSideBlock/index.tsx b/src/equicordplugins/clientSideBlock/index.tsx index 1aa51a646..19c971c96 100644 --- a/src/equicordplugins/clientSideBlock/index.tsx +++ b/src/equicordplugins/clientSideBlock/index.tsx @@ -142,8 +142,7 @@ function activeNowView(cards) { export default definePlugin({ name: "ClientSideBlock", description: "Allows you to locally hide almost all content from any user", - tags: ["Utility"], - searchTerms: ["blocked", "block", "hide", "hidden", "noblockedmessages"], + tags: ["blocked", "block", "hide", "hidden", "noblockedmessages"], authors: [Devs.Samwich, EquicordDevs.KamiRu], settings, activeNowView, diff --git a/src/equicordplugins/clipsEnhancements.discordDesktop/index.tsx b/src/equicordplugins/clipsEnhancements.discordDesktop/index.tsx index 5d4039046..91320746e 100644 --- a/src/equicordplugins/clipsEnhancements.discordDesktop/index.tsx +++ b/src/equicordplugins/clipsEnhancements.discordDesktop/index.tsx @@ -72,7 +72,6 @@ migratePluginSettings("ClipsEnhancements", "TimelessClips"); export default definePlugin({ name: "ClipsEnhancements", description: "Add more Clip FPS and duration options, custom clip length, RPC tagging and more", - tags: ["Activity", "Media", "Utility"], authors: [Devs.niko, Devs.Joona, EquicordDevs.keircn], settings, patches: [ diff --git a/src/equicordplugins/collapsibleUi/index.tsx b/src/equicordplugins/collapsibleUi/index.tsx index d6c7d709c..d72033893 100644 --- a/src/equicordplugins/collapsibleUi/index.tsx +++ b/src/equicordplugins/collapsibleUi/index.tsx @@ -108,10 +108,8 @@ const ChatButtonsRow = ErrorBoundary.wrap(({ buttons }: { buttons: ReactNode[]; export default definePlugin({ name: "CollapsibleUI", description: "Native collapsible channel, member, chat button, and user area surfaces.", - tags: ["Appearance", "Customisation", "Chat", "Servers"], - dependencies: ["HeaderBarAPI"], authors: [EquicordDevs.benjii], - searchTerms: ["ui", "sidebar", "layout"], + tags: ["ui", "sidebar", "layout"], managedStyle, settings, diff --git a/src/equicordplugins/commandPalette/index.tsx b/src/equicordplugins/commandPalette/index.tsx index 6d3199c1a..c11d44a83 100644 --- a/src/equicordplugins/commandPalette/index.tsx +++ b/src/equicordplugins/commandPalette/index.tsx @@ -201,7 +201,6 @@ function hotkeyUsesModifiers() { export default definePlugin({ name: "CommandPalette", description: "Quickly run actions through a searchable command palette", - tags: ["Appearance", "Customisation", "Commands", "Shortcuts"], authors: [EquicordDevs.justjxke], settings, patches: [ diff --git a/src/equicordplugins/commandPalette/registry.tsx b/src/equicordplugins/commandPalette/registry.tsx index 8c7c87cf9..ea1616940 100644 --- a/src/equicordplugins/commandPalette/registry.tsx +++ b/src/equicordplugins/commandPalette/registry.tsx @@ -6,7 +6,7 @@ import { DataStore } from "@api/index"; import { isPluginEnabled, plugins, startPlugin, stopPlugin } from "@api/PluginManager"; -import { Settings, SettingsStore } from "@api/Settings"; +import { SettingsStore } from "@api/Settings"; import { getUserSettingLazy } from "@api/UserSettings"; import { openPluginModal } from "@components/settings/tabs"; import { toggleEnabled } from "@equicordplugins/equicordHelper/utils"; @@ -18,6 +18,7 @@ import { Guild } from "@vencord/discord-types"; import { findByPropsLazy, findExportedComponentLazy, findStoreLazy } from "@webpack"; import { Alerts, ChannelActionCreators, ChannelRouter, ChannelStore, ComponentDispatch, FluxDispatcher, GuildStore, IconUtils, MediaEngineStore, MessageStore, NavigationRouter, React, ReadStateStore, ReadStateUtils, SelectedChannelStore, SelectedGuildStore, SettingsRouter, StreamerModeStore, Toasts, useEffect, UserStore, VoiceActions } from "@webpack/common"; import type { FC, ReactElement, ReactNode } from "react"; +import { Settings } from "Vencord"; import commandPalette from "."; import { diff --git a/src/equicordplugins/components.dev/index.tsx b/src/equicordplugins/components.dev/index.tsx index 539ca46bb..b740b2403 100644 --- a/src/equicordplugins/components.dev/index.tsx +++ b/src/equicordplugins/components.dev/index.tsx @@ -18,7 +18,6 @@ import ComponentsTab from "./components/ComponentsTab"; export default definePlugin({ name: "Components", description: "Adds a new tab to settings to browse Discord components.", - tags: ["Appearance", "Customisation", "Console", "Developers", "Organisation"], authors: [Devs.prism], dependencies: ["Settings"], startAt: StartAt.WebpackReady, diff --git a/src/equicordplugins/contentWarning/index.tsx b/src/equicordplugins/contentWarning/index.tsx index 0c6982df5..cb2283c19 100644 --- a/src/equicordplugins/contentWarning/index.tsx +++ b/src/equicordplugins/contentWarning/index.tsx @@ -152,7 +152,6 @@ export default definePlugin({ name: "ContentWarning", authors: [EquicordDevs.camila314], description: "Allows you to specify certain trigger words that will be blurred by default. Hovering/Clicking on the blurred content will reveal it.", - tags: ["Appearance", "Utility"], settings, patches: [ { diff --git a/src/equicordplugins/copyProfileColors/index.tsx b/src/equicordplugins/copyProfileColors/index.tsx index fb175839c..256e86994 100644 --- a/src/equicordplugins/copyProfileColors/index.tsx +++ b/src/equicordplugins/copyProfileColors/index.tsx @@ -90,7 +90,6 @@ const userContextMenuPatch: NavContextMenuPatchCallback = (children, { user }) = export default definePlugin({ name: "CopyProfileColors", description: "A plugin to copy people's profile gradient colors to clipboard.", - tags: ["Appearance", "Customisation"], authors: [EquicordDevs.Crxa, EquicordDevs.Cortex], contextMenus: { "user-context": userContextMenuPatch, diff --git a/src/equicordplugins/copyStatusUrls/index.ts b/src/equicordplugins/copyStatusUrls/index.ts index ff17bb6f0..c05692269 100644 --- a/src/equicordplugins/copyStatusUrls/index.ts +++ b/src/equicordplugins/copyStatusUrls/index.ts @@ -23,7 +23,6 @@ const getMetadataFromApi: (activity: any, userId: string) => Promise = find export default definePlugin({ name: "CopyStatusUrls", description: "Copy the users status url when you right-click it", - tags: ["Activity", "Utility"], authors: [Devs.sadan], patches: [ diff --git a/src/equicordplugins/copyUserMention/index.tsx b/src/equicordplugins/copyUserMention/index.tsx index afcdaa55f..e11eda7e0 100644 --- a/src/equicordplugins/copyUserMention/index.tsx +++ b/src/equicordplugins/copyUserMention/index.tsx @@ -48,7 +48,6 @@ export default definePlugin({ name: "CopyUserMention", authors: [EquicordDevs.Cortex, Devs.castdrian], description: "Adds a button to copy user's mention on the user context menu, works best with ValidUser.", - tags: ["Chat", "Utility"], contextMenus: { "user-context": UserContextMenuPatch } diff --git a/src/equicordplugins/cursorBuddy/index.tsx b/src/equicordplugins/cursorBuddy/index.tsx index 1bfb47a5c..478d41cb8 100644 --- a/src/equicordplugins/cursorBuddy/index.tsx +++ b/src/equicordplugins/cursorBuddy/index.tsx @@ -235,9 +235,8 @@ migratePluginSettings("CursorBuddy", "Oneko", "oneko"); export default definePlugin({ name: "CursorBuddy", description: "Adds a sprite that follows your cursor.", - tags: ["Appearance", "Customisation", "Fun"], authors: [Devs.Ven, Devs.adryd, EquicordDevs.nexpid, EquicordDevs.ZcraftElite], - searchTerms: ["Oneko", "FatassHorse", "Pet"], + tags: ["Oneko", "FatassHorse", "Pet"], settings, isModified: true, diff --git a/src/equicordplugins/customFolderIcons/index.tsx b/src/equicordplugins/customFolderIcons/index.tsx index 7c860d5f5..eecc37762 100644 --- a/src/equicordplugins/customFolderIcons/index.tsx +++ b/src/equicordplugins/customFolderIcons/index.tsx @@ -14,7 +14,6 @@ import { folderProp, int2rgba } from "./util"; export default definePlugin({ name: "CustomFolderIcons", description: "Customize folder icons with any png", - tags: ["Appearance", "Customisation", "Organisation"], authors: [EquicordDevs.sadan], settings, patches: [ diff --git a/src/equicordplugins/customSounds/index.tsx b/src/equicordplugins/customSounds/index.tsx index 5a99fe1c5..7af13bd02 100644 --- a/src/equicordplugins/customSounds/index.tsx +++ b/src/equicordplugins/customSounds/index.tsx @@ -393,8 +393,6 @@ export function findOverride(id: string): SoundOverride | null { export default definePlugin({ name: "CustomSounds", description: "Customize Discord's sounds.", - dependencies: ["AudioPlayerAPI"], - tags: ["Customisation", "Notifications", "Voice"], authors: [Devs.ScattrdBlade, Devs.TheKodeToad], settings, startAt: StartAt.Init, diff --git a/src/equicordplugins/customStatusTimeouts/index.tsx b/src/equicordplugins/customStatusTimeouts/index.tsx index d76f258a1..90b8eed4b 100644 --- a/src/equicordplugins/customStatusTimeouts/index.tsx +++ b/src/equicordplugins/customStatusTimeouts/index.tsx @@ -54,7 +54,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "CustomStatusTimeouts", description: "Adds configurable timeout presets to the status (presence) menu.", - tags: ["Activity", "Utility"], authors: [EquicordDevs.Kiri, EquicordDevs.thororen], settings, patches: [ diff --git a/src/equicordplugins/customTimestamps/index.tsx b/src/equicordplugins/customTimestamps/index.tsx index 3db95fdf3..9aa55258a 100644 --- a/src/equicordplugins/customTimestamps/index.tsx +++ b/src/equicordplugins/customTimestamps/index.tsx @@ -125,7 +125,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "CustomTimestamps", description: "Custom timestamps on messages and tooltips", - tags: ["Appearance", "Customisation"], authors: [Devs.Rini, EquicordDevs.nvhhr, EquicordDevs.Suffocate, Devs.Obsidian], settings, settingsAboutComponent: () => ( diff --git a/src/equicordplugins/customUserColors/index.tsx b/src/equicordplugins/customUserColors/index.tsx index 55f92cf3f..db4db60e5 100644 --- a/src/equicordplugins/customUserColors/index.tsx +++ b/src/equicordplugins/customUserColors/index.tsx @@ -100,7 +100,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "CustomUserColors", description: "Lets you add a custom color to any user, anywhere! Highly recommend to use with typingTweaks and roleColorEverywhere", - tags: ["Appearance", "Customisation", "Chat"], authors: [EquicordDevs.mochienya], contextMenus: { "user-context": userContextMenuPatch, diff --git a/src/equicordplugins/declutter/index.tsx b/src/equicordplugins/declutter/index.tsx index ea2e628b6..e816d9159 100644 --- a/src/equicordplugins/declutter/index.tsx +++ b/src/equicordplugins/declutter/index.tsx @@ -141,7 +141,6 @@ function SectionSeparator(title: string) { export default definePlugin({ name: "Declutter", description: "Cleans up Discord by removing non-essential UI elements like profile effects, shop tabs, boosts, and more.", - tags: ["Appearance", "Customisation"], authors: [EquicordDevs.Leon135, Devs.prism, Devs.Kyuuhachi], settings, patches: [ diff --git a/src/equicordplugins/disableCameras/index.tsx b/src/equicordplugins/disableCameras/index.tsx index 0acdfeb5a..aa928134b 100644 --- a/src/equicordplugins/disableCameras/index.tsx +++ b/src/equicordplugins/disableCameras/index.tsx @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "DisableCameras", description: "Disables cameras in a call by default", - tags: ["Appearance", "Customisation", "Media", "Privacy"], authors: [Devs.Joona], patches: [ { diff --git a/src/equicordplugins/discordDevBanner/components/makeDevBanner.tsx b/src/equicordplugins/discordDevBanner/components/makeDevBanner.tsx index 10642d7e0..48ef55064 100644 --- a/src/equicordplugins/discordDevBanner/components/makeDevBanner.tsx +++ b/src/equicordplugins/discordDevBanner/components/makeDevBanner.tsx @@ -4,10 +4,10 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import SettingsPlugin from "@plugins/_core/settings"; import { detectClient } from "@plugins/_core/supportHelper"; import { gitHashShort } from "@shared/vencordUserAgent"; import { React } from "@webpack/common"; +import SettingsPlugin from "plugins/_core/settings"; import { JSX } from "react"; import { ChromiumIcon, ClientIcon, DevBannerIcon, DiscordIcon, ElectronIcon, EquicordIcon, names, settings } from "."; diff --git a/src/equicordplugins/discordDevBanner/index.tsx b/src/equicordplugins/discordDevBanner/index.tsx index febc2eb2a..4e56bd288 100644 --- a/src/equicordplugins/discordDevBanner/index.tsx +++ b/src/equicordplugins/discordDevBanner/index.tsx @@ -14,7 +14,6 @@ import { makeDevBanner, settings } from "./components"; export default definePlugin({ name: "DiscordDevBanner", description: "Enables the Discord developer banner, in which displays the build-ID", - tags: ["Appearance", "Console", "Developers"], authors: [EquicordDevs.KrystalSkull, Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/dragFavoriteEmotes/index.tsx b/src/equicordplugins/dragFavoriteEmotes/index.tsx index f727028ae..2b8e6b096 100644 --- a/src/equicordplugins/dragFavoriteEmotes/index.tsx +++ b/src/equicordplugins/dragFavoriteEmotes/index.tsx @@ -45,7 +45,6 @@ export default definePlugin({ name: "DragFavoriteEmotes", authors: [EquicordDevs.PWall], description: "Adds the ability to change the order of your favourite emotes", - tags: ["Customisation", "Chat", "Emotes"], patches: [ { find: "#{intl::EMOJI_FAVORITE_TOOLTIP}", diff --git a/src/equicordplugins/dragify/index.tsx b/src/equicordplugins/dragify/index.tsx index bb1f3d63d..d076ea7a7 100644 --- a/src/equicordplugins/dragify/index.tsx +++ b/src/equicordplugins/dragify/index.tsx @@ -149,7 +149,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "Dragify", description: "Drop users, channels, or servers into chat to insert mentions or invites.", - tags: ["Chat", "Servers", "Utility", "Voice"], authors: [EquicordDevs.justjxke], settings, diff --git a/src/equicordplugins/elementHighlighter.dev/index.tsx b/src/equicordplugins/elementHighlighter.dev/index.tsx index c466b1449..edbda06bb 100644 --- a/src/equicordplugins/elementHighlighter.dev/index.tsx +++ b/src/equicordplugins/elementHighlighter.dev/index.tsx @@ -449,7 +449,6 @@ function onToggle(e: KeyboardEvent) { export default definePlugin({ name: "ElementHighlighter", description: "Highlight and inspect elements easily.", - tags: ["Developers"], authors: [Devs.prism], settings, diff --git a/src/equicordplugins/equibopStreamFixes.equibop/index.tsx b/src/equicordplugins/equibopStreamFixes.equibop/index.tsx index 2f6341ca1..fb9a99b3f 100644 --- a/src/equicordplugins/equibopStreamFixes.equibop/index.tsx +++ b/src/equicordplugins/equibopStreamFixes.equibop/index.tsx @@ -89,7 +89,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "EquibopStreamFixes", description: "Tries to fix stream quality on Equibop by patching Discord's encoder and quality restrictions.", - tags: ["Voice"], authors: [EquicordDevs.creations], settings, diff --git a/src/equicordplugins/equicordHelper/index.tsx b/src/equicordplugins/equicordHelper/index.tsx index a73639e7f..d7d082bb9 100644 --- a/src/equicordplugins/equicordHelper/index.tsx +++ b/src/equicordplugins/equicordHelper/index.tsx @@ -133,8 +133,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "EquicordHelper", description: "Used to provide support, fix discord caused crashes, and other misc features.", - tags: ["Appearance", "Commands", "Utility"], - dependencies: ["CommandsAPI", "HeaderBarAPI", "MessageAccessoriesAPI"], authors: [ Devs.thororen, EquicordDevs.nyx, diff --git a/src/equicordplugins/equicordToolbox/index.tsx b/src/equicordplugins/equicordToolbox/index.tsx index f2e9542f7..5a6b32394 100644 --- a/src/equicordplugins/equicordToolbox/index.tsx +++ b/src/equicordplugins/equicordToolbox/index.tsx @@ -77,10 +77,11 @@ migratePluginSettings("EquicordToolbox", "VencordToolbox"); export default definePlugin({ name: "EquicordToolbox", description: "Adds a button next to the inbox button in the channel header that houses Equicord quick actions", - tags: ["Voice", "Accessibility"], authors: [Devs.Ven, Devs.AutumnVN], dependencies: ["HeaderBarAPI"], + settings, + headerBarButton: { icon: Icon, render: VencordPopoutButton, diff --git a/src/equicordplugins/equissant/index.ts b/src/equicordplugins/equissant/index.ts index b5b4ad4bd..188316213 100644 --- a/src/equicordplugins/equissant/index.ts +++ b/src/equicordplugins/equissant/index.ts @@ -33,7 +33,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "Equissant", description: "Crossant every specified amount of clicks :trolley:", - tags: ["Fun"], authors: [EquicordDevs.SomeAspy, Devs.thororen], dependencies: ["AudioPlayerAPI"], settings, diff --git a/src/equicordplugins/exitSounds/index.tsx b/src/equicordplugins/exitSounds/index.tsx index 4273c32e0..db67fe6ed 100644 --- a/src/equicordplugins/exitSounds/index.tsx +++ b/src/equicordplugins/exitSounds/index.tsx @@ -104,7 +104,6 @@ let original: typeof ChannelActions.selectVoiceChannel; export default definePlugin({ name: "ExitSounds", description: "Play soundboard sounds when you disconnect from voice.", - tags: ["Fun", "Voice"], authors: [Devs.prism], dependencies: ["AudioPlayerAPI"], settings, diff --git a/src/equicordplugins/exportMessages/index.tsx b/src/equicordplugins/exportMessages/index.tsx index ec3accf62..d2d3d68f5 100644 --- a/src/equicordplugins/exportMessages/index.tsx +++ b/src/equicordplugins/exportMessages/index.tsx @@ -129,7 +129,6 @@ function getUsernames(contacts: ContactsList[], type: number): string[] { export default definePlugin({ name: "ExportMessages", description: "Allows you to export any message to a file", - tags: ["Chat", "Utility"], authors: [EquicordDevs.veygax, EquicordDevs.dat_insanity], settings, contextMenus: { diff --git a/src/equicordplugins/fastDeleteChannels/index.tsx b/src/equicordplugins/fastDeleteChannels/index.tsx index adff9bea7..e4b20c200 100644 --- a/src/equicordplugins/fastDeleteChannels/index.tsx +++ b/src/equicordplugins/fastDeleteChannels/index.tsx @@ -74,7 +74,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "FastDeleteChannels", description: "Adds a trash icon to delete channels", - tags: ["Servers", "Utility"], authors: [Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/favouriteAnything/index.tsx b/src/equicordplugins/favouriteAnything/index.tsx index 9aaa3c214..b9d094962 100644 --- a/src/equicordplugins/favouriteAnything/index.tsx +++ b/src/equicordplugins/favouriteAnything/index.tsx @@ -25,9 +25,8 @@ export const AttachmentContext = proxyLazyWebpack(() => React.createContext; } -function supportsToBase64(array: Uint8Array): boolean { +function supportsToBase64(array: Uint8Array): array is Uint8ArrayExtended { return "toBase64" in array && typeof array.toBase64 === "function"; } diff --git a/src/equicordplugins/fileUpload/index.tsx b/src/equicordplugins/fileUpload/index.tsx index 959b56949..e06d504a8 100644 --- a/src/equicordplugins/fileUpload/index.tsx +++ b/src/equicordplugins/fileUpload/index.tsx @@ -216,7 +216,6 @@ const channelAttachMenuPatch: NavContextMenuPatchCallback = (children, props) => export default definePlugin({ name: "FileUpload", description: "Upload images and videos to file hosting services like Zipline and Nest", - tags: ["Media"], authors: [EquicordDevs.creations, EquicordDevs.keircn, Devs.ScattrdBlade], settings, patches: [ diff --git a/src/equicordplugins/findReply/index.tsx b/src/equicordplugins/findReply/index.tsx index 33c28ba8f..e76cf8f69 100644 --- a/src/equicordplugins/findReply/index.tsx +++ b/src/equicordplugins/findReply/index.tsx @@ -89,8 +89,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "FindReply", description: "Jumps to the earliest reply to a message in a channel (lets you follow past conversations more easily).", - dependencies: ["MessagePopoverAPI"], - tags: ["Chat", "Shortcuts"], authors: [Devs.newwares], settings, messagePopoverButton: { diff --git a/src/equicordplugins/fixFileExtensions/index.tsx b/src/equicordplugins/fixFileExtensions/index.tsx index 0c2f3a2d7..489f4d5e5 100644 --- a/src/equicordplugins/fixFileExtensions/index.tsx +++ b/src/equicordplugins/fixFileExtensions/index.tsx @@ -29,7 +29,6 @@ export default definePlugin({ name: "FixFileExtensions", authors: [Devs.thororen], description: "Fixes file extensions by renaming them to a compatible supported format if possible", - tags: ["Media", "Utility"], reporterTestable: ReporterTestable.None, patches: [ // Taken from AnonymiseFileNames diff --git a/src/equicordplugins/followVoiceUser/index.tsx b/src/equicordplugins/followVoiceUser/index.tsx index 56f242166..18ef15244 100644 --- a/src/equicordplugins/followVoiceUser/index.tsx +++ b/src/equicordplugins/followVoiceUser/index.tsx @@ -74,7 +74,6 @@ const UserContextMenuPatch: NavContextMenuPatchCallback = (children, { channel, export default definePlugin({ name: "FollowVoiceUser", description: "Follow a friend in voice chat.", - tags: ["Voice"], authors: [EquicordDevs.TheArmagan], settings, settingsAboutComponent: () => ( diff --git a/src/equicordplugins/fontLoader/index.tsx b/src/equicordplugins/fontLoader/index.tsx index aab6f31f3..f81c1d9a5 100644 --- a/src/equicordplugins/fontLoader/index.tsx +++ b/src/equicordplugins/fontLoader/index.tsx @@ -200,7 +200,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "FontLoader", description: "Loads any font from Google Fonts", - tags: ["Appearance", "Customisation"], authors: [EquicordDevs.vmohammad], settings, diff --git a/src/equicordplugins/forwardAnywhere/index.ts b/src/equicordplugins/forwardAnywhere/index.ts index 0404c4acf..4b1a4dd4e 100644 --- a/src/equicordplugins/forwardAnywhere/index.ts +++ b/src/equicordplugins/forwardAnywhere/index.ts @@ -25,7 +25,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "ForwardAnywhere", description: "If a forward fails send it as a normal message also allows nsfw forwards", - tags: ["Chat", "Utility"], authors: [Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/frequentQuickSwitcher/index.tsx b/src/equicordplugins/frequentQuickSwitcher/index.tsx index f6c2a3770..c2d61a11e 100644 --- a/src/equicordplugins/frequentQuickSwitcher/index.tsx +++ b/src/equicordplugins/frequentQuickSwitcher/index.tsx @@ -37,7 +37,6 @@ function generateSearchResults(query) { export default definePlugin({ name: "FrequentQuickSwitcher", description: "Rewrites and filters the quick switcher results to be your most frequent channels", - tags: ["Shortcuts", "Servers"], authors: [Devs.Samwich], generateSearchResults: generateSearchResults, patches: [ diff --git a/src/equicordplugins/friendCodes/index.tsx b/src/equicordplugins/friendCodes/index.tsx index 9997a8347..8168cfe04 100644 --- a/src/equicordplugins/friendCodes/index.tsx +++ b/src/equicordplugins/friendCodes/index.tsx @@ -12,7 +12,6 @@ import FriendCodesPanel from "./FriendCodesPanel"; export default definePlugin({ name: "FriendCodes", description: "Generate FriendCodes to easily add friends", - tags: ["Friends", "Utility"], authors: [Devs.HypedDomi], patches: [ { diff --git a/src/equicordplugins/friendTags/index.tsx b/src/equicordplugins/friendTags/index.tsx index 520fafda4..0f893cdb8 100644 --- a/src/equicordplugins/friendTags/index.tsx +++ b/src/equicordplugins/friendTags/index.tsx @@ -209,7 +209,6 @@ const userPatch: NavContextMenuPatchCallback = (children, { user }) => { export default definePlugin({ name: "FriendTags", description: "Allows you to filter by custom tags in the quick switcher by starting a search with &", - tags: ["Shortcuts"], authors: [Devs.Samwich], settings, contextMenus: { diff --git a/src/equicordplugins/friendshipRanks/index.tsx b/src/equicordplugins/friendshipRanks/index.tsx index ff91f1cbd..9294c9f61 100644 --- a/src/equicordplugins/friendshipRanks/index.tsx +++ b/src/equicordplugins/friendshipRanks/index.tsx @@ -143,7 +143,6 @@ function getBadgesToApply() { export default definePlugin({ name: "FriendshipRanks", description: "Adds badges showcasing how long you have been friends with a user for", - tags: ["Friends"], authors: [Devs.Samwich], start() { getBadgesToApply().forEach(b => Badges.addProfileBadge(b)); diff --git a/src/equicordplugins/fullVcPfp/index.tsx b/src/equicordplugins/fullVcPfp/index.tsx index 09c9fec27..f1664da80 100644 --- a/src/equicordplugins/fullVcPfp/index.tsx +++ b/src/equicordplugins/fullVcPfp/index.tsx @@ -14,7 +14,6 @@ import style from "./style.css?managed"; export default definePlugin({ name: "FullVCPFP", description: "Makes avatars take up the entire vc tile", - tags: ["Appearance", "Voice"], authors: [EquicordDevs.mochienya], patches: [ { diff --git a/src/equicordplugins/ghosted/index.tsx b/src/equicordplugins/ghosted/index.tsx index ca2b504d9..921970696 100644 --- a/src/equicordplugins/ghosted/index.tsx +++ b/src/equicordplugins/ghosted/index.tsx @@ -147,7 +147,6 @@ function makeContextItem(props) { export default definePlugin({ name: "Ghosted", description: "A cute ghost will appear if you don't answer their DMs", - tags: ["Chat", "Utility"], authors: [EquicordDevs.vei, Devs.sadan, EquicordDevs.justjxke, EquicordDevs.iamme], settings, dependencies: ["AudioPlayerAPI", "ServerListAPI"], diff --git a/src/equicordplugins/gifCollections/index.tsx b/src/equicordplugins/gifCollections/index.tsx index 92c3ac962..8bfc180d7 100644 --- a/src/equicordplugins/gifCollections/index.tsx +++ b/src/equicordplugins/gifCollections/index.tsx @@ -26,7 +26,6 @@ let oldTrendingCat: Category[] | null = null; export default definePlugin({ name: "GifCollections", description: "Allows you to create collections of gifs.", - tags: ["Chat", "Emotes"], authors: [EquicordDevs.creations], settings, contextMenus: { diff --git a/src/equicordplugins/githubRepos/index.tsx b/src/equicordplugins/githubRepos/index.tsx index cb2b3d58b..75f566a82 100644 --- a/src/equicordplugins/githubRepos/index.tsx +++ b/src/equicordplugins/githubRepos/index.tsx @@ -38,8 +38,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "GitHubRepos", description: "Displays a user's public GitHub repositories in their profile", - dependencies: ["ProfileCollectionsAPI"], - tags: ["Appearance"], authors: [EquicordDevs.talhakf, EquicordDevs.Panniku, EquicordDevs.benjii], settings, diff --git a/src/equicordplugins/globalBadges/index.tsx b/src/equicordplugins/globalBadges/index.tsx index 53e772f9a..24802395a 100644 --- a/src/equicordplugins/globalBadges/index.tsx +++ b/src/equicordplugins/globalBadges/index.tsx @@ -25,7 +25,6 @@ migratePluginSetting("GlobalBadges", "showRaincord", "showRa1ncord"); export default definePlugin({ name: "GlobalBadges", description: "Adds global badges from other client mods", - tags: ["Appearance"], authors: [Devs.HypedDomi, EquicordDevs.Wolfie, Devs.thororen], settings, settingsAboutComponent: () => ( diff --git a/src/equicordplugins/googleThat/index.tsx b/src/equicordplugins/googleThat/index.tsx index 3f924d419..18f6753c3 100644 --- a/src/equicordplugins/googleThat/index.tsx +++ b/src/equicordplugins/googleThat/index.tsx @@ -75,10 +75,8 @@ const settings = definePluginSettings({ export default definePlugin({ name: "GoogleThat", description: "Adds a command to send a internet search link", - dependencies: ["CommandsAPI"], - tags: ["Commands", "Utility"], authors: [Devs.Samwich, EquicordDevs.KrystalSkull], - searchTerms: ["search", "google", "query", "duckduckgo", "command"], + tags: ["search", "google", "query", "duckduckgo", "command"], settings, commands: [ { diff --git a/src/equicordplugins/guildPickerDumper/index.tsx b/src/equicordplugins/guildPickerDumper/index.tsx index fe9e86b39..58892bf73 100644 --- a/src/equicordplugins/guildPickerDumper/index.tsx +++ b/src/equicordplugins/guildPickerDumper/index.tsx @@ -95,7 +95,6 @@ async function zipGuildAssets(guild: Guild, type: "emojis" | "stickers") { export default definePlugin({ name: "GuildPickerDumper", description: "Context menu to dump and download a server's emojis and stickers.", - tags: ["Emotes", "Servers", "Utility"], authors: [EquicordDevs.Cortex, Devs.Samwich, EquicordDevs.Synth, Devs.thororen], contextMenus: { "guild-context": Patch, diff --git a/src/equicordplugins/hideChatButtons/index.tsx b/src/equicordplugins/hideChatButtons/index.tsx index 7d8d5f989..2a942ecd5 100644 --- a/src/equicordplugins/hideChatButtons/index.tsx +++ b/src/equicordplugins/hideChatButtons/index.tsx @@ -81,7 +81,6 @@ function ButtonsInnerComponent({ buttons }: { buttons: ReactNode; }) { export default definePlugin({ name: "HideChatButtons", description: "Able to hide the chat buttons", - tags: ["Chat", "Utility"], settings: settings, authors: [EquicordDevs.iamme], patches: [ diff --git a/src/equicordplugins/hideMessages/index.tsx b/src/equicordplugins/hideMessages/index.tsx index dd7bf8538..ca5feb6bd 100644 --- a/src/equicordplugins/hideMessages/index.tsx +++ b/src/equicordplugins/hideMessages/index.tsx @@ -49,8 +49,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "HideMessages", description: "A plugin to temporarily hide messages until you restart.", - dependencies: ["MessagePopoverAPI"], - tags: ["Chat", "Utility"], authors: [EquicordDevs.yash], contextMenus: { "message": messageCtxPatch diff --git a/src/equicordplugins/hideServers/index.tsx b/src/equicordplugins/hideServers/index.tsx index 8de222d2f..054c9ecac 100644 --- a/src/equicordplugins/hideServers/index.tsx +++ b/src/equicordplugins/hideServers/index.tsx @@ -76,9 +76,8 @@ export function removeIndicator() { export default definePlugin({ name: "HideServers", description: "Allows you to hide servers from the guild list and quick switcher by right clicking them", - tags: ["Servers", "Utility"], authors: [EquicordDevs.bep], - searchTerms: ["guild", "server", "hide", "folder"], + tags: ["guild", "server", "hide", "folder"], dependencies: ["ServerListAPI"], contextMenus: { diff --git a/src/equicordplugins/holyNotes/index.tsx b/src/equicordplugins/holyNotes/index.tsx index e4a57e819..f98001b74 100644 --- a/src/equicordplugins/holyNotes/index.tsx +++ b/src/equicordplugins/holyNotes/index.tsx @@ -72,8 +72,6 @@ function ToolBarHeader() { export default definePlugin({ name: "HolyNotes", description: "Save messages as notes to revisit later", - dependencies: ["MessagePopoverAPI", "HeaderBarAPI"], - tags: ["Chat", "Organisation"], authors: [EquicordDevs.Wolfie], toolboxActions: { diff --git a/src/equicordplugins/homeTyping/index.tsx b/src/equicordplugins/homeTyping/index.tsx index 0d652c337..83fa1c0b9 100644 --- a/src/equicordplugins/homeTyping/index.tsx +++ b/src/equicordplugins/homeTyping/index.tsx @@ -18,7 +18,6 @@ const PrivateChannelSortStore = findStoreLazy("PrivateChannelSortStore") as { ge export default definePlugin({ name: "HomeTyping", description: "Changes the home button to a typing indicator if someone in your dms is typing", - tags: ["Chat"], authors: [Devs.Samwich], TypingIcon() { return ; diff --git a/src/equicordplugins/hopOn/index.tsx b/src/equicordplugins/hopOn/index.tsx index a9a2b15a6..cd0de30ed 100644 --- a/src/equicordplugins/hopOn/index.tsx +++ b/src/equicordplugins/hopOn/index.tsx @@ -32,7 +32,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "HopOn", description: "Hop on! Opens a configurable URL when a message matches a custom regex in the current channel.", - tags: ["Fun"], authors: [Devs.ImLvna], settings, flux: { diff --git a/src/equicordplugins/husk/index.tsx b/src/equicordplugins/husk/index.tsx index 2596bb8a8..25aad8e37 100644 --- a/src/equicordplugins/husk/index.tsx +++ b/src/equicordplugins/husk/index.tsx @@ -99,8 +99,6 @@ function getEmojiIdThatShouldBeUsed(guildId: string) { export default definePlugin({ name: "Husk", description: "Adds Husk button (check settings to change used emoji)", - dependencies: ["MessagePopoverAPI"], - tags: ["Emotes", "Fun"], authors: [Devs.nin0dev], settings, messagePopoverButton: { diff --git a/src/equicordplugins/iRememberYou/index.tsx b/src/equicordplugins/iRememberYou/index.tsx index 2a469c2e2..dc9f62b57 100644 --- a/src/equicordplugins/iRememberYou/index.tsx +++ b/src/equicordplugins/iRememberYou/index.tsx @@ -19,7 +19,6 @@ import DataUI from "./components/ui"; export default definePlugin({ name: "IRememberYou", description: "Locally saves everyone you've been communicating with (including servers), in case of lose", - tags: ["Chat", "Servers"], authors: [EquicordDevs.zoodogood, EquicordDevs.keircn], dependencies: ["MessageEventsAPI"], diff --git a/src/equicordplugins/iconViewer/index.tsx b/src/equicordplugins/iconViewer/index.tsx index 6df0d72f1..1f364adf5 100644 --- a/src/equicordplugins/iconViewer/index.tsx +++ b/src/equicordplugins/iconViewer/index.tsx @@ -19,7 +19,6 @@ import { SettingsAbout } from "./components/Modals"; export default definePlugin({ name: "IconViewer", description: "Adds a new tab to settings to preview all icons.", - tags: ["Developers"], authors: [EquicordDevs.iamme], dependencies: ["Settings"], startAt: StartAt.WebpackReady, diff --git a/src/equicordplugins/idleAutoRestart/index.tsx b/src/equicordplugins/idleAutoRestart/index.tsx index 33d11e2eb..2112f671f 100644 --- a/src/equicordplugins/idleAutoRestart/index.tsx +++ b/src/equicordplugins/idleAutoRestart/index.tsx @@ -36,7 +36,6 @@ function onActivity() { export default definePlugin({ name: "IdleAutoRestart", description: "Automatically restarts the client after being idle for a configurable amount of time, but avoids restarting while you are in VC.", - tags: ["Utility"], authors: [EquicordDevs.SteelTech], settings, diff --git a/src/equicordplugins/ignoreCalls/index.tsx b/src/equicordplugins/ignoreCalls/index.tsx index 1a448fb7b..2505ce860 100644 --- a/src/equicordplugins/ignoreCalls/index.tsx +++ b/src/equicordplugins/ignoreCalls/index.tsx @@ -93,7 +93,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "IgnoreCalls", description: "Allows you to ignore calls from specific users or dm groups.", - tags: ["Voice"], authors: [EquicordDevs.TheArmagan, Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/inRole/index.tsx b/src/equicordplugins/inRole/index.tsx index 847688f73..755f9219c 100644 --- a/src/equicordplugins/inRole/index.tsx +++ b/src/equicordplugins/inRole/index.tsx @@ -34,9 +34,8 @@ function getMembersInRole(roleId: string, guildId: string) { export default definePlugin({ name: "InRole", description: "Know who is in a role with the role context menu or /inrole command (read plugin info!)", - tags: ["Commands", "Roles"], authors: [Devs.nin0dev], - dependencies: ["UserSettingsAPI", "CommandsAPI"], + dependencies: ["UserSettingsAPI"], start() { // DeveloperMode needs to be enabled for the context menu to be shown DeveloperMode.updateSetting(true); diff --git a/src/equicordplugins/ingtoninator/index.tsx b/src/equicordplugins/ingtoninator/index.tsx index 00a4909b0..43013fc4f 100644 --- a/src/equicordplugins/ingtoninator/index.tsx +++ b/src/equicordplugins/ingtoninator/index.tsx @@ -146,8 +146,6 @@ function disabledIcon() { export default definePlugin({ name: "Ingtoninator", description: "Suffixes 'ington' to a random word in your message", - dependencies: ["ChatInputButtonAPI"], - tags: ["Fun"], authors: [EquicordDevs.zyqunix, EquicordDevs.BioTomateDE], settings, chatBarButton: { diff --git a/src/equicordplugins/instantScreenshare/index.tsx b/src/equicordplugins/instantScreenshare/index.tsx index b947da3c1..1d0160048 100644 --- a/src/equicordplugins/instantScreenshare/index.tsx +++ b/src/equicordplugins/instantScreenshare/index.tsx @@ -62,10 +62,9 @@ async function autoStartStream(instant = true) { export default definePlugin({ name: "InstantScreenshare", description: "Instantly screenshare when joining a voice channel with support for desktop sources, windows, and video input devices (cameras, capture cards)", - tags: ["Media", "Voice"], authors: [Devs.HAHALOSAH, Devs.thororen, EquicordDevs.mart], dependencies: ["EquicordToolbox"], - searchTerms: ["ScreenshareKeybind"], + tags: ["ScreenshareKeybind"], autoStartStream, settings, diff --git a/src/equicordplugins/invisibleChat.desktop/index.tsx b/src/equicordplugins/invisibleChat.desktop/index.tsx index c45149141..5589f8dec 100644 --- a/src/equicordplugins/invisibleChat.desktop/index.tsx +++ b/src/equicordplugins/invisibleChat.desktop/index.tsx @@ -149,9 +149,8 @@ export async function buildEmbed(message: any, revealed: string): Promise export default definePlugin({ name: "InvisibleChat", description: "Encrypt your Messages in a non-suspicious way!", - tags: ["Chat"], authors: [Devs.SammCheese], - dependencies: ["MessageUpdaterAPI", "ChatInputButtonAPI", "MessagePopoverAPI"], + dependencies: ["MessageUpdaterAPI"], reporterTestable: ReporterTestable.Patches, settings, diff --git a/src/equicordplugins/inviteDefaults/index.ts b/src/equicordplugins/inviteDefaults/index.ts index 476651731..597c96fec 100644 --- a/src/equicordplugins/inviteDefaults/index.ts +++ b/src/equicordplugins/inviteDefaults/index.ts @@ -45,7 +45,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "InviteDefaults", description: "Allows you to edit the default values when creating server invites.", - tags: ["Servers"], authors: [EquicordDevs.VillainsRule], settings, patches: [ diff --git a/src/equicordplugins/jumpTo/index.tsx b/src/equicordplugins/jumpTo/index.tsx index 791b2a93b..537d9c19f 100644 --- a/src/equicordplugins/jumpTo/index.tsx +++ b/src/equicordplugins/jumpTo/index.tsx @@ -121,7 +121,6 @@ const MessageMenuPatch: NavContextMenuPatchCallback = (children, { message }: { export default definePlugin({ name: "JumpTo", description: "Adds context menu options to jump to the start or bottom of a channel/DM.", - tags: ["Chat", "Utility"], authors: [Devs.Samwich, Devs.thororen], contextMenus: { "channel-context": ChannelMenuPatch, diff --git a/src/equicordplugins/jumpscare/index.tsx b/src/equicordplugins/jumpscare/index.tsx index 8070cfd13..5a8e4d531 100644 --- a/src/equicordplugins/jumpscare/index.tsx +++ b/src/equicordplugins/jumpscare/index.tsx @@ -48,7 +48,6 @@ function getJumpscareRoot(): Root { export default definePlugin({ name: "Jumpscare", description: "Adds a configurable chance of jumpscaring you whenever you open a channel. Inspired by Geometry Dash Mega Hack", - tags: ["Fun"], authors: [Devs.surgedevs], dependencies: ["AudioPlayerAPI"], settings, diff --git a/src/equicordplugins/keyboardNavigation/index.tsx b/src/equicordplugins/keyboardNavigation/index.tsx index 852edafa6..f0c6e8d2a 100644 --- a/src/equicordplugins/keyboardNavigation/index.tsx +++ b/src/equicordplugins/keyboardNavigation/index.tsx @@ -87,7 +87,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "KeyboardNavigation", description: "Allows you to navigate the UI with a keyboard.", - tags: ["Accessibility", "Shortcuts"], authors: [Devs.Ethan], settings, diff --git a/src/equicordplugins/keyboardSounds/index.ts b/src/equicordplugins/keyboardSounds/index.ts index e85262bdd..14c8018ff 100644 --- a/src/equicordplugins/keyboardSounds/index.ts +++ b/src/equicordplugins/keyboardSounds/index.ts @@ -126,7 +126,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "KeyboardSounds", description: "Adds OperaGX or osu! sound effects when typing on your keyboard.", - tags: ["Fun"], authors: [Devs.HypedDomi, EquicordDevs.Etorix], dependencies: ["AudioPlayerAPI"], settings, diff --git a/src/equicordplugins/keywordNotify/index.tsx b/src/equicordplugins/keywordNotify/index.tsx index 5b7664e03..10b08dddb 100644 --- a/src/equicordplugins/keywordNotify/index.tsx +++ b/src/equicordplugins/keywordNotify/index.tsx @@ -318,7 +318,6 @@ export default definePlugin({ name: "KeywordNotify", authors: [EquicordDevs.camila314, EquicordDevs.x3rt], description: "Sends a notification if a given message matches certain keywords or regexes", - tags: ["Chat", "Notifications"], settings, patches: [ { diff --git a/src/equicordplugins/lastActive/index.tsx b/src/equicordplugins/lastActive/index.tsx index 9ca7a035c..9e8333a5e 100644 --- a/src/equicordplugins/lastActive/index.tsx +++ b/src/equicordplugins/lastActive/index.tsx @@ -135,7 +135,6 @@ export function LastActiveIcon() { export default definePlugin({ name: "LastActive", description: "A plugin to jump to last active message from yourself or another user in a channel/server.", - tags: ["Chat", "Utility"], authors: [EquicordDevs.Crxa], contextMenus: { "channel-context": ChannelContextMenuPatch, diff --git a/src/equicordplugins/loginWithQR/index.tsx b/src/equicordplugins/loginWithQR/index.tsx index e1f076aa2..21f1c7c9d 100644 --- a/src/equicordplugins/loginWithQR/index.tsx +++ b/src/equicordplugins/loginWithQR/index.tsx @@ -42,7 +42,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "LoginWithQR", description: "Allows you to login to another device by scanning a login QR code, just like on mobile!", - tags: ["Utility"], authors: [EquicordDevs.nexpid], settings, diff --git a/src/equicordplugins/mediaPlaybackSpeed/index.tsx b/src/equicordplugins/mediaPlaybackSpeed/index.tsx index 086f2f1e2..42edab6e7 100644 --- a/src/equicordplugins/mediaPlaybackSpeed/index.tsx +++ b/src/equicordplugins/mediaPlaybackSpeed/index.tsx @@ -48,7 +48,6 @@ type MediaRef = RefObject | undefined; export default definePlugin({ name: "MediaPlaybackSpeed", description: "Allows changing the (default) playback speed of media embeds", - tags: ["Chat", "Media"], authors: [Devs.D3SOX], settings, patches: [ diff --git a/src/equicordplugins/messageBurst/index.ts b/src/equicordplugins/messageBurst/index.ts index 18f8d6060..0d60216c8 100644 --- a/src/equicordplugins/messageBurst/index.ts +++ b/src/equicordplugins/messageBurst/index.ts @@ -66,8 +66,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "MessageBurst", description: "Merges messages sent within a time period with your previous sent message if no one else sends a message before you.", - dependencies: ["MessagePopoverAPI"], - tags: ["Chat"], authors: [EquicordDevs.port22exposed], settings, onBeforeMessageSend(channelId, message) { diff --git a/src/equicordplugins/messageColors/index.tsx b/src/equicordplugins/messageColors/index.tsx index 5217971a8..568718102 100644 --- a/src/equicordplugins/messageColors/index.tsx +++ b/src/equicordplugins/messageColors/index.tsx @@ -27,7 +27,6 @@ export default definePlugin({ authors: [EquicordDevs.Hen], name: "MessageColors", description: "Displays color codes like #FF0042 inside of messages", - tags: ["Appearance", "Chat"], settings, patches: [ // Create a new markdown rule, so it parses just like any other features diff --git a/src/equicordplugins/messageFetchTimer/index.tsx b/src/equicordplugins/messageFetchTimer/index.tsx index a0622668d..139a35209 100644 --- a/src/equicordplugins/messageFetchTimer/index.tsx +++ b/src/equicordplugins/messageFetchTimer/index.tsx @@ -147,8 +147,6 @@ function handleMessageLoad(data: any) { export default definePlugin({ name: "MessageFetchTimer", description: "Shows how long it took to fetch messages for the current channel", - dependencies: ["ChatInputButtonAPI"], - tags: ["Chat", "Utility"], authors: [EquicordDevs.GroupXyz], settings, diff --git a/src/equicordplugins/messageLinkTooltip/index.tsx b/src/equicordplugins/messageLinkTooltip/index.tsx index 8e0d053f7..87f97581a 100644 --- a/src/equicordplugins/messageLinkTooltip/index.tsx +++ b/src/equicordplugins/messageLinkTooltip/index.tsx @@ -62,7 +62,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "MessageLinkTooltip", description: "Adds a tooltip with a message preview when hovering over message links, replies, and forwarded messages.", - tags: ["Appearance", "Chat"], authors: [Devs.Kyuuhachi], settings, diff --git a/src/equicordplugins/messageLoggerEnhanced/components/LogsModal.tsx b/src/equicordplugins/messageLoggerEnhanced/components/LogsModal.tsx index 3fa47d67b..1d28a6348 100644 --- a/src/equicordplugins/messageLoggerEnhanced/components/LogsModal.tsx +++ b/src/equicordplugins/messageLoggerEnhanced/components/LogsModal.tsx @@ -17,7 +17,7 @@ import { find, findByCode, findByCodeLazy } from "@webpack"; import { Alerts, ChannelStore, ContextMenuApi, FluxDispatcher, GuildStore, Menu, NavigationRouter, React, TabBar, TextInput, Tooltip, useMemo, useRef, useState } from "@webpack/common"; import { DBMessageRecord, deleteMessageIDB, deleteMessagesBulkIDB } from "../db"; -import { cl, clearLogs, settings } from "../index"; +import { clearLogs, cl, settings } from "../index"; import { LoggedMessage, LoggedMessageJSON } from "../types"; import { messageJsonToMessageClass } from "../utils"; import { importLogs } from "../utils/settingsUtils"; diff --git a/src/equicordplugins/messageLoggerEnhanced/index.tsx b/src/equicordplugins/messageLoggerEnhanced/index.tsx index 2abe5c7df..e8b3cdab9 100644 --- a/src/equicordplugins/messageLoggerEnhanced/index.tsx +++ b/src/equicordplugins/messageLoggerEnhanced/index.tsx @@ -18,8 +18,8 @@ import { FluxDispatcher, MessageStore, SelectedChannelStore, UserStore } from "@ import { LogsIcon, OpenLogsButton } from "./components/LogsButton"; import { openLogModal } from "./components/LogsModal"; import * as idb from "./db"; -import * as LoggedMessageManager from "./LoggedMessageManager"; import { addMessage } from "./LoggedMessageManager"; +import * as LoggedMessageManager from "./LoggedMessageManager"; import { settings } from "./settings"; import { FetchMessagesResponse, LoadMessagePayload, LoggedMessage, LoggedMessageJSON, MessageCreatePayload, MessageDeleteBulkPayload, MessageDeletePayload, MessageUpdatePayload } from "./types"; import { cleanUpCachedMessage, cleanupUserObject, getNative, isGhostPinged, mapTimestamp, messageJsonToMessageClass, reAddDeletedMessages } from "./utils"; @@ -258,8 +258,7 @@ export default definePlugin({ name: "MessageLoggerEnhanced", authors: [Devs.Aria, EquicordDevs.keircn], description: "Improves MessageLogger with edited message history, ghost ping detection and more", - tags: ["Chat", "Servers"], - dependencies: ["MessageLogger", "HeaderBarAPI"], + dependencies: ["MessageLogger"], patches: [ { diff --git a/src/equicordplugins/messageLoggerEnhanced/settings.tsx b/src/equicordplugins/messageLoggerEnhanced/settings.tsx index 1c39df9e4..fce7de8b8 100644 --- a/src/equicordplugins/messageLoggerEnhanced/settings.tsx +++ b/src/equicordplugins/messageLoggerEnhanced/settings.tsx @@ -4,11 +4,12 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { definePluginSettings, Settings } from "@api/Settings"; +import { definePluginSettings } from "@api/Settings"; import { Button } from "@components/Button"; import ErrorBoundary from "@components/ErrorBoundary"; import { OptionType } from "@utils/types"; import { Alerts, useState } from "@webpack/common"; +import { Settings } from "Vencord"; import { clearLogs, Native } from "."; import { ImageCacheDir, LogsDir } from "./components/FolderSelectInput"; diff --git a/src/equicordplugins/messageLoggerEnhanced/utils/settingsUtils.ts b/src/equicordplugins/messageLoggerEnhanced/utils/settingsUtils.ts index 0d59e56ab..64c6d9d03 100644 --- a/src/equicordplugins/messageLoggerEnhanced/utils/settingsUtils.ts +++ b/src/equicordplugins/messageLoggerEnhanced/utils/settingsUtils.ts @@ -21,7 +21,7 @@ import { chooseFile as chooseFileWeb } from "@utils/web"; import { Toasts } from "@webpack/common"; import { showSaveFilePicker } from "native-file-system-adapter"; -import { clearLogs,Native } from ".."; +import { Native, clearLogs } from ".."; import { addMessagesBulkIDB, iterateAllMessagesIDB } from "../db"; import { LoggedMessageJSON } from "../types"; diff --git a/src/equicordplugins/messageNotifier/index.ts b/src/equicordplugins/messageNotifier/index.ts index af9cee4b6..7a41158d0 100644 --- a/src/equicordplugins/messageNotifier/index.ts +++ b/src/equicordplugins/messageNotifier/index.ts @@ -38,7 +38,6 @@ export default definePlugin({ authors: [EquicordDevs.cassie, EquicordDevs.mochienya], name: "MessageNotifier", description: "Get toasts for when chosen users send a message", - tags: ["Chat", "Notifications"], settings, flux: { MESSAGE_CREATE({ message, channelId, guildId }: MessageCreatePayload) { diff --git a/src/equicordplugins/messagePeek/index.tsx b/src/equicordplugins/messagePeek/index.tsx index 564838146..340552eac 100644 --- a/src/equicordplugins/messagePeek/index.tsx +++ b/src/equicordplugins/messagePeek/index.tsx @@ -239,8 +239,6 @@ function shouldShowActivity(lastMessage: Message | undefined, hasActivity: boole export default definePlugin({ name: "MessagePeek", description: "Shows the last message preview and timestamp in the Direct Messages list.", - dependencies: ["MemberListDecoratorsAPI"], - tags: ["Appearance", "Chat"], authors: [Devs.prism, EquicordDevs.justjxke], settings, patches: [ diff --git a/src/equicordplugins/messageTranslate/index.tsx b/src/equicordplugins/messageTranslate/index.tsx index 64b7f50d2..68adbbd0b 100644 --- a/src/equicordplugins/messageTranslate/index.tsx +++ b/src/equicordplugins/messageTranslate/index.tsx @@ -51,7 +51,6 @@ function triggerReRender(message: MessageWithContent) { export default definePlugin({ name: "MessageTranslate", description: "Auto translate messages to your language with caching, per-channel toggles, and more options.", - tags: ["Chat", "Utility"], authors: [EquicordDevs.creations], settings, diff --git a/src/equicordplugins/micLoopbackTester/index.tsx b/src/equicordplugins/micLoopbackTester/index.tsx index 8e0a27a60..f0f249fd6 100644 --- a/src/equicordplugins/micLoopbackTester/index.tsx +++ b/src/equicordplugins/micLoopbackTester/index.tsx @@ -115,7 +115,6 @@ const MicLoopbackUserAreaButton: UserAreaButtonFactory = props => { flexGrow: 1 }}> { try { diff --git a/src/equicordplugins/moreStickers/index.tsx b/src/equicordplugins/moreStickers/index.tsx index 5a1114ba3..97bfbdaee 100644 --- a/src/equicordplugins/moreStickers/index.tsx +++ b/src/equicordplugins/moreStickers/index.tsx @@ -34,7 +34,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "MoreStickers", description: "Adds sticker packs from other social media platforms. (e.g. LINE)", - tags: ["Chat", "Emotes", "Media"], authors: [EquicordDevs.Leko, Devs.Arjix], settings, diff --git a/src/equicordplugins/moreUserTags/index.tsx b/src/equicordplugins/moreUserTags/index.tsx index 395144257..d7852ba5f 100644 --- a/src/equicordplugins/moreUserTags/index.tsx +++ b/src/equicordplugins/moreUserTags/index.tsx @@ -37,8 +37,6 @@ migratePluginToSettings(true, "MoreUserTags", "NoAppsAllowed", "noAppsAllowed"); export default definePlugin({ name: "MoreUserTags", description: "Adds tags for webhooks and moderative roles (owner, admin, etc.)", - dependencies: ["MemberListDecoratorsAPI", "MessageDecorationsAPI", "NicknameIconsAPI"], - tags: ["Appearance", "Chat"], authors: [Devs.Cyn, Devs.TheSun, Devs.RyanCaoDev, Devs.LordElias, Devs.AutumnVN, EquicordDevs.Hen, EquicordDevs.meowabyte], settings, patches: [ diff --git a/src/equicordplugins/moyai/index.ts b/src/equicordplugins/moyai/index.ts index 0d0b40c1b..4c6d79391 100644 --- a/src/equicordplugins/moyai/index.ts +++ b/src/equicordplugins/moyai/index.ts @@ -91,7 +91,6 @@ export default definePlugin({ name: "Moyai", authors: [Devs.Megu, Devs.Nuckyz], description: "Plays a 🗿 sound effect whenever a moyai emoji is sent, reacted, or used as a voice effect in your current channel.", - tags: ["Fun"], settings, flux: { diff --git a/src/equicordplugins/musicControls/index.tsx b/src/equicordplugins/musicControls/index.tsx index dae172841..3fb672401 100644 --- a/src/equicordplugins/musicControls/index.tsx +++ b/src/equicordplugins/musicControls/index.tsx @@ -34,8 +34,7 @@ export default definePlugin({ description: "Music Controls and Lyrics for multiple services ", authors: [Devs.Ven, Devs.afn, Devs.KraXen72, Devs.Av32000, Devs.nin0dev, Devs.thororen, EquicordDevs.vmohammad, Devs.Joona], settings, - tags: ["Media", "Activity"], - searchTerms: [ + tags: [ // Spotify "Spotify", "SpotifyControls", diff --git a/src/equicordplugins/neverPausePreviews/index.tsx b/src/equicordplugins/neverPausePreviews/index.tsx index d31b02048..3c237c788 100644 --- a/src/equicordplugins/neverPausePreviews/index.tsx +++ b/src/equicordplugins/neverPausePreviews/index.tsx @@ -23,7 +23,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NeverPausePreviews", description: "Prevents in-call/PiP previews (screenshare, streams, etc) from pausing even if the client loses focus", - tags: ["Media"], authors: [EquicordDevs.vappstar], settingsAboutComponent: () => ( diff --git a/src/equicordplugins/newPluginsManager/index.tsx b/src/equicordplugins/newPluginsManager/index.tsx index d4a340fc1..683d9de74 100644 --- a/src/equicordplugins/newPluginsManager/index.tsx +++ b/src/equicordplugins/newPluginsManager/index.tsx @@ -14,7 +14,6 @@ import { openNewPluginsModal } from "./NewPluginsModal"; export default definePlugin({ name: "NewPluginsManager", description: "Utility that notifies you when new plugins are added to Equicord", - tags: ["Utility"], authors: [Devs.Sqaaakoi], enabledByDefault: true, flux: { diff --git a/src/equicordplugins/noNitroUpsell/index.ts b/src/equicordplugins/noNitroUpsell/index.ts index cd3c2a665..d7b2eaf5d 100644 --- a/src/equicordplugins/noNitroUpsell/index.ts +++ b/src/equicordplugins/noNitroUpsell/index.ts @@ -10,8 +10,7 @@ import { OverridePremiumTypeStore } from "@webpack/common"; export default definePlugin({ name: "NoNitroUpsell", - description: "Removes all of Discord's nitro upsells by tricking the client into thinking you have nitro.", - tags: ["Utility"], + description: "Removes ALL of Discord's nitro upsells by tricking the client into thinking you have nitro.", authors: [Devs.thororen], flux: { CONNECTION_OPEN() { diff --git a/src/equicordplugins/noPushToTalk/index.ts b/src/equicordplugins/noPushToTalk/index.ts index fb2d922e8..ff5ee8682 100644 --- a/src/equicordplugins/noPushToTalk/index.ts +++ b/src/equicordplugins/noPushToTalk/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoPushToTalk", description: "Bypasses the push-to-talk requirement for voice activity in channels that enforce it.", - tags: ["Servers", "Voice"], authors: [EquicordDevs.omaw], patches: [ { diff --git a/src/equicordplugins/noRPC.discordDesktop/index.ts b/src/equicordplugins/noRPC.discordDesktop/index.ts index df2d409de..51ed1f962 100644 --- a/src/equicordplugins/noRPC.discordDesktop/index.ts +++ b/src/equicordplugins/noRPC.discordDesktop/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoRPC", description: "Disables Discord's RPC server.", - tags: ["Privacy", "Servers"], authors: [Devs.Cyn], patches: [ { diff --git a/src/equicordplugins/noRoleHeaders/index.ts b/src/equicordplugins/noRoleHeaders/index.ts index c008e9273..6b4a7d3a0 100644 --- a/src/equicordplugins/noRoleHeaders/index.ts +++ b/src/equicordplugins/noRoleHeaders/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoRoleHeaders", description: "We are all equal!! Removes the role headers in the member list.", - tags: ["Appearance", "Fun", "Roles"], authors: [Devs.Samwich], patches: [ { diff --git a/src/equicordplugins/normalizeMessageLinks/index.ts b/src/equicordplugins/normalizeMessageLinks/index.ts index 6ee61a440..062f1ee44 100644 --- a/src/equicordplugins/normalizeMessageLinks/index.ts +++ b/src/equicordplugins/normalizeMessageLinks/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NormalizeMessageLinks", description: "Strip canary/ptb from message links", - tags: ["Chat"], authors: [Devs.bb010g], patches: [ { diff --git a/src/equicordplugins/notificationTitle.discordDesktop/index.tsx b/src/equicordplugins/notificationTitle.discordDesktop/index.tsx index f2db23cac..56d8b3fef 100644 --- a/src/equicordplugins/notificationTitle.discordDesktop/index.tsx +++ b/src/equicordplugins/notificationTitle.discordDesktop/index.tsx @@ -20,7 +20,6 @@ const MessageTypes = findByPropsLazy("REPLY", "STAGE_RAISE_HAND", "CHANNEL_NAME_ export default definePlugin({ name: "NotificationTitle", description: "Makes desktop notifications more informative", - tags: ["Appearance", "Notifications"], authors: [Devs.Kyuuhachi], patches: [ diff --git a/src/equicordplugins/orbolayBridge/index.tsx b/src/equicordplugins/orbolayBridge/index.tsx index 36d1a6ad5..6c9863ee4 100644 --- a/src/equicordplugins/orbolayBridge/index.tsx +++ b/src/equicordplugins/orbolayBridge/index.tsx @@ -314,7 +314,6 @@ const createWebsocket = () => { export default definePlugin({ name: "OrbolayBridge", description: "Bridge plugin to connect Orbolay to Discord", - tags: ["Utility", "Voice"], authors: [EquicordDevs.SpikeHD], settings, flux: { diff --git a/src/equicordplugins/partyMode/index.ts b/src/equicordplugins/partyMode/index.ts index 8641257ad..f7cddbf97 100644 --- a/src/equicordplugins/partyMode/index.ts +++ b/src/equicordplugins/partyMode/index.ts @@ -44,7 +44,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "PartyMode", description: "Allows you to use party mode cause the party never ends ✨", - tags: ["Fun"], authors: [Devs.UwUDev], reporterTestable: ReporterTestable.None, settings, diff --git a/src/equicordplugins/pinIcon/index.tsx b/src/equicordplugins/pinIcon/index.tsx index d44edfe8f..1e6f5987f 100644 --- a/src/equicordplugins/pinIcon/index.tsx +++ b/src/equicordplugins/pinIcon/index.tsx @@ -25,7 +25,6 @@ const PinIcon = findComponentByCodeLazy("1-.06-.63L6.16"); export default definePlugin({ name: "PinIcon", description: "Adds a pin icon to pinned messages", - tags: ["Appearance", "Chat"], authors: [EquicordDevs.iamme], patches: [ { diff --git a/src/equicordplugins/pingNotifications/index.tsx b/src/equicordplugins/pingNotifications/index.tsx index 1d96249b5..e6b0e45e2 100644 --- a/src/equicordplugins/pingNotifications/index.tsx +++ b/src/equicordplugins/pingNotifications/index.tsx @@ -92,7 +92,6 @@ function isUserBlocked(userId) { export default definePlugin({ name: "PingNotifications", description: "Customizable notifications with improved mention formatting", - tags: ["Chat", "Friends", "Notifications", "Servers"], authors: [EquicordDevs.smuki], settings, diff --git a/src/equicordplugins/platformSpoofer/index.tsx b/src/equicordplugins/platformSpoofer/index.tsx index b8e574f3b..e15a5df17 100644 --- a/src/equicordplugins/platformSpoofer/index.tsx +++ b/src/equicordplugins/platformSpoofer/index.tsx @@ -52,7 +52,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "PlatformSpoofer", description: "Spoof what platform or device you're on", - tags: ["Utility"], authors: [EquicordDevs.Drag, EquicordDevs.neoarz], settingsAboutComponent: () => ( diff --git a/src/equicordplugins/polishWording/index.ts b/src/equicordplugins/polishWording/index.ts index 2f8f6d33c..57f925901 100644 --- a/src/equicordplugins/polishWording/index.ts +++ b/src/equicordplugins/polishWording/index.ts @@ -64,8 +64,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "PolishWording", description: "Tweaks your messages to make them look nicer and have better grammar. See settings", - dependencies: ["MessageEventsAPI"], - tags: ["Chat"], authors: [Devs.Samwich, EquicordDevs.WKoA], onBeforeMessageSend: presendObject, settings, diff --git a/src/equicordplugins/profileSets/index.tsx b/src/equicordplugins/profileSets/index.tsx index c9828017f..a2db97aa4 100644 --- a/src/equicordplugins/profileSets/index.tsx +++ b/src/equicordplugins/profileSets/index.tsx @@ -29,7 +29,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "ProfileSets", description: "Allows you to save and load different profile presets, via the Profile Section in Settings.", - tags: ["Appearance", "Customisation", "Utility"], authors: [EquicordDevs.omaw, EquicordDevs.justjxke], settings, patches: [ diff --git a/src/equicordplugins/questify/index.tsx b/src/equicordplugins/questify/index.tsx index c85e0be53..cf0d1c4ab 100644 --- a/src/equicordplugins/questify/index.tsx +++ b/src/equicordplugins/questify/index.tsx @@ -1360,7 +1360,6 @@ migratePluginToSettings(true, "Questify", "QuestCompleter", "completeVideoQuests export default definePlugin({ name: "Questify", description: "Enhance your Quest experience with a suite of features, or disable them entirely if they're not your thing.", - tags: ["Appearance", "Customisation", "Privacy", "Utility"], authors: [EquicordDevs.Etorix], dependencies: ["AudioPlayerAPI", "ServerListAPI"], startAt: StartAt.Init, // Needed in order to beat Read All Messages to inserting above the server list. diff --git a/src/equicordplugins/quickThemeSwitcher.discordDesktop/index.tsx b/src/equicordplugins/quickThemeSwitcher.discordDesktop/index.tsx index 82e9af31c..449e35239 100644 --- a/src/equicordplugins/quickThemeSwitcher.discordDesktop/index.tsx +++ b/src/equicordplugins/quickThemeSwitcher.discordDesktop/index.tsx @@ -244,7 +244,6 @@ const handleThemeNamesChange = () => settings.store.autoRefresh && debouncedRefr export default definePlugin({ name: "QuickThemeSwitcher", description: "Quickly switch between themes using keyboard shortcuts.", - tags: ["Appearance", "Utility"], authors: [Devs.prism], settings, startAt: StartAt.DOMContentLoaded, diff --git a/src/equicordplugins/quoter/index.tsx b/src/equicordplugins/quoter/index.tsx index d41104617..95825e3c1 100644 --- a/src/equicordplugins/quoter/index.tsx +++ b/src/equicordplugins/quoter/index.tsx @@ -58,7 +58,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "Quoter", description: "Adds the ability to create an inspirational quote image from a message.", - tags: ["Chat"], authors: [Devs.Samwich, Devs.thororen, EquicordDevs.neoarz, Devs.prism], settings, diff --git a/src/equicordplugins/randomVoice/index.tsx b/src/equicordplugins/randomVoice/index.tsx index 9d78149d2..6017aad6b 100644 --- a/src/equicordplugins/randomVoice/index.tsx +++ b/src/equicordplugins/randomVoice/index.tsx @@ -671,8 +671,6 @@ function renderOperationGroup({ export default definePlugin({ name: "RandomVoice", description: "Adds a button near mute to join a random voice channel.", - dependencies: ["UserAreaAPI"], - tags: ["Fun", "Voice"], authors: [EquicordDevs.xijexo, EquicordDevs.omaw, Devs.thororen], settings, diff --git a/src/equicordplugins/recentDMSwitcher/index.tsx b/src/equicordplugins/recentDMSwitcher/index.tsx index 48e5977fa..96a271861 100644 --- a/src/equicordplugins/recentDMSwitcher/index.tsx +++ b/src/equicordplugins/recentDMSwitcher/index.tsx @@ -332,7 +332,6 @@ function showCycleToast() { export default definePlugin({ name: "RecentDMSwitcher", description: "Ctrl+Tab between most recently used DMs (Ctrl+Shift+Tab reverse)", - tags: ["Chat", "Utility"], authors: [EquicordDevs.mmeta], settings, diff --git a/src/equicordplugins/remix/index.tsx b/src/equicordplugins/remix/index.tsx index a03d89d09..19595a5ef 100644 --- a/src/equicordplugins/remix/index.tsx +++ b/src/equicordplugins/remix/index.tsx @@ -71,7 +71,6 @@ export function sendRemix(blob: Blob) { export default definePlugin({ name: "RemixRevived", description: "Revives Remix and breings it to Desktop", - tags: ["Customisation", "Fun"], authors: [EquicordDevs.MrDiamond, EquicordDevs.meowabyte], contextMenus: { "channel-attach": UploadContextMenuPatch, diff --git a/src/equicordplugins/repeatMessages/index.tsx b/src/equicordplugins/repeatMessages/index.tsx index 5bbcf3f2b..6ca6bc494 100644 --- a/src/equicordplugins/repeatMessages/index.tsx +++ b/src/equicordplugins/repeatMessages/index.tsx @@ -132,8 +132,6 @@ migratePluginSettings("RepeatMessages", "RepeatMessage"); export default definePlugin({ name: "RepeatMessages", description: "Allows you to repeat messages quickly. If you hold shift while clicking the Repeat option, it will reply to the message.", - dependencies: ["MessagePopoverAPI"], - tags: ["Chat"], authors: [EquicordDevs.Tolgchu, Devs.thororen], contextMenus: { "message": messageCtxPatch diff --git a/src/equicordplugins/replyPingControl/index.ts b/src/equicordplugins/replyPingControl/index.ts index 0db11f68a..aa877cfb6 100644 --- a/src/equicordplugins/replyPingControl/index.ts +++ b/src/equicordplugins/replyPingControl/index.ts @@ -27,7 +27,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "ReplyPingControl", description: "Control whether to always or never get pinged on message replies, with a whitelist feature", - tags: ["Chat", "Notifications"], authors: [Devs.ant0n, EquicordDevs.MrDiamond], settings, diff --git a/src/equicordplugins/richMagnetLinks/index.tsx b/src/equicordplugins/richMagnetLinks/index.tsx index 4cfb0275f..33a42efbb 100644 --- a/src/equicordplugins/richMagnetLinks/index.tsx +++ b/src/equicordplugins/richMagnetLinks/index.tsx @@ -13,7 +13,6 @@ export default definePlugin({ authors: [EquicordDevs.cassie, EquicordDevs.mochienya, EquicordDevs.secp192k1], name: "RichMagnetLinks", description: "Renders magnet links like message links", - tags: ["Appearance", "Chat"], patches: [ { find: "AUTO_MODERATION_SYSTEM_MESSAGE_RULES:", diff --git a/src/equicordplugins/richPresence/index.tsx b/src/equicordplugins/richPresence/index.tsx index d5d90f5bb..8c0d4874e 100644 --- a/src/equicordplugins/richPresence/index.tsx +++ b/src/equicordplugins/richPresence/index.tsx @@ -22,81 +22,80 @@ type SettingsKey = keyof SettingsStore; const logger = new Logger("RichPresence"); -const services: Record = { - [ServiceTab.AudioBookShelf]: abs, - [ServiceTab.Tosu]: tosu, - [ServiceTab.StatsFm]: statsfm, - [ServiceTab.Jellyfin]: jellyfin, - [ServiceTab.ListenBrainz]: listenbrainz, - [ServiceTab.GensokyoRadio]: gensokyoRadio, +const services: Record = { + [ServiceTab.AudioBookShelf]: abs, + [ServiceTab.Tosu]: tosu, + [ServiceTab.StatsFm]: statsfm, + [ServiceTab.Jellyfin]: jellyfin, + [ServiceTab.ListenBrainz]: listenbrainz, + [ServiceTab.GensokyoRadio]: gensokyoRadio, }; const enableKeys: Record = { - [ServiceTab.AudioBookShelf]: "abs_enabled", - [ServiceTab.Tosu]: "tosu_enabled", - [ServiceTab.StatsFm]: "sfm_enabled", - [ServiceTab.Jellyfin]: "jf_enabled", - [ServiceTab.ListenBrainz]: "lb_enabled", - [ServiceTab.GensokyoRadio]: "gr_enabled", + [ServiceTab.AudioBookShelf]: "abs_enabled", + [ServiceTab.Tosu]: "tosu_enabled", + [ServiceTab.StatsFm]: "sfm_enabled", + [ServiceTab.Jellyfin]: "jf_enabled", + [ServiceTab.ListenBrainz]: "lb_enabled", + [ServiceTab.GensokyoRadio]: "gr_enabled", }; const activeServices = new Set(); function syncServices() { - const globalEnabled = settings.store.enabled; + const globalEnabled = settings.store.enabled; - for (const [id, service] of Object.entries(services)) { - const shouldRun = - globalEnabled && !!settings.store[enableKeys[id]]; - const isRunning = activeServices.has(id); + for (const [id, service] of Object.entries(services)) { + const shouldRun = + globalEnabled && !!settings.store[enableKeys[id]]; + const isRunning = activeServices.has(id); - if (shouldRun && !isRunning) { - logger.info(`Starting ${id} service`); - service.start(); - activeServices.add(id); - } else if (!shouldRun && isRunning) { - logger.info(`Stopping ${id} service`); - service.stop(); - activeServices.delete(id); - } - } + if (shouldRun && !isRunning) { + logger.info(`Starting ${id} service`); + service.start(); + activeServices.add(id); + } else if (!shouldRun && isRunning) { + logger.info(`Stopping ${id} service`); + service.stop(); + activeServices.delete(id); + } + } } function stopAllServices() { - for (const id of activeServices) { - logger.info(`Stopping ${id} service`); - services[id].stop(); - } - activeServices.clear(); + for (const id of activeServices) { + logger.info(`Stopping ${id} service`); + services[id].stop(); + } + activeServices.clear(); } export default definePlugin({ - name: "RichPresence", - description: "Unified rich presence hub for AudioBookShelf, osu!, stats.fm, Jellyfin, ListenBrainz, and Gensokyo Radio.", - tags: ["Activity"], - authors: [ - EquicordDevs.vmohammad, - Devs.AutumnVN, - EquicordDevs.Crxa, - Devs.SerStars, - EquicordDevs.ZcraftElite, - EquicordDevs.qouesm, - Devs.RyanCaoDev, - EquicordDevs.Prince527, - EquicordDevs.creations, - ], - reporterTestable: ReporterTestable.None, + name: "RichPresence", + description: "Unified rich presence hub for AudioBookShelf, osu!, stats.fm, Jellyfin, ListenBrainz, and Gensokyo Radio.", + authors: [ + EquicordDevs.vmohammad, + Devs.AutumnVN, + EquicordDevs.Crxa, + Devs.SerStars, + EquicordDevs.ZcraftElite, + EquicordDevs.qouesm, + Devs.RyanCaoDev, + EquicordDevs.Prince527, + EquicordDevs.creations, + ], + reporterTestable: ReporterTestable.None, - settings, + settings, - start() { - migrateOldSettings(); - syncServices(); - setOnServiceChange(syncServices); - }, + start() { + migrateOldSettings(); + syncServices(); + setOnServiceChange(syncServices); + }, - stop() { - stopAllServices(); - setOnServiceChange(null); - }, + stop() { + stopAllServices(); + setOnServiceChange(null); + }, }); diff --git a/src/equicordplugins/rpcEditor/ReplaceSettings.tsx b/src/equicordplugins/rpcEditor/ReplaceSettings.tsx index 81d541bf5..b85b0f7c1 100644 --- a/src/equicordplugins/rpcEditor/ReplaceSettings.tsx +++ b/src/equicordplugins/rpcEditor/ReplaceSettings.tsx @@ -94,7 +94,7 @@ export function ReplaceSettings({ appIds, update, save }: SettingsProps) { } Application ID { onChange(v, i, "appId"); }} @@ -125,7 +125,7 @@ export function ReplaceSettings({ appIds, update, save }: SettingsProps) { <> Stream URL (must be YouTube or Twitch) { onChange(v, i, "newStreamUrl"); }} diff --git a/src/equicordplugins/rpcEditor/index.tsx b/src/equicordplugins/rpcEditor/index.tsx index b40009418..e60d6627f 100644 --- a/src/equicordplugins/rpcEditor/index.tsx +++ b/src/equicordplugins/rpcEditor/index.tsx @@ -73,7 +73,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "RPCEditor", description: "Edit the type and content of any Rich Presence", - tags: ["Customisation"], authors: [Devs.Nyako, Devs.nin0dev], patches: [ { diff --git a/src/equicordplugins/rpcStats/index.tsx b/src/equicordplugins/rpcStats/index.tsx index 0d0bc5f5c..76f07a44a 100644 --- a/src/equicordplugins/rpcStats/index.tsx +++ b/src/equicordplugins/rpcStats/index.tsx @@ -172,7 +172,6 @@ async function updateData() { export default definePlugin({ name: "RPCStats", description: "Displays stats about your activity as an rpc", - tags: ["Utility"], authors: [Devs.Samwich], async start() { updateData(); diff --git a/src/equicordplugins/saveFavoriteGIFs/index.tsx b/src/equicordplugins/saveFavoriteGIFs/index.tsx index 268be6571..e5af23613 100644 --- a/src/equicordplugins/saveFavoriteGIFs/index.tsx +++ b/src/equicordplugins/saveFavoriteGIFs/index.tsx @@ -115,8 +115,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "SaveFavoriteGIFs", description: "Export favorited GIF urls", - dependencies: ["CommandsAPI"], - tags: ["Emotes", "Utility"], authors: [Devs.thororen], settings, commands: [ diff --git a/src/equicordplugins/scheduledMessages/index.tsx b/src/equicordplugins/scheduledMessages/index.tsx index d79402226..7fee1cbd2 100644 --- a/src/equicordplugins/scheduledMessages/index.tsx +++ b/src/equicordplugins/scheduledMessages/index.tsx @@ -86,8 +86,6 @@ function handleReactionEvent(event: FluxReactionEvent): void { export default definePlugin({ name: "ScheduledMessages", description: "Schedule messages to be sent at a specific time or after a delay.", - tags: ["Chat", "Utility"], - dependencies: ["ChatInputButtonAPI", "MessageAccessoriesAPI", "MessageEventsAPI"], authors: [EquicordDevs.mmeta, Devs.prism], settings, diff --git a/src/equicordplugins/screenRecorder.equibop/index.tsx b/src/equicordplugins/screenRecorder.equibop/index.tsx index b9446995c..a24ef052b 100644 --- a/src/equicordplugins/screenRecorder.equibop/index.tsx +++ b/src/equicordplugins/screenRecorder.equibop/index.tsx @@ -14,8 +14,7 @@ let recoder: MediaRecorder; export default definePlugin({ name: "ScreenRecorder", - description: "Adds an option to record your screen and upload the recording to the channel", - tags: ["Chat"], + description: "epic screen recorder lol", authors: [Devs.AutumnVN], contextMenus: { "channel-attach": startRecording @@ -55,7 +54,7 @@ function stopRecording(children, props) { } action={() => { recoder.addEventListener("dataavailable", e => { - const file = new File([e.data], "recording.webm", { type: "video/webm" }); + const file = new File([e.data], "watch if cute.webm", { type: "video/webm" }); UploadHandler.promptToUpload([file], props.channel, 0); }); recoder.stop(); diff --git a/src/equicordplugins/searchFix/index.tsx b/src/equicordplugins/searchFix/index.tsx index f331c021b..e45e4cd16 100644 --- a/src/equicordplugins/searchFix/index.tsx +++ b/src/equicordplugins/searchFix/index.tsx @@ -39,7 +39,6 @@ function settingsComponent() { export default definePlugin({ name: "SearchFix", description: 'Fixes the annoying "We dropped the magnifying glass!" error.', - tags: ["Utility"], settingsAboutComponent: () => settingsComponent(), authors: [EquicordDevs.Jaxx], patches: [ diff --git a/src/equicordplugins/sekaiStickers/index.tsx b/src/equicordplugins/sekaiStickers/index.tsx index aa6188e1a..af1d6c1af 100644 --- a/src/equicordplugins/sekaiStickers/index.tsx +++ b/src/equicordplugins/sekaiStickers/index.tsx @@ -33,8 +33,6 @@ let IS_FONTS_LOADED = false; export default definePlugin({ name: "SekaiStickers", description: "Sekai Stickers built in discord originally from github.com/TheOriginalAyaka", - dependencies: ["ChatInputButtonAPI"], - tags: ["Chat", "Emotes"], authors: [Devs.MaiKokain], settings, chatBarButton: { diff --git a/src/equicordplugins/selfForward/index.ts b/src/equicordplugins/selfForward/index.ts index 09672018c..74c9902bc 100644 --- a/src/equicordplugins/selfForward/index.ts +++ b/src/equicordplugins/selfForward/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "SelfForward", description: "Adds the current channel to the forward list popup", - tags: ["Utility"], authors: [EquicordDevs.VillainsRule], patches: [ { diff --git a/src/equicordplugins/serverSearch/index.tsx b/src/equicordplugins/serverSearch/index.tsx index 101650afc..48cbe348f 100644 --- a/src/equicordplugins/serverSearch/index.tsx +++ b/src/equicordplugins/serverSearch/index.tsx @@ -10,7 +10,8 @@ import { addServerListElement, removeServerListElement, ServerListRenderPosition import ErrorBoundary from "@components/ErrorBoundary"; import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; -import { FluxDispatcher, Tooltip } from "@webpack/common"; +import { FluxDispatcher } from "@webpack/common"; +import { Tooltip } from "webpack/common/components"; function SearchIcon() { return ( @@ -28,7 +29,6 @@ export default definePlugin({ name: "ServerSearch", authors: [EquicordDevs.camila314], description: "Navigate your servers better with a quick search button", - tags: ["Shortcuts", "Servers"], renderButton() { return diff --git a/src/equicordplugins/showBadgesInChat/index.tsx b/src/equicordplugins/showBadgesInChat/index.tsx index 5e05ba431..60066cc52 100644 --- a/src/equicordplugins/showBadgesInChat/index.tsx +++ b/src/equicordplugins/showBadgesInChat/index.tsx @@ -6,11 +6,11 @@ import "./styles.css"; -import badges from "@plugins/_api/badges"; import { Devs, EquicordDevs } from "@utils/constants"; import { isEquicordPluginDev, isPluginDev } from "@utils/misc"; import definePlugin from "@utils/types"; import { findComponentByCodeLazy, findCssClassesLazy } from "@webpack"; +import badges from "plugins/_api/badges"; const { roleIcon } = findCssClassesLazy("roleIcon", "separator"); const RoleIconComponent = findComponentByCodeLazy("#{intl::ROLE_ICON_ALT_TEXT}"); @@ -142,8 +142,6 @@ export default definePlugin({ name: "ShowBadgesInChat", authors: [Devs.Inbestigator, EquicordDevs.KrystalSkull], description: "Shows the message author's badges beside their name in chat.", - dependencies: ["MessageDecorationsAPI"], - tags: ["Appearance", "Chat"], settings, renderMessageDecoration(props) { return props.message?.author ? : null; diff --git a/src/equicordplugins/showMessageEmbeds/index.tsx b/src/equicordplugins/showMessageEmbeds/index.tsx index d503c2f77..d224923d3 100644 --- a/src/equicordplugins/showMessageEmbeds/index.tsx +++ b/src/equicordplugins/showMessageEmbeds/index.tsx @@ -193,7 +193,6 @@ function showFailureToast(message: string) { export default definePlugin({ name: "ShowMessageEmbeds", description: "Adds a context menu option to show embeds for links that don't have one", - tags: ["Appearance", "Chat"], authors: [EquicordDevs.Suffocate], patches: [ diff --git a/src/equicordplugins/showResourceChannels/index.ts b/src/equicordplugins/showResourceChannels/index.ts index ecf2132f1..d3ca76589 100644 --- a/src/equicordplugins/showResourceChannels/index.ts +++ b/src/equicordplugins/showResourceChannels/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "ShowResourceChannels", description: "shows the channels hidden behind the server resources in the channel list", - tags: ["Servers"], authors: [EquicordDevs.VillainsRule], patches: [ { diff --git a/src/equicordplugins/showSongName/index.tsx b/src/equicordplugins/showSongName/index.tsx index 29716e129..96cdd5ae7 100644 --- a/src/equicordplugins/showSongName/index.tsx +++ b/src/equicordplugins/showSongName/index.tsx @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "ShowSongName", description: "Shows song name instead of artist for Spotify activity", - tags: ["Activity"], authors: [Devs.prism], patches: [ diff --git a/src/equicordplugins/sidebarChat/index.tsx b/src/equicordplugins/sidebarChat/index.tsx index 2958acea9..7b88e2603 100644 --- a/src/equicordplugins/sidebarChat/index.tsx +++ b/src/equicordplugins/sidebarChat/index.tsx @@ -130,7 +130,6 @@ export default definePlugin({ name: "SidebarChat", authors: [Devs.Joona], description: "Open a another channel or a DM as a sidebar or as a popout", - tags: ["Appearance", "Chat", "Servers"], patches: [ { find: 'case"pendingFriends":', diff --git a/src/equicordplugins/signature/index.tsx b/src/equicordplugins/signature/index.tsx index e09edf3e5..1a7d28605 100644 --- a/src/equicordplugins/signature/index.tsx +++ b/src/equicordplugins/signature/index.tsx @@ -100,8 +100,6 @@ const ChatBarContextCheckbox: NavContextMenuPatchCallback = children => { export default definePlugin({ name: "Signature", description: "Automated fingerprint/end text", - dependencies: ["CommandsAPI", "ChatInputButtonAPI", "MessagePopoverAPI"], - tags: ["Appearance", "Chat"], authors: [Devs.Ven, Devs.Rini, Devs.ImBanana, EquicordDevs.KrystalSkull], onBeforeMessageSend(channelId, msg) { if (!settings.store.isEnabled) { diff --git a/src/equicordplugins/snowfall/index.tsx b/src/equicordplugins/snowfall/index.tsx index abba96ae3..7f103e9f4 100644 --- a/src/equicordplugins/snowfall/index.tsx +++ b/src/equicordplugins/snowfall/index.tsx @@ -450,8 +450,7 @@ let container: HTMLDivElement | null = null; export default definePlugin({ name: "Snowfall", - description: "Let it snow on Discord", - tags: ["Appearance"], + description: "Let it snow on Discord! Ported from the BetterDiscord plugin by square.", authors: [EquicordDevs.ZcraftElite, EquicordDevs.square], settingsAboutComponent: () => ( diff --git a/src/equicordplugins/soggy/index.tsx b/src/equicordplugins/soggy/index.tsx index 099e94792..a622197d9 100644 --- a/src/equicordplugins/soggy/index.tsx +++ b/src/equicordplugins/soggy/index.tsx @@ -137,10 +137,9 @@ const settings = definePluginSettings({ export default definePlugin({ name: "Soggy", description: "Adds a soggy button to the toolbox", - tags: ["Fun"], authors: [EquicordDevs.sliwka], settings, - dependencies: ["AudioPlayerAPI", "HeaderBarAPI"], + dependencies: ["AudioPlayerAPI"], headerBarButton: { icon: () => ( diff --git a/src/equicordplugins/songLink.desktop/index.tsx b/src/equicordplugins/songLink.desktop/index.tsx index 0834d639a..2961f1bd7 100644 --- a/src/equicordplugins/songLink.desktop/index.tsx +++ b/src/equicordplugins/songLink.desktop/index.tsx @@ -51,8 +51,6 @@ export const Native = VencordNative.pluginHelpers.SongLink as PluginNative { export default definePlugin({ name: "StatusPresets", description: "Allows you to remember your statuses and set them later", - tags: ["Activity", "Utility"], authors: [EquicordDevs.iamme], settings: settings, dependencies: ["UserSettingsAPI"], diff --git a/src/equicordplugins/statusWhileActive.desktop/index.ts b/src/equicordplugins/statusWhileActive.desktop/index.ts index efb79ef53..9d950e4b7 100644 --- a/src/equicordplugins/statusWhileActive.desktop/index.ts +++ b/src/equicordplugins/statusWhileActive.desktop/index.ts @@ -56,7 +56,6 @@ function setStatus(preq, status) { export default definePlugin({ name: "StatusWhileActive", description: "Automatically updates your online status when in a voice channel.", - tags: ["Activity", "Customisation", "Voice"], authors: [EquicordDevs.smuki], settings, flux: { diff --git a/src/equicordplugins/steamStatusSync/index.tsx b/src/equicordplugins/steamStatusSync/index.tsx index 0ca190e11..7a20e9035 100644 --- a/src/equicordplugins/steamStatusSync/index.tsx +++ b/src/equicordplugins/steamStatusSync/index.tsx @@ -85,7 +85,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "SteamStatusSync", description: "Sync your status to Steam! (Online, Away, Invisible, or Offline.)", - tags: ["Activity", "Appearance", "Customisation"], authors: [EquicordDevs.niko], settings, diff --git a/src/equicordplugins/stickerBlocker/index.tsx b/src/equicordplugins/stickerBlocker/index.tsx index 7b2f59101..1993ebabb 100644 --- a/src/equicordplugins/stickerBlocker/index.tsx +++ b/src/equicordplugins/stickerBlocker/index.tsx @@ -130,7 +130,6 @@ function isStickerBlocked(name) { export default definePlugin({ name: "StickerBlocker", description: "Allows you to block stickers from being displayed.", - tags: ["Chat", "Emotes", "Utility"], authors: [Devs.Samwich], patches: [ { diff --git a/src/equicordplugins/streamingCodecDisabler/index.ts b/src/equicordplugins/streamingCodecDisabler/index.ts index 61d68d710..24e3ece83 100644 --- a/src/equicordplugins/streamingCodecDisabler/index.ts +++ b/src/equicordplugins/streamingCodecDisabler/index.ts @@ -56,7 +56,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "StreamingCodecDisabler", description: "Disable codecs for streaming of your choice", - tags: ["Utility", "Voice"], authors: [EquicordDevs.davidkra230], settings, diff --git a/src/equicordplugins/talkInReverse/index.tsx b/src/equicordplugins/talkInReverse/index.tsx index ac4cd1a64..c469c9b31 100644 --- a/src/equicordplugins/talkInReverse/index.tsx +++ b/src/equicordplugins/talkInReverse/index.tsx @@ -66,8 +66,7 @@ export default definePlugin({ name: "TalkInReverse", authors: [EquicordDevs.Tolgchu], description: "Reverses the message content before sending it.", - tags: ["Chat", "Fun"], - dependencies: ["MessageEventsAPI", "ChatInputButtonAPI"], + dependencies: ["MessageEventsAPI"], chatBarButton: { icon: ReverseMessageIcon, render: ReverseMessageToggle diff --git a/src/equicordplugins/themeLibrary/index.tsx b/src/equicordplugins/themeLibrary/index.tsx index 6a2fe0955..084ce9650 100644 --- a/src/equicordplugins/themeLibrary/index.tsx +++ b/src/equicordplugins/themeLibrary/index.tsx @@ -16,7 +16,6 @@ import { settings } from "./utils/settings"; export default definePlugin({ name: "ThemeLibrary", description: "A library of themes for Vencord.", - tags: ["Appearance", "Customisation"], authors: [EquicordDevs.Fafa], settings, toolboxActions: { diff --git a/src/equicordplugins/tidalEmbeds/index.tsx b/src/equicordplugins/tidalEmbeds/index.tsx index f819da7c1..1e9269859 100644 --- a/src/equicordplugins/tidalEmbeds/index.tsx +++ b/src/equicordplugins/tidalEmbeds/index.tsx @@ -10,9 +10,8 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "TidalEmbeds", description: "Embeds TIDAL songs to make them playable in Discord.", - tags: ["Appearance", "Chat", "Media"], authors: [EquicordDevs.vmohammad], - dependencies: ["MessageUpdaterAPI", "MessageAccessoriesAPI"], + dependencies: ["MessageUpdaterAPI"], patches: [ { find: "renderEmbeds(", diff --git a/src/equicordplugins/tiktokTTS/index.ts b/src/equicordplugins/tiktokTTS/index.ts index 0e2ddf9f4..da5d8c24c 100644 --- a/src/equicordplugins/tiktokTTS/index.ts +++ b/src/equicordplugins/tiktokTTS/index.ts @@ -211,7 +211,6 @@ async function processQueue() { export default definePlugin({ name: "TiktokTTS", description: "Adds a context menu option to read out chat messages with the good ol' Tiktok TTS voice :sob:", - tags: ["Accessibility", "Chat", "Voice"], authors: [EquicordDevs.VillainsRule, EquicordDevs.examplegit], dependencies: ["AudioPlayerAPI"], settings, diff --git a/src/equicordplugins/timezones/index.tsx b/src/equicordplugins/timezones/index.tsx index 9901e3b8b..b40c3a515 100644 --- a/src/equicordplugins/timezones/index.tsx +++ b/src/equicordplugins/timezones/index.tsx @@ -257,7 +257,6 @@ export default definePlugin({ name: "Timezones", authors: [Devs.Aria, EquicordDevs.creations], description: "Shows the local time of users in profiles and message headers", - tags: ["Appearance", "Chat", "Utility"], contextMenus: { "user-context": userContextMenuPatch }, diff --git a/src/equicordplugins/title/index.ts b/src/equicordplugins/title/index.ts index a9c9138ed..9e67a72a0 100644 --- a/src/equicordplugins/title/index.ts +++ b/src/equicordplugins/title/index.ts @@ -29,7 +29,6 @@ function setTitle(v: string) { export default definePlugin({ name: "Title", description: "Replaces the window title prefix", - tags: ["Customisation"], authors: [Devs.Kyuuhachi], settings, diff --git a/src/equicordplugins/toastNotifications/index.tsx b/src/equicordplugins/toastNotifications/index.tsx index dfa961176..cd1be8023 100644 --- a/src/equicordplugins/toastNotifications/index.tsx +++ b/src/equicordplugins/toastNotifications/index.tsx @@ -210,7 +210,6 @@ const addMention = (id: string, type: string, guildId?: string): ReactNode => { export default definePlugin({ name: "ToastNotifications", description: "Show a toast notification whenever you receive a direct message.", - tags: ["Appearance", "Customisation", "Notifications"], authors: [EquicordDevs.Skully, EquicordDevs.Ethan, EquicordDevs.Buzzy], settings, flux: { diff --git a/src/equicordplugins/toggleVideoBind/index.ts b/src/equicordplugins/toggleVideoBind/index.ts index 323a1e771..3a56c4e8f 100644 --- a/src/equicordplugins/toggleVideoBind/index.ts +++ b/src/equicordplugins/toggleVideoBind/index.ts @@ -59,7 +59,6 @@ function handleKeydown({ code, ctrlKey, shiftKey, altKey }: KeyboardEvent) { export default definePlugin({ name: "ToggleVideoBind", description: "Adds a customizable bind to toggle webcam.", - tags: ["Utility", "Voice"], authors: [EquicordDevs.mochienya], settings, start() { diff --git a/src/equicordplugins/toneIndicators/index.tsx b/src/equicordplugins/toneIndicators/index.tsx index cf70719f5..6dc0ba1a0 100644 --- a/src/equicordplugins/toneIndicators/index.tsx +++ b/src/equicordplugins/toneIndicators/index.tsx @@ -163,7 +163,6 @@ function patchChildrenTree(children: any): any { export default definePlugin({ name: "ToneIndicators", description: "Show tooltips for tone indicators like /srs, /gen, etc. in sent messages.", - tags: ["Chat", "Utility"], authors: [EquicordDevs.justjxke], settings, diff --git a/src/equicordplugins/translatePlus/index.tsx b/src/equicordplugins/translatePlus/index.tsx index 2473644b0..78e48b120 100644 --- a/src/equicordplugins/translatePlus/index.tsx +++ b/src/equicordplugins/translatePlus/index.tsx @@ -46,8 +46,6 @@ const messageCtxPatch: NavContextMenuPatchCallback = (children, { message }) => export default definePlugin({ name: "Translate+", description: "Vencord's translate plugin but with support for artistic languages!", - dependencies: ["MessageAccessoriesAPI", "MessagePopoverAPI"], - tags: ["Chat", "Utility"], authors: [Devs.Ven, EquicordDevs.Prince527], settings, contextMenus: { diff --git a/src/equicordplugins/triviaAI/index.tsx b/src/equicordplugins/triviaAI/index.tsx index afa941109..f4c860347 100644 --- a/src/equicordplugins/triviaAI/index.tsx +++ b/src/equicordplugins/triviaAI/index.tsx @@ -40,8 +40,6 @@ const messageCtxPatch: NavContextMenuPatchCallback = (children, { message }: { m export default definePlugin({ name: "TriviaAI", description: "A plugin that helps you answer trivia questions using AI.", - dependencies: ["MessagePopoverAPI"], - tags: ["Appearance", "Customisation", "Fun"], authors: [EquicordDevs.yash], settings, contextMenus: { diff --git a/src/equicordplugins/unitConverter/index.tsx b/src/equicordplugins/unitConverter/index.tsx index c8c67aa1e..36d83568e 100644 --- a/src/equicordplugins/unitConverter/index.tsx +++ b/src/equicordplugins/unitConverter/index.tsx @@ -48,8 +48,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "UnitConverter", description: "Converts metric units to Imperal units and vice versa", - dependencies: ["MessagePopoverAPI"], - tags: ["Utility"], authors: [Devs.sadan], messagePopoverButton: { icon: ConvertIcon, diff --git a/src/equicordplugins/universalMention/index.tsx b/src/equicordplugins/universalMention/index.tsx index f6f8b6998..2d8a977bb 100644 --- a/src/equicordplugins/universalMention/index.tsx +++ b/src/equicordplugins/universalMention/index.tsx @@ -39,7 +39,6 @@ export default definePlugin({ name: "UniversalMention", authors: [EquicordDevs.justjxke], description: "Mention any user, regardless of channel access.", - tags: ["Chat", "Servers", "Utility"], settings, settingsAboutComponent: () => ( diff --git a/src/equicordplugins/unlimitedAccounts/index.ts b/src/equicordplugins/unlimitedAccounts/index.ts index eeb41a955..cbf77811d 100644 --- a/src/equicordplugins/unlimitedAccounts/index.ts +++ b/src/equicordplugins/unlimitedAccounts/index.ts @@ -32,7 +32,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "UnlimitedAccounts", description: "Increases the amount of accounts you can add.", - tags: ["Utility"], authors: [Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/unreadBadgeCount/index.tsx b/src/equicordplugins/unreadBadgeCount/index.tsx index a9135df54..0f08d06cd 100644 --- a/src/equicordplugins/unreadBadgeCount/index.tsx +++ b/src/equicordplugins/unreadBadgeCount/index.tsx @@ -33,7 +33,6 @@ export default definePlugin({ name: "UnreadCountBadge", authors: [Devs.Joona], description: "Shows unread message count badges on channels in the channel list", - tags: ["Appearance", "Customisation", "Servers"], settings, patches: [ diff --git a/src/equicordplugins/urlHighlighter/index.tsx b/src/equicordplugins/urlHighlighter/index.tsx index 6a52b9495..6fbe9ba77 100644 --- a/src/equicordplugins/urlHighlighter/index.tsx +++ b/src/equicordplugins/urlHighlighter/index.tsx @@ -121,7 +121,6 @@ function getMatchingPattern(url: string): PatternEntry | null { export default definePlugin({ name: "UrlHighlighter", description: "Highlights URLs in messages that match your patterns.", - tags: ["Appearance", "Customisation"], authors: [Devs.prism], settings, diff --git a/src/equicordplugins/userpfp/index.tsx b/src/equicordplugins/userpfp/index.tsx index d884dd59d..777fb40c5 100644 --- a/src/equicordplugins/userpfp/index.tsx +++ b/src/equicordplugins/userpfp/index.tsx @@ -65,7 +65,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "UserPFP", description: "Allows you to use an animated avatar without Nitro", - tags: ["Appearance", "Customisation", "Servers"], authors: [EquicordDevs.nexpid, Devs.thororen, EquicordDevs.soapphia], settings, data, diff --git a/src/equicordplugins/userpluginInstaller.dev/VariableWithCallbacks.ts b/src/equicordplugins/userpluginInstaller.dev/VariableWithCallbacks.ts deleted file mode 100644 index b87476fe2..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/VariableWithCallbacks.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Vencord, a Discord client mod - * Copyright (c) 2025 nin0 - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -export class VariableWithCallbacks { - #value: T; - #callbacks: { - id: number; - callback: (value: T, id: number) => void; - }[] = []; - - constructor(value: T) { - this.#value = value; - } - - value(newValue?: T): T { - if (newValue !== undefined) { - this.#value = newValue; - this.#callbacks.forEach(c => c.callback(this.#value, c.id)); - } - return this.#value; - } - - registerCallback(callback: (value: T, id: number) => void): number { - const id = Date.now(); - this.#callbacks.push({ - id, - callback - }); - return id; - } - - deregisterCallback(id: number) { - const possibleFallback = this.#callbacks.find(cb => cb.id === id); - if (!possibleFallback) return; - this.#callbacks.splice(this.#callbacks.indexOf(possibleFallback), 1); - } -} diff --git a/src/equicordplugins/userpluginInstaller.dev/components/SettingsTab.tsx b/src/equicordplugins/userpluginInstaller.dev/components/SettingsTab.tsx deleted file mode 100644 index 0bc5a1c53..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/components/SettingsTab.tsx +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Vencord, a Discord client mod - * Copyright (c) 2025 nin0 - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import { pluginRequiresRestart, startPlugin, stopPlugin } from "@api/PluginManager"; -import { useSettings } from "@api/Settings"; -import { BaseText } from "@components/BaseText"; -import { Button } from "@components/Button"; -import { Card } from "@components/Card"; -import { CheckedTextInput } from "@components/CheckedTextInput"; -import { HeadingTertiary } from "@components/Heading"; -import { DeleteIcon } from "@components/Icons"; -import { Paragraph } from "@components/Paragraph"; -import { AddonCard } from "@components/settings"; -import { - SettingsTab as STab, - wrapTab, -} from "@components/settings/tabs/BaseTab"; -import { classes, isObjectEmpty } from "@utils/misc"; -import { closeAllModals } from "@utils/modal"; -import { relaunch } from "@utils/native"; -import { Alerts, NavigationRouter, Toasts, useEffect, useState } from "@webpack/common"; - -import userpluginInstaller, { Native } from ".."; -import { - cl, - CLONE_LINK_REGEX, - showInstallFinishedAlert, -} from "../misc/constants"; - -function UserPluginsTab() { - const rs = useSettings(["plugins.*"]); - const [pluginsLoaded, loadPlugins] = useState(false); - const [plugins, setPlugins] = useState< - { - name: string; - description: string; - usesPreSend: boolean; - usesNative: boolean; - directory?: string; - remote: string; - supportChannelID?: string; - }[] - >([]); - const [url, setUrl] = useState(""); - const [valid, setValid] = useState(false); - const [pluginsWithUpdates, setPluginsWithUpdates] = useState< - Record - >({}); - const [updatesLoaded, loadUpdates] = useState(false); - - useEffect(() => { - const { plugins: plgobj, pluginsWithUpdates: pwug } = - userpluginInstaller; - setPlugins(plgobj.value()); - loadPlugins(true); - const cid2 = plgobj.registerCallback(value => setPlugins(value)); - - const setPWU = value => { - const pwu = value.plugins.map(pg => ({ - [pg]: plgobj.value().find(pfjh => pfjh.directory === pg) - ?.name, - })); - setPluginsWithUpdates(Object.assign({}, ...pwu)); - loadUpdates(value.finished); - }; - const cid = pwug.registerCallback(value => { - setPWU(value); - }); - setPWU(pwug.value()); - - return () => { - pwug.deregisterCallback(cid); - plgobj.deregisterCallback(cid2); - }; - }, []); - - return ( - Vencord.Settings.plugins[p.name].enabled).length} enabled)` : ""}`} - > -
- {isObjectEmpty(pluginsWithUpdates) ? ( - !updatesLoaded && ( - Checking for updates... - ) - ) : ( - - - Plugin Updates Available - - - The following plugins are out-of-date: -
    - {Object.values(pluginsWithUpdates) - .toSorted() - .map(pl => ( -
  • {pl}
  • - ))} -
- {!updatesLoaded && - "and possibly more, as update checking is not finished. "} - You can update plugins below. -
-
- )} -
- - - Install Plugin - - - You can install a plugin from GitHub, GitLab, Codeberg, - git.nin0.dev, or plugins.nin0.dev by pasting its clone URL - here. - -
- setUrl(t)} - validate={t => { - const match = t.match(CLONE_LINK_REGEX); - if (match) { - const idpl = match.includes("plugins.nin0.dev") - ? 1 - : 0; - const installed = plugins - .map(p => p.directory) - .includes(match[[3, 6][idpl]]); - if (installed) { - setValid(false); - return "Plugin already installed, update below"; - } - setValid(true); - return true; - } else { - setValid(false); - return "Invalid URL, read the notice above"; - } - }} - initialValue={url} - /> -
-
- -
-
-
- {pluginsLoaded ? ( -
- {plugins - .toSorted((a, b) => - a.name.localeCompare(b.name, "en", { - sensitivity: "base", - }), - ) - .toSorted((a, b) => { - const updatePendingNames = - Object.keys(pluginsWithUpdates); - const [aa, bb] = [ - updatePendingNames.includes(a.directory!) - ? 1000 - : 0, - updatePendingNames.includes(b.directory!) - ? 1000 - : 0, - ]; - return bb - aa; - }) - .map(plugin => { - - const pl = Vencord.Plugins.plugins[ - plugin.name - ]; - return { - await Native.rmPlugin( - plugin.directory!, - ); - Alerts.show({ - title: "Done!", - body: `${plugin.name} has been uninstalled. A ${plugin.usesNative ? "restart" : "refresh"} is needed to fully remove the plugin.`, - confirmText: - plugin.usesNative - ? "Restart" - : "Refresh", - cancelText: "Later", - onConfirm() { - plugin.usesNative - ? relaunch() - : window.location.reload(); - }, - }); - }} - className={cl("delete-button")} - > - - } - setEnabled={t => { - Vencord.Settings.plugins[pl.name].enabled = t; - if (pluginRequiresRestart(pl)) { - Toasts.show({ - id: Toasts.genId(), - message: "Restart to apply changes!", - type: Toasts.Type.MESSAGE - }); - } else { - (t ? startPlugin : stopPlugin)(pl); - } - }} - footer={( -
- {Object.keys( - pluginsWithUpdates, - ).includes(plugin.directory!) && ( - - )} - - {plugin.supportChannelID && } -
- )} - />; - })} -
- ) : ( - Loading plugins... - )} -
-
- ); -} - -export default wrapTab(UserPluginsTab, "UserPlugins"); diff --git a/src/equicordplugins/userpluginInstaller.dev/components/UserpluginInstallButton.tsx b/src/equicordplugins/userpluginInstaller.dev/components/UserpluginInstallButton.tsx deleted file mode 100644 index 753a93961..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/components/UserpluginInstallButton.tsx +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Vencord, a Discord client mod - * Copyright (c) 2025 nin0 - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import { Button } from "@components/Button"; -import { Alerts, ChannelStore, useEffect, useState } from "@webpack/common"; - -import userpluginInstaller, { Native, OpenSettingsModule, settings } from ".."; -import { CLONE_LINK_REGEX, showInstallFinishedAlert, WHITELISTED_SHARE_CHANNELS } from "../misc/constants"; - -export default function UserpluginInstallButton({ props }: any) { - const [plugins, setPlugins] = useState<{ - directory?: string; - }[]>([]); - useEffect(() => { - const { plugins } = userpluginInstaller; - - setPlugins(plugins.value()); - const cid = plugins.registerCallback(value => setPlugins(plugins.value())); - return () => plugins.deregisterCallback(cid); - }); - const { message } = props; - if (![...WHITELISTED_SHARE_CHANNELS, ...(settings.store.allowlistedChannels || "").split(",")].includes(ChannelStore.getChannel(message.channel_id).parent_id) && !WHITELISTED_SHARE_CHANNELS.includes(message.channel_id)) - return; - const gitLink = (props.message.content as string).match(CLONE_LINK_REGEX); - if (!gitLink) return; - const idpl = gitLink.includes("plugins.nin0.dev") ? 1 : 0; - const installed = plugins.map(p => p.directory).includes(gitLink[[3, 6][idpl]]); - return <> -
- -
- ; -} diff --git a/src/equicordplugins/userpluginInstaller.dev/index.tsx b/src/equicordplugins/userpluginInstaller.dev/index.tsx deleted file mode 100644 index 98e884661..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/index.tsx +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Vencord, a Discord client mod - * Copyright (c) 2025 nin0 - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import "./misc/style.css"; - -import { showNotification } from "@api/Notifications"; -import { definePluginSettings } from "@api/Settings"; -import { Button } from "@components/Button"; -import { Notice } from "@components/Notice"; -import plSettings from "@plugins/_core/settings"; -import { Devs } from "@utils/constants"; -import { relaunch } from "@utils/native"; -import definePlugin, { OptionType, PluginNative } from "@utils/types"; -import { findByPropsLazy, findComponentByCodeLazy } from "@webpack"; -import { Alerts } from "@webpack/common"; - -import SettingsTab from "./components/SettingsTab"; -import UserpluginInstallButton from "./components/UserpluginInstallButton"; -import { VariableWithCallbacks } from "./VariableWithCallbacks"; - -// @ts-ignore -export const Native = VencordNative.pluginHelpers.UserpluginInstaller as PluginNative; -export const OpenSettingsModule = findByPropsLazy("openUserSettings"); -const AppsIcon = findComponentByCodeLazy("2.95H20a2 2 0"); - -export const settings = definePluginSettings({ - allowlistedChannels: { - type: OptionType.STRING, - description: "Comma separated list of channels where the Install Plugin button should be displayed. It is always displayed in the Vencord Userplugin channels" - }, - notifyIfUpdate: { - type: OptionType.BOOLEAN, - description: "Show a Vencord notification if UserPlugins need to be updated", - default: true - }, - neverNotifyForPlugins: { - type: OptionType.STRING, - description: "Never show update notifications for these plugins (you can still update them from the UserPlugins tab)", - default: "" - }, - setGitPath: { - type: OptionType.COMPONENT, - component: () => - } -}); - -export default definePlugin({ - name: "UserpluginInstaller", - description: "Install userplugins with a simple button click", - settingsAboutComponent: () => ( - - Equicord does not moderate userplugins and takes no responsibility for anything that may result from installing them. - Only install userplugins from developers you trust. Doing so is entirely at your own risk. - - ), - async checkPluginUpdates() { - for (const p of this.plugins.value()) { - if (await Native.isUpdateAvailableForPlugin(p.directory!)) { - const t = this.pluginsWithUpdates.value().plugins; - t.push(p.directory!); - this.pluginsWithUpdates.value({ - finished: false, - plugins: t - }); - } - } - const t = this.pluginsWithUpdates.value().plugins; - this.pluginsWithUpdates.value({ - finished: true, - plugins: t - }); - }, - section: { - key: "vencord_userplugins", - title: "UserPlugins", - panelTitle: "UserPlugins", - Component: SettingsTab, - Icon: AppsIcon - }, - async start() { - if (!VencordNative.pluginHelpers.UserpluginInstaller) return void Alerts.show({ - title: "UserpluginInstaller not fully loaded", - body: "You need to restart to allow the native to be loaded :)", - confirmText: "Restart now", - onConfirm() { - relaunch(); - }, - cancelText: "Later" - }); - - plSettings.customEntries.push(this.section); - - this.pluginsWithUpdates.registerCallback((value, id) => { - if (value.plugins.length === 0) return; - if (settings.store.neverNotifyForPlugins.split(",").map(t => t.trim().toLowerCase()).includes(value.plugins[value.plugins.length - 1].toLowerCase())) - return; - this.pluginsWithUpdates.deregisterCallback(id); - if (settings.store.notifyIfUpdate) - showNotification({ - title: "Some UserPlugins are out of date!", - body: "Click to open the UserPlugin Updater", - noPersist: true, - permanent: true, - onClick() { - OpenSettingsModule.openUserSettings("vencord_userplugins_panel"); - }, - }); - }); - const pls = await Native.getUserplugins(); - // @ts-ignore :trolley: - this.plugins.value(pls); - await this.checkPluginUpdates(); - }, - stop() { - // @ts-ignore - plSettings.customEntries.splice(plSettings.customEntries.indexOf(this.section), 1); - }, - plugins: new VariableWithCallbacks<{ - name: string; - description: string; - usesPreSend: boolean; - usesNative: boolean; - directory: string; - remote: string; - }[]>([]), - pluginsWithUpdates: new VariableWithCallbacks<{ - finished: boolean; - plugins: string[]; - }>({ - finished: false, - plugins: [] - }), - settings, - authors: [Devs.nin0dev], - renderMessageAccessory: props => { - return ; - } -}); diff --git a/src/equicordplugins/userpluginInstaller.dev/misc/constants.ts b/src/equicordplugins/userpluginInstaller.dev/misc/constants.ts deleted file mode 100644 index b860a82c3..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/misc/constants.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Vencord, a Discord client mod - * Copyright (c) 2025 nin0 - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import { classNameFactory } from "@api/Styles"; -import { relaunch } from "@utils/native"; -import { Alerts } from "@webpack/common"; - -// if edited, also edit in native.ts!!! -export const CLONE_LINK_REGEX = /https:\/\/(?:((?:git(?:hub|lab)\.com|git\.(?:[a-zA-Z0-9]|\.)+|codeberg\.org))\/(?!user-attachments)((?:[a-zA-Z0-9]|-)+)\/((?:[a-zA-Z0-9]|-|\.)+)(?:\.git)?|(plugins\.(nin0)\.dev)\/((?:[a-zA-Z0-9]|-|\.)+))(?:\/)?/; -export const WHITELISTED_SHARE_CHANNELS = ["1256395889354997771", "1032200195582197831", "1301947896601509900", "1322935137591365683"]; -export const cl = classNameFactory("vc-userplugininstaller-"); - -export function showInstallFinishedAlert(pluginToEnable: string, native: boolean) { - Alerts.show({ - title: "Done!", - body: `${pluginToEnable} has been successfully installed.${native ? " However, as it makes use of native functions, a client restart is required." : ""} What now?`, - confirmText: `Enable & ${native ? "restart" : "refresh"}`, - cancelText: native ? "Restart" : "Refresh", - onConfirm() { - !Vencord.Plugins.plugins[pluginToEnable] ? Vencord.Settings.plugins[pluginToEnable] = { enabled: true } : Vencord.Settings.plugins[pluginToEnable].enabled = true; - native ? relaunch() : window.location.reload(); - }, - onCancel: () => native ? relaunch() : window.location.reload() - }); -} diff --git a/src/equicordplugins/userpluginInstaller.dev/misc/pluginValidate.txt b/src/equicordplugins/userpluginInstaller.dev/misc/pluginValidate.txt deleted file mode 100644 index 9486605c9..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/misc/pluginValidate.txt +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - Review userplugin - - - - %WARNINGHIDER% %NATIVETSHIDER% %PRESENDHIDER% - - - -

Plugin info

-
-

%PLUGINNAME%

-

%PLUGINDESC%

-
- -

Warnings

-
-

Uses a native.ts file

-

- Use of this file allows the plugin to escape the browser sandbox - and potentially do anything to your system and data. - ONLY INSTALL THIS PLUGIN AFTER REVIEWING THE CODE AND BEING - 100% SURE THAT NOTHING BAD CAN BE DONE! -

-
- Acknowledge warning (required to allow - install) -
-
-

Has pre-send listeners

-

- This allows the plugin to edit your messages before they are - sent. -

-
-

- Reminder: installing a userplugin can be a destructive action. Make - sure that you know and trust the developer before installing any. -

-
- - -
- - diff --git a/src/equicordplugins/userpluginInstaller.dev/misc/setGitPath.txt b/src/equicordplugins/userpluginInstaller.dev/misc/setGitPath.txt deleted file mode 100644 index 5e4e6938e..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/misc/setGitPath.txt +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - Git Path - - - - - -

Git path

-

- If you're having issues downloading userplugins because Git isn't properly detected, you can manually set a Git - path - that'll be used instead of - simply looking in PATH. -
- If you do not specify anything, Git will be called from the PATH variable. Do not set this setting unless you - have issues. -
-
- On Linux, Flatpak still isn't supported. -

- -
- - - -
- - - diff --git a/src/equicordplugins/userpluginInstaller.dev/misc/style.css b/src/equicordplugins/userpluginInstaller.dev/misc/style.css deleted file mode 100644 index 098e37ea6..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/misc/style.css +++ /dev/null @@ -1,78 +0,0 @@ -.vc-userplugininstaller-info-card { - padding: 15px 20px; - margin-bottom: 20px; -} - -.vc-userplugininstaller-install-desc { - margin-top: 5px; -} - -.vc-userplugininstaller-install-field, -.vc-userplugininstaller-button-container { - margin-top: 10px; -} - -.vc-userplugininstaller-install-button { - margin-left: auto; -} - -.vc-userplugininstaller-update-check-container { - margin-top: 10px; -} - -.vc-userplugininstaller-plugins-grid { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 10px; - align-items: start; -} - -.vc-userplugininstaller-info-button { - height: 24px; - width: 24px; - padding: 0; - background: transparent; - color: var(--icon-secondary); - transition: background-color 0.2s ease; - - &:hover { - color: var(--interactive-hover); - } -} - -.vc-userplugininstaller-settings-button:hover { - color: var(--interactive-hover); -} - -.vc-userplugininstaller-plugin-footer { - margin-top: 10px; - display: flex; - flex-wrap: wrap; - gap: 5px; - - div { - flex-basis: 100%; - margin-top: 5px; - font-size: 0.9rem; - } -} - -.vc-userplugininstaller-outdated-list { - padding-left: 30px; - margin: 3px 0; - list-style-type: disc; -} - -.vc-userplugininstaller-delete-button { - height: 24px; - width: 24px; - padding: 0; - background: transparent; - margin-right: 8px; - color: var(--icon-muted); - transition: background-color .2s ease; - - &:hover { - color: var(--red-new-46) - } -} diff --git a/src/equicordplugins/userpluginInstaller.dev/misc/updateValidate.txt b/src/equicordplugins/userpluginInstaller.dev/misc/updateValidate.txt deleted file mode 100644 index 573200223..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/misc/updateValidate.txt +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - Review userplugin - - - - -

Plugin info

-
-

%PLUGINNAME%

-

%PLUGINDESC%

-
-

Update info

-
-

%COMMITMESSAGE%

-
-

- You may want to review the - source code that will be applied. -

-
- -

- Reminder: installing a userplugin can be a destructive action. Make - sure that you know and trust the developer before installing any. -

-
- - -
- - diff --git a/src/equicordplugins/userpluginInstaller.dev/native.ts b/src/equicordplugins/userpluginInstaller.dev/native.ts deleted file mode 100644 index 1203b4a85..000000000 --- a/src/equicordplugins/userpluginInstaller.dev/native.ts +++ /dev/null @@ -1,473 +0,0 @@ -/* - * Vencord, a Discord client mod - * Copyright (c) 2025 nin0 - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -import { NativeSettings } from "@main/settings"; -import { exec, spawn } from "child_process"; -import { BrowserWindow, dialog, shell, WebContentsView } from "electron"; -import { existsSync, readdirSync, readFileSync } from "fs"; -import { readdir, readFile, rm } from "fs/promises"; -import { basename, join } from "path"; -import yaml from "yaml-js"; - -// @ts-ignore fuck off -import pluginValidateContent from "./misc/pluginValidate.txt"; // i would use HTML but esbuild is being whiny -// @ts-ignore fuck off -import setGitPathContent from "./misc/setGitPath.txt"; -// @ts-ignore fuck off -import updateValidateContent from "./misc/updateValidate.txt"; // see above - -const PLUGIN_META_REGEX = /export default definePlugin\((?:\s|\/(?:\/|\*).*)*{\s*(?:\s|\/(?:\/|\*).*)*name:\s*(?:"|'|`)(.*)(?:"|'|`)(?:\s|\/(?:\/|\*).*)*,(?:\s|\/(?:\/|\*).*)*(?:\s|\/(?:\/|\*).*)*description:\s*(?:"|'|`)(.*)(?:"|'|`)(?:\s|\/(?:\/|\*).*)*/; -// if edited, also edit in misc/constants.ts!!! -const CLONE_LINK_REGEX = /https:\/\/(?:((?:git(?:hub|lab)\.com|git\.(?:[a-zA-Z0-9]|\.)+|codeberg\.org))\/(?!user-attachments)((?:[a-zA-Z0-9]|-)+)\/((?:[a-zA-Z0-9]|-|\.)+)(?:\.git)?|(plugins\.(nin0)\.dev)\/((?:[a-zA-Z0-9]|-|\.)+))(?:\/)?/; - -const vencordPath = ["desktop", "equibop"].includes(basename(__dirname)) ? join(__dirname, "../") : __dirname; - -export async function rmPlugin(_, name: string): Promise { - // eslint-disable-next-line - return new Promise(async (resolve, reject) => { - const ups = await getUserplugins(); - const pl = ups.find(p => p.directory! === name); - if (!pl) return; - - const deleteReqDialog = await dialog.showMessageBox({ - title: "Uninstall plugin", - message: `Uninstall ${pl.name}`, - type: "error", - detail: `The uninstall of the userplugin ${pl.name} has been requested. Would you like to do so?\n\nIf you did not initiate this, press No.`, - buttons: ["No", "Yes"] - }); - - if (deleteReqDialog.response !== 1) return reject("User rejected"); - await rm(join(vencordPath, "../src/userplugins", name), { recursive: true }); - - await build(); - resolve("Done"); - }); -} - -export async function isUpdateAvailableForPlugin(_, name: string): Promise { - return new Promise(resolve => { - const pluginDir = join(vencordPath, "../src/userplugins", name); - const otherProc = exec("git fetch", { - cwd: pluginDir - }); - otherProc.once("close", () => { - async function doStuff() { - try { - const head = (await readFile(join(pluginDir, ".git/HEAD"), "utf8")).match(/^ref: (.+)/)![1]; - const remoteHead = (await readFile(join(pluginDir, ".git/refs/remotes/origin/HEAD"), "utf8")).match(/^ref: (.+)/)![1]; - const localCommit = await readFile(join(pluginDir, ".git", head), "utf8"); - const remoteCommit = await readFile(join(pluginDir, ".git", remoteHead), "utf8"); - - resolve(localCommit !== remoteCommit); - } - catch (e) { - resolve(false); - } - } - doStuff(); - }); - }); -} - -export function initPluginInstall(_, link: string, source: string, owner: string, repo: string): Promise { - // eslint-disable-next-line - return new Promise(async (resolve, reject) => { - const verifiedRegex = link.match(CLONE_LINK_REGEX)!; - const idpl = source === "plugins.nin0.dev" ? 1 : 0; - if (![4, 7].includes(verifiedRegex.length) || verifiedRegex[0] !== link || verifiedRegex[[1, 4][idpl]] !== source || verifiedRegex[[2, 5][idpl]] !== owner || verifiedRegex[[3, 6][idpl]] !== repo) return reject("Invalid link"); - - // Ask for clone - const cloneDialog = await dialog.showMessageBox({ - title: "Clone userplugin", - message: `You are about to clone a userplugin from ${source}.`, - type: "question", - detail: `The repository name is "${repo}" and it is owned by "${owner}".\nThe repository URL is ${link}\n\n(If you did not request this intentionally, choose Cancel)`, - buttons: ["Cancel", "Clone repository and continue install", "Open repository in browser"] - }); - switch (cloneDialog.response) { - case 0: { - return reject("Rejected by user"); - } - case 1: { - await cloneRepo(link, repo); - break; - } - case 2: { - await shell.openExternal(link); - return reject("silentStop"); - } - } - - // Get plugin meta - const meta = await getPluginMeta(join(vencordPath, "..", "src", "userplugins", repo)); - - // Review plugin - const win = new BrowserWindow({ - maximizable: false, - minimizable: false, - width: 560, - height: meta.usesNative || meta.usesPreSend ? 650 : 360, - resizable: false, - webPreferences: { - devTools: true - }, - title: "Review userplugin", - modal: true, - parent: BrowserWindow.getAllWindows()[0], - show: false, - autoHideMenuBar: true - }); - const reView /* haha got it */ = new WebContentsView({ - webPreferences: { - devTools: true, - nodeIntegration: true - } - }); - win.contentView.addChildView(reView); - win.loadURL(generateReviewPluginContent(meta)); - win.on("page-title-updated", async e => { - switch (win.webContents.getTitle() as "abortInstall" | "reviewCode" | "install") { - case "abortInstall": { - win.close(); - await rm(join(vencordPath, "..", "src", "userplugins", repo), { - recursive: true - }); - return reject("Rejected by user"); - } - case "install": { - win.close(); - try { - await build(); - } - catch (e) { - reject((e as Error).toString()); - } - resolve(JSON.stringify({ - name: meta.name, - native: meta.usesNative - })); - break; - } - } - }); - win.show(); - }); -} - -async function build(): Promise { - return new Promise((resolve, reject) => { - const proc = exec("pnpm build --dev", { - cwd: join(vencordPath, ".."), - shell: process.env.SHELL || process.env.ComSpec || "/bin/sh" - }); - proc.once("close", () => { - if (proc.exitCode !== 0) { - reject("Failed to build Vencord, try building from console"); - } - resolve("Success"); - }); - }); -} - -async function getPluginMeta(path: string, extra: object = {}): Promise<{ - name: string; - description: string; - usesPreSend: boolean; - usesNative: boolean; - directory?: string; - remote: string; - supportChannelID?: string; -}> { - return new Promise((resolve, reject) => { - const files = readdirSync(path); - let fileToRead: "index.ts" | "index.tsx" | "index.js" | "index.jsx" | undefined; - files.forEach(f => { - if (f === "index.ts") fileToRead = "index.ts"; - if (f === "index.tsx") fileToRead = "index.tsx"; - if (f === "index.js") fileToRead = "index.js"; - if (f === "index.jsx") fileToRead = "index.jsx"; - }); - if (!fileToRead) reject("Invalid plugin"); - - const file = readFileSync(`${path}/${fileToRead}`, "utf8"); - let remoteURL; - try { - const remoteC = readFileSync(join(path, ".git/config"), "utf8"); - remoteURL = remoteC.match(/\[remote "origin"]\s+url = (https:\/\/(?:(?:git(?:hub|lab)\.com|git\.(?:[a-zA-Z0-9]|\.)+|codeberg\.org)\/(?!user-attachments)(?:[a-zA-Z0-9]|-)+\/(?:[a-zA-Z0-9]|-|\.)+(?:\.git)?|(plugins\.(nin0)\.dev)\/((?:[a-zA-Z0-9]|-|\.)+))(?:\/)?)\n/); - } catch { - remoteURL = null; - } - - let supportChannelID; - try { - const meta = readFileSync(join(path, "meta.yml"), "utf8"); - console.log(meta); - const parsed = yaml.load(meta); - if (parsed.thread && typeof parsed.thread === "string" && /^\d+$/.test(parsed.thread)) { - supportChannelID = parsed.thread; - } - } catch { - supportChannelID = null; - } - - const rawMeta = file.match(PLUGIN_META_REGEX); - resolve({ - name: rawMeta![1], - description: rawMeta![2], - usesPreSend: file.includes("PreSendListener") || file.includes("onBeforeMessage"), - usesNative: files.includes("native.ts") || files.includes("native.js"), - remote: remoteURL ? remoteURL[1] : "", - supportChannelID, - ...extra - }); - - }); -} - -async function cloneRepo(link: string, repo: string): Promise { - return new Promise((resolve, reject) => { - const proc = spawn("git", ["clone", link], { - cwd: join(vencordPath, "..", "src", "userplugins") - }); - proc.once("close", async () => { - if (proc.exitCode !== 0) { - if (!existsSync(join(vencordPath, "..", "src", "userplugins", repo))) - return reject("Failed to clone"); - const deleteReqDialog = await dialog.showMessageBox({ - title: "Error", - message: "Plugin already exists", - type: "error", - detail: `The plugin that you tried to clone already exists at ${join(vencordPath, "..", "src", "userplugins")}.\nWould you like to reclone it? Only do this if you want to reinstall or update the plugin.`, - buttons: ["No", "Yes"] - }); - if (deleteReqDialog.response !== 1) return reject("User rejected"); - await rm(join(vencordPath, "..", "src", "userplugins", repo), { - recursive: true - }); - await cloneRepo(link, repo); - } - resolve(); - }); - }); -} - -function generateReviewPluginContent(meta: { - name: string; - description: string; - usesPreSend: boolean; - usesNative: boolean; -}): string { - const template = pluginValidateContent.replace("%PLUGINNAME%", meta.name.replaceAll("<", "<")).replace("%PLUGINDESC%", meta.description.replaceAll("<", "<")).replace("%WARNINGHIDER%", !meta.usesNative && !meta.usesPreSend ? "[data-useless=\"warning\"] { display: none !important; }" : "").replace("%NATIVETSHIDER%", meta.usesNative ? "" : "#native-ts-warning { display: none !important; }").replace("%PRESENDHIDER%", meta.usesPreSend ? "" : "#pre-send-warning { display: none !important; }"); - const buf = Buffer.from(template).toString("base64"); - return `data:text/html;base64,${buf}`; -} - -function generateUpdatePluginContent(meta: { - name: string; - description: string; - remote: string; - commit: string; -}): string { - const template = updateValidateContent.replace("%PLUGINNAME%", meta.name.replaceAll("<", "<")).replace("%PLUGINDESC%", meta.description.replaceAll("<", "<")).replace("%REMOTE%", meta.remote).replace("%COMMITMESSAGE%", meta.commit.replaceAll("\n", "
")); - const buf = Buffer.from(template).toString("base64"); - return `data:text/html;base64,${buf}`; -} - -export async function getUserplugins() { - const folderContents = await readdir(join(vencordPath, "..", "src", "userplugins"), { - withFileTypes: true - }); - const plugins = await Promise.allSettled( - folderContents - .filter(item => item.isDirectory()) - .map(item => ({ - path: join(item.parentPath, item.name), - directory: item.name - })) - .map(({ path, directory }) => getPluginMeta(path, { directory })) - ); - - return plugins - .filter(p => p.status === "fulfilled") - .map(p => p.value); -} - -export async function updatePlugin(_, directory: string) { - return new Promise((resolve, reject) => { - const pluginDir = join(vencordPath, "../src/userplugins", directory); - - async function doStuff() { - const pluginMeta = await getPluginMeta(pluginDir); - - const win = new BrowserWindow({ - maximizable: false, - minimizable: false, - width: 560, - height: 600, - resizable: false, - webPreferences: { - devTools: true - }, - title: "Review userplugin", - modal: true, - parent: BrowserWindow.getAllWindows()[0], - show: false, - autoHideMenuBar: true - }); - const reView /* haha got it */ = new WebContentsView({ - webPreferences: { - devTools: true, - nodeIntegration: true - } - }); - win.contentView.addChildView(reView); - - const commitProc = exec("git log origin/HEAD...HEAD --oneline --pretty=format:%an////////%h////////%H////////%s", { - cwd: pluginDir - }); - let rawOutput = ""; - commitProc.stdout?.on("data", d => { - rawOutput += String(d); - }); - commitProc.once("close", () => { - win.loadURL(generateUpdatePluginContent({ - name: pluginMeta.name, - description: pluginMeta.description, - remote: pluginMeta.remote, - commit: rawOutput.split("\n").map(line => line.split("////////")).map(([user, shortCommit, longCommit, message]) => `${user} (${shortCommit}) ~ ${message}`).join("\n") - })); - win.on("page-title-updated", async e => { - if (win.webContents.getTitle().startsWith("openLink:")) { - await shell.openExternal(win.webContents.getTitle().replace("openLink:", "")); - } - switch (win.webContents.getTitle() as "abortInstall" | "install") { - case "abortInstall": { - win.close(); - return reject("Rejected by user"); - } - case "install": { - win.close(); - try { - const otherProc = exec("git rebase origin/HEAD", { - cwd: pluginDir - }); - let errored = ""; - otherProc.stderr?.on("data", d => { if (String(d).includes("Success")) return; errored += String(d); }); - otherProc.once("close", () => { - if (errored) if (!errored.includes("Success")) return reject(`Failed to apply the update, chances are you have local changes that conflict with your remote. Git errors:\n\n${errored}`); - build().then(() => resolve(JSON.stringify({ - name: pluginMeta.name, - native: pluginMeta.usesNative - }))); - }); - } - catch (e) { - reject((e as Error).toString()); - } - break; - } - } - }); - }); - win.show(); - } - doStuff(); - }); -} - -export async function openGitPathModal(_: any) { - const gitPathSet: string | undefined = NativeSettings.store.plugins.UserpluginInstaller?.gitPath; - const win = new BrowserWindow({ - maximizable: false, - minimizable: false, - width: 560, - height: 400, - resizable: false, - webPreferences: { - devTools: true - }, - title: "Set Git path", - modal: true, - parent: BrowserWindow.getAllWindows()[0], - show: false, - autoHideMenuBar: true - }); - const reView = new WebContentsView({ - webPreferences: { - devTools: true, - nodeIntegration: true - } - }); - win.contentView.addChildView(reView); - win.loadURL(`data:text/html;base64,${Buffer.from(setGitPathContent).toString("base64")}`); - win.on("page-title-updated", async _ => { - const t = win.webContents.getTitle(); - if (t === "abort") win.close(); - if (t.startsWith("ok")) { - if (!NativeSettings.store.plugins.UserpluginInstaller) { - NativeSettings.store.plugins.UserpluginInstaller = { - gitPath: undefined - }; - } - if (t === "ok-") { - NativeSettings.store.plugins.UserpluginInstaller.gitPath = undefined; - } else { - const gitPath2 = t.split("-").toSpliced(0, 1).join("-"); - NativeSettings.store.plugins.UserpluginInstaller.gitPath = gitPath2; - } - win.close(); - } - if (t.startsWith("check")) { - try { - const gitProc = spawn(t === "check-" ? "git" : t.split("-").toSpliced(0, 1).join("-"), ["--version"]); - let rawOutput = ""; - gitProc.stdout?.on("data", d => { - rawOutput += String(d); - }); - gitProc.on("error", e => { - dialog.showMessageBox({ - title: "Error", - message: "Git error", - type: "error", - detail: `${e}\n\nDouble-check the path you entered.`, - buttons: ["OK"] - }); - }); - gitProc.once("close", () => { - if (gitProc.exitCode === 0) { - dialog.showMessageBox({ - title: "Success", - message: "Git works!", - type: "info", - detail: `Successfully called ${rawOutput.trim()}`, - buttons: ["OK"] - }); - } - }); - } catch (e) { - dialog.showMessageBox({ - title: "Error", - message: "Git error", - type: "error", - detail: `${e}\n\nDouble-check the path you entered.`, - buttons: ["OK"] - }); - } - } - }); - win.show(); - if (gitPathSet) { - win.webContents.executeJavaScript(`document.querySelector("input").value = ${JSON.stringify(gitPathSet)};`); - } - - console.log(yaml.load(` - name: test - items: - - a - - b - `)); -} diff --git a/src/equicordplugins/vcNarratorCustom/index.tsx b/src/equicordplugins/vcNarratorCustom/index.tsx index fac57eced..c9d80123c 100644 --- a/src/equicordplugins/vcNarratorCustom/index.tsx +++ b/src/equicordplugins/vcNarratorCustom/index.tsx @@ -895,7 +895,6 @@ const UserContextMenuPatch: NavContextMenuPatchCallback = (children, { user }: U export default definePlugin({ name: "VcNarratorCustom", description: "Announces when users join, leave, or move voice channels via narrator using TikTok TTS. Revamped and back from the dead.", - tags: ["Accessibility", "Voice"], authors: [Devs.Ven, Devs.Nyako, EquicordDevs.Loukios, EquicordDevs.examplegit], settings, contextMenus: { diff --git a/src/equicordplugins/vcPanelSettings/index.tsx b/src/equicordplugins/vcPanelSettings/index.tsx index 24893ae04..bfc60e08f 100644 --- a/src/equicordplugins/vcPanelSettings/index.tsx +++ b/src/equicordplugins/vcPanelSettings/index.tsx @@ -238,7 +238,6 @@ function VoiceSettings() { export default definePlugin({ name: "VCPanelSettings", description: "Control voice settings right from the voice panel", - tags: ["Utility", "Voice"], authors: [Devs.nin0dev], settings, renderVoiceSettings() { return ; }, diff --git a/src/equicordplugins/viewRawVariant/index.tsx b/src/equicordplugins/viewRawVariant/index.tsx index 97730526b..41597a401 100644 --- a/src/equicordplugins/viewRawVariant/index.tsx +++ b/src/equicordplugins/viewRawVariant/index.tsx @@ -129,7 +129,6 @@ function makeContextCallback( export default definePlugin({ name: "ViewRawVariant", description: "Copy/View raw content of any message, channel, or guild, but show in the right click menu.", - tags: ["Appearance", "Customisation", "Chat", "Organisation", "Servers"], authors: [Devs.KingFish, Devs.Ven, Devs.rad, Devs.ImLvna, Devs.Kyuuhachi], contextMenus: { "guild-context": makeContextCallback("guild", val => diff --git a/src/equicordplugins/voiceButtons/index.tsx b/src/equicordplugins/voiceButtons/index.tsx index 4654572ff..af960f502 100644 --- a/src/equicordplugins/voiceButtons/index.tsx +++ b/src/equicordplugins/voiceButtons/index.tsx @@ -16,7 +16,6 @@ import { UserChatButton, UserDeafenButton, UserMuteButton } from "./utils"; export default definePlugin({ name: "VoiceButtons", description: "Quickly DM, mute, or deafen any user right from the voice-call panel.", - tags: ["Servers", "Utility", "Voice"], authors: [EquicordDevs.nicola02nb, EquicordDevs.omaw], settings, patches: [ diff --git a/src/equicordplugins/voiceChannelLog/index.tsx b/src/equicordplugins/voiceChannelLog/index.tsx index 377ff7503..a0e4d1d9c 100644 --- a/src/equicordplugins/voiceChannelLog/index.tsx +++ b/src/equicordplugins/voiceChannelLog/index.tsx @@ -54,9 +54,8 @@ const patchChannelContextMenu: NavContextMenuPatchCallback = (children, { channe export default definePlugin({ name: "VoiceChannelLog", description: "Logs voice channel activity including joins, leaves, soundboard, mute, camera, screenshare, and more.", - tags: ["Servers", "Utility", "Voice"], authors: [Devs.Sqaaakoi, Devs.thororen, EquicordDevs.nyx, Devs.Moxxie, EquicordDevs.Fres, Devs.amy], - dependencies: ["AudioPlayerAPI", "HeaderBarAPI"], + dependencies: ["AudioPlayerAPI"], settings, contextMenus: { "channel-context": patchChannelContextMenu diff --git a/src/equicordplugins/voiceChatUtils/index.tsx b/src/equicordplugins/voiceChatUtils/index.tsx index a9ebea15f..421000cf7 100644 --- a/src/equicordplugins/voiceChatUtils/index.tsx +++ b/src/equicordplugins/voiceChatUtils/index.tsx @@ -174,7 +174,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "VoiceChatUtilities", description: "This plugin allows you to perform multiple actions on an entire channel (move, mute, disconnect, etc.) (originally by dutake)", - tags: ["Chat", "Servers", "Voice"], authors: [Devs.D3SOX, EquicordDevs.nickwoah], settings, diff --git a/src/equicordplugins/voiceJoinMessages/index.ts b/src/equicordplugins/voiceJoinMessages/index.ts index 3fdc3499b..12824ab91 100644 --- a/src/equicordplugins/voiceJoinMessages/index.ts +++ b/src/equicordplugins/voiceJoinMessages/index.ts @@ -111,7 +111,6 @@ let clientOldChannelId: string | undefined; export default definePlugin({ name: "VoiceJoinMessages", description: "Recieve client-side ephemeral messages when your friends join voice channels", - tags: ["Servers", "Utility", "Voice"], authors: [Devs.Sqaaakoi, Devs.thororen], settings, flux: { diff --git a/src/equicordplugins/voiceMessageTranscriber.desktop/index.tsx b/src/equicordplugins/voiceMessageTranscriber.desktop/index.tsx index db2d8def3..f60724321 100644 --- a/src/equicordplugins/voiceMessageTranscriber.desktop/index.tsx +++ b/src/equicordplugins/voiceMessageTranscriber.desktop/index.tsx @@ -314,7 +314,6 @@ export default definePlugin({ name: "VoiceMessageTranscriber", authors: [Devs.TheSun], description: "On-device transcriptions for voice messages powered by Whisper v3", - tags: ["Chat", "Media", "Utility", "Voice"], patches: [ { find: ".VOICE_MESSAGE)),", diff --git a/src/equicordplugins/voiceRejoin/index.tsx b/src/equicordplugins/voiceRejoin/index.tsx index 291bd7aee..12042df43 100644 --- a/src/equicordplugins/voiceRejoin/index.tsx +++ b/src/equicordplugins/voiceRejoin/index.tsx @@ -51,7 +51,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "VoiceRejoin", description: "Rejoins DM/Server call automatically when restarting Discord.", - tags: ["Servers", "Utility", "Voice"], authors: [EquicordDevs.omaw, EquicordDevs.keircn], settings, diff --git a/src/equicordplugins/waitForSlot/index.tsx b/src/equicordplugins/waitForSlot/index.tsx index 4df55ee89..fbcfd636e 100644 --- a/src/equicordplugins/waitForSlot/index.tsx +++ b/src/equicordplugins/waitForSlot/index.tsx @@ -64,7 +64,6 @@ function promptVoiceChannel(channel: Channel | null | undefined): boolean { export default definePlugin({ name: "WaitForSlot", description: "Automatically join a full voice channel when a slot opens.", - tags: ["Servers", "Utility", "Voice"], authors: [EquicordDevs.omaw, Devs.prism], settings, patches: [ diff --git a/src/equicordplugins/wallpaperFree/index.tsx b/src/equicordplugins/wallpaperFree/index.tsx index 6cd0364c4..cfc8fe99e 100644 --- a/src/equicordplugins/wallpaperFree/index.tsx +++ b/src/equicordplugins/wallpaperFree/index.tsx @@ -33,7 +33,6 @@ export default definePlugin({ name: "WallpaperFree", authors: [Devs.Joona], description: "Recreation of the old DM wallpaper experiment; Set a background image for any channel, user or server.", - tags: ["Appearance", "Chat", "Customisation"], patches: [ { find: ".handleSendMessage,onResize", diff --git a/src/equicordplugins/webpackTarball/index.tsx b/src/equicordplugins/webpackTarball/index.tsx index c96e9011c..536e1212c 100644 --- a/src/equicordplugins/webpackTarball/index.tsx +++ b/src/equicordplugins/webpackTarball/index.tsx @@ -31,7 +31,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "WebpackTarball", description: "Converts Discord's webpack sources into a tarball.", - tags: ["Developers", "Utility"], authors: [Devs.Kyuuhachi], settings, diff --git a/src/equicordplugins/whitelistedEmojis/index.tsx b/src/equicordplugins/whitelistedEmojis/index.tsx index 7a72e531f..70d21eb37 100644 --- a/src/equicordplugins/whitelistedEmojis/index.tsx +++ b/src/equicordplugins/whitelistedEmojis/index.tsx @@ -597,7 +597,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "WhitelistedEmojis", description: "Adds the ability to disable all message emojis except for a whitelisted set.", - tags: ["Chat", "Emotes"], authors: [EquicordDevs.creations], patches: [ { diff --git a/src/equicordplugins/whosWatching/index.tsx b/src/equicordplugins/whosWatching/index.tsx index e7dfe0020..2412d1827 100644 --- a/src/equicordplugins/whosWatching/index.tsx +++ b/src/equicordplugins/whosWatching/index.tsx @@ -82,7 +82,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "WhosWatching", description: "Hover over the screenshare icon to view what users are watching your stream", - tags: ["Activity"], authors: [EquicordDevs.Fres, Devs.thororen], settings, patches: [ diff --git a/src/equicordplugins/wigglyText/index.tsx b/src/equicordplugins/wigglyText/index.tsx index b3118029f..1f683e9e6 100644 --- a/src/equicordplugins/wigglyText/index.tsx +++ b/src/equicordplugins/wigglyText/index.tsx @@ -112,7 +112,6 @@ const updateStyles = () => { export default definePlugin({ name: "WigglyText", description: "Adds a new markdown formatting that makes text wiggly.", - tags: ["Appearance", "Customisation", "Fun"], authors: [EquicordDevs.nexpid], settings, settingsAboutComponent: () => ( diff --git a/src/equicordplugins/writeUpperCase/index.ts b/src/equicordplugins/writeUpperCase/index.ts index 81a9a329a..263b1a231 100644 --- a/src/equicordplugins/writeUpperCase/index.ts +++ b/src/equicordplugins/writeUpperCase/index.ts @@ -37,7 +37,6 @@ const presendObject: MessageSendListener = (_, msg) => { export default definePlugin({ name: "WriteUpperCase", description: "Changes the first Letter of each Sentence in Message Inputs to Uppercase", - tags: ["Appearance", "Customisation", "Chat"], authors: [Devs.Samwich, EquicordDevs.KrystalSkull], settings, diff --git a/src/main/utils/extensions.ts b/src/main/utils/extensions.ts index 0b19d9286..9ecfbfe82 100644 --- a/src/main/utils/extensions.ts +++ b/src/main/utils/extensions.ts @@ -79,6 +79,6 @@ export async function installExt(id: string) { .catch(err => console.error(`Failed to extract extension ${id}`, err)); } - // Electron 36 Deprecates session.defaultSession.loadExtension() + // @ts-expect-error Electron 36 Deprecates session.defaultSession.loadExtension() session.defaultSession.extensions ? session.defaultSession.extensions.loadExtension(extDir) : session.defaultSession.loadExtension(extDir); } diff --git a/src/plugins/_core/supportHelper.tsx b/src/plugins/_core/supportHelper.tsx index 385472477..a2e1d8172 100644 --- a/src/plugins/_core/supportHelper.tsx +++ b/src/plugins/_core/supportHelper.tsx @@ -289,7 +289,7 @@ export default definePlugin({ required: true, description: "Helps us provide support to you", authors: [Devs.Ven], - dependencies: ["UserSettingsAPI", "CommandsAPI", "MessageAccessoriesAPI"], + dependencies: ["UserSettingsAPI"], settings, diff --git a/src/plugins/accountPanelServerProfile/index.tsx b/src/plugins/accountPanelServerProfile/index.tsx index dad81c7bb..12f5f5cbb 100644 --- a/src/plugins/accountPanelServerProfile/index.tsx +++ b/src/plugins/accountPanelServerProfile/index.tsx @@ -70,7 +70,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "AccountPanelServerProfile", description: "Right click your account panel in the bottom left to view your profile in the current server", - tags: ["Appearance", "Servers"], authors: [Devs.Nuckyz, Devs.relitrix], settings, @@ -80,7 +79,7 @@ export default definePlugin({ group: true, replacement: [ { - match: /(\.AVATAR,children:.+?renderPopout:\(?(\i)(?:,\i\))?=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/, + match: /(\.AVATAR,children:.+?renderPopout:(\i)=>){(.+?)}(?=,position)(?<=currentUser:(\i).+?)/, replace: (_, rest, popoutProps, originalPopout, currentUser) => `${rest}$self.UserProfile({popoutProps:${popoutProps},currentUser:${currentUser},originalRenderPopout:()=>{${originalPopout}}})` }, { diff --git a/src/plugins/alwaysAnimate/index.ts b/src/plugins/alwaysAnimate/index.ts index e66792ee5..071596253 100644 --- a/src/plugins/alwaysAnimate/index.ts +++ b/src/plugins/alwaysAnimate/index.ts @@ -51,7 +51,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "AlwaysAnimate", description: "Animates anything that can be animated", - tags: ["Appearance", "Fun"], authors: [Devs.FieryFlames], settings, patches: [ diff --git a/src/plugins/alwaysExpandRoles/index.ts b/src/plugins/alwaysExpandRoles/index.ts index 502679ea9..7ad1e6fae 100644 --- a/src/plugins/alwaysExpandRoles/index.ts +++ b/src/plugins/alwaysExpandRoles/index.ts @@ -33,7 +33,6 @@ migratePluginSettings("AlwaysExpandRoles", "ShowAllRoles"); export default definePlugin({ name: "AlwaysExpandRoles", description: "Always expands the role list in profile popouts", - tags: ["Appearance", "Roles"], authors: [Devs.surgedevs], isModified: true, settings, diff --git a/src/plugins/alwaysTrust/index.tsx b/src/plugins/alwaysTrust/index.tsx index 1682fc50a..a7d975726 100644 --- a/src/plugins/alwaysTrust/index.tsx +++ b/src/plugins/alwaysTrust/index.tsx @@ -60,7 +60,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "AlwaysTrust", description: "Removes the annoying untrusted domain and suspicious file popup", - tags: ["Utility"], authors: [Devs.zt, Devs.Trwy], isModified: true, settings, diff --git a/src/plugins/anonymiseFileNames/index.tsx b/src/plugins/anonymiseFileNames/index.tsx index 565ec1a39..f136d08a0 100644 --- a/src/plugins/anonymiseFileNames/index.tsx +++ b/src/plugins/anonymiseFileNames/index.tsx @@ -75,8 +75,6 @@ export default definePlugin({ name: "AnonymiseFileNames", authors: [Devs.fawn], description: "Anonymise uploaded file names", - dependencies: ["CommandsAPI"], - tags: ["Privacy", "Utility"], isModified: true, settings, diff --git a/src/plugins/appleMusic.desktop/index.tsx b/src/plugins/appleMusic.desktop/index.tsx index c477f8e2a..e265f4efc 100644 --- a/src/plugins/appleMusic.desktop/index.tsx +++ b/src/plugins/appleMusic.desktop/index.tsx @@ -157,7 +157,6 @@ function getImageAsset(type: AssetImageType, data: TrackData) { export default definePlugin({ name: "AppleMusicRichPresence", description: "Discord rich presence for your Apple Music!", - tags: ["Activity", "Media"], authors: [Devs.RyanCaoDev], hidden: !IS_MAC, reporterTestable: ReporterTestable.None, diff --git a/src/plugins/arRPC.web/index.tsx b/src/plugins/arRPC.web/index.tsx index 31a813211..e602b18eb 100644 --- a/src/plugins/arRPC.web/index.tsx +++ b/src/plugins/arRPC.web/index.tsx @@ -42,7 +42,6 @@ migratePluginSettings("WebRichPresence", "WebRichPresence (arRPC)"); export default definePlugin({ name: "WebRichPresence", description: "Client plugin for arRPC to enable RPC on Discord Web (experimental)", - tags: ["Activity", "Utility"], authors: [Devs.Ducko], reporterTestable: ReporterTestable.None, hidden: !IS_EQUIBOP && !IS_VESKTOP && !("legcord" in window), diff --git a/src/plugins/autoDndWhilePlaying.discordDesktop/index.ts b/src/plugins/autoDndWhilePlaying.discordDesktop/index.ts index 2c74fec66..d1dbdc213 100644 --- a/src/plugins/autoDndWhilePlaying.discordDesktop/index.ts +++ b/src/plugins/autoDndWhilePlaying.discordDesktop/index.ts @@ -48,7 +48,6 @@ migratePluginSettings("AutoDNDWhilePlaying", "StatusWhilePlaying"); export default definePlugin({ name: "AutoDNDWhilePlaying", description: "Automatically updates your online status (online, idle, dnd) when launching games", - tags: ["Activity", "Utility"], authors: [Devs.thororen], isModified: true, settings, diff --git a/src/plugins/betterFolders/index.tsx b/src/plugins/betterFolders/index.tsx index 947768aac..caaa38991 100644 --- a/src/plugins/betterFolders/index.tsx +++ b/src/plugins/betterFolders/index.tsx @@ -254,9 +254,9 @@ const GRID_STYLE_NAME = "vc-betterFolders-sidebar-grid"; export default definePlugin({ name: "BetterFolders", description: "Shows server folders on dedicated sidebar and adds folder related improvements", - tags: ["Organisation", "Servers", "Appearance"], authors: [Devs.juby, Devs.AutumnVN, Devs.Nuckyz], isModified: true, + settings, start() { settings.store.nestedFolders = getNestedFolderMap(); diff --git a/src/plugins/betterGifAltText/index.ts b/src/plugins/betterGifAltText/index.ts index 3b95f912e..0a381e547 100644 --- a/src/plugins/betterGifAltText/index.ts +++ b/src/plugins/betterGifAltText/index.ts @@ -24,7 +24,6 @@ export default definePlugin({ authors: [Devs.Ven], description: "Change GIF alt text from simply being 'GIF' to containing the gif tags / filename", - tags: ["Media", "Accessibility", "Customisation"], patches: [ { find: ".modalContext})};", diff --git a/src/plugins/betterGifPicker/index.ts b/src/plugins/betterGifPicker/index.ts index 3718b03eb..cb2675886 100644 --- a/src/plugins/betterGifPicker/index.ts +++ b/src/plugins/betterGifPicker/index.ts @@ -20,7 +20,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "BetterGifPicker", description: "Makes the gif picker open the favourite category by default", - tags: ["Emotes", "Customisation"], authors: [Devs.Samwich, EquicordDevs.justjxke], isModified: true, settings, diff --git a/src/plugins/betterNotes/index.tsx b/src/plugins/betterNotes/index.tsx index 465010cff..68aa70c61 100644 --- a/src/plugins/betterNotes/index.tsx +++ b/src/plugins/betterNotes/index.tsx @@ -40,7 +40,6 @@ export default definePlugin({ name: "BetterNotesBox", description: "Hide notes or disable spellcheck (Configure in settings!!)", authors: [Devs.Ven], - tags: ["Customisation", "Utility"], settings, patches: [ diff --git a/src/plugins/betterRoleContext/index.tsx b/src/plugins/betterRoleContext/index.tsx index 6a3ec4141..4a99d8822 100644 --- a/src/plugins/betterRoleContext/index.tsx +++ b/src/plugins/betterRoleContext/index.tsx @@ -90,7 +90,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "BetterRoleContext", description: "Adds options to copy role color / edit role / view role icon when right clicking roles in the user profile", - tags: ["Roles", "Appearance"], authors: [Devs.Ven, Devs.goodbee], dependencies: ["UserSettingsAPI"], diff --git a/src/plugins/betterRoleDot/index.ts b/src/plugins/betterRoleDot/index.ts index 89caa0056..3cdff9bb4 100644 --- a/src/plugins/betterRoleDot/index.ts +++ b/src/plugins/betterRoleDot/index.ts @@ -40,7 +40,6 @@ export default definePlugin({ name: "BetterRoleDot", authors: [Devs.Ven, Devs.AutumnVN], description: "Copy role colour on RoleDot (accessibility setting) click. Also allows using both RoleDot and coloured names simultaneously", - tags: ["Roles", "Appearance"], settings, patches: [ diff --git a/src/plugins/betterSessions/index.tsx b/src/plugins/betterSessions/index.tsx index cb016f856..fcdfbfece 100644 --- a/src/plugins/betterSessions/index.tsx +++ b/src/plugins/betterSessions/index.tsx @@ -56,7 +56,7 @@ export default definePlugin({ name: "BetterSessions", description: "Enhances the sessions (devices) menu. Allows you to view exact timestamps, give each session a custom name, and receive notifications about new sessions.", authors: [Devs.amia], - tags: ["Notifications", "Customisation", "Utility"], + settings: settings, patches: [ diff --git a/src/plugins/betterSessions/styles.css b/src/plugins/betterSessions/styles.css index fafba1ed0..adfc283f0 100644 --- a/src/plugins/betterSessions/styles.css +++ b/src/plugins/betterSessions/styles.css @@ -7,11 +7,13 @@ .vc-betterSessions-rename-btn { margin-left: 4px; translate: 0 -2px; + width: fit-content; } .vc-betterSessions-new-btn { margin-left: 4px; translate: 0 -2px; + width: fit-content; pointer-events: none; padding: 1px 4px; } \ No newline at end of file diff --git a/src/plugins/betterSettings/index.tsx b/src/plugins/betterSettings/index.tsx index 58591d6ed..fb95d41ba 100644 --- a/src/plugins/betterSettings/index.tsx +++ b/src/plugins/betterSettings/index.tsx @@ -78,7 +78,6 @@ export default definePlugin({ name: "BetterSettings", description: "Enhances your settings-menu-opening experience", authors: [Devs.Kyuuhachi], - tags: ["Appearance", "Customisation", "Organisation"], settings, start() { diff --git a/src/plugins/betterUploadButton/index.ts b/src/plugins/betterUploadButton/index.ts index 44fe643d2..9639dc60a 100644 --- a/src/plugins/betterUploadButton/index.ts +++ b/src/plugins/betterUploadButton/index.ts @@ -23,7 +23,6 @@ export default definePlugin({ name: "BetterUploadButton", authors: [Devs.fawn, Devs.Ven], description: "Upload with a single click, open menu with right click", - tags: ["Utility", "Shortcuts"], patches: [ { find: ".CHAT_INPUT_BUTTON_NOTIFICATION,", diff --git a/src/plugins/biggerStreamPreview/index.tsx b/src/plugins/biggerStreamPreview/index.tsx index a1e8959c9..2e8beb86a 100644 --- a/src/plugins/biggerStreamPreview/index.tsx +++ b/src/plugins/biggerStreamPreview/index.tsx @@ -89,7 +89,6 @@ export const userContextPatch: NavContextMenuPatchCallback = (children, { user } export default definePlugin({ name: "BiggerStreamPreview", description: "This plugin allows you to enlarge stream previews", - tags: ["Media", "Appearance"], authors: [Devs.phil], contextMenus: { "user-context": userContextPatch, diff --git a/src/plugins/blurNsfw/index.ts b/src/plugins/blurNsfw/index.ts index e959d7ffc..d37545836 100644 --- a/src/plugins/blurNsfw/index.ts +++ b/src/plugins/blurNsfw/index.ts @@ -43,7 +43,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "BlurNSFW", description: "Blur attachments in NSFW channels until hovered", - tags: ["Privacy", "Appearance"], authors: [Devs.Ven], isModified: true, settings, diff --git a/src/plugins/callTimer/index.tsx b/src/plugins/callTimer/index.tsx index 8d50732e4..a006a793c 100644 --- a/src/plugins/callTimer/index.tsx +++ b/src/plugins/callTimer/index.tsx @@ -111,7 +111,6 @@ migrateSettingsFromPlugin("CallTimer", "AllCallTimers", "showWithoutHover", "sho export default definePlugin({ name: "CallTimer", description: "Add call timers for all users in voice channels and in the connection status.", - tags: ["Voice", "Utility"], authors: [Devs.Ven, EquicordDevs.MaxHerbold, Devs.D3SOX], managedStyle: alignedChatInputFix, settings, diff --git a/src/plugins/characterCounter/index.tsx b/src/plugins/characterCounter/index.tsx index 57b9c3f30..209924bc2 100644 --- a/src/plugins/characterCounter/index.tsx +++ b/src/plugins/characterCounter/index.tsx @@ -35,7 +35,6 @@ export default definePlugin({ name: "CharacterCounter", description: "Adds a character counter to the chat input", authors: [Devs.thororen], - tags: ["Utility"], settings, patches: [ { diff --git a/src/plugins/clearURLs/index.ts b/src/plugins/clearURLs/index.ts index 6affa8f9b..362706079 100644 --- a/src/plugins/clearURLs/index.ts +++ b/src/plugins/clearURLs/index.ts @@ -50,8 +50,6 @@ interface RuleSet { export default definePlugin({ name: "ClearURLs", description: "Automatically removes tracking elements from URLs you send", - dependencies: ["MessageEventsAPI"], - tags: ["Privacy", "Utility"], authors: [Devs.adryd, Devs.thororen], rules: [] as RuleSet[], diff --git a/src/plugins/clientTheme/index.tsx b/src/plugins/clientTheme/index.tsx index 48e16971d..984318e29 100644 --- a/src/plugins/clientTheme/index.tsx +++ b/src/plugins/clientTheme/index.tsx @@ -29,7 +29,6 @@ export default definePlugin({ name: "ClientTheme", authors: [Devs.Nuckyz], description: "Recreation of the old client theme experiment. Add a color to your Discord client theme", - tags: ["Appearance", "Customisation"], settings, startAt: StartAt.DOMContentLoaded, diff --git a/src/plugins/colorSighted/index.ts b/src/plugins/colorSighted/index.ts index 0f9201632..025cfb94e 100644 --- a/src/plugins/colorSighted/index.ts +++ b/src/plugins/colorSighted/index.ts @@ -23,7 +23,6 @@ export default definePlugin({ name: "ColorSighted", description: "Removes the colorblind-friendly icons from statuses, just like 2015-2017 Discord", authors: [Devs.lewisakura], - tags: ["Appearance", "Accessibility"], patches: [ { find: "Masks.STATUS_ONLINE", diff --git a/src/plugins/consoleJanitor/index.tsx b/src/plugins/consoleJanitor/index.tsx index b3e2d4f69..f01be7791 100644 --- a/src/plugins/consoleJanitor/index.tsx +++ b/src/plugins/consoleJanitor/index.tsx @@ -109,7 +109,6 @@ export default definePlugin({ name: "ConsoleJanitor", description: "Disables annoying console messages/errors", authors: [Devs.Nuckyz, Devs.sadan], - tags: ["Developers", "Console", "Utility"], settings, startAt: StartAt.Init, diff --git a/src/plugins/consoleShortcuts/index.ts b/src/plugins/consoleShortcuts/index.ts index f8edc29ad..8b158e6df 100644 --- a/src/plugins/consoleShortcuts/index.ts +++ b/src/plugins/consoleShortcuts/index.ts @@ -16,7 +16,6 @@ * along with this program. If not, see . */ -import { loadLazyChunks } from "@debug/loadLazyChunks"; import { Devs } from "@utils/constants"; import { getCurrentChannel, getCurrentGuild } from "@utils/discord"; import { runtimeHashMessageKey } from "@utils/intlHash"; @@ -29,6 +28,7 @@ import definePlugin, { PluginNative, StartAt } from "@utils/types"; import * as Webpack from "@webpack"; import { extract, filters, findAll, findModuleId, search } from "@webpack"; import * as Common from "@webpack/common"; +import { loadLazyChunks } from "debug/loadLazyChunks"; import type { ComponentType } from "react"; const DESKTOP_ONLY = (f: string) => () => { @@ -245,7 +245,6 @@ export default definePlugin({ name: "ConsoleShortcuts", description: "Adds shorter Aliases for many things on the window. Run `shortcutList` for a list.", authors: [Devs.Ven], - tags: ["Developers", "Console", "Shortcuts", "Utility"], startAt: StartAt.Init, patches: [ diff --git a/src/plugins/copyEmojiMarkdown/index.tsx b/src/plugins/copyEmojiMarkdown/index.tsx index dfa46a350..e03197fec 100644 --- a/src/plugins/copyEmojiMarkdown/index.tsx +++ b/src/plugins/copyEmojiMarkdown/index.tsx @@ -51,7 +51,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "CopyEmojiMarkdown", description: "Allows you to copy emojis as formatted string (<:blobcatcozy:1026533070955872337>)", - tags: ["Emotes", "Utility"], authors: [Devs.HappyEnderman, Devs.Vishnya], settings, diff --git a/src/plugins/copyFileContents/index.tsx b/src/plugins/copyFileContents/index.tsx index c74a5c544..be7ec07a2 100644 --- a/src/plugins/copyFileContents/index.tsx +++ b/src/plugins/copyFileContents/index.tsx @@ -22,7 +22,6 @@ const CheckMarkIcon = () => { export default definePlugin({ name: "CopyFileContents", description: "Adds a button to text file attachments to copy their contents", - tags: ["Utility"], authors: [Devs.Obsidian, Devs.Nuckyz], patches: [ { diff --git a/src/plugins/copyStickerLinks/index.tsx b/src/plugins/copyStickerLinks/index.tsx index bc8fe8e90..635b8d313 100644 --- a/src/plugins/copyStickerLinks/index.tsx +++ b/src/plugins/copyStickerLinks/index.tsx @@ -87,7 +87,6 @@ const expressionPickerPatch: NavContextMenuPatchCallback = (children, props: { t export default definePlugin({ name: "CopyStickerLinks", description: "Adds the ability to copy & open Sticker links", - tags: ["Emotes", "Utility"], authors: [Devs.Ven, Devs.Byeoon], contextMenus: { "message": messageContextMenuPatch, diff --git a/src/plugins/copyUserURLs/index.tsx b/src/plugins/copyUserURLs/index.tsx index 07ac0721d..744f7ccac 100644 --- a/src/plugins/copyUserURLs/index.tsx +++ b/src/plugins/copyUserURLs/index.tsx @@ -47,7 +47,6 @@ export default definePlugin({ name: "CopyUserURLs", authors: [Devs.castdrian], description: "Adds a 'Copy User URL' option to the user context menu.", - tags: ["Utility", "Friends"], contextMenus: { "user-context": UserContextMenuPatch } diff --git a/src/plugins/crashHandler/index.ts b/src/plugins/crashHandler/index.ts index 19db0ea11..37f1d878b 100644 --- a/src/plugins/crashHandler/index.ts +++ b/src/plugins/crashHandler/index.ts @@ -61,8 +61,8 @@ export default definePlugin({ name: "CrashHandler", description: "Utility plugin for handling and possibly recovering from crashes without a restart", authors: [Devs.Nuckyz], - tags: ["Utility", "Developers"], enabledByDefault: true, + settings, patches: [ diff --git a/src/plugins/ctrlEnterSend/index.ts b/src/plugins/ctrlEnterSend/index.ts index ba6eb3df6..7b0b26b9a 100644 --- a/src/plugins/ctrlEnterSend/index.ts +++ b/src/plugins/ctrlEnterSend/index.ts @@ -12,7 +12,6 @@ export default definePlugin({ name: "CtrlEnterSend", authors: [Devs.UlyssesZhan], description: "Use Ctrl+Enter to send messages (customizable)", - tags: ["Shortcuts", "Chat"], settings: definePluginSettings({ submitRule: { description: "The way to send a message", diff --git a/src/plugins/customCommands/index.ts b/src/plugins/customCommands/index.ts index bc77ab6f6..b89e4d958 100644 --- a/src/plugins/customCommands/index.ts +++ b/src/plugins/customCommands/index.ts @@ -90,10 +90,8 @@ migratePluginSettings("CustomCommands", "MessageTags"); export default definePlugin({ name: "CustomCommands", description: "Allows you to create custom slash commands / tags", - dependencies: ["CommandsAPI"], - searchTerms: ["MessageTags"], + tags: ["MessageTags"], authors: [Devs.Ven, Devs.Luna,], - tags: ["Commands", "Customisation", "Utility"], settings, async start() { diff --git a/src/plugins/customIdle/index.ts b/src/plugins/customIdle/index.ts index 3f3dca72f..60ebf6ba7 100644 --- a/src/plugins/customIdle/index.ts +++ b/src/plugins/customIdle/index.ts @@ -29,7 +29,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "CustomIdle", description: "Allows you to set the time before Discord goes idle (or disable auto-idle)", - tags: ["Activity", "Customisation"], authors: [Devs.newwares], settings, patches: [ diff --git a/src/plugins/customRPC/index.tsx b/src/plugins/customRPC/index.tsx index bafff2c2e..44f18f6c1 100644 --- a/src/plugins/customRPC/index.tsx +++ b/src/plugins/customRPC/index.tsx @@ -215,7 +215,6 @@ export async function setRpc(disable?: boolean) { export default definePlugin({ name: "CustomRPC", description: "Add a fully customisable Rich Presence (Game status) to your Discord profile", - tags: ["Activity", "Customisation"], authors: [Devs.captain, Devs.AutumnVN, Devs.nin0dev], dependencies: ["UserSettingsAPI"], // This plugin's patch is not important for functionality, so don't require a restart diff --git a/src/plugins/dearrow/index.tsx b/src/plugins/dearrow/index.tsx index b9a367f8a..1247472d4 100644 --- a/src/plugins/dearrow/index.tsx +++ b/src/plugins/dearrow/index.tsx @@ -170,7 +170,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "Dearrow", description: "Makes YouTube embed titles and thumbnails less sensationalist, powered by Dearrow", - tags: ["Media", "Utility"], authors: [Devs.Ven], settings, diff --git a/src/plugins/decor/index.tsx b/src/plugins/decor/index.tsx index cbc57d06d..f9a3cf452 100644 --- a/src/plugins/decor/index.tsx +++ b/src/plugins/decor/index.tsx @@ -27,7 +27,6 @@ export interface AvatarDecoration { export default definePlugin({ name: "Decor", description: "Create and use your own custom avatar decorations, or pick your favorite from the presets.", - tags: ["Appearance", "Customisation"], authors: [Devs.FieryFlames], patches: [ // Patch MediaResolver to return correct URL for Decor avatar decorations diff --git a/src/plugins/devCompanion.dev/index.tsx b/src/plugins/devCompanion.dev/index.tsx index da7b42ebd..43449840c 100644 --- a/src/plugins/devCompanion.dev/index.tsx +++ b/src/plugins/devCompanion.dev/index.tsx @@ -48,7 +48,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "DevCompanion", description: "Dev Companion Plugin. Please report anything not working or being weird (most likely its a bug) to sadan, either ping or dm, thanks!", - tags: ["Developers", "Utility"], authors: [Devs.Ven, Devs.sadan], reporterTestable: ReporterTestable.None, isModified: true, diff --git a/src/plugins/devCompanion.dev/initWs.tsx b/src/plugins/devCompanion.dev/initWs.tsx index 49e931808..89bee1d38 100644 --- a/src/plugins/devCompanion.dev/initWs.tsx +++ b/src/plugins/devCompanion.dev/initWs.tsx @@ -5,14 +5,14 @@ */ import { popNotice, showNotice } from "@api/Notices"; -import { Settings } from "@api/Settings"; import ErrorBoundary from "@components/ErrorBoundary"; -import { loadLazyChunks } from "@debug/loadLazyChunks"; -import { reporterData } from "@debug/reporterData"; import { getIntlMessageFromHash } from "@utils/discord"; import { canonicalizeMatch, canonicalizeReplace } from "@utils/patches"; import { filters, findAll, search, wreq } from "@webpack"; import { React, Toasts, useState } from "@webpack/common"; +import { loadLazyChunks } from "debug/loadLazyChunks"; +import { reporterData } from "debug/reporterData"; +import { Settings } from "Vencord"; import { CLIENT_VERSION, logger, PORT, settings } from "."; import { Recieve } from "./types"; diff --git a/src/plugins/devCompanion.dev/types/send.ts b/src/plugins/devCompanion.dev/types/send.ts index e9439e631..86260a4e3 100644 --- a/src/plugins/devCompanion.dev/types/send.ts +++ b/src/plugins/devCompanion.dev/types/send.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { ReporterData } from "@debug/reporterData"; +import { ReporterData } from "debug/reporterData"; export type OutgoingMessage = Base; export type FullOutgoingMessage = OutgoingMessage & Nonce; diff --git a/src/plugins/devCompanion.dev/util.tsx b/src/plugins/devCompanion.dev/util.tsx index 7611b8081..4fda47040 100644 --- a/src/plugins/devCompanion.dev/util.tsx +++ b/src/plugins/devCompanion.dev/util.tsx @@ -10,8 +10,8 @@ import { Settings } from "@api/Settings"; import { canonicalizeMatch } from "@utils/patches"; import { CodeFilter, stringMatches, wreq } from "@webpack"; import { Toasts } from "@webpack/common"; +import { WebpackPatcher } from "Vencord"; -import { WebpackPatcher } from "../../Vencord"; import { logger, settings as companionSettings } from "."; import { FindNode } from "./types/recieve"; diff --git a/src/plugins/disableCallIdle/index.ts b/src/plugins/disableCallIdle/index.ts index 523580e76..216f1218c 100644 --- a/src/plugins/disableCallIdle/index.ts +++ b/src/plugins/disableCallIdle/index.ts @@ -22,7 +22,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "DisableCallIdle", description: "Disables automatically getting kicked from a DM voice call after 3 minutes and being moved to an AFK voice channel.", - tags: ["Voice", "Utility"], authors: [Devs.Nuckyz], patches: [ { diff --git a/src/plugins/dontRoundMyTimestamps/index.ts b/src/plugins/dontRoundMyTimestamps/index.ts index 7d8cb9b14..4c432c73f 100644 --- a/src/plugins/dontRoundMyTimestamps/index.ts +++ b/src/plugins/dontRoundMyTimestamps/index.ts @@ -24,7 +24,6 @@ export default definePlugin({ name: "DontRoundMyTimestamps", authors: [Devs.Lexi], description: "Always rounds relative timestamps down, so 7.6y becomes 7y instead of 8y", - tags: ["Appearance", "Utility"], start() { moment.relativeTimeRounding(Math.floor); diff --git a/src/plugins/experiments/index.tsx b/src/plugins/experiments/index.tsx index 5382dc250..9c1802577 100644 --- a/src/plugins/experiments/index.tsx +++ b/src/plugins/experiments/index.tsx @@ -37,7 +37,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "Experiments", description: "Enable Access to Experiments & other dev-only features in Discord!", - tags: ["Developers", "Utility"], authors: [ Devs.Megu, Devs.Ven, @@ -71,8 +70,6 @@ export default definePlugin({ match: /(?<=children:\[)(?=null!=.{0,150}"Installation ID:)/, replace: "$self.WarningCard()," }, - // for some reason the installation id and copy buttons are on - // different lines so it looks stupid when the card above is added { match: /(?<=,marginBottom:16)(?=\},children:\[)/, replace: ',flexDirection:"row",alignItems:"center"' diff --git a/src/plugins/expressionCloner/index.tsx b/src/plugins/expressionCloner/index.tsx index 3e80f75b0..3a79a05ef 100644 --- a/src/plugins/expressionCloner/index.tsx +++ b/src/plugins/expressionCloner/index.tsx @@ -232,7 +232,7 @@ function CloneModal({ data }: { data: Sticker | Emoji; }) { <> Custom Name { data.name = v; setName(v); @@ -411,8 +411,7 @@ migratePluginSettings("ExpressionCloner", "EmoteCloner"); export default definePlugin({ name: "ExpressionCloner", description: "Allows you to clone Emotes & Stickers to your own server (right click them)", - tags: ["Emotes", "Servers"], - searchTerms: ["StickerCloner", "EmoteCloner", "EmojiCloner"], + tags: ["StickerCloner", "EmoteCloner", "EmojiCloner"], authors: [Devs.Ven, Devs.Nuckyz], contextMenus: { "message": messageContextMenuPatch, diff --git a/src/plugins/f8break/index.ts b/src/plugins/f8break/index.ts index 5b1b118ce..89dd2c92f 100644 --- a/src/plugins/f8break/index.ts +++ b/src/plugins/f8break/index.ts @@ -22,7 +22,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "F8Break", description: "Pause the client when you press F8 with DevTools (+ breakpoints) open.", - tags: ["Developers", "Shortcuts"], authors: [Devs.lewisakura], start() { diff --git a/src/plugins/fakeNitro/index.tsx b/src/plugins/fakeNitro/index.tsx index dfd345191..10559321d 100644 --- a/src/plugins/fakeNitro/index.tsx +++ b/src/plugins/fakeNitro/index.tsx @@ -180,7 +180,6 @@ export default definePlugin({ name: "FakeNitro", authors: [Devs.Arjix, Devs.D3SOX, Devs.Ven, Devs.fawn, Devs.captain, Devs.Nuckyz, Devs.AutumnVN, Devs.sadan], description: "Allows you to send fake emojis/stickers, use nitro themes, and stream in nitro quality", - tags: ["Emotes", "Appearance", "Customisation", "Chat"], dependencies: ["MessageEventsAPI"], settings, diff --git a/src/plugins/fakeProfileThemes/index.tsx b/src/plugins/fakeProfileThemes/index.tsx index ec550f850..589862c4d 100644 --- a/src/plugins/fakeProfileThemes/index.tsx +++ b/src/plugins/fakeProfileThemes/index.tsx @@ -200,7 +200,6 @@ function SettingsAboutComponent() { export default definePlugin({ name: "FakeProfileThemes", description: "Allows profile theming by hiding the colors in your bio thanks to invisible 3y3 encoding", - tags: ["Appearance", "Customisation"], authors: [Devs.Alyxia, Devs.Remty], patches: [ { diff --git a/src/plugins/favEmojiFirst/index.tsx b/src/plugins/favEmojiFirst/index.tsx index 4c6261d78..f369023c5 100644 --- a/src/plugins/favEmojiFirst/index.tsx +++ b/src/plugins/favEmojiFirst/index.tsx @@ -1101,9 +1101,8 @@ const messageSendListener = (_channelId: string, messageObj: { content: string; export default definePlugin({ name: "FavoriteEmojiFirst", authors: [Devs.Aria, Devs.Ven, EquicordDevs.justjxke], - tags: ["Emotes", "Customisation"], + tags: ["EmojiAlias"], description: "Puts your favorite emoji first in the emoji autocomplete and also has emoji alias.", - dependencies: ["MessagePopoverAPI"], settings, contextMenus: { "expression-picker": expressionPickerPatch, diff --git a/src/plugins/favGifSearch/index.tsx b/src/plugins/favGifSearch/index.tsx index 57926ef24..8c720f1fb 100644 --- a/src/plugins/favGifSearch/index.tsx +++ b/src/plugins/favGifSearch/index.tsx @@ -84,7 +84,6 @@ export default definePlugin({ name: "FavoriteGifSearch", authors: [Devs.Aria], description: "Adds a search bar to favorite gifs.", - tags: ["Media", "Customisation"], patches: [ { diff --git a/src/plugins/fixCodeblockGap/index.ts b/src/plugins/fixCodeblockGap/index.ts index e9a7cca28..d65d83dc7 100644 --- a/src/plugins/fixCodeblockGap/index.ts +++ b/src/plugins/fixCodeblockGap/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "FixCodeblockGap", description: "Removes the gap between codeblocks and text below it", - tags: ["Appearance"], authors: [Devs.Grzesiek11], patches: [ { diff --git a/src/plugins/fixImagesQuality/index.tsx b/src/plugins/fixImagesQuality/index.tsx index 7b5bb9742..5215b68e9 100644 --- a/src/plugins/fixImagesQuality/index.tsx +++ b/src/plugins/fixImagesQuality/index.tsx @@ -24,7 +24,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "FixImagesQuality", description: "Improves quality of images by loading them at their original resolution", - tags: ["Media", "Appearance"], authors: [Devs.Nuckyz, Devs.Ven], settings, diff --git a/src/plugins/fixSpotifyEmbeds.desktop/index.tsx b/src/plugins/fixSpotifyEmbeds.desktop/index.tsx index 4ca6f5fe3..c5b42742a 100644 --- a/src/plugins/fixSpotifyEmbeds.desktop/index.tsx +++ b/src/plugins/fixSpotifyEmbeds.desktop/index.tsx @@ -23,6 +23,5 @@ export default definePlugin({ name: "FixSpotifyEmbeds", description: "Fixes spotify embeds being incredibly loud by letting you customise the volume", authors: [Devs.Ven], - tags: ["Media", "Customisation"], settings, }); diff --git a/src/plugins/fixYoutubeEmbeds.desktop/index.tsx b/src/plugins/fixYoutubeEmbeds.desktop/index.tsx index d76bd666e..6ea46fd7f 100644 --- a/src/plugins/fixYoutubeEmbeds.desktop/index.tsx +++ b/src/plugins/fixYoutubeEmbeds.desktop/index.tsx @@ -27,7 +27,6 @@ migratePluginSettings("FixYoutubeEmbeds", "YoutubeDescription"); export default definePlugin({ name: "FixYoutubeEmbeds", description: "Bypasses youtube videos being blocked from display on Discord (for example by UMG)", - tags: ["Media", "Utility"], authors: [Devs.coolelectronics, Devs.arHSM], settings, patches: [ diff --git a/src/plugins/fixYoutubeEmbeds.desktop/native.ts b/src/plugins/fixYoutubeEmbeds.desktop/native.ts index 950940b06..f865a6566 100644 --- a/src/plugins/fixYoutubeEmbeds.desktop/native.ts +++ b/src/plugins/fixYoutubeEmbeds.desktop/native.ts @@ -4,8 +4,8 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { RendererSettings } from "@main/settings"; import { app } from "electron"; +import { RendererSettings } from "main/settings"; app.on("browser-window-created", (_, win) => { win.webContents.on("frame-created", (_, { frame }) => { diff --git a/src/plugins/forceOwnerCrown/index.ts b/src/plugins/forceOwnerCrown/index.ts index 17997568a..f7e4b4701 100644 --- a/src/plugins/forceOwnerCrown/index.ts +++ b/src/plugins/forceOwnerCrown/index.ts @@ -25,7 +25,6 @@ export default definePlugin({ name: "ForceOwnerCrown", description: "Force the owner crown next to usernames even if the server is large.", authors: [Devs.D3SOX, Devs.Nickyux], - tags: ["Roles", "Appearance", "Servers"], patches: [ { find: "#{intl::GUILD_OWNER}),children:", diff --git a/src/plugins/friendInvites/index.ts b/src/plugins/friendInvites/index.ts index 7cd486a7a..0af611bc9 100644 --- a/src/plugins/friendInvites/index.ts +++ b/src/plugins/friendInvites/index.ts @@ -26,8 +26,6 @@ const FriendInvites = findByPropsLazy("createFriendInvite"); export default definePlugin({ name: "FriendInvites", description: "Create and manage friend invite links via slash commands (/create friend invite, /view friend invites, /revoke friend invites).", - dependencies: ["CommandsAPI"], - tags: ["Friends", "Commands"], authors: [Devs.afn, Devs.Dziurwa], commands: [ { diff --git a/src/plugins/friendsSince/index.tsx b/src/plugins/friendsSince/index.tsx index cc0396c4f..006ea2fce 100644 --- a/src/plugins/friendsSince/index.tsx +++ b/src/plugins/friendsSince/index.tsx @@ -23,7 +23,6 @@ const Section = findComponentByCodeLazy("headingVariant:", '"section"', "heading export default definePlugin({ name: "FriendsSince", description: "Shows when you became friends with someone in the user popout", - tags: ["Friends"], authors: [Devs.Elvyra, Devs.Antti], patches: [ // DM User Sidebar diff --git a/src/plugins/fullSearchContext/index.tsx b/src/plugins/fullSearchContext/index.tsx index 672552d9f..2f20cd53b 100644 --- a/src/plugins/fullSearchContext/index.tsx +++ b/src/plugins/fullSearchContext/index.tsx @@ -81,7 +81,6 @@ migratePluginSettings("FullSearchContext", "SearchReply"); export default definePlugin({ name: "FullSearchContext", description: "Makes the message context menu in message search results have all options you'd expect", - tags: ["Utility"], authors: [Devs.Ven, Devs.Aria], patches: [{ diff --git a/src/plugins/fullUserInChatbox/index.tsx b/src/plugins/fullUserInChatbox/index.tsx index dfed0036e..9ac4f811d 100644 --- a/src/plugins/fullUserInChatbox/index.tsx +++ b/src/plugins/fullUserInChatbox/index.tsx @@ -23,7 +23,6 @@ interface UserMentionComponentProps { export default definePlugin({ name: "FullUserInChatbox", description: "Makes the user mention in the chatbox have more functionalities, like left/right clicking", - tags: ["Shortcuts", "Utility"], authors: [Devs.sadan], patches: [ diff --git a/src/plugins/gameActivityToggle/index.tsx b/src/plugins/gameActivityToggle/index.tsx index c0ad504ae..40667fb40 100644 --- a/src/plugins/gameActivityToggle/index.tsx +++ b/src/plugins/gameActivityToggle/index.tsx @@ -98,9 +98,8 @@ function GameActivityToggleButton({ iconForeground, hideTooltips, nameplate }: U export default definePlugin({ name: "GameActivityToggle", description: "Adds a button next to the mic and deafen button to toggle game activity.", - tags: ["Activity", "Shortcuts"], authors: [Devs.Nuckyz, Devs.RuukuLada], - dependencies: ["UserSettingsAPI", "UserAreaAPI"], + dependencies: ["UserSettingsAPI"], settings, userAreaButton: { diff --git a/src/plugins/gifPaste/index.ts b/src/plugins/gifPaste/index.ts index 24804a5b8..65ea464c4 100644 --- a/src/plugins/gifPaste/index.ts +++ b/src/plugins/gifPaste/index.ts @@ -26,7 +26,6 @@ import { ExpressionPickerStore } from "@webpack/common"; export default definePlugin({ name: "GifPaste", description: "Makes picking a gif in the gif picker insert a link into the chatbox instead of instantly sending it", - tags: ["Media", "Chat"], authors: [Devs.Ven], patches: [{ diff --git a/src/plugins/greetStickerPicker/index.tsx b/src/plugins/greetStickerPicker/index.tsx index 7b61f349e..0604c54d8 100644 --- a/src/plugins/greetStickerPicker/index.tsx +++ b/src/plugins/greetStickerPicker/index.tsx @@ -152,7 +152,6 @@ function GreetMenu({ channel, message }: { message: Message, channel: Channel; } export default definePlugin({ name: "GreetStickerPicker", description: "Allows you to use any greet sticker instead of only the random one by right-clicking the 'Wave to say hi!' button", - tags: ["Emotes", "Customisation"], authors: [Devs.Ven], settings, diff --git a/src/plugins/hideAttachments/index.tsx b/src/plugins/hideAttachments/index.tsx index b47e053ac..16579d0a7 100644 --- a/src/plugins/hideAttachments/index.tsx +++ b/src/plugins/hideAttachments/index.tsx @@ -56,9 +56,8 @@ async function toggleHide(channelId: string, messageId: string) { export default definePlugin({ name: "HideMedia", description: "Hide attachments and embeds for individual messages via hover button", - tags: ["Chat", "Appearance"], authors: [Devs.Ven], - dependencies: ["MessageUpdaterAPI", "MessageAccessoriesAPI", "MessagePopoverAPI"], + dependencies: ["MessageUpdaterAPI"], patches: [{ find: "this.renderAttachments(", diff --git a/src/plugins/iLoveSpam/index.ts b/src/plugins/iLoveSpam/index.ts index b1bb5b6bc..2e574cb46 100644 --- a/src/plugins/iLoveSpam/index.ts +++ b/src/plugins/iLoveSpam/index.ts @@ -24,7 +24,6 @@ migratePluginSettings("IloveSpam", "iLoveSpam"); export default definePlugin({ name: "ILoveSpam", description: "Do not hide messages from 'likely spammers'", - tags: ["Utility", "Chat"], authors: [Devs.botato, Devs.Nyako], patches: [ { diff --git a/src/plugins/ignoreActivities/index.tsx b/src/plugins/ignoreActivities/index.tsx index dfc57bdf4..8eb334cbf 100644 --- a/src/plugins/ignoreActivities/index.tsx +++ b/src/plugins/ignoreActivities/index.tsx @@ -232,7 +232,6 @@ export default definePlugin({ name: "IgnoreActivities", authors: [Devs.Nuckyz, Devs.Kylie], description: "Ignore activities from showing up on your status ONLY. You can configure which ones are specifically ignored from the Registered Games and Activities tabs, or use the general settings below", - tags: ["Activity", "Privacy", "Customisation"], dependencies: ["UserSettingsAPI"], settings, diff --git a/src/plugins/imageFilename/index.ts b/src/plugins/imageFilename/index.ts index d421fb43a..77717e5b5 100644 --- a/src/plugins/imageFilename/index.ts +++ b/src/plugins/imageFilename/index.ts @@ -23,7 +23,6 @@ export default definePlugin({ name: "ImageFilename", authors: [Devs.Ven], description: "Display the file name of images & GIFs as a tooltip when hovering over them", - tags: ["Media", "Utility"], settings, patches: [ diff --git a/src/plugins/imageLink/index.ts b/src/plugins/imageLink/index.ts index 0d01cb1d3..08d3a0247 100644 --- a/src/plugins/imageLink/index.ts +++ b/src/plugins/imageLink/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "ImageLink", description: "Never hide image links in messages, even if it's the only content", - tags: ["Media", "Appearance"], authors: [Devs.Kyuuhachi, Devs.Sqaaakoi], patches: [ diff --git a/src/plugins/imageZoom/index.tsx b/src/plugins/imageZoom/index.tsx index 38ed37ff2..bbd9b82a6 100644 --- a/src/plugins/imageZoom/index.tsx +++ b/src/plugins/imageZoom/index.tsx @@ -155,9 +155,8 @@ const imageContextMenuPatch: NavContextMenuPatchCallback = (children, props) => export default definePlugin({ name: "ImageZoom", description: "Lets you zoom in to images and gifs. Use scroll wheel to zoom in and shift + scroll wheel to increase lens radius / size", - tags: ["Media", "Utility"], authors: [Devs.Aria], - searchTerms: ["ImageUtilities"], + tags: ["ImageUtilities"], managedStyle, diff --git a/src/plugins/implicitRelationships/index.ts b/src/plugins/implicitRelationships/index.ts index 8600894f2..e5a547dbc 100644 --- a/src/plugins/implicitRelationships/index.ts +++ b/src/plugins/implicitRelationships/index.ts @@ -21,25 +21,12 @@ import { Devs } from "@utils/constants"; import { Logger } from "@utils/Logger"; import definePlugin, { OptionType } from "@utils/types"; import { Constants, FluxDispatcher, GuildStore, RelationshipStore, SnowflakeUtils, UserAffinitiesStore, UserStore } from "@webpack/common"; - -const settings = definePluginSettings( - { - sortByAffinity: { - type: OptionType.BOOLEAN, - default: true, - description: "Whether to sort implicit relationships by their affinity to you.", - restartNeeded: true - }, - } -); +import { Settings } from "Vencord"; export default definePlugin({ name: "ImplicitRelationships", description: "Shows your implicit relationships in the Friends tab.", - tags: ["Friends", "Servers"], authors: [Devs.Dolfies], - settings, - patches: [ // Counts header { @@ -86,7 +73,7 @@ export default definePlugin({ { find: "getRelationshipCounts(){", replacement: { - predicate: () => settings.store.sortByAffinity, + predicate: () => Settings.plugins.ImplicitRelationships.sortByAffinity, match: /\}\)\.sortBy\((.+?)\)\.value\(\)/, replace: "}).sortBy(row => $self.wrapSort(($1), row)).value()" } @@ -115,6 +102,16 @@ export default definePlugin({ }, } ], + settings: definePluginSettings( + { + sortByAffinity: { + type: OptionType.BOOLEAN, + default: true, + description: "Whether to sort implicit relationships by their affinity to you.", + restartNeeded: true + }, + } + ), wrapSort(comparator: Function, row: any) { return row.type === 5 diff --git a/src/plugins/ircColors/index.ts b/src/plugins/ircColors/index.ts index cd405ecfd..c1d41fbfe 100644 --- a/src/plugins/ircColors/index.ts +++ b/src/plugins/ircColors/index.ts @@ -60,7 +60,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "IrcColors", description: "Makes username colors in chat unique, like in IRC clients", - tags: ["Appearance", "Customisation"], authors: [Devs.Grzesiek11, Devs.jamesbt365], settings, diff --git a/src/plugins/keepCurrentChannel/index.ts b/src/plugins/keepCurrentChannel/index.ts index 61c585aaa..92a389eb4 100644 --- a/src/plugins/keepCurrentChannel/index.ts +++ b/src/plugins/keepCurrentChannel/index.ts @@ -43,7 +43,6 @@ let previousCache: PreviousChannel | undefined; export default definePlugin({ name: "KeepCurrentChannel", description: "Attempt to navigate to the channel you were in before switching accounts or loading Discord.", - tags: ["Utility", "Organisation"], authors: [Devs.Nuckyz], patches: [ diff --git a/src/plugins/lastfmRichPresence/index.tsx b/src/plugins/lastfmRichPresence/index.tsx index fdb7b8528..98acdc2e3 100644 --- a/src/plugins/lastfmRichPresence/index.tsx +++ b/src/plugins/lastfmRichPresence/index.tsx @@ -186,7 +186,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "LastFMRichPresence", description: "Little plugin for Last.fm rich presence", - tags: ["Activity", "Media"], authors: [Devs.dzshn, Devs.RuiNtD, Devs.blahajZip, Devs.archeruwu], settings, diff --git a/src/plugins/loadingQuotes/index.ts b/src/plugins/loadingQuotes/index.ts index fa0dd55fd..8c63fe5a2 100644 --- a/src/plugins/loadingQuotes/index.ts +++ b/src/plugins/loadingQuotes/index.ts @@ -57,7 +57,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "LoadingQuotes", description: "Replace Discords loading quotes", - tags: ["Appearance", "Fun", "Customisation"], authors: [Devs.Ven, Devs.KraXen72, Devs.UlyssesZhan], settings, diff --git a/src/plugins/memberCount/index.tsx b/src/plugins/memberCount/index.tsx index 7f94cece4..83c4f85ef 100644 --- a/src/plugins/memberCount/index.tsx +++ b/src/plugins/memberCount/index.tsx @@ -62,7 +62,6 @@ export const cl = classNameFactory("vc-membercount-"); export default definePlugin({ name: "MemberCount", description: "Shows the number of online members, total members, and users in voice channels on the server — in the member list and tooltip.", - tags: ["Servers", "Utility"], authors: [Devs.Ven, Devs.Commandtechno, Devs.Apexo], settings, diff --git a/src/plugins/mentionAvatars/index.tsx b/src/plugins/mentionAvatars/index.tsx index 44b4ec12d..b87995c8b 100644 --- a/src/plugins/mentionAvatars/index.tsx +++ b/src/plugins/mentionAvatars/index.tsx @@ -48,7 +48,6 @@ function DefaultRoleIcon() { export default definePlugin({ name: "MentionAvatars", description: "Shows user avatars and role icons inside mentions", - tags: ["Appearance", "Customisation"], authors: [Devs.Ven, Devs.SerStars], patches: [{ // HEY THOR UPDATE SHOW ME YOUR NAME IF THIS SHIT CHANGES TY :) diff --git a/src/plugins/messageClickActions/index.ts b/src/plugins/messageClickActions/index.ts index b070db16e..42fd83fef 100644 --- a/src/plugins/messageClickActions/index.ts +++ b/src/plugins/messageClickActions/index.ts @@ -577,7 +577,6 @@ async function executeAction( export default definePlugin({ name: "MessageClickActions", description: "Customize click actions on messages.", - tags: ["Chat", "Shortcuts"], authors: [Devs.Ven, EquicordDevs.keircn, EquicordDevs.ZcraftElite, EquicordDevs.omaw], isModified: true, diff --git a/src/plugins/messageLatency/index.tsx b/src/plugins/messageLatency/index.tsx index 0aac594de..6f66fb036 100644 --- a/src/plugins/messageLatency/index.tsx +++ b/src/plugins/messageLatency/index.tsx @@ -29,7 +29,6 @@ const DISCORD_KT_DELAY = 1471228928; export default definePlugin({ name: "MessageLatency", description: "Displays an indicator for messages that took ≥n seconds to send", - tags: ["Chat", "Utility"], authors: [Devs.arHSM], settings: definePluginSettings({ diff --git a/src/plugins/messageLinkEmbeds/index.tsx b/src/plugins/messageLinkEmbeds/index.tsx index 723e18d79..08d02cb82 100644 --- a/src/plugins/messageLinkEmbeds/index.tsx +++ b/src/plugins/messageLinkEmbeds/index.tsx @@ -364,7 +364,6 @@ function AutomodEmbedAccessory(props: MessageEmbedProps): JSX.Element | null { export default definePlugin({ name: "MessageLinkEmbeds", description: "Adds a preview to messages that link another message", - tags: ["Chat", "Appearance"], authors: [Devs.TheSun, Devs.Ven, Devs.RyanCaoDev], dependencies: ["MessageAccessoriesAPI", "MessageUpdaterAPI", "UserSettingsAPI"], diff --git a/src/plugins/messageLogger/index.tsx b/src/plugins/messageLogger/index.tsx index b54e70226..534f988bc 100644 --- a/src/plugins/messageLogger/index.tsx +++ b/src/plugins/messageLogger/index.tsx @@ -417,7 +417,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "MessageLogger", description: "Temporarily logs deleted and edited messages.", - tags: ["Chat", "Utility"], authors: [Devs.rushii, Devs.Ven, Devs.AutumnVN, Devs.Nickyux, Devs.Kyuuhachi, EquicordDevs.justjxke], dependencies: ["MessageUpdaterAPI"], isModified: true, diff --git a/src/plugins/moreQuickReactions/index.ts b/src/plugins/moreQuickReactions/index.ts index 811b15c1b..25e7ff4f7 100644 --- a/src/plugins/moreQuickReactions/index.ts +++ b/src/plugins/moreQuickReactions/index.ts @@ -52,7 +52,6 @@ migratePluginSettings("MoreQuickReactions", "BetterQuickReact"); export default definePlugin({ name: "MoreQuickReactions", description: "Improves the quick react buttons in the message context menu.", - tags: ["Emotes", "Reactions", "Customisation", "Shortcuts"], authors: [Devs.Ven, Devs.Sqaaakoi, Devs.iamme], isModified: true, settings, diff --git a/src/plugins/mutualGroupDMs/index.tsx b/src/plugins/mutualGroupDMs/index.tsx index 2d0a52ce0..08cb1bf41 100644 --- a/src/plugins/mutualGroupDMs/index.tsx +++ b/src/plugins/mutualGroupDMs/index.tsx @@ -35,7 +35,7 @@ const UserUtils = findByPropsLazy("getGlobalName"); const ProfileListClasses = findCssClassesLazy("empty", "textContainer", "connectionIcon"); const TabBarClasses = findCssClassesLazy("tabPanelScroller", "tabBarPanel"); const MutualsListClasses = findCssClassesLazy("row", "icon", "name", "details"); -const ExpandableList = findComponentByCodeLazy('action:"PRESS_SECTION"', '"section"'); +const ExpandableList = findComponentByCodeLazy('action:"PRESS_SECTION"', "section"); function getGroupDMName(channel: Channel) { return channel.name || @@ -86,7 +86,6 @@ const IS_PATCHED = Symbol("MutualGroupDMs.Patched"); export default definePlugin({ name: "MutualGroupDMs", description: "Shows mutual group dms in profiles", - tags: ["Friends", "Appearance"], authors: [Devs.amia], patches: [ diff --git a/src/plugins/newGuildSettings/index.tsx b/src/plugins/newGuildSettings/index.tsx index cbbba3d18..dd7f05a91 100644 --- a/src/plugins/newGuildSettings/index.tsx +++ b/src/plugins/newGuildSettings/index.tsx @@ -151,8 +151,7 @@ function applyDefaultSettings(guildId: string | null) { export default definePlugin({ name: "NewGuildSettings", description: "Automatically mute new servers and change various other settings upon joining", - tags: ["Servers", "Customisation"], - searchTerms: ["MuteNewGuild", "mute", "server"], + tags: ["MuteNewGuild", "mute", "server"], authors: [Devs.Glitch, Devs.Nuckyz, Devs.carince, Devs.Mopi, Devs.GabiRP], isModified: true, contextMenus: { diff --git a/src/plugins/noBlockedMessages/index.ts b/src/plugins/noBlockedMessages/index.ts index 4b6b312e4..3c50240fa 100644 --- a/src/plugins/noBlockedMessages/index.ts +++ b/src/plugins/noBlockedMessages/index.ts @@ -90,7 +90,6 @@ export default definePlugin({ name: "NoBlockedMessages", description: "Hide all blocked/ignored messages from chat completely.", authors: [Devs.rushii, Devs.Samu, Devs.jamesbt365, Devs.Elvyra, EquicordDevs.Etorix], - tags: ["Accessibility", "Chat"], isModified: true, settings, patches: [ diff --git a/src/plugins/noDeepLinks.web/index.ts b/src/plugins/noDeepLinks.web/index.ts index b1770a3a0..019df659a 100644 --- a/src/plugins/noDeepLinks.web/index.ts +++ b/src/plugins/noDeepLinks.web/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "DisableDeepLinks", description: "Disables Discord's stupid deep linking feature which tries to force you to use their Desktop App", - tags: ["Utility"], authors: [Devs.Ven], required: true, diff --git a/src/plugins/noDevtoolsWarning/index.ts b/src/plugins/noDevtoolsWarning/index.ts index d5dcad53c..5c35fa67b 100644 --- a/src/plugins/noDevtoolsWarning/index.ts +++ b/src/plugins/noDevtoolsWarning/index.ts @@ -23,7 +23,6 @@ export default definePlugin({ name: "NoDevtoolsWarning", description: "Disables the 'HOLD UP' banner in the console. As a side effect, also prevents Discord from hiding your token, which prevents random logouts.", authors: [Devs.Ven], - tags: ["Developers", "Console"], patches: [{ find: "setDevtoolsCallbacks", replacement: { diff --git a/src/plugins/noF1/index.ts b/src/plugins/noF1/index.ts index 36e088e46..a40be5acc 100644 --- a/src/plugins/noF1/index.ts +++ b/src/plugins/noF1/index.ts @@ -22,7 +22,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoF1", description: "Disables F1 help bind.", - tags: ["Utility"], authors: [Devs.Cyn], patches: [ { diff --git a/src/plugins/noMaskedUrlPaste/index.ts b/src/plugins/noMaskedUrlPaste/index.ts index fc10f8970..64f522cae 100644 --- a/src/plugins/noMaskedUrlPaste/index.ts +++ b/src/plugins/noMaskedUrlPaste/index.ts @@ -11,7 +11,6 @@ export default definePlugin({ name: "NoMaskedUrlPaste", authors: [Devs.CatNoir], description: "Pasting a link while having text selected will not paste as masked URL", - tags: ["Chat", "Utility"], patches: [ { find: ".selection,preventEmojiSurrogates:", diff --git a/src/plugins/noMosaic/index.ts b/src/plugins/noMosaic/index.ts index b360e1ea1..c52e19a6b 100644 --- a/src/plugins/noMosaic/index.ts +++ b/src/plugins/noMosaic/index.ts @@ -21,8 +21,7 @@ export default definePlugin({ name: "NoMosaic", authors: [Devs.AutumnVN], description: "Removes Discord image mosaic", - tags: ["Media", "Appearance", "Chat"], - searchTerms: ["image", "mosaic", "media"], + tags: ["image", "mosaic", "media"], settings, diff --git a/src/plugins/noOnboardingDelay/index.ts b/src/plugins/noOnboardingDelay/index.ts index b5f963463..285109761 100644 --- a/src/plugins/noOnboardingDelay/index.ts +++ b/src/plugins/noOnboardingDelay/index.ts @@ -22,7 +22,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoOnboardingDelay", description: "Skips the slow and annoying onboarding delay", - tags: ["Utility", "Servers"], authors: [Devs.nekohaxx], patches: [ { diff --git a/src/plugins/noPendingCount/index.ts b/src/plugins/noPendingCount/index.ts index 5bede8b49..b1a7ffad8 100644 --- a/src/plugins/noPendingCount/index.ts +++ b/src/plugins/noPendingCount/index.ts @@ -47,7 +47,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "NoPendingCount", description: "Removes the ping count of incoming friend requests, message requests, and nitro offers.", - tags: ["Notifications", "Appearance"], authors: [Devs.amia], settings: settings, diff --git a/src/plugins/noProfileThemes/index.ts b/src/plugins/noProfileThemes/index.ts index a4fe648d0..7c440df80 100644 --- a/src/plugins/noProfileThemes/index.ts +++ b/src/plugins/noProfileThemes/index.ts @@ -23,7 +23,6 @@ import { UserStore } from "@webpack/common"; export default definePlugin({ name: "NoProfileThemes", description: "Completely removes Nitro profile themes from everyone but yourself", - tags: ["Appearance"], authors: [Devs.TheKodeToad], patches: [ { diff --git a/src/plugins/noReplyMention/index.tsx b/src/plugins/noReplyMention/index.tsx index 2e2bb9c6b..a08a04b8b 100644 --- a/src/plugins/noReplyMention/index.tsx +++ b/src/plugins/noReplyMention/index.tsx @@ -62,7 +62,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "NoReplyMention", description: "Disables reply pings by default", - tags: ["Chat", "Notifications"], authors: [Devs.DustyAngel47, Devs.rae, Devs.pylix, Devs.outfoxxed], settings, diff --git a/src/plugins/noServerEmojis/index.ts b/src/plugins/noServerEmojis/index.ts index fd764dbf3..6550dabb8 100644 --- a/src/plugins/noServerEmojis/index.ts +++ b/src/plugins/noServerEmojis/index.ts @@ -26,7 +26,6 @@ export default definePlugin({ name: "NoServerEmojis", authors: [Devs.UlyssesZhan], description: "Do not show server emojis in the autocomplete menu.", - tags: ["Emotes", "Servers"], settings, patches: [ diff --git a/src/plugins/noSystemBadge.discordDesktop/index.ts b/src/plugins/noSystemBadge.discordDesktop/index.ts index c01c0b87a..0fbb5332a 100644 --- a/src/plugins/noSystemBadge.discordDesktop/index.ts +++ b/src/plugins/noSystemBadge.discordDesktop/index.ts @@ -22,7 +22,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoSystemBadge", description: "Disables the taskbar and system tray unread count badge.", - tags: ["Notifications", "Appearance"], authors: [Devs.rushii], patches: [ { diff --git a/src/plugins/noTypingAnimation/index.ts b/src/plugins/noTypingAnimation/index.ts index 6eca410fa..74bcdd50e 100644 --- a/src/plugins/noTypingAnimation/index.ts +++ b/src/plugins/noTypingAnimation/index.ts @@ -11,7 +11,6 @@ export default definePlugin({ name: "NoTypingAnimation", authors: [Devs.AutumnVN], description: "Disables the CPU-intensive typing dots animation", - tags: ["Appearance"], patches: [ { find: "dotCycle", diff --git a/src/plugins/noUnblockToJump/index.ts b/src/plugins/noUnblockToJump/index.ts index 6c1f504b6..5d876fc7b 100644 --- a/src/plugins/noUnblockToJump/index.ts +++ b/src/plugins/noUnblockToJump/index.ts @@ -22,7 +22,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "NoUnblockToJump", description: "Allows you to jump to messages of blocked or ignored users and likely spammers without unblocking them", - tags: ["Utility"], authors: [Devs.dzshn], patches: [ { diff --git a/src/plugins/notificationVolume/index.ts b/src/plugins/notificationVolume/index.ts index 5959c0dd1..d320d76f1 100644 --- a/src/plugins/notificationVolume/index.ts +++ b/src/plugins/notificationVolume/index.ts @@ -21,7 +21,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "NotificationVolume", description: "Save your ears and set a separate volume for notifications and in-app sounds", - tags: ["Notifications", "Voice"], authors: [Devs.philipbry], settings, patches: [ diff --git a/src/plugins/onePingPerDM/index.ts b/src/plugins/onePingPerDM/index.ts index 87727fa32..05dba7e80 100644 --- a/src/plugins/onePingPerDM/index.ts +++ b/src/plugins/onePingPerDM/index.ts @@ -47,8 +47,7 @@ const settings = definePluginSettings({ export default definePlugin({ name: "OnePingPerDM", - description: "If unread messages are sent by a user in DMs multiple times, you'll only receive one audio ping. Read the messages to reset the limit", - tags: ["Notifications", "Customisation"], + description: "If unread messages are sent by a user in DMs multiple times, you'll only receive one audio ping.", authors: [Devs.ProffDea], isModified: true, settings, diff --git a/src/plugins/openInApp/index.ts b/src/plugins/openInApp/index.ts index 60012f735..05e5b1c29 100644 --- a/src/plugins/openInApp/index.ts +++ b/src/plugins/openInApp/index.ts @@ -84,7 +84,6 @@ const Native = VencordNative.pluginHelpers.OpenInApp as PluginNative | undefined; export default definePlugin({ name: "ReactErrorDecoder", - description: 'Replaces "Minified React Error" with the actual error.', - tags: ["Developers"], + description: 'Replaces "Minifed React Error" with the actual error.', authors: [Devs.Cyn, Devs.maisymoe], patches: [ { diff --git a/src/plugins/readAllNotificationsButton/index.tsx b/src/plugins/readAllNotificationsButton/index.tsx index 65c113a21..3a06c385b 100644 --- a/src/plugins/readAllNotificationsButton/index.tsx +++ b/src/plugins/readAllNotificationsButton/index.tsx @@ -66,7 +66,6 @@ const ReadAllButton = () => ( export default definePlugin({ name: "ReadAllNotificationsButton", description: "Read all server notifications with a single button click!", - tags: ["Notifications", "Shortcuts"], authors: [Devs.kemo, EquicordDevs.KrystalSkull], dependencies: ["ServerListAPI"], diff --git a/src/plugins/relationshipNotifier/index.ts b/src/plugins/relationshipNotifier/index.ts index ddb432e43..d913dde48 100644 --- a/src/plugins/relationshipNotifier/index.ts +++ b/src/plugins/relationshipNotifier/index.ts @@ -26,7 +26,6 @@ import { syncAndRunChecks, syncFriends, syncGroups, syncGuilds } from "./utils"; export default definePlugin({ name: "RelationshipNotifier", description: "Notifies you when a friend, group chat, or server removes you.", - tags: ["Friends", "Notifications"], authors: [Devs.nick], settings, diff --git a/src/plugins/replaceGoogleSearch/index.tsx b/src/plugins/replaceGoogleSearch/index.tsx index 434923251..e12048b18 100644 --- a/src/plugins/replaceGoogleSearch/index.tsx +++ b/src/plugins/replaceGoogleSearch/index.tsx @@ -131,7 +131,6 @@ migratePluginSettings("ReplaceGoogleSearch", "Search"); export default definePlugin({ name: "ReplaceGoogleSearch", description: "Replaces the Google search with different Engine(s)", - tags: ["Utility", "Customisation"], authors: [Devs.Moxxie, Devs.Ethan], settings, diff --git a/src/plugins/replyTimestamp/index.tsx b/src/plugins/replyTimestamp/index.tsx index 021caea59..65e969241 100644 --- a/src/plugins/replyTimestamp/index.tsx +++ b/src/plugins/replyTimestamp/index.tsx @@ -58,7 +58,6 @@ function ReplyTimestamp({ export default definePlugin({ name: "ReplyTimestamp", description: "Shows a timestamp on replied-message previews", - tags: ["Chat", "Appearance"], authors: [Devs.Kyuuhachi], patches: [ diff --git a/src/plugins/revealAllSpoilers/index.ts b/src/plugins/revealAllSpoilers/index.ts index a1176d7b5..173632d7a 100644 --- a/src/plugins/revealAllSpoilers/index.ts +++ b/src/plugins/revealAllSpoilers/index.ts @@ -27,7 +27,7 @@ export default definePlugin({ name: "RevealAllSpoilers", description: "Reveal all spoilers in a message by Ctrl-clicking a spoiler, or in the chat with Ctrl+Shift-click", authors: [Devs.whqwert], - tags: ["Accessibility", "Chat", "Shortcuts", "Utility"], + patches: [ { find: ".removeObscurity,", diff --git a/src/plugins/reverseImageSearch/index.tsx b/src/plugins/reverseImageSearch/index.tsx index 68845c0a1..10d3fad19 100644 --- a/src/plugins/reverseImageSearch/index.tsx +++ b/src/plugins/reverseImageSearch/index.tsx @@ -102,9 +102,8 @@ const imageContextMenuPatch: NavContextMenuPatchCallback = (children, props) => export default definePlugin({ name: "ReverseImageSearch", description: "Adds ImageSearch to image context menus", - tags: ["Media", "Utility"], authors: [Devs.Ven, Devs.Nuckyz], - searchTerms: ["ImageUtilities"], + tags: ["ImageUtilities"], patches: [ { diff --git a/src/plugins/reviewDB/index.tsx b/src/plugins/reviewDB/index.tsx index dca4e7217..393237e0e 100644 --- a/src/plugins/reviewDB/index.tsx +++ b/src/plugins/reviewDB/index.tsx @@ -69,8 +69,6 @@ const userContextPatch: NavContextMenuPatchCallback = (children, { user }: { use export default definePlugin({ name: "ReviewDB", description: "Review other users (Adds a new settings to profiles)", - dependencies: ["ProfileCollectionsAPI"], - tags: ["Friends", "Servers"], authors: [Devs.mantikafasi, Devs.Ven], isModified: true, diff --git a/src/plugins/roleColorEverywhere/index.tsx b/src/plugins/roleColorEverywhere/index.tsx index 6ebbdf1c2..5972bb240 100644 --- a/src/plugins/roleColorEverywhere/index.tsx +++ b/src/plugins/roleColorEverywhere/index.tsx @@ -76,7 +76,6 @@ export default definePlugin({ name: "RoleColorEverywhere", authors: [Devs.KingFish, Devs.lewisakura, Devs.AutumnVN, Devs.Kyuuhachi, Devs.jamesbt365], description: "Adds the top role color anywhere possible", - tags: ["Roles", "Appearance"], settings, patches: [ diff --git a/src/plugins/secretRingTone/index.ts b/src/plugins/secretRingTone/index.ts index 4ebbe3b84..f2913afd1 100644 --- a/src/plugins/secretRingTone/index.ts +++ b/src/plugins/secretRingTone/index.ts @@ -20,7 +20,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "SecretRingToneEnabler", description: "Always play the secret version of the discord ringtone (except during special ringtone events)", - tags: ["Notifications", "Fun"], authors: [Devs.AndrewDLO, Devs.FieryFlames, Devs.RamziAH], settings, patches: [ diff --git a/src/plugins/seeSummaries/index.tsx b/src/plugins/seeSummaries/index.tsx index 29dd7d383..faa642fc7 100644 --- a/src/plugins/seeSummaries/index.tsx +++ b/src/plugins/seeSummaries/index.tsx @@ -52,7 +52,6 @@ interface ChannelSummaries { export default definePlugin({ name: "Summaries", description: "Enables Discord's experimental Summaries feature on every server, displaying AI generated summaries of conversations", - tags: ["Chat", "Fun"], authors: [Devs.mantikafasi], settings, patches: [ diff --git a/src/plugins/sendTimestamps/index.tsx b/src/plugins/sendTimestamps/index.tsx index 930bf498e..65c1f11d7 100644 --- a/src/plugins/sendTimestamps/index.tsx +++ b/src/plugins/sendTimestamps/index.tsx @@ -170,8 +170,6 @@ const SendTimestampButton: ChatBarButtonFactory = ({ isAnyChat }) => { export default definePlugin({ name: "SendTimestamps", description: "Send timestamps easily via chat box button & text shortcuts. Read the extended description!", - dependencies: ["ChatInputButtonAPI", "MessagePopoverAPI"], - tags: ["Chat", "Commands"], authors: [Devs.Ven, Devs.Tyler, Devs.Grzesiek11], settings, diff --git a/src/plugins/serverInfo/index.tsx b/src/plugins/serverInfo/index.tsx index e68342efa..22a58ed4d 100644 --- a/src/plugins/serverInfo/index.tsx +++ b/src/plugins/serverInfo/index.tsx @@ -50,10 +50,9 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "ServerInfo", description: "Allows you to view info about a server", - tags: ["Servers", "Utility"], authors: [Devs.Ven, Devs.Nuckyz, EquicordDevs.Z1xus], dependencies: ["DynamicImageModalAPI"], - searchTerms: ["guild", "info", "ServerProfile"], + tags: ["guild", "info", "ServerProfile"], isModified: true, contextMenus: { "guild-context": Patch, diff --git a/src/plugins/serverListIndicators/index.tsx b/src/plugins/serverListIndicators/index.tsx index 0d31102c9..ed71c1f0a 100644 --- a/src/plugins/serverListIndicators/index.tsx +++ b/src/plugins/serverListIndicators/index.tsx @@ -141,7 +141,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "ServerListIndicators", description: "Add online friend count or server count in the server list", - tags: ["Servers", "Appearance"], authors: [Devs.dzshn, EquicordDevs.Panniku], dependencies: ["ServerListAPI"], settings, diff --git a/src/plugins/shikiCodeblocks.desktop/index.ts b/src/plugins/shikiCodeblocks.desktop/index.ts index d42065c0e..ea333f655 100644 --- a/src/plugins/shikiCodeblocks.desktop/index.ts +++ b/src/plugins/shikiCodeblocks.desktop/index.ts @@ -33,7 +33,6 @@ import { clearStyles } from "./utils/createStyle"; export default definePlugin({ name: "ShikiCodeblocks", description: "Brings vscode-style codeblocks into Discord, powered by Shiki", - tags: ["Appearance", "Chat", "Customisation"], authors: [Devs.Vap], reporterTestable: ReporterTestable.Patches, settings, diff --git a/src/plugins/showAllMessageButtons/index.ts b/src/plugins/showAllMessageButtons/index.ts index bbec944d1..2d1f4bcb1 100644 --- a/src/plugins/showAllMessageButtons/index.ts +++ b/src/plugins/showAllMessageButtons/index.ts @@ -5,7 +5,7 @@ */ import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import { MessageActions, PinActions } from "@webpack/common"; @@ -25,8 +25,8 @@ const settings = definePluginSettings({ export default definePlugin({ name: "ShowAllMessageButtons", description: "Always show all message buttons no matter if you are holding the shift key or not.", - tags: ["Chat", "Utility"], - authors: [Devs.Nuckyz], + authors: [Devs.Nuckyz, EquicordDevs.mochienya], + settings, patches: [ { diff --git a/src/plugins/showConnections/index.tsx b/src/plugins/showConnections/index.tsx index 4bbd62e08..1c5d3ec5d 100644 --- a/src/plugins/showConnections/index.tsx +++ b/src/plugins/showConnections/index.tsx @@ -161,7 +161,6 @@ function CompactConnectionComponent({ connection, theme }: { connection: Connect export default definePlugin({ name: "ShowConnections", description: "Show connected accounts in user popouts", - tags: ["Friends", "Appearance"], authors: [Devs.TheKodeToad], settings, diff --git a/src/plugins/showHiddenChannels/index.tsx b/src/plugins/showHiddenChannels/index.tsx index cad544520..85b9b3ddf 100644 --- a/src/plugins/showHiddenChannels/index.tsx +++ b/src/plugins/showHiddenChannels/index.tsx @@ -82,7 +82,6 @@ function isUncategorized(objChannel: { channel: Channel; comparator: number; }) export default definePlugin({ name: "ShowHiddenChannels", description: "Show channels that you do not have access to view.", - tags: ["Servers", "Utility"], authors: [Devs.BigDuck, Devs.AverageReactEnjoyer, Devs.D3SOX, Devs.Ven, Devs.Nuckyz, Devs.Nickyux, Devs.dzshn, EquicordDevs.Oggetto], isModified: true, settings, diff --git a/src/plugins/showHiddenThings/index.ts b/src/plugins/showHiddenThings/index.ts index 5ef238327..9a329474d 100644 --- a/src/plugins/showHiddenThings/index.ts +++ b/src/plugins/showHiddenThings/index.ts @@ -37,9 +37,8 @@ const settings = definePluginSettings({ export default definePlugin({ name: "ShowHiddenThings", - searchTerms: ["ShowTimeouts", "ShowInvitesPaused", "ShowModView", "DisableDiscoveryFilters"], + tags: ["ShowTimeouts", "ShowInvitesPaused", "ShowModView", "DisableDiscoveryFilters"], description: "Displays various hidden & moderator-only things regardless of permissions.", - tags: ["Servers", "Utility"], authors: [Devs.Dolfies], settings, diff --git a/src/plugins/showMeYourName/index.tsx b/src/plugins/showMeYourName/index.tsx index bda540684..7c8e24582 100644 --- a/src/plugins/showMeYourName/index.tsx +++ b/src/plugins/showMeYourName/index.tsx @@ -1069,8 +1069,7 @@ export default definePlugin({ name: "ShowMeYourName", description: "Display any permutation of custom nicknames, friend nicknames, server nicknames, display names, and usernames in chat.", authors: [EquicordDevs.Etorix, Devs.Rini, Devs.TheKodeToad, Devs.sadan, Devs.prism], - tags: ["Appearance", "Customisation"], - searchTerms: ["SMYN", "Nicknames", "Custom Nicknames"], + tags: ["SMYN", "Nicknames", "Custom Nicknames",], isModified: true, settings, @@ -1139,7 +1138,7 @@ export default definePlugin({ // Attach the group ID to their messages to allow animating gradients within a group. find: "CUSTOM_GIFT?\"\":", replacement: { - match: /(isHovered:(\i).{0,1300})(let \i=\i.id===\i,\i=)/, + match: /(isHovered:(\i).{0,1300}?\(\i,\i,\i\);)(let \i=\i.id===\i)/, replace: "$1arguments[0].message.showMeYourNameGroupId=!!arguments[0].groupId?`g-${arguments[0].groupId}`:null;$self.handleHoveringMessage(arguments[0].message,$2);$3" }, }, diff --git a/src/plugins/showTimeoutDuration/index.tsx b/src/plugins/showTimeoutDuration/index.tsx index 9960b4769..bcc5cd760 100644 --- a/src/plugins/showTimeoutDuration/index.tsx +++ b/src/plugins/showTimeoutDuration/index.tsx @@ -69,7 +69,6 @@ function renderTimeout(message: Message, inline: boolean) { export default definePlugin({ name: "ShowTimeoutDuration", description: "Shows how much longer a user's timeout will last, either in the timeout icon tooltip or next to it", - tags: ["Servers", "Utility"], authors: [Devs.Ven, Devs.Sqaaakoi], settings, diff --git a/src/plugins/silentMessageToggle/index.tsx b/src/plugins/silentMessageToggle/index.tsx index 9e6eb724c..61f543217 100644 --- a/src/plugins/silentMessageToggle/index.tsx +++ b/src/plugins/silentMessageToggle/index.tsx @@ -110,8 +110,6 @@ export default definePlugin({ name: "SilentMessageToggle", authors: [Devs.Nuckyz, Devs.CatNoir, EquicordDevs.Z1xus], description: "Adds a button to the chat bar to toggle sending a silent message.", - dependencies: ["ChatInputButtonAPI"], - tags: ["Chat", "Utility"], settings, chatBarButton: { diff --git a/src/plugins/silentTyping/index.tsx b/src/plugins/silentTyping/index.tsx index 31cbd60ec..e84edcb85 100644 --- a/src/plugins/silentTyping/index.tsx +++ b/src/plugins/silentTyping/index.tsx @@ -296,9 +296,7 @@ function shouldHideMembersListTypingIndicators(): boolean { export default definePlugin({ name: "SilentTyping", authors: [Devs.Ven, Devs.Rini, Devs.ImBanana, EquicordDevs.Etorix], - description: "Hide that you are typing", - dependencies: ["CommandsAPI", "ChatInputButtonAPI"], - tags: ["Chat", "Privacy"], + description: "Hide your typing indicator from chat.", isModified: true, settings, diff --git a/src/plugins/sortFriendRequests/index.tsx b/src/plugins/sortFriendRequests/index.tsx index b10e0817e..27efd88c6 100644 --- a/src/plugins/sortFriendRequests/index.tsx +++ b/src/plugins/sortFriendRequests/index.tsx @@ -56,7 +56,6 @@ export default definePlugin({ name: "SortFriends", authors: [Devs.Megu, EquicordDevs.CallMeGii], description: "Sorts friend requests by date of receipt", - tags: ["Friends", "Organisation"], isModified: true, settings, diff --git a/src/plugins/spotifyCrack/index.ts b/src/plugins/spotifyCrack/index.ts index d15d1fd86..505e53a12 100644 --- a/src/plugins/spotifyCrack/index.ts +++ b/src/plugins/spotifyCrack/index.ts @@ -38,7 +38,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "SpotifyCrack", description: "Free listen along, no auto-pausing in voice chat, and allows activity to continue playing when idling", - tags: ["Media", "Utility"], authors: [Devs.Cyn, Devs.Nuckyz], settings, diff --git a/src/plugins/spotifyShareCommands/index.ts b/src/plugins/spotifyShareCommands/index.ts index b0d5e0fd2..b4a85eb16 100644 --- a/src/plugins/spotifyShareCommands/index.ts +++ b/src/plugins/spotifyShareCommands/index.ts @@ -98,8 +98,6 @@ function makeCommand(name: string, formatUrl: (track: Track) => string): Command export default definePlugin({ name: "SpotifyShareCommands", description: "Share your current Spotify track, album or artist via slash command (/track, /album, /artist)", - dependencies: ["CommandsAPI"], - tags: ["Media", "Commands"], authors: [Devs.katlyn], commands: [ makeCommand("track", track => `https://open.spotify.com/track/${track.id}`), diff --git a/src/plugins/startupTimings/index.tsx b/src/plugins/startupTimings/index.tsx index d61d004eb..4a8c06807 100644 --- a/src/plugins/startupTimings/index.tsx +++ b/src/plugins/startupTimings/index.tsx @@ -27,7 +27,6 @@ import StartupTimingPage from "./StartupTimingPage"; export default definePlugin({ name: "StartupTimings", description: "Adds Startup Timings to the Settings menu", - tags: ["Developers"], authors: [Devs.Megu], start() { SettingsPlugin.customEntries.push({ diff --git a/src/plugins/stickerPaste/index.ts b/src/plugins/stickerPaste/index.ts index 0dd0bd2b3..8a0082073 100644 --- a/src/plugins/stickerPaste/index.ts +++ b/src/plugins/stickerPaste/index.ts @@ -10,7 +10,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "StickerPaste", description: "Makes picking a sticker in the sticker picker insert it into the chatbox instead of instantly sending", - tags: ["Emotes", "Chat"], authors: [Devs.ImBanana], patches: [ diff --git a/src/plugins/streamerModeOnStream/index.ts b/src/plugins/streamerModeOnStream/index.ts index 49609ac61..26b4a279c 100644 --- a/src/plugins/streamerModeOnStream/index.ts +++ b/src/plugins/streamerModeOnStream/index.ts @@ -37,7 +37,6 @@ function toggleStreamerMode({ streamKey }: StreamEvent, value: boolean) { export default definePlugin({ name: "StreamerModeOn", description: "Automatically enables streamer mode when you start streaming in Discord", - tags: ["Privacy", "Utility"], authors: [Devs.IcedMarina], flux: { STREAM_CREATE: d => toggleStreamerMode(d, true), diff --git a/src/plugins/superReactionTweaks/index.ts b/src/plugins/superReactionTweaks/index.ts index 7c0d9a2c0..0ca873efa 100644 --- a/src/plugins/superReactionTweaks/index.ts +++ b/src/plugins/superReactionTweaks/index.ts @@ -37,7 +37,6 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "SuperReactionTweaks", description: "Customize the limit of Super Reactions playing at once, and super react by default", - tags: ["Reactions", "Emotes"], authors: [Devs.FieryFlames, Devs.ant0n], patches: [ { diff --git a/src/plugins/textReplace/index.tsx b/src/plugins/textReplace/index.tsx index 3374bd8fb..289f4ee4f 100644 --- a/src/plugins/textReplace/index.tsx +++ b/src/plugins/textReplace/index.tsx @@ -303,10 +303,9 @@ const TEXT_REPLACE_RULES_EXEMPT_CHANNEL_IDS = [ export default definePlugin({ name: "TextReplace", - description: "Replace text in your messages. You can find pre-made rules in the #textreplace-rules channel in Vencord's Server", - dependencies: ["MessagePopoverAPI"], - tags: ["Chat", "Customisation", "Utility"], + description: "Replace text in your or others' messages. You can find pre-made rules in the #textreplace-rules channel in Vencord's Server.", authors: [Devs.AutumnVN, Devs.TheKodeToad, EquicordDevs.Etorix], + isModified: true, settings, modifyIncomingMessage, diff --git a/src/plugins/themeAttributes/index.ts b/src/plugins/themeAttributes/index.ts index aee5e5018..e71dec0ad 100644 --- a/src/plugins/themeAttributes/index.ts +++ b/src/plugins/themeAttributes/index.ts @@ -13,7 +13,6 @@ import { UserStore } from "@webpack/common"; export default definePlugin({ name: "ThemeAttributes", description: "Adds data attributes to various elements for theming purposes", - tags: ["Appearance", "Customisation"], authors: [Devs.Ven, Devs.Board], patches: [ diff --git a/src/plugins/translate/index.tsx b/src/plugins/translate/index.tsx index caeb5ac62..d5d36c121 100644 --- a/src/plugins/translate/index.tsx +++ b/src/plugins/translate/index.tsx @@ -63,8 +63,6 @@ let tooltipTimeout: any; export default definePlugin({ name: "Translate", description: "Translate messages with Google Translate or DeepL", - dependencies: ["ChatInputButtonAPI", "MessageAccessoriesAPI", "MessagePopoverAPI"], - tags: ["Chat", "Utility"], authors: [Devs.Ven, Devs.AshtonMemer], settings, contextMenus: { diff --git a/src/plugins/typingIndicator/index.tsx b/src/plugins/typingIndicator/index.tsx index 2f78df0c3..ecfb841ee 100644 --- a/src/plugins/typingIndicator/index.tsx +++ b/src/plugins/typingIndicator/index.tsx @@ -166,7 +166,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "TypingIndicator", description: "Adds an indicator if someone is typing on a channel.", - tags: ["Notifications", "Appearance", "Servers"], authors: [Devs.Nuckyz, Devs.fawn, Devs.Sqaaakoi], isModified: true, settings, diff --git a/src/plugins/typingTweaks/index.tsx b/src/plugins/typingTweaks/index.tsx index 4832478bf..1b72581d3 100644 --- a/src/plugins/typingTweaks/index.tsx +++ b/src/plugins/typingTweaks/index.tsx @@ -114,7 +114,6 @@ migratePluginToSettings(true, "TypingTweaks", "AmITyping", "amITyping"); export default definePlugin({ name: "TypingTweaks", description: "Show avatars and role colours in the typing indicator", - tags: ["Appearance", "Customisation"], authors: [Devs.zt, Devs.sadan, EquicordDevs.MrDiamond], settings, isModified: true, diff --git a/src/plugins/unindent/index.ts b/src/plugins/unindent/index.ts index 9ebbf8deb..1a548a68e 100644 --- a/src/plugins/unindent/index.ts +++ b/src/plugins/unindent/index.ts @@ -23,8 +23,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "Unindent", description: "Trims leading indentation from codeblocks", - dependencies: ["MessageEventsAPI"], - tags: ["Chat", "Utility"], authors: [Devs.Ven], patches: [ diff --git a/src/plugins/unlockedAvatarZoom/index.ts b/src/plugins/unlockedAvatarZoom/index.ts index fbab2b734..dc8de74db 100644 --- a/src/plugins/unlockedAvatarZoom/index.ts +++ b/src/plugins/unlockedAvatarZoom/index.ts @@ -20,7 +20,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "UnlockedAvatarZoom", description: "Allows you to zoom in further in the image crop tool when changing your avatar", - tags: ["Media", "Utility"], authors: [Devs.nakoyasha], settings, patches: [ diff --git a/src/plugins/unsuppressEmbeds/index.tsx b/src/plugins/unsuppressEmbeds/index.tsx index 6ad1a6850..9f4baeee3 100644 --- a/src/plugins/unsuppressEmbeds/index.tsx +++ b/src/plugins/unsuppressEmbeds/index.tsx @@ -62,7 +62,6 @@ export default definePlugin({ name: "UnsuppressEmbeds", authors: [Devs.rad, Devs.HypedDomi], description: "Allows you to unsuppress embeds in messages", - tags: ["Chat", "Utility"], contextMenus: { "message": messageContextMenuPatch } diff --git a/src/plugins/userMessagesPronouns/index.ts b/src/plugins/userMessagesPronouns/index.ts index 1088e2f20..56721e11f 100644 --- a/src/plugins/userMessagesPronouns/index.ts +++ b/src/plugins/userMessagesPronouns/index.ts @@ -28,7 +28,6 @@ export default definePlugin({ name: "UserMessagesPronouns", authors: [Devs.Tyman, Devs.TheKodeToad, Devs.Ven, Devs.Elvyra], description: "Adds pronouns to chat user messages", - tags: ["Chat", "Appearance"], settings, patches: [ diff --git a/src/plugins/userVoiceShow/index.tsx b/src/plugins/userVoiceShow/index.tsx index fb6f0c8df..ec97530e5 100644 --- a/src/plugins/userVoiceShow/index.tsx +++ b/src/plugins/userVoiceShow/index.tsx @@ -48,8 +48,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "UserVoiceShow", description: "Shows an indicator when a user is in a Voice Channel", - tags: ["Voice", "Appearance", "Friends"], - dependencies: ["MemberListDecoratorsAPI", "MessageDecorationsAPI", "NicknameIconsAPI"], authors: [Devs.Nuckyz, Devs.LordElias, EquicordDevs.omaw], settings, renderNicknameIcon({ userId }) { diff --git a/src/plugins/usrbg/index.tsx b/src/plugins/usrbg/index.tsx index 8d1c40d72..b77efb8f7 100644 --- a/src/plugins/usrbg/index.tsx +++ b/src/plugins/usrbg/index.tsx @@ -54,7 +54,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "USRBG", description: "Displays user banners from USRBG, allowing anyone to get a banner without Nitro", - tags: ["Appearance", "Customisation"], authors: [Devs.AutumnVN, Devs.katlyn, Devs.pylix, Devs.TheKodeToad], settings, patches: [ diff --git a/src/plugins/validReply/index.ts b/src/plugins/validReply/index.ts index 988d67cf4..2ca072040 100644 --- a/src/plugins/validReply/index.ts +++ b/src/plugins/validReply/index.ts @@ -33,7 +33,6 @@ const createMessageRecord = findByCodeLazy(".createFromServer(", ".isBlockedForM export default definePlugin({ name: "ValidReply", description: 'Fixes "Message could not be loaded" upon hovering over the reply', - tags: ["Chat", "Utility"], authors: [Devs.newwares], patches: [ { diff --git a/src/plugins/validUser/index.tsx b/src/plugins/validUser/index.tsx index 3fa17ef6f..2ff829a12 100644 --- a/src/plugins/validUser/index.tsx +++ b/src/plugins/validUser/index.tsx @@ -177,9 +177,8 @@ function MentionWrapper({ data, UserMention, RoleMention, parse, props }: Mentio export default definePlugin({ name: "ValidUser", description: "Fix mentions for unknown users showing up as '@unknown-user' (hover over a mention to fix it)", - tags: ["Chat", "Utility"], authors: [Devs.Ven, Devs.Dolfies], - searchTerms: ["MentionCacheFix"], + tags: ["MentionCacheFix"], patches: [ { diff --git a/src/plugins/vcDoubleClick/index.ts b/src/plugins/vcDoubleClick/index.ts index 4eea12da4..d9310f51f 100644 --- a/src/plugins/vcDoubleClick/index.ts +++ b/src/plugins/vcDoubleClick/index.ts @@ -28,7 +28,6 @@ const timers = {} as Record$self.openAvatar($1.src)});$&', + match: /avatarSrc:(\i),eventHandlers:(\i).+?"div",.{0,100}className:\i,/, + replace: "$&style:{cursor:\"pointer\"},onClick:()=>{$self.openAvatar($1)},", } }, // Banners diff --git a/src/plugins/viewRaw/index.tsx b/src/plugins/viewRaw/index.tsx index 212ea4e49..aad99622c 100644 --- a/src/plugins/viewRaw/index.tsx +++ b/src/plugins/viewRaw/index.tsx @@ -176,8 +176,6 @@ const devContextCallback: NavContextMenuPatchCallback = (children, { id }: { id: export default definePlugin({ name: "ViewRaw", description: "Copy and view the raw content/data of any message, channel or guild", - dependencies: ["MessagePopoverAPI"], - tags: ["Chat", "Developers"], authors: [Devs.KingFish, Devs.Ven, Devs.rad, Devs.ImLvna], settings, diff --git a/src/plugins/voiceDownload/index.tsx b/src/plugins/voiceDownload/index.tsx index 8dbc9b705..eac912e47 100644 --- a/src/plugins/voiceDownload/index.tsx +++ b/src/plugins/voiceDownload/index.tsx @@ -12,7 +12,6 @@ import definePlugin from "@utils/types"; export default definePlugin({ name: "VoiceDownload", description: "Adds a download to voice messages. (Opens a new browser tab)", - tags: ["Voice", "Media"], authors: [Devs.puv], patches: [ { diff --git a/src/plugins/voiceMessages/index.tsx b/src/plugins/voiceMessages/index.tsx index 5214cf62a..acad7fa6f 100644 --- a/src/plugins/voiceMessages/index.tsx +++ b/src/plugins/voiceMessages/index.tsx @@ -26,7 +26,7 @@ import { Microphone } from "@components/Icons"; import { Link } from "@components/Link"; import { Paragraph } from "@components/Paragraph"; import { lastState as silentMessageEnabled } from "@plugins/silentMessageToggle"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import { classNameFactory } from "@utils/css"; import { Margins } from "@utils/margins"; import { ModalContent, ModalFooter, ModalHeader, ModalProps, ModalRoot, openModal } from "@utils/modal"; @@ -271,10 +271,10 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "VoiceMessages", - description: "Allows you to send voice messages like on mobile. To do so, right click the upload button and click Send Voice Message", - tags: ["Voice"], - authors: [Devs.Ven, Devs.Vap, Devs.Nickyux], + description: "Allows you to send voice messages like on mobile. To do so, right click the upload button and click Send Voice Message.", + authors: [Devs.Ven, Devs.Vap, Devs.Nickyux, EquicordDevs.Z1xus, Devs.prism], settings, + contextMenus: { "channel-attach": ctxMenuPatch } diff --git a/src/plugins/volumeBooster/index.ts b/src/plugins/volumeBooster/index.ts index e379686ad..4ab0c332a 100644 --- a/src/plugins/volumeBooster/index.ts +++ b/src/plugins/volumeBooster/index.ts @@ -51,7 +51,6 @@ export default definePlugin({ name: "VolumeBooster", authors: [Devs.Nuckyz, Devs.sadan], description: "Allows you to set the user and stream volume above the default maximum", - tags: ["Voice", "Utility"], settings, patches: [ diff --git a/src/plugins/webContextMenus.web/index.ts b/src/plugins/webContextMenus.web/index.ts index dd86c9652..2076404ab 100644 --- a/src/plugins/webContextMenus.web/index.ts +++ b/src/plugins/webContextMenus.web/index.ts @@ -88,7 +88,6 @@ function fixImageUrl(urlString: string) { export default definePlugin({ name: "WebContextMenus", description: "Re-adds context menus missing in the web version of Discord: Links & Images (Copy/Open Link/Image), Text Area (Copy, Cut, Paste, SpellCheck)", - tags: ["Utility"], authors: [Devs.Ven], enabledByDefault: true, required: requiredByPlatform, diff --git a/src/plugins/webKeybinds.web/index.ts b/src/plugins/webKeybinds.web/index.ts index f8563dc88..b9b49c35c 100644 --- a/src/plugins/webKeybinds.web/index.ts +++ b/src/plugins/webKeybinds.web/index.ts @@ -26,7 +26,6 @@ const KeyBinds = findByPropsLazy("JUMP_TO_GUILD", "SERVER_NEXT"); export default definePlugin({ name: "WebKeybinds", description: "Re-adds keybinds missing in the web version of Discord: ctrl+t, ctrl+shift+t, ctrl+tab, ctrl+shift+tab, ctrl+1-9, ctrl+,. Only works fully on Vesktop/Legcord, not inside your browser", - tags: ["Shortcuts"], authors: [Devs.Ven], enabledByDefault: true, diff --git a/src/plugins/webScreenShareFixes.web/index.ts b/src/plugins/webScreenShareFixes.web/index.ts index ac06a00e2..e7fbc178e 100644 --- a/src/plugins/webScreenShareFixes.web/index.ts +++ b/src/plugins/webScreenShareFixes.web/index.ts @@ -11,7 +11,6 @@ export default definePlugin({ name: "WebScreenShareFixes", authors: [Devs.Kaitlyn], description: "Removes 2500kbps bitrate cap on chromium and vesktop clients.", - tags: ["Voice"], enabledByDefault: true, patches: [ diff --git a/src/plugins/whoReacted/index.tsx b/src/plugins/whoReacted/index.tsx index 79b03baf3..cb2d6f977 100644 --- a/src/plugins/whoReacted/index.tsx +++ b/src/plugins/whoReacted/index.tsx @@ -88,7 +88,6 @@ const settings = definePluginSettings({ export default definePlugin({ name: "WhoReacted", description: "Renders the avatars of users who reacted to a message", - tags: ["Reactions", "Chat", "Appearance"], authors: [Devs.Ven, Devs.KannaDev, Devs.newwares], isModified: true, settings, diff --git a/src/plugins/xsOverlay/index.tsx b/src/plugins/xsOverlay/index.tsx index 52d2bc912..ff07da6e7 100644 --- a/src/plugins/xsOverlay/index.tsx +++ b/src/plugins/xsOverlay/index.tsx @@ -188,9 +188,8 @@ const Native = VencordNative.pluginHelpers.XSOverlay as PluginNative string = RegExp.escape ?? function (s: string) { return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); }; diff --git a/src/utils/types.ts b/src/utils/types.ts index c33114a5c..ac078d5e5 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -46,32 +46,6 @@ export function makeRange(start: number, end: number, step = 1) { return ranges; } -export const PluginTags = [ - "Accessibility", - "Activity", - "Appearance", - "Chat", - "Commands", - "Console", - "Customisation", - "Developers", - "Emotes", - "Friends", - "Fun", - "Media", - "Notifications", - "Organisation", - "Privacy", - "Reactions", - "Roles", - "Servers", - "Shortcuts", - "Utility", - "Voice" -] as const; - -export type PluginTag = typeof PluginTags[number]; - export type ReplaceFn = (match: string, ...groups: string[]) => string; export interface PatchReplacement { @@ -131,9 +105,6 @@ export type IconProps = { height?: number | string; width?: number | string; cla export interface PluginDef { name: string; description: string; - /** Additional search terms that will bring up your plugin */ - searchTerms?: string[]; - tags?: PluginTag[]; authors: PluginAuthor[]; start?(): void; stop?(): void; @@ -211,6 +182,8 @@ export interface PluginDef { */ toolboxActions?: Record void> | (() => ReactNode); + tags?: string[]; + /** * Managed style to automatically enable and disable when the plugin is enabled or disabled */ diff --git a/src/webpack/common/components.ts b/src/webpack/common/components.ts index 98d453abf..a5723c001 100644 --- a/src/webpack/common/components.ts +++ b/src/webpack/common/components.ts @@ -59,7 +59,7 @@ export const TooltipContainer = TooltipContainerComponent as never; export const TextInput = waitForComponent("TextInput", filters.componentByCode("#{intl::MAXIMUM_LENGTH_ERROR}", '"input"')); export const TextArea = waitForComponent("TextArea", filters.componentByCode("this.getPaddingRight()},id:")); export const Select = waitForComponent("Select", filters.componentByCode('selectionMode:"single",onSelectionChange:', "isSelected:")); -export const SearchableSelect = waitForComponent("SearchableSelect", filters.componentByCode('?"multiple":"single",required:')); +export const SearchableSelect = waitForComponent("SearchableSelect", filters.componentByCode('?"multiple":"single"')); export const Slider = waitForComponent("Slider", filters.componentByCode("markDash", "this.renderMark(")); export const Popout = waitForComponent("Popout", filters.componentByCode("ref:this.ref,", "renderPopout:this.renderPopout,")); export const Dialog = waitForComponent("Dialog", filters.componentByCode('role:"dialog",tabIndex:-1')); diff --git a/src/webpack/patchWebpack.ts b/src/webpack/patchWebpack.ts index 2b1994f20..fb31cbc23 100644 --- a/src/webpack/patchWebpack.ts +++ b/src/webpack/patchWebpack.ts @@ -5,14 +5,14 @@ */ import { Settings } from "@api/Settings"; -import { reporterData } from "@debug/reporterData"; -import { traceFunctionWithResults } from "@debug/Tracer"; import { makeLazy } from "@utils/lazy"; import { Logger } from "@utils/Logger"; import { interpolateIfDefined } from "@utils/misc"; import { Patch, PatchReplacement } from "@utils/types"; import { WebpackRequire } from "@vencord/discord-types/webpack"; +import { reporterData } from "debug/reporterData"; +import { traceFunctionWithResults } from "../debug/Tracer"; import { AnyModuleFactory, AnyWebpackRequire, MaybePatchedModuleFactory, PatchedModuleFactory } from "./types"; import { _blacklistBadModules, _initWebpack, factoryListeners, findModuleFactory, moduleListeners, waitForSubscriptions, wreq } from "./webpack"; diff --git a/src/webpack/webpack.ts b/src/webpack/webpack.ts index 4060bd45b..5917d9073 100644 --- a/src/webpack/webpack.ts +++ b/src/webpack/webpack.ts @@ -16,7 +16,6 @@ * along with this program. If not, see . */ -import { traceFunction } from "@debug/Tracer"; import { makeLazy, proxyLazy } from "@utils/lazy"; import { LazyComponent } from "@utils/lazyReact"; import { Logger } from "@utils/Logger"; @@ -25,6 +24,7 @@ import { escapeRegExp } from "@utils/text"; import type { FluxStore } from "@vencord/discord-types"; import type { ModuleExports, ModuleFactory, WebpackRequire } from "@vencord/discord-types/webpack"; +import { traceFunction } from "../debug/Tracer"; import type { AnyModuleFactory, AnyWebpackRequire } from "./types"; const logger = new Logger("Webpack"); diff --git a/tsconfig.json b/tsconfig.json index 0828f0ca1..a3aeb9ce8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -19,49 +19,48 @@ "noImplicitAny": false, "target": "ESNEXT", "jsx": "preserve", - "baseUrl": "./src/", "paths": { "@main/*": [ - "./main/*" + "./src/main/*" ], "@api/*": [ - "./api/*" + "./sr/capi/*" ], "@components/*": [ - "./components/*" + "./src/components/*" ], "@debug/*": [ - "./debug/*" + "./src/debug/*" ], "@utils/*": [ - "./utils/*" + "./src/utils/*" ], "@plugins/*": [ - "./plugins/*" + "./src/plugins/*" ], "@shared/*": [ - "./shared/*" + "./src/shared/*" ], "@webpack/common": [ - "./webpack/common" + "./src/webpack/common" ], "@webpack/common/*": [ - "./webpack/common/*" + "./src/webpack/common/*" ], "@webpack": [ - "./webpack/webpack" + "./src/webpack/webpack" ], "@webpack/patcher": [ - "./webpack/patchWebpack" + "./src/webpack/patchWebpack" ], "@webpack/wreq.d": [ - "./webpack/wreq.d" + "./src/webpack/wreq.d" ], "@webpack/types": [ - "./webpack/types" + "./src/webpack/types" ], "@equicordplugins/*": [ - "./equicordplugins/*" + "./src/equicordplugins/*" ] }, "plugins": [ From 8bf18c911a7164ab627952d0c299a66138e96728 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Thu, 16 Apr 2026 13:26:44 -0400 Subject: [PATCH 2/2] revert --- tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index a3aeb9ce8..a569f4f8c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,7 +24,7 @@ "./src/main/*" ], "@api/*": [ - "./sr/capi/*" + "./src/capi/*" ], "@components/*": [ "./src/components/*"