diff --git a/electron/before-pack.js b/electron/before-pack.js index ee81f110..4012b621 100644 --- a/electron/before-pack.js +++ b/electron/before-pack.js @@ -147,7 +147,3 @@ export const downloadIpfsClients = async () => { await downloadAndExtract(url, ipfsClientLinuxPath); } }; - -export default async (_context) => { - await downloadIpfsClients(); -}; diff --git a/knip.jsonc b/knip.jsonc index 5913677e..4b52687b 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -1,15 +1,44 @@ { "$schema": "https://unpkg.com/knip@5.86.0/schema-jsonc.json", + "ignoreBinaries": [ + // These are intentionally invoked through package scripts / commit hooks rather than local package bins. + "cz", + "source-map-explorer" + ], + "ignoreFiles": [ + // Android bundles these build outputs into the native app; they are generated, not source entrypoints. + "android/app/src/main/assets/public/**", + // Tool-owned config and runtime entry files are resolved by Vite/Electron rather than the app import graph. + "electron/preload.mjs", + "electron/vite-config.js", + "electron/vite.preload.config.js", + "forge.config.js", + "src/sw.ts" + ], "ignoreDependencies": [ // These packages are consumed by native Capacitor/Gradle config rather than JS imports. "@capacitor/status-bar", "@capawesome/capacitor-android-edge-to-edge-support", + // These packages are used by build/config/html entrypoints Knip does not fully trace in this repo. + "@electron-forge/maker-dmg", + "@electron-forge/maker-squirrel", + "@electron-forge/maker-zip", + "@reforged/maker-appimage", + "assert", + "babel-plugin-react-compiler", + "buffer", + "crypto-browserify", + "cz-conventional-changelog", + "react-grab", + "stream-browserify", // The PWA service worker entry is injected by vite-plugin-pwa, which Knip does not trace here. "workbox-core", "workbox-precaching" ], "ignoreIssues": { // This import is intentionally satisfied transitively through bitsocial-react-hooks. - "electron/start-plebbit-rpc.js": ["unlisted"] + "electron/start-plebbit-rpc.js": ["unlisted"], + // Knip falsely infers v8 coverage for Vitest config even though this repo uses Istanbul. + "vitest.config.ts": ["unlisted"] } } diff --git a/package.json b/package.json index 42f76c79..4df7fea7 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "electron:build:mac:x64": "yarn build && yarn build:preload && electron-forge make --platform=darwin --arch=x64", "electron:build:mac:arm64": "yarn build && yarn build:preload && electron-forge make --platform=darwin --arch=arm64", "electron:before": "yarn electron:before:delete-data", - "electron:before:delete-data": "rimraf .plebbit", + "electron:before:delete-data": "node -e \"fs.rmSync('.plebbit', { recursive: true, force: true })\"", "android:build:icons": "cordova-res android --skip-config --copy --resources /tmp/plebbit-react-android-icons --icon-source ./android/icons/icon.png --splash-source ./android/icons/splash.png --icon-foreground-source ./android/icons/icon-foreground.png --icon-background-source '#ffffee'", "knip": "knip --production --include dependencies,unlisted,binaries --no-progress", "knip:full": "knip --no-progress --no-exit-code", @@ -118,8 +118,6 @@ "@electron-forge/maker-dmg": "7.8.0", "@electron-forge/maker-squirrel": "7.8.0", "@electron-forge/maker-zip": "7.8.0", - "@electron-forge/plugin-auto-unpack-natives": "7.8.0", - "@react-scan/vite-plugin-react-scan": "0.1.8", "@reforged/maker-appimage": "5.1.1", "@types/lodash": "4.17.23", "@types/memoizee": "0.4.9", @@ -152,7 +150,6 @@ "react-scan": "0.4.3", "stream-browserify": "3.0.0", "vite": "npm:rolldown-vite@7.3.1", - "vite-plugin-node-polyfills": "0.24.0", "vite-plugin-pwa": "1.2.0", "vitest": "4.0.15", "wait-on": "9.0.3", diff --git a/src/components/board-buttons/index.ts b/src/components/board-buttons/index.ts index f30cd125..067ee43b 100644 --- a/src/components/board-buttons/index.ts +++ b/src/components/board-buttons/index.ts @@ -1 +1 @@ -export { MobileBoardButtons, DesktopBoardButtons, PostPageStats, ReturnButton, CatalogButton, UpdateButton, AutoButton, TopButton, RefreshButton } from './board-buttons'; +export { MobileBoardButtons, DesktopBoardButtons } from './board-buttons'; diff --git a/src/components/board-pagination/board-pagination.tsx b/src/components/board-pagination/board-pagination.tsx index 25ce137b..36981ba4 100644 --- a/src/components/board-pagination/board-pagination.tsx +++ b/src/components/board-pagination/board-pagination.tsx @@ -5,7 +5,7 @@ import StyleSelector from '../style-selector/style-selector'; import footerStyles from '../footer/footer.module.css'; import styles from './board-pagination.module.css'; -export interface BoardPaginationProps { +interface BoardPaginationProps { basePath: string; currentPage: number; totalPages: number; diff --git a/src/components/board-pagination/index.ts b/src/components/board-pagination/index.ts index 8d2e13ba..063b53ea 100644 --- a/src/components/board-pagination/index.ts +++ b/src/components/board-pagination/index.ts @@ -1,2 +1 @@ export { default } from './board-pagination'; -export type { BoardPaginationProps } from './board-pagination'; diff --git a/src/components/footer/footer.tsx b/src/components/footer/footer.tsx index 5ddc4c18..9f704fa0 100644 --- a/src/components/footer/footer.tsx +++ b/src/components/footer/footer.tsx @@ -18,7 +18,7 @@ import styles from './footer.module.css'; * Main page footer wrapper: hr, first row slot, BoardsBar, SiteLegalMeta. * -------------------------------------------------------------------------- */ -export interface PageFooterDesktopProps { +interface PageFooterDesktopProps { /** Mode-specific first row content (e.g. board pagination or thread controls) */ firstRow: React.ReactNode; /** Optional row between first row and BoardsBar (e.g. style selector on thread page) */ @@ -61,7 +61,7 @@ export const StyleOnlyFooterFirstRow = () => { * Catalog footer first row: Return, Archive, Top, Refresh on left; Style selector on right. * -------------------------------------------------------------------------- */ -export interface CatalogFooterFirstRowProps { +interface CatalogFooterFirstRowProps { subplebbitAddress?: string; isInAllView?: boolean; isInSubscriptionsView?: boolean; @@ -114,7 +114,7 @@ export const ThreadFooterStyleRow = () => { * Thread page footer first row: Return, Catalog, Top, Update, Auto, Post a Reply, stats. * -------------------------------------------------------------------------- */ -export interface ThreadFooterFirstRowProps { +interface ThreadFooterFirstRowProps { postCid: string; threadNumber: number | undefined; subplebbitAddress: string; @@ -193,7 +193,7 @@ export const PageFooterMobile = ({ children }: { children: React.ReactNode }) => * Mobile thread page footer: Post a Reply, Return/Catalog/Top, Update/Auto, stats. * -------------------------------------------------------------------------- */ -export interface ThreadFooterMobileProps { +interface ThreadFooterMobileProps { postCid: string; threadNumber: number | undefined; subplebbitAddress: string; diff --git a/src/components/footer/index.ts b/src/components/footer/index.ts index 3fddd711..447fa44b 100644 --- a/src/components/footer/index.ts +++ b/src/components/footer/index.ts @@ -7,4 +7,3 @@ export { ThreadFooterStyleRow, ThreadFooterMobile, } from './footer'; -export type { PageFooterDesktopProps, CatalogFooterFirstRowProps, ThreadFooterFirstRowProps, ThreadFooterMobileProps } from './footer'; diff --git a/src/components/post-form/index.ts b/src/components/post-form/index.ts index 3d6d75f7..0eb63f3c 100644 --- a/src/components/post-form/index.ts +++ b/src/components/post-form/index.ts @@ -1 +1 @@ -export { LinkTypePreviewer, default } from './post-form'; +export { default } from './post-form'; diff --git a/src/components/site-legal-meta/index.ts b/src/components/site-legal-meta/index.ts index c764ad8c..a027b3be 100644 --- a/src/components/site-legal-meta/index.ts +++ b/src/components/site-legal-meta/index.ts @@ -1,2 +1 @@ export { default } from './site-legal-meta'; -export type { SiteLegalMetaOrder, SiteLegalMetaProps } from './site-legal-meta'; diff --git a/src/components/site-legal-meta/site-legal-meta.tsx b/src/components/site-legal-meta/site-legal-meta.tsx index ae4c31b8..74a09532 100644 --- a/src/components/site-legal-meta/site-legal-meta.tsx +++ b/src/components/site-legal-meta/site-legal-meta.tsx @@ -1,8 +1,8 @@ import Version from '../version'; -export type SiteLegalMetaOrder = 'version-first' | 'license-first'; +type SiteLegalMetaOrder = 'version-first' | 'license-first'; -export type SiteLegalMetaProps = { +type SiteLegalMetaProps = { /** Order of blocks: version-first (homepage) or license-first (board/post footer) */ order?: SiteLegalMetaOrder; }; diff --git a/src/hooks/use-board-feed-page-size.ts b/src/hooks/use-board-feed-page-size.ts index 355eb846..f6f8f360 100644 --- a/src/hooks/use-board-feed-page-size.ts +++ b/src/hooks/use-board-feed-page-size.ts @@ -2,7 +2,7 @@ import { useMemo } from 'react'; import type { DirectoryCommunity } from './use-directories'; import { computeGuiPostsPerPage, getBoardFeedPageSizeConstants, type CommunityWithPostsPerPage } from '../lib/utils/board-feed-pagination'; -export type BoardFeedPageSize = ReturnType; +type BoardFeedPageSize = ReturnType; /** * Compute board feed page-size values from directory community. diff --git a/src/hooks/use-directories.ts b/src/hooks/use-directories.ts index 4941f816..663b65bb 100644 --- a/src/hooks/use-directories.ts +++ b/src/hooks/use-directories.ts @@ -1,7 +1,7 @@ import { useEffect, useMemo, useState } from 'react'; import directoriesData from '../data/5chan-directories.json'; -export interface DirectoriesMetadata { +interface DirectoriesMetadata { title: string; description: string; createdAt: number; @@ -36,7 +36,7 @@ export interface DirectoriesData { communities: DirectoryCommunity[]; } -export interface DirectoriesState { +interface DirectoriesState { communities: DirectoryCommunity[]; loading: boolean; error: Error | null; diff --git a/src/hooks/use-fetch-gif-first-frame.ts b/src/hooks/use-fetch-gif-first-frame.ts index 5cc0a5d6..2c75e36b 100644 --- a/src/hooks/use-fetch-gif-first-frame.ts +++ b/src/hooks/use-fetch-gif-first-frame.ts @@ -19,7 +19,7 @@ const setCachedGifFrame = async (url: string, frameUrl: string): Promise = await gifFrameDb.setItem(url, frameUrl); }; -export const fetchImage = (url: string): Promise => { +const fetchImage = (url: string): Promise => { return new Promise((resolve, reject) => { const request = new XMLHttpRequest(); request.open('GET', url, true); @@ -35,7 +35,7 @@ export const fetchImage = (url: string): Promise => { }); }; -export const readImage = (file: File): Promise => { +const readImage = (file: File): Promise => { return new Promise((resolve) => { const reader = new FileReader(); reader.onload = () => { diff --git a/src/hooks/use-file-upload.ts b/src/hooks/use-file-upload.ts index 1dfbab35..b70fb723 100644 --- a/src/hooks/use-file-upload.ts +++ b/src/hooks/use-file-upload.ts @@ -92,7 +92,7 @@ function getRuntime(): 'web' | 'electron' | 'android' { return 'web'; } -export interface UseFileUploadOptions { +interface UseFileUploadOptions { onUploadComplete: (url: string, fileName: string) => void; } diff --git a/src/hooks/use-post-page-number.ts b/src/hooks/use-post-page-number.ts index 4c00c634..a4c35c4e 100644 --- a/src/hooks/use-post-page-number.ts +++ b/src/hooks/use-post-page-number.ts @@ -5,7 +5,7 @@ import { useDirectoryByAddress } from './use-directories'; import { useBoardFeedPageSize } from './use-board-feed-page-size'; import { findPostPageInFeed, findPostPageInLoadedBoardFeeds, type FeedsOptionsLike, type LoadedFeedsLike } from '../lib/utils/post-page-resolution'; -export interface UsePostPageNumberOptions { +interface UsePostPageNumberOptions { subplebbitAddress: string | undefined; postCid: string | undefined; /** When false, page segment is excluded (e.g. pending-post view). When true, resolve and show page. */ diff --git a/src/hooks/use-subplebbits-stats.ts b/src/hooks/use-subplebbits-stats.ts index bee12ee5..bfa27ede 100644 --- a/src/hooks/use-subplebbits-stats.ts +++ b/src/hooks/use-subplebbits-stats.ts @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import { useSubplebbitStats } from '@bitsocialhq/bitsocial-react-hooks'; import { create } from 'zustand'; -export type SubplebbitsStatsState = { +type SubplebbitsStatsState = { subplebbitsStats: { [subplebbitAddress: string]: any }; setSubplebbitStats: (subplebbitAddress: string, stats: any) => void; }; diff --git a/src/lib/media-hosting/error-format.ts b/src/lib/media-hosting/error-format.ts index 5f159486..e387b339 100644 --- a/src/lib/media-hosting/error-format.ts +++ b/src/lib/media-hosting/error-format.ts @@ -2,7 +2,7 @@ import type { ProviderAttempt } from './types'; export type { ProviderAttempt } from './types'; -export type TranslateFn = (key: string) => string; +type TranslateFn = (key: string) => string; function formatSingleAttempt(a: ProviderAttempt): string { const base = `${a.provider}: ${a.error ?? 'unknown'}`; diff --git a/src/lib/media-hosting/providers.ts b/src/lib/media-hosting/providers.ts index 3fcca013..fdd8db96 100644 --- a/src/lib/media-hosting/providers.ts +++ b/src/lib/media-hosting/providers.ts @@ -1,6 +1,6 @@ import type { MediaHostingRuntime, ProviderId } from './types'; -export interface ProviderDefinition { +interface ProviderDefinition { id: ProviderId; label: string; homepageUrl: string; @@ -23,6 +23,3 @@ export const MEDIA_HOSTING_PROVIDERS: readonly ProviderDefinition[] = [ supportedRuntimes: ['electron', 'android'], }, ] as const; - -/** Provider IDs for ordering */ -export const PROVIDER_IDS: readonly ProviderId[] = MEDIA_HOSTING_PROVIDERS.map((p) => p.id); diff --git a/src/lib/utils/catalog-sort.ts b/src/lib/utils/catalog-sort.ts index d26fe2b5..6e088f67 100644 --- a/src/lib/utils/catalog-sort.ts +++ b/src/lib/utils/catalog-sort.ts @@ -13,7 +13,7 @@ export interface CatalogPost { } /** Sort types supported by the catalog feed */ -export type CatalogSortType = 'active' | 'new' | 'replyCount'; +type CatalogSortType = 'active' | 'new' | 'replyCount'; /** * Sort catalog feed for display. diff --git a/src/lib/utils/media-utils.ts b/src/lib/utils/media-utils.ts index 506f91f0..f3196d62 100644 --- a/src/lib/utils/media-utils.ts +++ b/src/lib/utils/media-utils.ts @@ -276,11 +276,11 @@ export const getMediaDimensions = memoize( const thumbnailUrlsDb = localForageLru.createInstance({ name: '5chanThumbnailUrls', size: 500 }); -export const getCachedThumbnail = async (url: string): Promise => { +const getCachedThumbnail = async (url: string): Promise => { return await thumbnailUrlsDb.getItem(url); }; -export const setCachedThumbnail = async (url: string, thumbnail: string): Promise => { +const setCachedThumbnail = async (url: string, thumbnail: string): Promise => { await thumbnailUrlsDb.setItem(url, thumbnail); }; diff --git a/src/lib/utils/replies-preview-utils.ts b/src/lib/utils/replies-preview-utils.ts index 662a0cf4..8c217919 100644 --- a/src/lib/utils/replies-preview-utils.ts +++ b/src/lib/utils/replies-preview-utils.ts @@ -1,6 +1,6 @@ import { BOARD_REPLIES_PREVIEW_VISIBLE_COUNT } from '../constants'; -export interface CommentLike { +interface CommentLike { cid?: string | null; index?: number; pendingApproval?: boolean; @@ -35,7 +35,7 @@ export function getPreviewDisplayReplies(replies: T[], vi .map((t) => t.reply); } -export interface ComputeOmittedParams { +interface ComputeOmittedParams { totalReplyCount: number; visibleCount: number; } @@ -49,7 +49,7 @@ export function computeOmittedCount({ totalReplyCount, visibleCount }: ComputeOm return Math.max(0, totalReplyCount - visibleCount); } -export interface GetTotalReplyCountParams { +interface GetTotalReplyCountParams { replyCount: number | undefined; fullLoadedCount: number; previewLoadedCount: number; diff --git a/src/lib/utils/view-utils.ts b/src/lib/utils/view-utils.ts index ef29a79f..1036b2c1 100644 --- a/src/lib/utils/view-utils.ts +++ b/src/lib/utils/view-utils.ts @@ -1,6 +1,6 @@ import { isBoardModRoute, isModQueueRoute } from './route-utils'; -export type ParamsType = { +type ParamsType = { accountCommentIndex?: string; boardIdentifier?: string; commentCid?: string; diff --git a/src/plugins/file-uploader.ts b/src/plugins/file-uploader.ts index 33807664..98eb799d 100644 --- a/src/plugins/file-uploader.ts +++ b/src/plugins/file-uploader.ts @@ -1,18 +1,18 @@ import { registerPlugin } from '@capacitor/core'; import type { ProviderAttempt, ProviderId } from '../lib/media-hosting/types'; -export interface PickAndUploadMediaOptions { +interface PickAndUploadMediaOptions { providerOrder: ProviderId[]; } -export interface PickAndUploadMediaResult { +interface PickAndUploadMediaResult { url: string; fileName: string; provider: ProviderId; attempts?: ProviderAttempt[]; } -export interface FileUploaderPlugin { +interface FileUploaderPlugin { pickAndUploadMedia(options?: PickAndUploadMediaOptions): Promise; } diff --git a/src/stores/use-all-feed-filter-store.ts b/src/stores/use-all-feed-filter-store.ts index 6385b38e..8fe55702 100644 --- a/src/stores/use-all-feed-filter-store.ts +++ b/src/stores/use-all-feed-filter-store.ts @@ -1,6 +1,6 @@ import { create } from 'zustand'; -export type AllFeedFilter = 'all' | 'nsfw' | 'sfw'; +type AllFeedFilter = 'all' | 'nsfw' | 'sfw'; interface AllFeedFilterStore { filter: AllFeedFilter; diff --git a/src/stores/use-boards-filter-store.ts b/src/stores/use-boards-filter-store.ts index b7c23b60..262d7109 100644 --- a/src/stores/use-boards-filter-store.ts +++ b/src/stores/use-boards-filter-store.ts @@ -1,6 +1,6 @@ import { create } from 'zustand'; -export type BoardFilter = 'all' | 'nsfw' | 'worksafe'; +type BoardFilter = 'all' | 'nsfw' | 'worksafe'; interface BoardsFilterStore { useCatalogLinks: boolean; diff --git a/src/stores/use-mod-queue-store.ts b/src/stores/use-mod-queue-store.ts index 5c588646..d8f5669a 100644 --- a/src/stores/use-mod-queue-store.ts +++ b/src/stores/use-mod-queue-store.ts @@ -1,8 +1,8 @@ import { create } from 'zustand'; import { persist } from 'zustand/middleware'; -export type AlertThresholdUnit = 'hours' | 'minutes'; -export type ModQueueViewMode = 'compact' | 'feed'; +type AlertThresholdUnit = 'hours' | 'minutes'; +type ModQueueViewMode = 'compact' | 'feed'; interface ModQueueState { alertThresholdValue: number; diff --git a/src/views/home/popular-threads-box/index.ts b/src/views/home/popular-threads-box/index.ts index 73d78438..bae48ca6 100644 --- a/src/views/home/popular-threads-box/index.ts +++ b/src/views/home/popular-threads-box/index.ts @@ -1 +1 @@ -export { default, ContentPreview } from './popular-threads-box'; +export { default } from './popular-threads-box'; diff --git a/src/views/home/popular-threads-box/popular-threads-box.tsx b/src/views/home/popular-threads-box/popular-threads-box.tsx index ff6dbf79..276db125 100644 --- a/src/views/home/popular-threads-box/popular-threads-box.tsx +++ b/src/views/home/popular-threads-box/popular-threads-box.tsx @@ -54,28 +54,38 @@ const PopularThreadCard = memo( (prevProps, nextProps) => prevProps.post?.cid === nextProps.post?.cid && prevProps.boardTitle === nextProps.boardTitle && prevProps.boardPath === nextProps.boardPath, ); -const PopularThreadsBox = ({ directories, subplebbits }: { directories: DirectoryCommunity[]; subplebbits: any }) => { +const PopularThreadsBox = ({ + directories, + directoryAddresses, + subplebbits, +}: { + directories: DirectoryCommunity[]; + directoryAddresses: string[]; + subplebbits: Array; +}) => { const { t } = useTranslation(); const { showWorksafeContentOnly, showNsfwContentOnly } = usePopularThreadsOptionsStore(); - const filteredSubplebbits = useMemo(() => { - if (showWorksafeContentOnly) { - return subplebbits.filter((sub: Subplebbit) => { - const directoryEntry = findDirectoryByAddress(directories, sub?.address); - return directoryEntry ? !directoryEntry.nsfw : true; - }); - } - if (showNsfwContentOnly) { - return subplebbits.filter((sub: Subplebbit) => { - const directoryEntry = findDirectoryByAddress(directories, sub?.address); - return directoryEntry ? directoryEntry.nsfw : false; - }); - } - return subplebbits; - }, [subplebbits, showWorksafeContentOnly, showNsfwContentOnly, directories]); + const { filteredBoardAddresses, filteredSubplebbits } = useMemo(() => { + const filteredEntries = directoryAddresses.flatMap((address, index) => { + const directoryEntry = findDirectoryByAddress(directories, address); + if (showWorksafeContentOnly && directoryEntry?.nsfw) { + return []; + } + if (showNsfwContentOnly && !directoryEntry?.nsfw) { + return []; + } - const { popularPosts } = usePopularPosts(filteredSubplebbits); - const isLoading = popularPosts.length === 0; + return [{ address, subplebbit: subplebbits[index] }]; + }); + + return { + filteredBoardAddresses: filteredEntries.map((entry) => entry.address), + filteredSubplebbits: filteredEntries.map((entry) => entry.subplebbit), + }; + }, [directories, directoryAddresses, showNsfwContentOnly, showWorksafeContentOnly, subplebbits]); + + const { popularPosts, isLoading } = usePopularPosts(filteredSubplebbits, filteredBoardAddresses); return (
diff --git a/yarn.lock b/yarn.lock index d37d0037..214f9231 100644 --- a/yarn.lock +++ b/yarn.lock @@ -160,7 +160,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.26.2", "@babel/generator@^7.28.5": +"@babel/generator@^7.26.2": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== @@ -235,19 +235,6 @@ "@babel/traverse" "^7.28.3" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz#472d0c28028850968979ad89f173594a6995da46" - integrity sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.3" - "@babel/helper-member-expression-to-functions" "^7.28.5" - "@babel/helper-optimise-call-expression" "^7.27.1" - "@babel/helper-replace-supers" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - "@babel/traverse" "^7.28.5" - semver "^6.3.1" - "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" @@ -281,14 +268,6 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" -"@babel/helper-member-expression-to-functions@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz#f3e07a10be37ed7a63461c63e6929575945a6150" - integrity sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg== - dependencies: - "@babel/traverse" "^7.28.5" - "@babel/types" "^7.28.5" - "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" @@ -485,20 +464,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-jsx@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" - integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-typescript@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" - integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" @@ -829,17 +794,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-jsx@^7.25.9": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0" - integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.1" - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/plugin-syntax-jsx" "^7.27.1" - "@babel/types" "^7.27.1" - "@babel/plugin-transform-regenerator@^7.28.3": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz#9d3fa3bebb48ddd0091ce5729139cd99c67cea51" @@ -898,17 +852,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typescript@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz#441c5f9a4a1315039516c6c612fc66d5f4594e72" - integrity sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.27.3" - "@babel/helper-create-class-features-plugin" "^7.28.5" - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" - "@babel/plugin-syntax-typescript" "^7.27.1" - "@babel/plugin-transform-unicode-escapes@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" @@ -1025,17 +968,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.23.3": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz#540359efa3028236958466342967522fd8f2a60c" - integrity sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - "@babel/helper-validator-option" "^7.27.1" - "@babel/plugin-syntax-jsx" "^7.27.1" - "@babel/plugin-transform-modules-commonjs" "^7.27.1" - "@babel/plugin-transform-typescript" "^7.28.5" - "@babel/runtime@^7.11.2", "@babel/runtime@^7.19.4", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326" @@ -1077,19 +1009,6 @@ "@babel/types" "^7.28.4" debug "^4.3.1" -"@babel/traverse@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" - integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.5" - debug "^4.3.1" - "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" @@ -1501,14 +1420,6 @@ fs-extra "^10.0.0" got "^11.8.5" -"@electron-forge/plugin-auto-unpack-natives@7.8.0": - version "7.8.0" - resolved "https://registry.yarnpkg.com/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-7.8.0.tgz#5167410e0e74d3bd8949c6acbe79249b7cffd1ce" - integrity sha512-JGal5ltZmbTQ5rNq67OgGC4MJ2zjjFW0fqykHy8X9J8cgaH7SRdKkT4yYZ8jH01IAF1J57FD2zIob1MvcBqjcg== - dependencies: - "@electron-forge/plugin-base" "7.8.0" - "@electron-forge/shared-types" "7.8.0" - "@electron-forge/plugin-base@7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@electron-forge/plugin-base/-/plugin-base-7.8.0.tgz#bb617781c28b99d2b65d6f2e66679b245d388e78" @@ -4365,17 +4276,6 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@react-scan/vite-plugin-react-scan@0.1.8": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@react-scan/vite-plugin-react-scan/-/vite-plugin-react-scan-0.1.8.tgz#b38bd331b152dd281aeb1a068802ab731e18126e" - integrity sha512-szKSp6zgseIKtQzvuRQ8OXo4VdBpH663fG7ce0KBFKRyyRvAVq3/Oho9YaPon42ludX+Cfw/3zVfAzcuZZvs9w== - dependencies: - "@babel/core" "^7.26.0" - "@babel/plugin-transform-react-jsx" "^7.25.9" - "@babel/preset-typescript" "^7.23.3" - babel-plugin-add-react-displayname "^0.0.5" - cheerio "^1.0.0" - "@react-spring/animated@~9.7.5": version "9.7.5" resolved "https://registry.yarnpkg.com/@react-spring/animated/-/animated-9.7.5.tgz#eb0373aaf99b879736b380c2829312dae3b05f28" @@ -4521,15 +4421,6 @@ "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" -"@rollup/plugin-inject@^5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz#616f3a73fe075765f91c5bec90176608bed277a3" - integrity sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg== - dependencies: - "@rollup/pluginutils" "^5.0.1" - estree-walker "^2.0.2" - magic-string "^0.30.3" - "@rollup/plugin-node-resolve@^15.2.3": version "15.3.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz#66008953c2524be786aa319d49e32f2128296a78" @@ -5607,7 +5498,7 @@ assert@2.0.0: object-is "^1.0.1" util "^0.12.0" -assert@2.1.0, assert@^2.0.0: +assert@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== @@ -5674,11 +5565,6 @@ axios@1.13.5, axios@^1.13.2, axios@^1.7.2: form-data "^4.0.5" proxy-from-env "^1.1.0" -babel-plugin-add-react-displayname@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5" - integrity sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw== - babel-plugin-polyfill-corejs2@^0.4.14: version "0.4.14" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f" @@ -5996,13 +5882,6 @@ browser-readablestream-to-it@^2.0.0, browser-readablestream-to-it@^2.0.5, browse resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-2.0.10.tgz#e37098be227623af21ee815af74d43ffb9307a6d" integrity sha512-I/9hEcRtjct8CzD9sVo9Mm4ntn0D+7tOVrjbPl69XAoOfgJ8NBdOQU+WX+5SHhcELJDb14mWt7zuvyqha+MEAQ== -browser-resolve@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-2.0.0.tgz#99b7304cb392f8d73dba741bb2d7da28c6d7842b" - integrity sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ== - dependencies: - resolve "^1.17.0" - browserify-aes@^1.0.4, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -6065,13 +5944,6 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.24.0, browserslist@^4.26.3: version "4.26.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.26.3.tgz#40fbfe2d1cd420281ce5b1caa8840049c79afb56" @@ -6138,7 +6010,7 @@ buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -buffer@^5.2.1, buffer@^5.5.0, buffer@^5.7.1: +buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -6158,11 +6030,6 @@ bufferutil@^4.0.1: dependencies: node-gyp-build "^4.3.0" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - cacache@19.0.1, cacache@^15.2.0, cacache@^16.1.0: version "19.0.1" resolved "https://registry.yarnpkg.com/cacache/-/cacache-19.0.1.tgz#3370cc28a758434c85c2585008bd5bdcff17d6cd" @@ -6334,23 +6201,6 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.1.2.tgz#26af77e89336c81c63ea83197f868b4cbd351369" - integrity sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg== - dependencies: - cheerio-select "^2.1.0" - dom-serializer "^2.0.0" - domhandler "^5.0.3" - domutils "^3.2.2" - encoding-sniffer "^0.2.1" - htmlparser2 "^10.0.0" - parse5 "^7.3.0" - parse5-htmlparser2-tree-adapter "^7.1.0" - parse5-parser-stream "^7.1.2" - undici "^7.12.0" - whatwg-mimetype "^4.0.0" - cheerio@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.2.0.tgz#f23b777c49021ead7475dcf3390d3535a7f896d6" @@ -6641,21 +6491,11 @@ concurrently@8.0.1: tree-kill "^1.2.2" yargs "^17.7.1" -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - conventional-changelog-angular@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" @@ -6885,11 +6725,6 @@ create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - cross-dirname@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cross-dirname/-/cross-dirname-0.1.0.tgz#b899599f30a5389f59e78c150e19f957ad16a37c" @@ -6934,7 +6769,7 @@ cross-zip@^4.0.0: resolved "https://registry.yarnpkg.com/cross-zip/-/cross-zip-4.0.1.tgz#1bbf5d3b0e5a77b5f5ca130a6d38f770786e1270" integrity sha512-n63i0lZ0rvQ6FXiGQ+/JFCKAUyPFhLQYJIqKaa+tSJtfKeULF/IDNDAbdnSIxgS4NTuw2b0+lj8LzfITuq+ZxQ== -crypto-browserify@3.12.1, crypto-browserify@^3.12.1: +crypto-browserify@3.12.1: version "3.12.1" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac" integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ== @@ -7380,11 +7215,6 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -domain-browser@4.22.0: - version "4.22.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" - integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== - domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" @@ -7397,7 +7227,7 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -domutils@^3.0.1, domutils@^3.2.1, domutils@^3.2.2: +domutils@^3.0.1, domutils@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== @@ -7952,7 +7782,7 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.0.0, events@^3.3.0: +events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -8976,16 +8806,6 @@ html-parse-stringify@^3.0.1: dependencies: void-elements "3.1.0" -htmlparser2@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-10.0.0.tgz#77ad249037b66bf8cc99c6e286ef73b83aeb621d" - integrity sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.3" - domutils "^3.2.1" - entities "^6.0.0" - htmlparser2@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-10.1.0.tgz#fe3f2e12c73b6e462d4e10395db9c1119e4d6ae4" @@ -9044,11 +8864,6 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -9852,11 +9667,6 @@ isomorphic-fetch@3.0.0: node-fetch "^2.6.1" whatwg-fetch "^3.4.1" -isomorphic-timers-promises@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz#e4137c24dbc54892de8abae3a4b5c1ffff381598" - integrity sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ== - isomorphic-ws@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" @@ -10918,13 +10728,6 @@ magic-string@^0.30.21: dependencies: "@jridgewell/sourcemap-codec" "^1.5.5" -magic-string@^0.30.3: - version "0.30.19" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.19.tgz#cebe9f104e565602e5d2098c5f2e79a77cc86da9" - integrity sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.5" - magicast@^0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/magicast/-/magicast-0.5.2.tgz#70cea9df729c164485049ea5df85a390281dfb9d" @@ -11650,39 +11453,6 @@ node-releases@^2.0.21: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.25.tgz#95479437bd409231e03981c1f6abee67f5e962df" integrity sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA== -node-stdlib-browser@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz#f41fa554f720a3df951e40339f4d92ac512222ac" - integrity sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw== - dependencies: - assert "^2.0.0" - browser-resolve "^2.0.0" - browserify-zlib "^0.2.0" - buffer "^5.7.1" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - create-require "^1.1.1" - crypto-browserify "^3.12.1" - domain-browser "4.22.0" - events "^3.0.0" - https-browserify "^1.0.0" - isomorphic-timers-promises "^1.0.1" - os-browserify "^0.3.0" - path-browserify "^1.0.1" - pkg-dir "^5.0.0" - process "^0.11.10" - punycode "^1.4.1" - querystring-es3 "^0.2.1" - readable-stream "^3.6.0" - stream-browserify "^3.0.0" - stream-http "^3.2.0" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.1" - url "^0.11.4" - util "^0.12.4" - vm-browserify "^1.0.1" - nofilter@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" @@ -11886,11 +11656,6 @@ ora@^9.3.0: stdin-discarder "^0.3.1" string-width "^8.1.0" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - own-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" @@ -12193,11 +11958,6 @@ pako@^0.2.5, pako@~0.2.0: resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -12310,11 +12070,6 @@ parse5@^8.0.0: dependencies: entities "^6.0.0" -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -12699,11 +12454,6 @@ pumpify@^1.3.3: inherits "^2.0.3" pump "^2.0.0" -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - punycode@^2.1.0, punycode@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -12728,18 +12478,13 @@ pvutils@^1.1.3: resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.5.tgz#84b0dea4a5d670249aa9800511804ee0b7c2809c" integrity sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA== -qs@6.15.0, qs@^6.12.3: +qs@6.15.0: version "6.15.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.0.tgz#db8fd5d1b1d2d6b5b33adaf87429805f1909e7b3" integrity sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ== dependencies: side-channel "^1.1.0" -querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -13187,7 +12932,7 @@ resolve@^1.1.6, resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.10.0, resolve@^1.17.0, resolve@^1.22.1, resolve@^1.22.10: +resolve@^1.10.0, resolve@^1.22.1, resolve@^1.22.10: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -13558,11 +13303,6 @@ set-proto@^1.0.0: es-errors "^1.3.0" es-object-atoms "^1.0.0" -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - sha.js@^2.4.0, sha.js@^2.4.12, sha.js@^2.4.8: version "2.4.12" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.12.tgz#eb8b568bf383dfd1867a32c3f2b74eb52bdbf23f" @@ -13961,7 +13701,7 @@ stop-iteration-iterator@^1.1.0: es-errors "^1.3.0" internal-slot "^1.1.0" -stream-browserify@3.0.0, stream-browserify@^3.0.0: +stream-browserify@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== @@ -13979,16 +13719,6 @@ stream-chain@^2.2.5: resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== -stream-http@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.2.0.tgz#1872dfcf24cb15752677e40e5c3f9cc1926028b5" - integrity sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.4" - readable-stream "^3.6.0" - xtend "^4.0.2" - stream-json@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/stream-json/-/stream-json-1.9.1.tgz#e3fec03e984a503718946c170db7d74556c2a187" @@ -14113,7 +13843,7 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0: +string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -14430,13 +14160,6 @@ time-span@^5.1.0: dependencies: convert-hrtime "^5.0.0" -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - timers-ext@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.8.tgz#b4e442f10b7624a29dd2aa42c295e257150cf16c" @@ -14637,11 +14360,6 @@ tsyringe@^4.10.0: dependencies: tslib "^1.9.3" -tty-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" - integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -14857,7 +14575,7 @@ undici-types@~7.18.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== -undici@^7.12.0, undici@^7.16.0, undici@^7.18.2, undici@^7.19.0: +undici@^7.16.0, undici@^7.18.2, undici@^7.19.0: version "7.18.2" resolved "https://registry.yarnpkg.com/undici/-/undici-7.18.2.tgz#6cf724ef799a67d94fd55adf66b1e184176efcdf" integrity sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw== @@ -15012,14 +14730,6 @@ update-browserslist-db@^1.1.3: escalade "^3.2.0" picocolors "^1.1.1" -url@^0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c" - integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg== - dependencies: - punycode "^1.4.1" - qs "^6.12.3" - use-sync-external-store@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" @@ -15055,7 +14765,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util@^0.12.0, util@^0.12.4, util@^0.12.5: +util@^0.12.0, util@^0.12.5: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -15113,14 +14823,6 @@ viem@2.45.0: ox "0.11.3" ws "8.18.3" -vite-plugin-node-polyfills@0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.24.0.tgz#4a2e984bba134017fc88cace0149cf8afdb50b54" - integrity sha512-GA9QKLH+vIM8NPaGA+o2t8PDfFUl32J8rUp1zQfMKVJQiNkOX4unE51tR6ppl6iKw5yOrDAdSH7r/UIFLCVhLw== - dependencies: - "@rollup/plugin-inject" "^5.0.5" - node-stdlib-browser "^1.2.0" - vite-plugin-pwa@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-1.2.0.tgz#3c7de17d4eed662f273095a0ac52f7a98d0cde36" @@ -15173,11 +14875,6 @@ vitest@4.0.15: vite "^6.0.0 || ^7.0.0" why-is-node-running "^2.3.0" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - void-elements@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" @@ -15635,7 +15332,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==