From 388c7576ef8fbfa3039590e96db982d22e58e4d9 Mon Sep 17 00:00:00 2001 From: Spencer Spenst Date: Sat, 16 Dec 2023 17:33:54 -0800 Subject: [PATCH] misc cleanup --- components/cards/levelSelect.tsx | 1 - .../collection/collectionScrollList.tsx | 3 +- components/header/notifications.tsx | 5 +- components/profile/playHistory.tsx | 1 - contexts/appContext.ts | 4 +- helpers/filterSelectOptions.ts | 2 +- helpers/notificationHelper.ts | 3 - models/selectOption.ts | 2 +- package-lock.json | 518 +++++++++--------- package.json | 22 +- pages/api/notification/index.ts | 10 +- pages/collection/[username]/[slugName].tsx | 1 - pages/profile/[name]/[[...tab]]/index.tsx | 2 +- server/socket/socket-server.ts | 7 +- tests/helpers/helpers.test.ts | 4 - 15 files changed, 289 insertions(+), 296 deletions(-) diff --git a/components/cards/levelSelect.tsx b/components/cards/levelSelect.tsx index 0dfa0c665..254436a3b 100644 --- a/components/cards/levelSelect.tsx +++ b/components/cards/levelSelect.tsx @@ -27,7 +27,6 @@ export default function LevelSelect({ levels }: LevelSelectProps) { id: level._id.toString(), level: level, stats: new SelectOptionStats(level.leastMoves, level.userMoves), - searchLabel: level.name, text: level.name, } as SelectOption; })} /> diff --git a/components/collection/collectionScrollList.tsx b/components/collection/collectionScrollList.tsx index 29c6b098e..fdd8c3d9b 100644 --- a/components/collection/collectionScrollList.tsx +++ b/components/collection/collectionScrollList.tsx @@ -196,9 +196,8 @@ export default function CollectionScrollList({ collection, id, isHidden, onLoadi href: href, id: `${id}-${levelInCollection._id.toString()}`, level: levelInCollection, - text: levelInCollection.name, - searchLabel: levelInCollection.name, stats: new SelectOptionStats(levelInCollection.leastMoves, (levelInCollection as EnrichedLevel)?.userMoves), + text: levelInCollection.name, width: 216, }} /> diff --git a/components/header/notifications.tsx b/components/header/notifications.tsx index f201f5162..f96c9d9be 100644 --- a/components/header/notifications.tsx +++ b/components/header/notifications.tsx @@ -6,7 +6,7 @@ import { AppContext } from '../../contexts/appContext'; import NotificationList from '../notification/notificationList'; export default function Notifications() { - const { user, notifications, setNotifications } = useContext(AppContext); + const { notifications, setNotifications, user } = useContext(AppContext); useEffect(() => { if (user) { @@ -20,8 +20,7 @@ export default function Notifications() { return ( - { - }} aria-label='notifications'> +
diff --git a/components/profile/playHistory.tsx b/components/profile/playHistory.tsx index 1abb92b69..4db7ce55d 100644 --- a/components/profile/playHistory.tsx +++ b/components/profile/playHistory.tsx @@ -198,7 +198,6 @@ export default function PlayHistory() { href: `/level/${level.slug}`, id: playAttempt.levelId._id.toString() + '-' + playAttempt._id.toString(), level: level, - searchLabel: level.name, stats: new SelectOptionStats(level.leastMoves, level.userMoves), text: level.name, }} /> diff --git a/contexts/appContext.ts b/contexts/appContext.ts index 1b294a702..b5d2f36df 100644 --- a/contexts/appContext.ts +++ b/contexts/appContext.ts @@ -10,10 +10,10 @@ import { MultiplayerSocket } from '../pages/_app'; interface AppContextInterface { deviceInfo: DeviceInfo; forceUpdate: () => void; - notifications: Notification[]; multiplayerSocket: MultiplayerSocket; mutatePlayLater: () => void; mutateUser: KeyedMutator; + notifications: Notification[]; playLater?: { [key: string]: boolean }; setNotifications: React.Dispatch>; setShouldAttemptAuth: React.Dispatch>; @@ -38,7 +38,6 @@ export const AppContext = createContext({ screenSize: ScreenSize.SM, }, forceUpdate: () => { return; }, - notifications: [], multiplayerSocket: { connectedPlayers: [], connectedPlayersCount: 0, @@ -48,6 +47,7 @@ export const AppContext = createContext({ }, mutatePlayLater: () => { return; }, mutateUser: {} as KeyedMutator, + notifications: [], playLater: undefined, setNotifications: () => { return; }, setShouldAttemptAuth: () => { return; }, diff --git a/helpers/filterSelectOptions.ts b/helpers/filterSelectOptions.ts index 4c0619dca..01f7c7a3a 100644 --- a/helpers/filterSelectOptions.ts +++ b/helpers/filterSelectOptions.ts @@ -15,7 +15,7 @@ export default function filterSelectOptions( } if (filterText.length > 0) { - options = options.filter((option: SelectOption) => (option.searchLabel)?.toLowerCase().includes(filterText.toLowerCase())); + options = options.filter((option: SelectOption) => (option.searchLabel ?? option.text?.toString())?.toLowerCase().includes(filterText.toLowerCase())); } return options; diff --git a/helpers/notificationHelper.ts b/helpers/notificationHelper.ts index c94fc8a0b..4e9dd5c48 100644 --- a/helpers/notificationHelper.ts +++ b/helpers/notificationHelper.ts @@ -54,7 +54,6 @@ export async function createNewWallPostNotification(gameId: GameId, type: Notifi userId: userId, }]), queuePushNotification(id), - ]); await requestBroadcastNotifications(new Types.ObjectId(userId)); // needs to happen after creating the notif @@ -226,7 +225,6 @@ export async function createNewLevelAddedToCollectionNotification(gameId: GameId const [nm,] = await Promise.all([ await NotificationModel.create(createRecords), ...ids.map(id => queuePushNotification(id)), - ]); await requestBroadcastNotifications(new Types.ObjectId(level.userId)); // needs to happen after creating the notif @@ -296,7 +294,6 @@ export async function createNewRecordOnALevelYouSolvedNotifications(gameId: Game const [nm, ] = await Promise.all([ NotificationModel.create(createRecords, options), ...ids.map(id => queuePushNotification(id)), - ]); await Promise.all(userIds.map(userId => requestBroadcastNotifications(new Types.ObjectId(userId)))); // needs to happen after creating the notif diff --git a/models/selectOption.ts b/models/selectOption.ts index 8d1b92ad0..cff7d6cb2 100644 --- a/models/selectOption.ts +++ b/models/selectOption.ts @@ -11,8 +11,8 @@ interface SelectOption { id: string; level?: EnrichedLevel | undefined; onClick?: () => void; + searchLabel?: string; // text to search on, since text field is a react node (default is text?.toString()) stats?: SelectOptionStats | undefined; - searchLabel: string; // text to search on, since text field is a react node with private/public lock stuff text: React.ReactNode; width?: number; } diff --git a/package-lock.json b/package-lock.json index 8400b9a60..753c43ae0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,8 @@ "name": "pathology", "version": "0.1.0", "dependencies": { - "@aws-sdk/client-ses": "^3.470.0", - "@aws-sdk/credential-provider-node": "^3.465.0", + "@aws-sdk/client-ses": "^3.474.0", + "@aws-sdk/credential-provider-node": "^3.474.0", "@growthbook/growthbook-react": "^0.21.0", "@headlessui/react": "^1.7.17", "@headlessui/tailwindcss": "^0.2.0", @@ -27,7 +27,7 @@ "module-alias": "^2.2.3", "moment": "^2.29.4", "mongoose": "^8.0.3", - "newrelic": "^11.6.1", + "newrelic": "^11.7.0", "next": "^14.0.4", "next-seo": "^6.4.0", "next-themes": "^0.2.1", @@ -54,6 +54,7 @@ "request-ip": "^3.3.0", "sharp": "^0.33.0", "socket.io": "^4.7.2", + "socket.io-client": "^4.7.2", "stripe": "^12.18.0", "swr": "^2.2.4", "throttle-debounce": "^5.0.0", @@ -61,7 +62,7 @@ "winston": "^3.11.0" }, "devDependencies": { - "@babel/preset-env": "^7.23.5", + "@babel/preset-env": "^7.23.6", "@babel/preset-react": "^7.23.3", "@testing-library/jest-dom": "^6.1.5", "@testing-library/react": "^14.1.2", @@ -79,21 +80,21 @@ "@types/node": "^20.10.4", "@types/nodemailer": "^6.4.14", "@types/nprogress": "^0.2.3", - "@types/react": "^18.2.42", - "@types/react-dom": "^18.2.17", + "@types/react": "^18.2.45", + "@types/react-dom": "^18.2.18", "@types/react-google-recaptcha": "^2.1.8", "@types/react-gtm-module": "^2.0.3", - "@types/recharts": "^1.8.28", + "@types/recharts": "^1.8.29", "@types/request-ip": "^0.0.41", "@types/throttle-debounce": "^5.0.2", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.13.2", - "@typescript-eslint/parser": "^6.13.2", + "@typescript-eslint/eslint-plugin": "^6.14.0", + "@typescript-eslint/parser": "^6.14.0", "autoprefixer": "^10.4.16", "babel-jest": "^29.7.0", "classnames": "^2.3.2", "cli-progress": "^3.12.0", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-config-next": "^14.0.4", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", @@ -107,7 +108,6 @@ "next-test-api-route-handler": "^3.1.10", "postcss": "^8.4.32", "react-test-renderer": "^18.2.0", - "socket.io-client": "^4.7.2", "tailwindcss": "^3.3.6", "ts-jest": "^29.1.1", "ts-node": "^10.9.2", @@ -246,16 +246,16 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.470.0.tgz", - "integrity": "sha512-oE665xfl/KwvbcNtvUxMCKwh+X3wOV5UgPrPSptK+DzUJbtL4FAP7h6QIVzUB5CkzqhQVRAmYvdf+XhfXz3T3g==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.474.0.tgz", + "integrity": "sha512-vdO5eiJI8VnIKku/RNkj49MR4PnRFtSkIFGFRRuMIx64TiduHaA7cJfj43Kpw68/Gq1HS4fuoj/Y41xm0QZKdg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.470.0", - "@aws-sdk/core": "3.468.0", - "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/client-sts": "3.474.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", "@aws-sdk/middleware-host-header": "3.468.0", "@aws-sdk/middleware-logger": "3.468.0", "@aws-sdk/middleware-recursion-detection": "3.468.0", @@ -296,15 +296,15 @@ } }, "node_modules/@aws-sdk/client-lambda": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.470.0.tgz", - "integrity": "sha512-GW606+1Vt4+Cd3fpKnvIU9laBBJrdOo1y3DmpwTQ7V03u8G/36alWVSFC3RspsANpt+PQj9A45LdDrVsCx0LEQ==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.474.0.tgz", + "integrity": "sha512-/E3xC6XyfcnEaajxX3wc0u6qaVoWjmQxxU3hsh7XAMd4uxZY47L+cFiDMhZ3CqlOi2cwlL5sFhyxK3i5e24X9A==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.470.0", - "@aws-sdk/core": "3.468.0", - "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/client-sts": "3.474.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", "@aws-sdk/middleware-host-header": "3.468.0", "@aws-sdk/middleware-logger": "3.468.0", "@aws-sdk/middleware-recursion-detection": "3.468.0", @@ -350,15 +350,15 @@ } }, "node_modules/@aws-sdk/client-ses": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ses/-/client-ses-3.470.0.tgz", - "integrity": "sha512-jf9MGfahQUfliiOnOXgXtzYVfAY9F0+jKsPtidBRIDEm2829oyOt5K+wuUKxSrb1vFFE3OadC1JRSHs4bMxzAQ==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ses/-/client-ses-3.474.0.tgz", + "integrity": "sha512-eb4/xbaBN9N2e5WgnTqNnNa7hX/boxU9OKlyJkcTW/PjvQKsSwlyq9ie1NPjcQKLlZM9hCRy2d1h/GULlXCnRg==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.470.0", - "@aws-sdk/core": "3.468.0", - "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/client-sts": "3.474.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", "@aws-sdk/middleware-host-header": "3.468.0", "@aws-sdk/middleware-logger": "3.468.0", "@aws-sdk/middleware-recursion-detection": "3.468.0", @@ -401,13 +401,13 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.470.0.tgz", - "integrity": "sha512-iMXqdXuypE3OK0rggbvSz7vBGlLDG418dNidHhdaeLluMTG/GfHbh1fLOlavhYxRwrsPrtYvFiVkxXFGzXva4w==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.474.0.tgz", + "integrity": "sha512-6toUmQUIHkDM/P2/nyLEO/mcWOIPByTlegqX9VCHhYh9Fs5MDT2nit7I6fZzBjZjB5oVTwKjbzgxae9cE3bhqw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.468.0", + "@aws-sdk/core": "3.474.0", "@aws-sdk/middleware-host-header": "3.468.0", "@aws-sdk/middleware-logger": "3.468.0", "@aws-sdk/middleware-recursion-detection": "3.468.0", @@ -447,19 +447,17 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.470.0.tgz", - "integrity": "sha512-TP3A4t8FoFEQinm6axxduTUnlMMLpmLi4Sf00JTI2CszxLUFh/JyUhYQ5gSOoXgPFmfwVXUNKCtmR3jdP0ZGPw==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.474.0.tgz", + "integrity": "sha512-qPPMbrDVAUJgYiFWVewFG7dg0VyMfuGNNK4IC1nZr0eXejUTbdm8cio6IZ8OkWtK+A+L+wx1vX5686WYVgQ0dQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.468.0", - "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/core": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", "@aws-sdk/middleware-host-header": "3.468.0", "@aws-sdk/middleware-logger": "3.468.0", "@aws-sdk/middleware-recursion-detection": "3.468.0", - "@aws-sdk/middleware-sdk-sts": "3.468.0", - "@aws-sdk/middleware-signing": "3.468.0", "@aws-sdk/middleware-user-agent": "3.470.0", "@aws-sdk/region-config-resolver": "3.470.0", "@aws-sdk/types": "3.468.0", @@ -467,6 +465,7 @@ "@aws-sdk/util-user-agent-browser": "3.468.0", "@aws-sdk/util-user-agent-node": "3.470.0", "@smithy/config-resolver": "^2.0.21", + "@smithy/core": "^1.1.0", "@smithy/fetch-http-handler": "^2.3.1", "@smithy/hash-node": "^2.0.17", "@smithy/invalid-dependency": "^2.0.15", @@ -487,6 +486,7 @@ "@smithy/util-defaults-mode-browser": "^2.0.22", "@smithy/util-defaults-mode-node": "^2.0.29", "@smithy/util-endpoints": "^1.0.7", + "@smithy/util-middleware": "^2.0.8", "@smithy/util-retry": "^2.0.8", "@smithy/util-utf8": "^2.0.2", "fast-xml-parser": "4.2.5", @@ -497,11 +497,15 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.468.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.468.0.tgz", - "integrity": "sha512-ezUJR9VvknKoXzNZ4wvzGi1jdkmm+/1dUYQ9Sw4r8bzlJDTsUnWbyvaDlBQh81RuhLtVkaUfTnQKoec0cwlZKQ==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.474.0.tgz", + "integrity": "sha512-eVRdeB+AoTNSzfc4viHfr0jfkHujSlf4ToExJtTuxS1wlgmIyyxRNrVKxbf0K78YK/TXRsRlJPoS5QCD5h1S2w==", "dependencies": { + "@smithy/core": "^1.1.0", + "@smithy/protocol-http": "^3.0.11", + "@smithy/signature-v4": "^2.0.0", "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", "tslib": "^2.5.0" }, "engines": { @@ -509,12 +513,12 @@ } }, "node_modules/@aws-sdk/credential-provider-cognito-identity": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.470.0.tgz", - "integrity": "sha512-c0YtiBbg4z/4iLnn3gtUtGKBZMQLRk79LjzCN6x98MpIsRTeEBL+4BHYNwFb8C+S4wVDYh2OWqjw1Su6Ues3Wg==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.474.0.tgz", + "integrity": "sha512-YD0AHBSXlGXv5cU7BZ0oXWUNCnhW4pyun/M9XsDlU9ptdJDyYa860bsfM6JCs3TwMqMOc+OXOzJMJdsibmR9Pg==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.470.0", + "@aws-sdk/client-cognito-identity": "3.474.0", "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", "@smithy/types": "^2.7.0", @@ -559,13 +563,13 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.470.0.tgz", - "integrity": "sha512-eF22iPO6J2jY+LbuTv5dW0hZBmi6ksRDFFd/zT6TLasrzH2Ex+gAfN3c7rFHF+XAubL0JXFUKFA3UAwoZpO9Zg==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.474.0.tgz", + "integrity": "sha512-3Y2fHI4ZCNjdOO47Vh/xBgLXOrKm3KwBkYkBKKT2g02FUGNT8NLjJg8WBo3D4RQX2h34qx4mtW5nTY6YcGP80Q==", "dependencies": { "@aws-sdk/credential-provider-env": "3.468.0", "@aws-sdk/credential-provider-process": "3.468.0", - "@aws-sdk/credential-provider-sso": "3.470.0", + "@aws-sdk/credential-provider-sso": "3.474.0", "@aws-sdk/credential-provider-web-identity": "3.468.0", "@aws-sdk/types": "3.468.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -579,14 +583,14 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.470.0.tgz", - "integrity": "sha512-paySXwzGxBVU+2cVUkRIXafKhYhtO2fJJ3MotR6euvRONK/dta+bhEc5Z4QnTo/gNLoELK/QUC0EGoF+oPfk8g==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.474.0.tgz", + "integrity": "sha512-3OVVVGnb8Ru5hWeeHkg76YZT5mrufweIiWr6ge5zn7FYxc7WkyqIJ0XehqUqG5VQfaYhqh7uq/zmk8OE2B04lQ==", "dependencies": { "@aws-sdk/credential-provider-env": "3.468.0", - "@aws-sdk/credential-provider-ini": "3.470.0", + "@aws-sdk/credential-provider-ini": "3.474.0", "@aws-sdk/credential-provider-process": "3.468.0", - "@aws-sdk/credential-provider-sso": "3.470.0", + "@aws-sdk/credential-provider-sso": "3.474.0", "@aws-sdk/credential-provider-web-identity": "3.468.0", "@aws-sdk/types": "3.468.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -615,11 +619,11 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.470.0.tgz", - "integrity": "sha512-biGDSh9S9KDR9Tl/8cCPn9g5KPNkXg/CIJIOk3X+6valktbJ2UVYBzi0ZX4vZiudt5ry/Hsu6Pgo+KN1AmBWdg==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.474.0.tgz", + "integrity": "sha512-ik4rzhQtcRLSHB/MLQfi/dSpILxPd3zITb79DIEnqT3gpZRNjoARkZ3Hi68pujkU2530NYf8NcFwLCWoV1hS7Q==", "dependencies": { - "@aws-sdk/client-sso": "3.470.0", + "@aws-sdk/client-sso": "3.474.0", "@aws-sdk/token-providers": "3.470.0", "@aws-sdk/types": "3.468.0", "@smithy/property-provider": "^2.0.0", @@ -646,21 +650,21 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.470.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.470.0.tgz", - "integrity": "sha512-aCI/z6L+LwPSUHTsf27WMs3Z7Dfg1idgEOtf0dCkk+T1SZnJA0D/JS0KjQag9rIuqYQsxewx6RCIHus5WJ3czA==", + "version": "3.474.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.474.0.tgz", + "integrity": "sha512-n4NG2Y1kgt6cTT7QZhGgTAbzw83tTDoKSNAcHDzLNKRmtEAf3aSX/lBMrBAovsrDWr6FF8saKEHfEv1XhP8ewA==", "optional": true, "dependencies": { - "@aws-sdk/client-cognito-identity": "3.470.0", - "@aws-sdk/client-sso": "3.470.0", - "@aws-sdk/client-sts": "3.470.0", - "@aws-sdk/credential-provider-cognito-identity": "3.470.0", + "@aws-sdk/client-cognito-identity": "3.474.0", + "@aws-sdk/client-sso": "3.474.0", + "@aws-sdk/client-sts": "3.474.0", + "@aws-sdk/credential-provider-cognito-identity": "3.474.0", "@aws-sdk/credential-provider-env": "3.468.0", "@aws-sdk/credential-provider-http": "3.468.0", - "@aws-sdk/credential-provider-ini": "3.470.0", - "@aws-sdk/credential-provider-node": "3.470.0", + "@aws-sdk/credential-provider-ini": "3.474.0", + "@aws-sdk/credential-provider-node": "3.474.0", "@aws-sdk/credential-provider-process": "3.468.0", - "@aws-sdk/credential-provider-sso": "3.470.0", + "@aws-sdk/credential-provider-sso": "3.474.0", "@aws-sdk/credential-provider-web-identity": "3.468.0", "@aws-sdk/types": "3.468.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -713,20 +717,6 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.468.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.468.0.tgz", - "integrity": "sha512-xRy8NKfHbmafHwdbotdWgHBvRs0YZgk20GrhFJKp43bkqVbJ5bNlh3nQXf1DeFY9fARR84Bfotya4fwCUHWgZg==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.468.0", - "@aws-sdk/types": "3.468.0", - "@smithy/types": "^2.7.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/middleware-signing": { "version": "3.468.0", "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.468.0.tgz", @@ -920,21 +910,21 @@ } }, "node_modules/@babel/core": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", - "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.6.tgz", + "integrity": "sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.5", - "@babel/parser": "^7.23.5", + "@babel/helpers": "^7.23.6", + "@babel/parser": "^7.23.6", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.5", - "@babel/types": "^7.23.5", + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -950,12 +940,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", - "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/types": "^7.23.5", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -989,14 +979,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -1005,9 +995,9 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz", - "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz", + "integrity": "sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", @@ -1045,9 +1035,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -1267,14 +1257,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", - "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.6.tgz", + "integrity": "sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.5", - "@babel/types": "^7.23.5" + "@babel/traverse": "^7.23.6", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" @@ -1294,9 +1284,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", - "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1889,12 +1879,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", - "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2480,13 +2471,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz", - "integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.6.tgz", + "integrity": "sha512-2XPn/BqKkZCpzYhUUNZ1ssXw7DcXfKQEjv/uXZUXgaebCMYmkEsfZ2yY+vv+xtXv50WmL5SGhyB6/xsWxIvvOQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-compilation-targets": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.23.5", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", @@ -2526,7 +2517,7 @@ "@babel/plugin-transform-dynamic-import": "^7.23.4", "@babel/plugin-transform-exponentiation-operator": "^7.23.3", "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.6", "@babel/plugin-transform-function-name": "^7.23.3", "@babel/plugin-transform-json-strings": "^7.23.4", "@babel/plugin-transform-literals": "^7.23.3", @@ -2614,9 +2605,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", - "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2639,20 +2630,20 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", - "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.6.tgz", + "integrity": "sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", + "@babel/generator": "^7.23.6", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.5", - "@babel/types": "^7.23.5", - "debug": "^4.1.0", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -2660,9 +2651,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", - "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -2931,9 +2922,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2970,9 +2961,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3242,9 +3233,9 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.9.12", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.12.tgz", - "integrity": "sha512-Um5MBuge32TS3lAKX02PGCnFM4xPT996yLgZNb5H03pn6NyJ4Iwn5YcPq6Jj9yxGRk7WOgaZFtVRH5iTdYBeUg==", + "version": "1.9.13", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.13.tgz", + "integrity": "sha512-OEZZu9v9AA+7/tghMDE8o5DAMD5THVnwSqDWuh7PPYO5287rTyqy0xEHT6/e4pbqSrhyLPdQFsam4TwFQVVIIw==", "dependencies": { "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" @@ -5048,9 +5039,9 @@ "integrity": "sha512-/RVXdLvJxLg4QKvMoM5WlwNR9ViO9z8B/qPcc+C0Sa/teJY7QG7kJ441DwzOjMYEY7GmU4dj5EcGHIkKZiQZCA==" }, "node_modules/@rushstack/eslint-patch": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.0.tgz", - "integrity": "sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.1.tgz", + "integrity": "sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==", "dev": true }, "node_modules/@selderee/plugin-htmlparser2": { @@ -5117,6 +5108,23 @@ "node": ">=14.0.0" } }, + "node_modules/@smithy/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.1.0.tgz", + "integrity": "sha512-k1zaT5S4K0bG67Q5TmPZ6PdWNQBTMQErChuDvTi+NTx21kKDt+/4YRidsK6nDbHizN6fn1bafUxrougZdKrpxA==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.2.3", + "@smithy/middleware-retry": "^2.0.24", + "@smithy/middleware-serde": "^2.0.15", + "@smithy/protocol-http": "^3.0.11", + "@smithy/smithy-client": "^2.1.18", + "@smithy/types": "^2.7.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@smithy/credential-provider-imds": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.4.tgz", @@ -5415,9 +5423,9 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.17.tgz", - "integrity": "sha512-ru5IUbHUAYgJ5ZqZaBi6PEsMjFT/do0Eu21Qt7b07NuRuPlwAMhlqNRDy/KE9QAF20ygehb+xe9ebmyZ26/BSA==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.18.tgz", + "integrity": "sha512-SJRAj9jT/l9ocm8D0GojMbnA1sp7I4JeStOQ4lEXI8A5eHE73vbjlzlqIFB7cLvIgau0oUl4cGVpF9IGCrvjlw==", "dependencies": { "@smithy/eventstream-codec": "^2.0.15", "@smithy/is-array-buffer": "^2.0.0", @@ -5973,9 +5981,9 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz", - "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==", + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "dependencies": { "@babel/types": "^7.0.0" @@ -6336,9 +6344,9 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.2.43", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.43.tgz", - "integrity": "sha512-nvOV01ZdBdd/KW6FahSbcNplt2jCJfyWdTos61RYHV+FVv5L/g9AOX1bmbVcWcLFL8+KHQfh1zVIQrud6ihyQA==", + "version": "18.2.45", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.45.tgz", + "integrity": "sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -6346,9 +6354,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.2.17", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz", - "integrity": "sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==", + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", "dev": true, "dependencies": { "@types/react": "*" @@ -6378,9 +6386,9 @@ } }, "node_modules/@types/recharts": { - "version": "1.8.28", - "resolved": "https://registry.npmjs.org/@types/recharts/-/recharts-1.8.28.tgz", - "integrity": "sha512-31D+dVBdVMtBnRMOjfM9210oRsclujQetwDNnCfapy/gF1BruvQkiK9WZ2ZMqDZY2xnDpIV8sWjISBcY+wgkLw==", + "version": "1.8.29", + "resolved": "https://registry.npmjs.org/@types/recharts/-/recharts-1.8.29.tgz", + "integrity": "sha512-ulKklaVsnFIIhTQsQw226TnOibrddW1qUQNFVhoQEyY1Z7FRQrNecFCGt7msRuJseudzE9czVawZb17dK/aPXw==", "dev": true, "dependencies": { "@types/d3-shape": "^1", @@ -6519,16 +6527,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz", - "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz", + "integrity": "sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.13.2", - "@typescript-eslint/type-utils": "6.13.2", - "@typescript-eslint/utils": "6.13.2", - "@typescript-eslint/visitor-keys": "6.13.2", + "@typescript-eslint/scope-manager": "6.14.0", + "@typescript-eslint/type-utils": "6.14.0", + "@typescript-eslint/utils": "6.14.0", + "@typescript-eslint/visitor-keys": "6.14.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -6587,15 +6595,15 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz", - "integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.14.0.tgz", + "integrity": "sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.13.2", - "@typescript-eslint/types": "6.13.2", - "@typescript-eslint/typescript-estree": "6.13.2", - "@typescript-eslint/visitor-keys": "6.13.2", + "@typescript-eslint/scope-manager": "6.14.0", + "@typescript-eslint/types": "6.14.0", + "@typescript-eslint/typescript-estree": "6.14.0", + "@typescript-eslint/visitor-keys": "6.14.0", "debug": "^4.3.4" }, "engines": { @@ -6615,13 +6623,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz", - "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz", + "integrity": "sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.13.2", - "@typescript-eslint/visitor-keys": "6.13.2" + "@typescript-eslint/types": "6.14.0", + "@typescript-eslint/visitor-keys": "6.14.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6632,13 +6640,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz", - "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz", + "integrity": "sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.13.2", - "@typescript-eslint/utils": "6.13.2", + "@typescript-eslint/typescript-estree": "6.14.0", + "@typescript-eslint/utils": "6.14.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -6659,9 +6667,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz", - "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.14.0.tgz", + "integrity": "sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -6672,13 +6680,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz", - "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz", + "integrity": "sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.13.2", - "@typescript-eslint/visitor-keys": "6.13.2", + "@typescript-eslint/types": "6.14.0", + "@typescript-eslint/visitor-keys": "6.14.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -6732,17 +6740,17 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz", - "integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.14.0.tgz", + "integrity": "sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.13.2", - "@typescript-eslint/types": "6.13.2", - "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/scope-manager": "6.14.0", + "@typescript-eslint/types": "6.14.0", + "@typescript-eslint/typescript-estree": "6.14.0", "semver": "^7.5.4" }, "engines": { @@ -6790,12 +6798,12 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.13.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz", - "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz", + "integrity": "sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/types": "6.14.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -7380,13 +7388,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.4.4", "semver": "^6.3.1" }, "peerDependencies": { @@ -7394,12 +7402,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", + "@babel/helper-define-polyfill-provider": "^0.4.4", "core-js-compat": "^3.33.1" }, "peerDependencies": { @@ -7407,12 +7415,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "@babel/helper-define-polyfill-provider": "^0.4.4" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -7718,9 +7726,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001566", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", - "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "version": "1.0.30001570", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz", + "integrity": "sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==", "funding": [ { "type": "opencollective", @@ -8716,9 +8724,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.609", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.609.tgz", - "integrity": "sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==", + "version": "1.4.614", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz", + "integrity": "sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==", "dev": true }, "node_modules/emittery": { @@ -8777,7 +8785,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", - "dev": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", @@ -8790,7 +8797,6 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, "engines": { "node": ">=10.0.0" }, @@ -9039,15 +9045,15 @@ } }, "node_modules/eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", + "@eslint/js": "8.56.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -9191,9 +9197,9 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", - "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, "dependencies": { "array-includes": "^3.1.7", @@ -9212,7 +9218,7 @@ "object.groupby": "^1.0.1", "object.values": "^1.1.7", "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" @@ -9264,9 +9270,9 @@ } }, "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "dependencies": { "@types/json5": "^0.0.29", @@ -9506,9 +9512,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -10830,9 +10836,9 @@ } }, "node_modules/import-in-the-middle": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.5.0.tgz", - "integrity": "sha512-H2hqR0jImhqe9+1k8pYewDKWJHnDeRsWZk5aSztv6MIWD5glmbEOqy1JZrMUC6SJiO1M4A+nVvUUYtWzP5wPYg==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.7.2.tgz", + "integrity": "sha512-coz7AjRnPyKW36J6JX5Bjz1mcX7MX1H2XsEGseVcnXMdzsAbbAu0HBZhiAem+3SAmuZdi+p8OwoB2qUpTRgjOQ==", "dependencies": { "acorn": "^8.8.2", "acorn-import-assertions": "^1.9.0", @@ -14516,9 +14522,9 @@ } }, "node_modules/newrelic": { - "version": "11.6.1", - "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-11.6.1.tgz", - "integrity": "sha512-3tmSRqAcKdPPKGz9qswOvNDlsZXueC8QgJGty0uD95aurFzQoIOjI6/1dQBn3cxM8xxm3/vVa/Z2CAe4q0WK7g==", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-11.7.0.tgz", + "integrity": "sha512-izTjP1wRhz3PVhpdcufn4YAZceZfC7+DNoKXfndrSEVwd3risqcTC9swJW10guZ35fxaQu64/lFLuyMPEsBiUg==", "dependencies": { "@grpc/grpc-js": "^1.9.4", "@grpc/proto-loader": "^0.7.5", @@ -14529,7 +14535,7 @@ "@tyriar/fibonacci-heap": "^2.0.7", "concat-stream": "^2.0.0", "https-proxy-agent": "^7.0.1", - "import-in-the-middle": "^1.4.2", + "import-in-the-middle": "^1.6.0", "json-bigint": "^1.0.0", "json-stringify-safe": "^5.0.0", "module-details-from-path": "^1.0.3", @@ -16123,9 +16129,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", @@ -16695,7 +16701,6 @@ "version": "4.7.2", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", - "dev": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", @@ -18330,9 +18335,9 @@ } }, "node_modules/ws": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.15.0.tgz", - "integrity": "sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw==", + "version": "8.15.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.15.1.tgz", + "integrity": "sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==", "engines": { "node": ">=10.0.0" }, @@ -18353,7 +18358,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", - "dev": true, "engines": { "node": ">=0.4.0" } diff --git a/package.json b/package.json index 55ef16a3b..5c7f909db 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,8 @@ "@root": "dist" }, "dependencies": { - "@aws-sdk/client-ses": "^3.470.0", - "@aws-sdk/credential-provider-node": "^3.465.0", + "@aws-sdk/client-ses": "^3.474.0", + "@aws-sdk/credential-provider-node": "^3.474.0", "@growthbook/growthbook-react": "^0.21.0", "@headlessui/react": "^1.7.17", "@headlessui/tailwindcss": "^0.2.0", @@ -25,7 +25,7 @@ "module-alias": "^2.2.3", "moment": "^2.29.4", "mongoose": "^8.0.3", - "newrelic": "^11.6.1", + "newrelic": "^11.7.0", "next": "^14.0.4", "next-seo": "^6.4.0", "next-themes": "^0.2.1", @@ -52,6 +52,7 @@ "request-ip": "^3.3.0", "sharp": "^0.33.0", "socket.io": "^4.7.2", + "socket.io-client": "^4.7.2", "stripe": "^12.18.0", "swr": "^2.2.4", "throttle-debounce": "^5.0.0", @@ -86,7 +87,7 @@ ] }, "devDependencies": { - "@babel/preset-env": "^7.23.5", + "@babel/preset-env": "^7.23.6", "@babel/preset-react": "^7.23.3", "@testing-library/jest-dom": "^6.1.5", "@testing-library/react": "^14.1.2", @@ -104,21 +105,21 @@ "@types/node": "^20.10.4", "@types/nodemailer": "^6.4.14", "@types/nprogress": "^0.2.3", - "@types/react": "^18.2.42", - "@types/react-dom": "^18.2.17", + "@types/react": "^18.2.45", + "@types/react-dom": "^18.2.18", "@types/react-google-recaptcha": "^2.1.8", "@types/react-gtm-module": "^2.0.3", - "@types/recharts": "^1.8.28", + "@types/recharts": "^1.8.29", "@types/request-ip": "^0.0.41", "@types/throttle-debounce": "^5.0.2", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.13.2", - "@typescript-eslint/parser": "^6.13.2", + "@typescript-eslint/eslint-plugin": "^6.14.0", + "@typescript-eslint/parser": "^6.14.0", "autoprefixer": "^10.4.16", "babel-jest": "^29.7.0", "classnames": "^2.3.2", "cli-progress": "^3.12.0", - "eslint": "^8.55.0", + "eslint": "^8.56.0", "eslint-config-next": "^14.0.4", "eslint-plugin-react": "^7.33.2", "eslint-plugin-simple-import-sort": "^10.0.0", @@ -132,7 +133,6 @@ "next-test-api-route-handler": "^3.1.10", "postcss": "^8.4.32", "react-test-renderer": "^18.2.0", - "socket.io-client": "^4.7.2", "tailwindcss": "^3.3.6", "ts-jest": "^29.1.1", "ts-node": "^10.9.2", diff --git a/pages/api/notification/index.ts b/pages/api/notification/index.ts index 9ae148abb..b060192ed 100644 --- a/pages/api/notification/index.ts +++ b/pages/api/notification/index.ts @@ -36,12 +36,10 @@ export default withAuth({ } // if successful, return 200 with the user's notifications - const [reqUser] = await Promise.all( - [ - enrichReqUser(req.user), - requestBroadcastNotifications(new Types.ObjectId(req.user._id.toString())), - ] - ); + const [reqUser] = await Promise.all([ + enrichReqUser(req.user), + requestBroadcastNotifications(new Types.ObjectId(req.user._id.toString())), + ]); const updatedNotifications = reqUser.notifications.map((notification) => { // check if notification_id is in ids if (ids.includes(notification._id.toString())) { diff --git a/pages/collection/[username]/[slugName].tsx b/pages/collection/[username]/[slugName].tsx index 9f79e5a97..3ff76e073 100644 --- a/pages/collection/[username]/[slugName].tsx +++ b/pages/collection/[username]/[slugName].tsx @@ -109,7 +109,6 @@ export default function CollectionPage({ collection }: CollectionProps) { href: `/level/${level.slug}?cid=${collection._id}`, id: level._id.toString(), level: level, - searchLabel: level.name, stats: new SelectOptionStats(level.leastMoves, level.userMoves), text: level.name, } as SelectOption; diff --git a/pages/profile/[name]/[[...tab]]/index.tsx b/pages/profile/[name]/[[...tab]]/index.tsx index 80dc03b3c..e5d8201af 100644 --- a/pages/profile/[name]/[[...tab]]/index.tsx +++ b/pages/profile/[name]/[[...tab]]/index.tsx @@ -334,8 +334,8 @@ export default function ProfilePage({ return { href: `/collection/${enrichedCollection.slug}`, id: enrichedCollection._id.toString(), - stats: new SelectOptionStats(enrichedCollection.levelCount, enrichedCollection.userSolvedCount), searchLabel: enrichedCollection.name, + stats: new SelectOptionStats(enrichedCollection.levelCount, enrichedCollection.userSolvedCount), text: <> {enrichedCollection.name} {ownProfile && diff --git a/server/socket/socket-server.ts b/server/socket/socket-server.ts index 53da6b879..b79f2501a 100644 --- a/server/socket/socket-server.ts +++ b/server/socket/socket-server.ts @@ -51,6 +51,7 @@ process.on('SIGTERM', () => { }); let GlobalSocketIO: Server; +// eslint-disable-next-line @typescript-eslint/no-explicit-any async function authenticateSocket(socket: any, next: (err?: Error) => void) { const cookies = socket.handshake.headers.cookie; @@ -181,8 +182,10 @@ export default async function startSocketIOServer(server: Server) { } } else { socket.join('LOBBY'); - await Promise.all([broadcastMatches(mongoEmitter), - broadcastPrivateAndInvitedMatches(mongoEmitter, reqUser._id)]); + await Promise.all([ + broadcastMatches(mongoEmitter), + broadcastPrivateAndInvitedMatches(mongoEmitter, reqUser._id), + ]); } await broadcastConnectedPlayers(adapted); diff --git a/tests/helpers/helpers.test.ts b/tests/helpers/helpers.test.ts index 976823fdc..c875350e3 100644 --- a/tests/helpers/helpers.test.ts +++ b/tests/helpers/helpers.test.ts @@ -97,24 +97,20 @@ describe('helpers/*.ts', () => { { stats: new SelectOptionStats(7, 7), text: 'complete', - searchLabel: 'complete', }, { stats: new SelectOptionStats(9, 1), text: 'in progress', - searchLabel: 'in progress', }, { stats: new SelectOptionStats(5, 0), }, { text: 'empty', - searchLabel: 'empty', }, { stats: new SelectOptionStats(10, undefined), text: 'no user total', - searchLabel: 'no user total', }, ] as SelectOption[];