diff --git a/.eslintrc b/.eslintrc index afecd29a..1d43406a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,14 +1,10 @@ { "extends": [ - "airbnb", "eslint:recommended", "plugin:react/recommended", "plugin:react/jsx-runtime", - "react-app", - "prettier" - ], - "plugins":[ - "import" + "prettier", + "react-app" ], "env": { "browser": true, @@ -20,24 +16,21 @@ "cy": true, "Cypress": true }, - "parser": "@babel/eslint-parser", + "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, - "requireConfigFile": false, - "babelOptions": { - "presets": ["@babel/preset-react"] - } + "requireConfigFile": false }, "rules": { + "react/require-default-props": "off" , "react/jsx-filename-extension": [ 1, { - "extensions": [".js", ".jsx"] + "extensions": [".js", ".jsx", ".ts", ".tsx"] } ], - "import/no-named-as-default": 0, "react/static-property-placement": [ "error", "property assignment", @@ -53,9 +46,9 @@ "react/state-in-constructor": ["error", "never"], "no-console": [1, { "allow": ["error"] }], "no-restricted-syntax": "off", - "react/jsx-uses-react": "error", "react/jsx-uses-vars": "error", "react/function-component-definition": [2, { "namedComponents": "arrow-function" }] - } + }, + "ignorePatterns": ["node_modules/*", "public"] } diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 55751511..3ee98506 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -18,7 +18,7 @@ jobs: uses: graasp/graasp-deploy/.github/workflows/cypress.yml@v1 with: # Test values - tsc: false + tsc: true node-env-test: test hidden-item-tag-id-test: 12345678-1234-1234-1234-123456789012 # Insert required secrets based on repository with the following format: ${{ secrets.SECRET_NAME }} diff --git a/.gitignore b/.gitignore index 258a1eb8..a3664558 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ # misc .DS_Store +.vscode npm-debug.log* yarn-debug.log* diff --git a/cypress.config.ts b/cypress.config.ts new file mode 100644 index 00000000..b9d7891c --- /dev/null +++ b/cypress.config.ts @@ -0,0 +1,24 @@ +import { defineConfig } from 'cypress' + +export default defineConfig({ + video: false, + e2e: { + // We've imported your old cypress plugins here. + // You may want to clean this up later by importing these. + setupNodeEvents(on, config) { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + const newConfig = { + ...config, + env: { + API_HOST: process.env.REACT_APP_API_HOST, + }, + }; + // eslint-disable-next-line @typescript-eslint/no-var-requires + require('@cypress/code-coverage/task')(on, newConfig); + return newConfig; + }, + baseUrl: 'http://localhost:3001', + }, +}) diff --git a/cypress.json b/cypress.json deleted file mode 100644 index a35c6929..00000000 --- a/cypress.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "baseUrl": "http://localhost:3001", - "video": false -} diff --git a/cypress/e2e/SignIn.cy.ts b/cypress/e2e/SignIn.cy.ts new file mode 100644 index 00000000..4df94ef5 --- /dev/null +++ b/cypress/e2e/SignIn.cy.ts @@ -0,0 +1,13 @@ +import { SIGN_IN_PATH } from '../../src/config/paths'; +import { MEMBERS } from '../fixtures/members'; + +describe('Name and Email Validation', () => { + it('Sign In', () => { + const { GRAASP, WRONG_EMAIL } = MEMBERS; + cy.visit(SIGN_IN_PATH); + // Signing in with a wrong email format + cy.signInAndCheck(WRONG_EMAIL); + // Siging in with a valid email + cy.signInAndCheck(GRAASP); + }); +}); diff --git a/cypress/integration/signInWithPassword.spec.js b/cypress/e2e/SignInPassword.cy.ts similarity index 100% rename from cypress/integration/signInWithPassword.spec.js rename to cypress/e2e/SignInPassword.cy.ts diff --git a/cypress/integration/SignInWithStoredSession.spec.js b/cypress/e2e/SignInWithStoredSession.cy.ts similarity index 100% rename from cypress/integration/SignInWithStoredSession.spec.js rename to cypress/e2e/SignInWithStoredSession.cy.ts diff --git a/cypress/integration/signUp.spec.js b/cypress/e2e/SignUp.cy.ts similarity index 100% rename from cypress/integration/signUp.spec.js rename to cypress/e2e/SignUp.cy.ts diff --git a/cypress/integration/util.js b/cypress/e2e/util.ts similarity index 75% rename from cypress/integration/util.js rename to cypress/e2e/util.ts index f7286295..dca4dd6c 100644 --- a/cypress/integration/util.js +++ b/cypress/e2e/util.ts @@ -9,12 +9,24 @@ import { SIGN_UP_BUTTON_ID, } from '../../src/config/selectors'; -export const fillSignUpLayout = ({ name, email }) => { +export const fillSignUpLayout = ({ + name, + email, +}: { + name: string; + email?: string; +}) => { cy.get(`#${NAME_SIGN_UP_FIELD_ID}`).clear().type(name); cy.get(`#${EMAIL_SIGN_UP_FIELD_ID}`).clear().type(email); }; -export const checkInvitationFields = ({ name, email }) => { +export const checkInvitationFields = ({ + name, + email, +}: { + name?: string; + email: string; +}) => { if (name) { cy.get(`#${NAME_SIGN_UP_FIELD_ID}`) .should('have.value', name) @@ -25,7 +37,7 @@ export const checkInvitationFields = ({ name, email }) => { .should('be.disabled'); }; -export const fillSignInLayout = ({ email }) => { +export const fillSignInLayout = ({ email }: { email?: string }) => { cy.get(`#${EMAIL_SIGN_IN_FIELD_ID}`).clear().type(email); }; @@ -41,7 +53,13 @@ export const passwordSignInMethod = () => { cy.get(`#${PASSWORD_SIGN_IN_METHOD_BUTTON_ID}`).click(); }; -export const fillPasswordSignInLayout = ({ email, password }) => { +export const fillPasswordSignInLayout = ({ + email, + password, +}: { + email: string; + password?: string; +}) => { cy.get(`#${EMAIL_SIGN_IN_FIELD_ID}`).clear().type(email); cy.get(`#${PASSWORD_SIGN_IN_FIELD_ID}`).clear().type(password); }; diff --git a/cypress/fixtures/members.js b/cypress/fixtures/members.ts similarity index 51% rename from cypress/fixtures/members.js rename to cypress/fixtures/members.ts index a422667c..0b1ade89 100644 --- a/cypress/fixtures/members.js +++ b/cypress/fixtures/members.ts @@ -1,4 +1,12 @@ -export const MEMBERS = { +import { Member, MemberType } from '@graasp/sdk'; + +export const MEMBERS: { + [name: string]: Member & { + nameValid?: boolean; + emailValid?: boolean; + passwordValid?: boolean; + }; +} = { GRAASP: { id: 'graasp-id', name: 'graasp', @@ -7,6 +15,10 @@ export const MEMBERS = { nameValid: true, emailValid: true, passwordValid: true, + type: MemberType.Individual, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + extra: {}, }, WRONG_NAME: { id: 'id1', @@ -14,6 +26,11 @@ export const MEMBERS = { email: 'graasp@graasp.org', nameValid: false, emailValid: true, + passwordValid: false, + type: MemberType.Individual, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + extra: {}, }, WRONG_EMAIL: { id: 'id2', @@ -23,6 +40,10 @@ export const MEMBERS = { nameValid: true, emailValid: false, passwordValid: true, + type: MemberType.Individual, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + extra: {}, }, WRONG_PASSWORD: { id: 'id3', @@ -32,6 +53,10 @@ export const MEMBERS = { nameValid: true, emailValid: true, passwordValid: false, + type: MemberType.Individual, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + extra: {}, }, BOB: { id: 'ecafbd2a-5642-31fb-ae93-0242ac130004', @@ -39,22 +64,31 @@ export const MEMBERS = { email: 'bob@email.com', createdAt: '2021-04-13 14:56:34.749946', extra: { lang: 'en' }, + type: MemberType.Individual, + updatedAt: new Date().toISOString(), }, CEDRIC: { id: 'ecafbd2a-5642-31fb-ae93-0242ac130006', name: 'cedric', email: 'cedric@email.com', createdAt: '2021-04-13 14:56:34.749946', + type: MemberType.Individual, + updatedAt: new Date().toISOString(), + extra: {}, }, }; export default MEMBERS; export const MOCK_SESSIONS = [ - { id: MEMBERS.BOB.id, token: 'bob-token', createdAt: Date.now() }, + { + id: MEMBERS.BOB.id, + token: 'bob-token', + createdAt: Date.now().toLocaleString(), + }, { id: MEMBERS.CEDRIC.id, token: 'cedric-token', - createdAt: Date.now(), + createdAt: Date.now().toLocaleString(), }, ]; diff --git a/cypress/integration/signIn.spec.js b/cypress/integration/signIn.spec.js deleted file mode 100644 index d4348f78..00000000 --- a/cypress/integration/signIn.spec.js +++ /dev/null @@ -1,35 +0,0 @@ -import { StatusCodes } from 'http-status-codes'; - -import { API_ROUTES } from '@graasp/query-client'; - -import { SIGN_IN_PATH } from '../../src/config/paths'; -import { SUCCESS_CONTENT_ID } from '../../src/config/selectors'; -import { MEMBERS } from '../fixtures/members'; - -const { GRAASP, WRONG_EMAIL } = MEMBERS; - -describe('Name and Email Validation', () => { - it('Sign In Successfully', () => { - cy.visit(SIGN_IN_PATH); - - // eslint-disable-next-line arrow-body-style - cy.intercept(API_ROUTES.SIGN_IN_ROUTE, ({ reply }) => { - return reply({ - statusCode: StatusCodes.NO_CONTENT, - }); - }); - - // Signing in with a valid email - cy.signInAndCheck(GRAASP); - - cy.get(`#${SUCCESS_CONTENT_ID}`).should('be.visible'); - }); - - it('Sign In with wrong email should fail', () => { - cy.visit(SIGN_IN_PATH); - // Signing in with a wrong email format - cy.signInAndCheck(WRONG_EMAIL); - - cy.get(`#${SUCCESS_CONTENT_ID}`).should('not.exist'); - }); -}); diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js deleted file mode 100644 index eda66552..00000000 --- a/cypress/plugins/index.js +++ /dev/null @@ -1,32 +0,0 @@ -/* eslint-disable global-require */ -/* eslint-disable import/no-extraneous-dependencies */ -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config - - const newConfig = { - ...config, - env: { - API_HOST: process.env.REACT_APP_API_HOST, - }, - }; - require('@cypress/code-coverage/task')(on, newConfig); - return newConfig; -}; diff --git a/cypress/support/commands.js b/cypress/support/commands.ts similarity index 66% rename from cypress/support/commands.js rename to cypress/support/commands.ts index 30660582..0e79d6b8 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.ts @@ -7,10 +7,7 @@ // commands please read more here: // https://on.cypress.io/custom-commands // *********************************************** -// -// -// -- This is a parent command -- -import { COOKIE_KEYS } from '@graasp/sdk'; +import { COOKIE_KEYS, Member } from '@graasp/sdk'; import { EMAIL_SIGN_IN_FIELD_ID, @@ -19,18 +16,60 @@ import { PASSWORD_SIGN_IN_FIELD_ID, PASSWORD_SIGN_IN_METHOD_BUTTON_ID, } from '../../src/config/selectors'; +import { + fillPasswordSignInLayout, + fillSignInLayout, + fillSignUpLayout, + passwordSignInMethod, + submitPasswordSignIn, + submitSignIn, + submitSignUp, +} from '../e2e/util'; import MEMBERS from '../fixtures/members'; import { mockGetCurrentMember, mockGetMember, mockGetMembers } from './server'; -const { - submitSignIn, - fillSignUpLayout, - fillSignInLayout, - submitSignUp, - fillPasswordSignInLayout, - submitPasswordSignIn, - passwordSignInMethod, -} = require('../integration/util'); +// cypress/support/index.ts +declare global { + namespace Cypress { + interface Chainable { + setUpApi(args?: { + members?: Member[]; + storedSessions?: { id: string; token: string; createdAt: string }[]; + }): Chainable>; + + checkErrorTextField( + id: string, + flag: unknown, + ): Chainable>; + + signUpAndCheck( + member: Member & { + nameValid: boolean; + emailValid: boolean; + passwordValid: boolean; + }, + ): Chainable>; + + signInAndCheck( + value: Partial & { + nameValid: boolean; + emailValid: boolean; + passwordValid: boolean; + }, + ): Chainable>; + + signInPasswordMethodAndCheck(): Chainable>; + + signInPasswordAndCheck( + member: Member & { + nameValid: boolean; + emailValid: boolean; + passwordValid: boolean; + }, + ): Chainable>; + } + } +} Cypress.Commands.add( 'setUpApi', diff --git a/cypress/support/index.js b/cypress/support/e2e.ts similarity index 91% rename from cypress/support/index.js rename to cypress/support/e2e.ts index b8dd84e5..aa96cb91 100644 --- a/cypress/support/index.js +++ b/cypress/support/e2e.ts @@ -12,8 +12,6 @@ // You can read more here: // https://on.cypress.io/configuration // *********************************************************** - -// eslint-disable-next-line import/no-extraneous-dependencies import '@cypress/code-coverage/support'; // Import commands.js using ES2015 syntax: diff --git a/cypress/support/server.js b/cypress/support/server.ts similarity index 96% rename from cypress/support/server.js rename to cypress/support/server.ts index d5f51dfc..e0d9e995 100644 --- a/cypress/support/server.js +++ b/cypress/support/server.ts @@ -1,5 +1,5 @@ import { StatusCodes } from 'http-status-codes'; -import qs from 'querystring'; +import qs from 'qs'; import { API_ROUTES } from '@graasp/query-client'; @@ -75,7 +75,7 @@ export const mockGetMembers = (members) => { if (typeof memberIds === 'string') { memberIds = [memberIds]; } - const allMembers = memberIds?.map((id) => + const allMembers = (memberIds as string[])?.map((id) => members.find(({ id: mId }) => mId === id), ); // member does not exist in db diff --git a/cypress/tsconfig.json b/cypress/tsconfig.json new file mode 100644 index 00000000..93b8a825 --- /dev/null +++ b/cypress/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "target": "es5", + "lib": ["es5", "dom"], + "types": ["cypress", "node"] + }, + "include": ["**/*.ts"] +} diff --git a/package.json b/package.json index b8c94323..28a028cf 100644 --- a/package.json +++ b/package.json @@ -2,27 +2,30 @@ "name": "graasp-auth", "version": "0.3.0", "private": true, + "author": "Graasp", + "contributors": [ + "Kim Lan Phan Hoang", + "Basile Spaenlehauer", + "Alexandre Chau" + ], "dependencies": { "@emotion/react": "11.10.5", "@emotion/styled": "11.10.5", - "@graasp/query-client": "0.1.0", - "@graasp/sdk": "0.2.0", + "@graasp/query-client": "0.2.0", + "@graasp/sdk": "0.4.1", "@graasp/translations": "1.4.0", - "@graasp/ui": "0.7.0", + "@graasp/ui": "0.11.1", "@mui/icons-material": "5.11.0", - "@mui/lab": "5.0.0-alpha.115", - "@mui/material": "5.11.4", - "history": "5.3.0", + "@mui/lab": "5.0.0-alpha.119", + "@mui/material": "5.11.8", "http-status-codes": "2.2.0", - "i18next": "21.8.1", - "prop-types": "15.8.1", "qs": "6.11.0", - "react": "18.2.0", - "react-dom": "18.2.0", + "react": "17.0.2", + "react-dom": "17.0.2", "react-ga4": "1.4.1", "react-i18next": "11.16.9", - "react-router": "6.3.0", - "react-router-dom": "6.3.0", + "react-router": "6.8.1", + "react-router-dom": "6.8.1", "react-scripts": "5.0.1", "react-toastify": "9.0.1", "validator": "13.7.0" @@ -39,8 +42,8 @@ "eject": "react-scripts eject", "lint": "eslint .", "pre-commit": "yarn prettier:check && yarn lint", - "prettier:check": "prettier --check src/**/*.js", - "prettier:write": "prettier --write src/**/*.js", + "prettier:check": "prettier --check {src,cypress}/**/*.{js,ts,tsx}", + "prettier:write": "prettier --write {src,cypress}/**/*.{js,ts,tsx}", "hooks:uninstall": "husky uninstall", "hooks:install": "husky install", "cypress:open": "env-cmd -f ./.env.test cypress open", @@ -79,14 +82,22 @@ "@testing-library/react": "13.2.0", "@testing-library/user-event": "14.2.0", "@trivago/prettier-plugin-sort-imports": "4.0.0", + "@types/jest": "28.1.6", + "@types/node": "18.6.2", + "@types/qs": "6.9.7", + "@types/react": "17.0.30", + "@types/react-dom": "17.0.2", + "@types/react-router-dom": "5.3.3", + "@types/validator": "13.7.4", + "@typescript-eslint/eslint-plugin": "5.51.0", + "@typescript-eslint/parser": "5.51.0", "concurrently": "7.6.0", - "cypress": "9.6.1", + "cypress": "12.5.1", "env-cmd": "10.1.0", "eslint": "^8.3.0", - "eslint-config-airbnb": "19.0.4", "eslint-config-prettier": "8.5.0", - "eslint-config-react-app": "^7.0.1", - "eslint-plugin-import": "2.26.0", + "eslint-config-react-app": "7.0.1", + "eslint-import-resolver-typescript": "3.5.3", "husky": "8.0.1", "istanbul-lib-coverage": "3.2.0", "nyc": "15.1.0", @@ -95,10 +106,5 @@ "typescript": "4.9.4", "wait-on": "7.0.1" }, - "nyc": { - "exclude": [ - "src/serviceWorker.js" - ] - }, "packageManager": "yarn@3.2.1" } diff --git a/src/components/App.js b/src/components/App.tsx similarity index 84% rename from src/components/App.js rename to src/components/App.tsx index ce2b977c..f4dde17f 100644 --- a/src/components/App.js +++ b/src/components/App.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import { Route, BrowserRouter as Router, Routes } from 'react-router-dom'; import { HOME_PATH, SIGN_UP_PATH, buildSignInPath } from '../config/paths'; @@ -11,7 +10,7 @@ const App = () => ( } /> - } /> + } /> } /> diff --git a/src/components/EmailInput.js b/src/components/EmailInput.tsx similarity index 58% rename from src/components/EmailInput.js rename to src/components/EmailInput.tsx index 84a3905a..9d004b5b 100644 --- a/src/components/EmailInput.js +++ b/src/components/EmailInput.tsx @@ -1,5 +1,4 @@ -import PropTypes from 'prop-types'; -import React, { useEffect, useState } from 'react'; +import React, { FC, useEffect, useState } from 'react'; import { AUTH } from '@graasp/translations'; @@ -7,17 +6,27 @@ import { useAuthTranslation } from '../config/i18n'; import { emailValidator } from '../utils/validation'; import StyledTextField from './StyledTextField'; -const EmailInput = ({ +type Props = { + required?: boolean; + value: string; + id?: string; + disabled?: boolean; + setValue: (str: string) => void; + onKeyPress?: React.KeyboardEventHandler; + shouldValidate: boolean; +}; + +const EmailInput: FC = ({ + required = true, + value = '', + id, + disabled = false, setValue, onKeyPress, - required, - value, - id, - disabled, - shouldValidate, + shouldValidate = true, }) => { const { t } = useAuthTranslation(); - const [error, setError] = useState(''); + const [error, setError] = useState(null); useEffect(() => { if (shouldValidate) { @@ -26,8 +35,8 @@ const EmailInput = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, [shouldValidate]); - const handleEmailOnChange = (e) => { - const newEmail = e.target.value; + const handleEmailOnChange = (e: React.ChangeEvent) => { + const newEmail = e?.target?.value; setValue?.(newEmail); if (shouldValidate) { setError(emailValidator(newEmail)); @@ -51,24 +60,4 @@ const EmailInput = ({ ); }; -EmailInput.propTypes = { - required: PropTypes.bool, - value: PropTypes.string, - id: PropTypes.string, - disabled: PropTypes.bool, - setValue: PropTypes.func, - onKeyPress: PropTypes.func, - shouldValidate: PropTypes.bool, -}; - -EmailInput.defaultProps = { - required: true, - value: '', - id: null, - disabled: false, - setValue: null, - onKeyPress: null, - shouldValidate: true, -}; - export default EmailInput; diff --git a/src/components/FullscreenContainer.js b/src/components/FullscreenContainer.tsx similarity index 63% rename from src/components/FullscreenContainer.js rename to src/components/FullscreenContainer.tsx index a39ec05a..88c3397b 100644 --- a/src/components/FullscreenContainer.js +++ b/src/components/FullscreenContainer.tsx @@ -1,8 +1,10 @@ -import PropTypes from 'prop-types'; - import Box from '@mui/material/Box'; -const FullscreenContainer = ({ children }) => ( +type Props = { + children: JSX.Element | JSX.Element[]; +}; + +const FullscreenContainer = ({ children }: Props): JSX.Element => ( ( ); -FullscreenContainer.propTypes = { - children: PropTypes.element.isRequired, -}; - export default FullscreenContainer; diff --git a/src/components/MemberAvatar.tsx b/src/components/MemberAvatar.tsx new file mode 100644 index 00000000..44cc9824 --- /dev/null +++ b/src/components/MemberAvatar.tsx @@ -0,0 +1,39 @@ +import { FC } from 'react'; + +import { COMMON } from '@graasp/translations'; +import { Avatar } from '@graasp/ui'; + +import { AVATAR_ICON_HEIGHT, THUMBNAIL_SIZES } from '../config/constants'; +import { useCommonTranslation } from '../config/i18n'; +import { hooks } from '../config/queryClient'; + +type Props = { + id?: string; +}; + +const MemberAvatar: FC = ({ id }) => { + const { t } = useCommonTranslation(); + const { data: member, isLoading, isFetching } = hooks.useMember(id); + const { + data: thumbnailBlob, + isLoading: isLoadingAvatar, + isFetching: isFetchingAvatar, + } = hooks.useAvatar({ + id, + size: THUMBNAIL_SIZES.SMALL, + }); + + return ( + + ); +}; + +export default MemberAvatar; diff --git a/src/components/Redirection.js b/src/components/Redirection.tsx similarity index 66% rename from src/components/Redirection.js rename to src/components/Redirection.tsx index d7906c0d..0b6f0b38 100644 --- a/src/components/Redirection.js +++ b/src/components/Redirection.tsx @@ -1,4 +1,4 @@ -import PropTypes from 'prop-types'; +import React, { FC } from 'react'; import { getUrlForRedirection, redirectToSavedUrl } from '@graasp/sdk'; import { RedirectionContent } from '@graasp/ui'; @@ -6,20 +6,20 @@ import { RedirectionContent } from '@graasp/ui'; import { GRAASP_COMPOSE_HOST } from '../config/constants'; import { hooks } from '../config/queryClient'; -const Redirection = ({ children }) => { +type Props = { + children: React.ReactElement; +}; + +const Redirection: FC = ({ children }) => { const { data: member } = hooks.useCurrentMember(); if (member?.get('id')) { redirectToSavedUrl(GRAASP_COMPOSE_HOST); - return ; + return ; } return children; }; -Redirection.propTypes = { - children: PropTypes.node.isRequired, -}; - export default Redirection; diff --git a/src/components/Root.js b/src/components/Root.tsx similarity index 72% rename from src/components/Root.js rename to src/components/Root.tsx index 4a5a339d..7044934a 100644 --- a/src/components/Root.js +++ b/src/components/Root.tsx @@ -1,9 +1,10 @@ -import React from 'react'; import { I18nextProvider } from 'react-i18next'; import { ToastContainer } from 'react-toastify'; import 'react-toastify/dist/ReactToastify.css'; -import { ThemeProvider, createTheme } from '@mui/material/styles'; +import { theme } from '@graasp/ui'; + +import { ThemeProvider } from '@mui/material/styles'; import { SHOW_NOTIFICATIONS } from '../config/constants'; import i18nConfig from '../config/i18n'; @@ -14,19 +15,6 @@ import { } from '../config/queryClient'; import App from './App'; -const theme = createTheme({ - palette: { - primary: { - main: '#5050d2', - selected: '#cbcbef', - }, - secondary: { main: '#ffffff' }, - }, - zIndex: { - drawer: 1000, - }, -}); - const Root = () => ( diff --git a/src/components/SignIn.js b/src/components/SignIn.tsx similarity index 91% rename from src/components/SignIn.js rename to src/components/SignIn.tsx index 42ce472c..cf00af30 100644 --- a/src/components/SignIn.js +++ b/src/components/SignIn.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { FC, useState } from 'react'; import { Link } from 'react-router-dom'; import { MUTATION_KEYS } from '@graasp/query-client'; @@ -38,23 +38,29 @@ const { SIGN_IN_HEADER, } = AUTH; -const SignIn = () => { +const SignIn: FC = () => { const { t } = useAuthTranslation(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); - const [passwordError, setPasswordError] = useState(false); + const [passwordError, setPasswordError] = useState(null); const [signInMethod, setSignInMethod] = useState(SIGN_IN_METHODS.EMAIL); // enable validation after first click const [shouldValidate, setShouldValidate] = useState(false); - const { mutate: signIn, isSuccess: signInSuccess } = useMutation( - MUTATION_KEYS.SIGN_IN, - ); + const { mutate: signIn, isSuccess: signInSuccess } = useMutation< + unknown, + unknown, + { email: string } + >(MUTATION_KEYS.SIGN_IN); const { mutateAsync: signInWithPassword, isSuccess: signInWithPasswordSuccess, - } = useMutation(MUTATION_KEYS.SIGN_IN_WITH_PASSWORD); + } = useMutation< + { data: { resource: string } }, + unknown, + { email: string; password: string } + >(MUTATION_KEYS.SIGN_IN_WITH_PASSWORD); const handleSignIn = async () => { const lowercaseEmail = email.toLowerCase(); @@ -86,13 +92,13 @@ const SignIn = () => { } }; - const handleOnChangePassword = (e) => { + const handleOnChangePassword = (e: React.ChangeEvent) => { const newPassword = e.target.value; setPassword(newPassword); setPasswordError(passwordValidator(newPassword)); }; - const handleKeypress = (e) => { + const handleKeypress = (e: React.KeyboardEvent) => { // signInMethod email when true // sign in by pressing the enter key if (e.key === 'Enter') { @@ -144,7 +150,7 @@ const SignIn = () => { label={t(PASSWORD_FIELD_LABEL)} variant="outlined" value={password} - error={passwordError} + error={Boolean(passwordError)} helperText={passwordError} onChange={handleOnChangePassword} id={PASSWORD_SIGN_IN_FIELD_ID} diff --git a/src/components/SignUp.js b/src/components/SignUp.tsx similarity index 83% rename from src/components/SignUp.js rename to src/components/SignUp.tsx index 874d49ff..3d34ca23 100644 --- a/src/components/SignUp.js +++ b/src/components/SignUp.tsx @@ -1,7 +1,5 @@ -import Qs from 'qs'; -import React, { useEffect, useState } from 'react'; -import { useLocation } from 'react-router'; -import { Link } from 'react-router-dom'; +import { ChangeEventHandler, useEffect, useState } from 'react'; +import { Link, useSearchParams } from 'react-router-dom'; import { MUTATION_KEYS } from '@graasp/query-client'; import { AUTH } from '@graasp/translations'; @@ -31,30 +29,29 @@ const { SIGN_IN_LINK_TEXT, SIGN_UP_BUTTON, SIGN_UP_HEADER, NAME_FIELD_LABEL } = const SignUp = () => { const { t } = useAuthTranslation(); - const [email, setEmail] = useState(''); - const [name, setName] = useState(''); - const [nameError, setNameError] = useState(false); + const [email, setEmail] = useState(''); + const [name, setName] = useState(''); + const [nameError, setNameError] = useState(null); // enable validation after first click const [shouldValidate, setShouldValidate] = useState(false); - const { mutate: signUp, isSuccess: signUpSuccess } = useMutation( - MUTATION_KEYS.SIGN_UP, - ); + const { mutate: signUp, isSuccess: signUpSuccess } = useMutation< + unknown, + unknown, + { email: string; name: string } + >(MUTATION_KEYS.SIGN_UP); + const [searchParams] = useSearchParams(); - const location = useLocation(); - const queryStrings = Qs.parse(location.search, { - ignoreQueryPrefix: true, - }); const { data: invitation, isSuccess, isLoading, - } = hooks.useInvitation(queryStrings?.invitationId); + } = hooks.useInvitation(searchParams.get('invitationId') || undefined); useEffect(() => { if (isSuccess && invitation) { - setEmail(invitation.get('email')); - setName(invitation.get('name') ?? ''); + setEmail(invitation.email); + setName(invitation.name ?? ''); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [invitation, isSuccess]); @@ -64,7 +61,7 @@ const SignUp = () => { return ; } - const handleNameOnChange = (e) => { + const handleNameOnChange: ChangeEventHandler = (e) => { const newName = e.target.value; setName(newName); if (shouldValidate) { diff --git a/src/components/StyledDivider.js b/src/components/StyledDivider.tsx similarity index 100% rename from src/components/StyledDivider.js rename to src/components/StyledDivider.tsx diff --git a/src/components/StyledTextField.js b/src/components/StyledTextField.tsx similarity index 100% rename from src/components/StyledTextField.js rename to src/components/StyledTextField.tsx diff --git a/src/components/SuccessContent.js b/src/components/SuccessContent.tsx similarity index 92% rename from src/components/SuccessContent.js rename to src/components/SuccessContent.tsx index 86178ace..c6ca953d 100644 --- a/src/components/SuccessContent.js +++ b/src/components/SuccessContent.tsx @@ -1,12 +1,12 @@ import propTypes from 'prop-types'; -import React from 'react'; +import { Trans } from 'react-i18next'; import { AUTH, namespaces } from '@graasp/translations'; import MailOutlineIcon from '@mui/icons-material/MailOutline'; import { Container, Typography } from '@mui/material'; -import { Trans, useAuthTranslation } from '../config/i18n'; +import { useAuthTranslation } from '../config/i18n'; import { SUCCESS_CONTENT_ID } from '../config/selectors'; const SuccessContent = ({ title, email }) => { diff --git a/src/components/UserSwitch.js b/src/components/UserSwitch.js deleted file mode 100644 index 681002cb..00000000 --- a/src/components/UserSwitch.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from 'react'; - -import { MUTATION_KEYS } from '@graasp/query-client'; -import { getStoredSessions } from '@graasp/sdk'; -import { AUTH } from '@graasp/translations'; -import { Button, UserSwitch as GraaspUserSwitch } from '@graasp/ui'; - -import AccountCircleIcon from '@mui/icons-material/AccountCircle'; - -import { DOMAIN } from '../config/constants'; -import { useAuthTranslation } from '../config/i18n'; -import { hooks, useMutation } from '../config/queryClient'; -import { USER_SWITCH_ID, buildMemberMenuItemId } from '../config/selectors'; - -const UserSwitch = () => { - const { t } = useAuthTranslation(); - const sessions = getStoredSessions(); - const { data: members } = hooks.useMembers(sessions.map(({ id }) => id)); - const { mutate: switchUser } = useMutation(MUTATION_KEYS.SWITCH_MEMBER); - - // hide if no stored session - if (!sessions.length) { - return null; - } - - const onMemberClick = (memberId) => () => { - switchUser({ memberId, domain: DOMAIN }); - }; - - const ButtonContent = ( - - ); - - return ( - - ); -}; - -export default UserSwitch; diff --git a/src/components/UserSwitch.tsx b/src/components/UserSwitch.tsx new file mode 100644 index 00000000..e02df4b8 --- /dev/null +++ b/src/components/UserSwitch.tsx @@ -0,0 +1,70 @@ +import { MUTATION_KEYS } from '@graasp/query-client'; +import { getStoredSessions } from '@graasp/sdk'; +import { MemberRecord } from '@graasp/sdk/dist/frontend/types'; +import { BUILDER } from '@graasp/translations'; +import { UserSwitchWrapper } from '@graasp/ui'; + +import AccountCircleIcon from '@mui/icons-material/AccountCircle'; +import Button from '@mui/material/Button'; + +import { DOMAIN, MEMBER_PROFILE_PATH, SIGN_IN_PATH } from '../config/constants'; +import { useBuilderTranslation } from '../config/i18n'; +import { hooks, useMutation } from '../config/queryClient'; +import { USER_SWITCH_ID, buildMemberMenuItemId } from '../config/selectors'; +import MemberAvatar from './MemberAvatar'; + +const UserSwitch = () => { + const { t: translateBuilder } = useBuilderTranslation(); + const sessions = getStoredSessions(); + const { mutate: switchMember } = useMutation< + unknown, + unknown, + { memberId: string; domain?: string } + >(MUTATION_KEYS.SWITCH_MEMBER); + const { mutateAsync: signOut } = useMutation( + MUTATION_KEYS.SIGN_OUT, + ); + + // hide if no stored session + if (!sessions.length) { + return null; + } + + const renderAvatar = (m: MemberRecord) => ; + + const ButtonContent = ( + + ); + + return ( + + ); +}; + +export default UserSwitch; diff --git a/src/components/__snapshots__/App.test.js.snap b/src/components/__snapshots__/App.test.js.snap deleted file mode 100644 index 530abe61..00000000 --- a/src/components/__snapshots__/App.test.js.snap +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` renders correctly 1`] = `ShallowWrapper {}`; diff --git a/src/config/constants.js b/src/config/constants.js deleted file mode 100644 index 8ca4253d..00000000 --- a/src/config/constants.js +++ /dev/null @@ -1,33 +0,0 @@ -import env from '../env.json'; - -const { - GRAASP_COMPOSE_HOST: ENV_GRAASP_COMPOSE_HOST, - API_HOST: ENV_API_HOST, - SHOW_NOTIFICATIONS: ENV_SHOW_NOTIFICATIONS, - REACT_APP_DOMAIN: ENV_DOMAIN, -} = env; - -export const { REACT_APP_GA_MEASUREMENT_ID: GA_MEASUREMENT_ID, NODE_ENV } = - process.env; - -export const DOMAIN = ENV_DOMAIN || process.env.REACT_APP_DOMAIN; - -export const APP_NAME = 'Graasp Authentication'; - -export const API_HOST = - ENV_API_HOST || process.env.REACT_APP_API_HOST || 'http://localhost:3000'; - -export const SHOW_NOTIFICATIONS = - ENV_SHOW_NOTIFICATIONS || - process.env.REACT_APP_SHOW_NOTIFICATIONS === 'true' || - false; - -export const GRAASP_COMPOSE_HOST = - ENV_GRAASP_COMPOSE_HOST || - process.env.REACT_APP_GRAASP_COMPOSE_HOST || - 'http://localhost:3111'; - -export const NAME_MAXIMUM_LENGTH = 300; -export const NAME_MINIMUM_LENGTH = 2; - -export const FORM_INPUT_MIN_WIDTH = 300; diff --git a/src/config/constants.ts b/src/config/constants.ts new file mode 100644 index 00000000..deff16ad --- /dev/null +++ b/src/config/constants.ts @@ -0,0 +1,35 @@ +import { buildSignInPath } from '@graasp/sdk'; + +export const { REACT_APP_GA_MEASUREMENT_ID: GA_MEASUREMENT_ID, NODE_ENV } = + process.env; + +export const DOMAIN = process.env.REACT_APP_DOMAIN; + +export const APP_NAME = 'Graasp Authentication'; + +export const API_HOST = + process.env.REACT_APP_API_HOST || 'http://localhost:3000'; + +export const SHOW_NOTIFICATIONS = + process.env.REACT_APP_SHOW_NOTIFICATIONS === 'true' || false; + +export const GRAASP_COMPOSE_HOST = + process.env.REACT_APP_GRAASP_COMPOSE_HOST ?? 'http://localhost:3111'; + +export const AUTHENTICATION_HOST = + process.env.REACT_APP_AUTHENTICATION_HOST || 'http://localhost:3001'; + +export const NAME_MAXIMUM_LENGTH = 300; +export const NAME_MINIMUM_LENGTH = 2; + +export const FORM_INPUT_MIN_WIDTH = 300; + +export const THUMBNAIL_SIZES = { + SMALL: 'small', +}; + +export const ITEM_HEADER_ICON_HEIGHT = 30; +export const AVATAR_ICON_HEIGHT = 30; + +export const MEMBER_PROFILE_PATH = `${GRAASP_COMPOSE_HOST}/profile`; +export const SIGN_IN_PATH = buildSignInPath({ host: AUTHENTICATION_HOST }); diff --git a/src/config/i18n.js b/src/config/i18n.js deleted file mode 100644 index 80cd7c0e..00000000 --- a/src/config/i18n.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Trans, initReactI18next, useTranslation } from 'react-i18next'; - -import buildI18n from '@graasp/translations'; - -const i18n = buildI18n().use(initReactI18next); -i18n.use(initReactI18next); - -export const useAuthTranslation = () => useTranslation('auth'); - -export { Trans }; - -export default i18n; diff --git a/src/config/i18n.ts b/src/config/i18n.ts new file mode 100644 index 00000000..bee7f383 --- /dev/null +++ b/src/config/i18n.ts @@ -0,0 +1,12 @@ +import { initReactI18next, useTranslation } from 'react-i18next'; + +import buildI18n, { namespaces } from '@graasp/translations'; + +const i18n = buildI18n().use(initReactI18next); +i18n.use(initReactI18next); + +export const useAuthTranslation = () => useTranslation(namespaces.auth); +export const useBuilderTranslation = () => useTranslation(namespaces.builder); +export const useCommonTranslation = () => useTranslation(namespaces.common); + +export default i18n; diff --git a/src/config/messages.js b/src/config/messages.ts similarity index 65% rename from src/config/messages.js rename to src/config/messages.ts index 4500b07d..f1bf2be5 100644 --- a/src/config/messages.js +++ b/src/config/messages.ts @@ -1,4 +1,5 @@ -export const EMAIL_ERROR = 'Please enter a valid email address'; +export const INVALID_EMAIL_ERROR = 'Please enter a valid email address'; +export const EMPTY_EMAIL_ERROR = 'Please enter an email address'; export const PASSWORD_EMPTY_ERROR = 'Please enter a valid password'; export const USERNAME_ERROR_MAXIMUM_MESSAGE = 'Please enter a username under 300 characters'; diff --git a/src/config/notifier.js b/src/config/notifier.ts similarity index 85% rename from src/config/notifier.js rename to src/config/notifier.ts index b69a2415..de08ee1f 100644 --- a/src/config/notifier.js +++ b/src/config/notifier.ts @@ -12,7 +12,15 @@ const { signInWithPasswordRoutine, } = routines; -const notifier = ({ type, payload }) => { +const notifier = (args: { + type: string; + payload?: { + error?: { response?: { data?: { message?: string } } }; + message?: string; + }; +}) => { + const { type, payload } = args; + if (!SHOW_NOTIFICATIONS) { return; } diff --git a/src/config/paths.js b/src/config/paths.ts similarity index 80% rename from src/config/paths.js rename to src/config/paths.ts index c9f5927c..b513178e 100644 --- a/src/config/paths.js +++ b/src/config/paths.ts @@ -1,6 +1,6 @@ import qs from 'qs'; -export const buildSignInPath = (to) => +export const buildSignInPath = (to?: string) => `/signin${qs.stringify({ to }, { addQueryPrefix: true })}`; export const SIGN_UP_PATH = '/signup'; export const HOME_PATH = '/'; diff --git a/src/config/queryClient.js b/src/config/queryClient.ts similarity index 81% rename from src/config/queryClient.js rename to src/config/queryClient.ts index dbedb6ce..cc6c56cf 100644 --- a/src/config/queryClient.js +++ b/src/config/queryClient.ts @@ -9,12 +9,14 @@ const { hooks, useMutation, ReactQueryDevtools, - API_ROUTES, } = configureQueryClient({ API_HOST, - keepPreviousData: true, // avoid refetching when same data are closely fetched - staleTime: 1000, // ms + defaultQueryOptions: { + keepPreviousData: true, + staleTime: 1000, // ms + cacheTime: 1000, + }, notifier, DOMAIN, }); @@ -25,5 +27,4 @@ export { hooks, useMutation, ReactQueryDevtools, - API_ROUTES, }; diff --git a/src/config/selectors.js b/src/config/selectors.ts similarity index 89% rename from src/config/selectors.js rename to src/config/selectors.ts index c1ca77e4..ed5d063d 100644 --- a/src/config/selectors.js +++ b/src/config/selectors.ts @@ -8,5 +8,5 @@ export const SIGN_UP_BUTTON_ID = 'signUpButtonId'; export const EMAIL_SIGN_IN_METHOD_BUTTON_ID = 'emailSignInMethodButton'; export const PASSWORD_SIGN_IN_METHOD_BUTTON_ID = 'passwordSignInMethodButton'; export const USER_SWITCH_ID = 'userSwitch'; -export const buildMemberMenuItemId = (id) => `memberMenuItemId-${id}`; export const SUCCESS_CONTENT_ID = 'successContent'; +export const buildMemberMenuItemId = (id: string) => `memberMenuItemId-${id}`; diff --git a/src/env.json b/src/env.json deleted file mode 100644 index 178cde97..00000000 --- a/src/env.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "API_HOST": false, - "GRAASP_COMPOSE_HOST": false, - "SHOW_NOTIFICATIONS": false -} diff --git a/src/index.js b/src/index.js deleted file mode 100644 index e7f4cdc4..00000000 --- a/src/index.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import { createRoot } from 'react-dom/client'; -import ReactGA from 'react-ga4'; - -import { hasAcceptedCookies } from '@graasp/sdk'; - -import Root from './components/Root'; -import { GA_MEASUREMENT_ID, NODE_ENV } from './config/constants'; -import './index.css'; -import * as serviceWorker from './serviceWorker'; - -if (GA_MEASUREMENT_ID && hasAcceptedCookies() && NODE_ENV !== 'test') { - ReactGA.initialize(GA_MEASUREMENT_ID); - ReactGA.send('pageview'); -} - -const container = document.getElementById('root'); -const root = createRoot(container); // createRoot(container!) if you use TypeScript -root.render(); - -// If you want your app to work offline and load faster, you can change -// unregister() to register() below. Note this comes with some pitfalls. -// Learn more about service workers: https://bit.ly/CRA-PWA -serviceWorker.unregister(); diff --git a/src/index.tsx b/src/index.tsx new file mode 100644 index 00000000..717566e5 --- /dev/null +++ b/src/index.tsx @@ -0,0 +1,17 @@ +import { render } from 'react-dom'; +import ReactGA from 'react-ga4'; + +import { hasAcceptedCookies } from '@graasp/sdk'; + +import Root from './components/Root'; +import { GA_MEASUREMENT_ID, NODE_ENV } from './config/constants'; +import './index.css'; +import './index.css'; + +if (GA_MEASUREMENT_ID && hasAcceptedCookies() && NODE_ENV !== 'test') { + ReactGA.initialize(GA_MEASUREMENT_ID); + ReactGA.send('pageview'); +} + +const root = document.getElementById('root'); +render(, root); diff --git a/src/serviceWorker.js b/src/serviceWorker.js deleted file mode 100644 index 098b8e00..00000000 --- a/src/serviceWorker.js +++ /dev/null @@ -1,141 +0,0 @@ -// This optional code is used to register a service worker. -// register() is not called by default. - -// This lets the app load faster on subsequent visits in production, and gives -// it offline capabilities. However, it also means that developers (and users) -// will only see deployed updates on subsequent visits to a page, after all the -// existing tabs open on the page have been closed, since previously cached -// resources are updated in the background. - -// To learn more about the benefits of this model and instructions on how to -// opt-in, read https://bit.ly/CRA-PWA - -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || - // [::1] is the IPv6 localhost address. - window.location.hostname === '[::1]' || - // 127.0.0.0/8 are considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/, - ), -); - -export function register(config) { - if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - // The URL constructor is available in all browsers that support SW. - const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); - if (publicUrl.origin !== window.location.origin) { - // Our service worker won't work if PUBLIC_URL is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebook/create-react-app/issues/2374 - return; - } - - window.addEventListener('load', () => { - const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; - - if (isLocalhost) { - // This is running on localhost. Let's check if a service worker still exists or not. - checkValidServiceWorker(swUrl, config); - - // Add some additional logging to localhost, pointing developers to the - // service worker/PWA documentation. - navigator.serviceWorker.ready.then(() => { - console.log( - 'This web app is being served cache-first by a service ' + - 'worker. To learn more, visit https://bit.ly/CRA-PWA', - ); - }); - } else { - // Is not localhost. Just register service worker - registerValidSW(swUrl, config); - } - }); - } -} - -function registerValidSW(swUrl, config) { - navigator.serviceWorker - .register(swUrl) - .then((registration) => { - registration.onupdatefound = () => { - const installingWorker = registration.installing; - if (installingWorker == null) { - return; - } - installingWorker.onstatechange = () => { - if (installingWorker.state === 'installed') { - if (navigator.serviceWorker.controller) { - // At this point, the updated precached content has been fetched, - // but the previous service worker will still serve the older - // content until all client tabs are closed. - console.log( - 'New content is available and will be used when all ' + - 'tabs for this page are closed. See https://bit.ly/CRA-PWA.', - ); - - // Execute callback - if (config && config.onUpdate) { - config.onUpdate(registration); - } - } else { - // At this point, everything has been precached. - // It's the perfect time to display a - // "Content is cached for offline use." message. - console.log('Content is cached for offline use.'); - - // Execute callback - if (config && config.onSuccess) { - config.onSuccess(registration); - } - } - } - }; - }; - }) - .catch((error) => { - console.error('Error during service worker registration:', error); - }); -} - -function checkValidServiceWorker(swUrl, config) { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl, { - headers: { 'Service-Worker': 'script' }, - }) - .then((response) => { - // Ensure service worker exists, and that we really are getting a JS file. - const contentType = response.headers.get('content-type'); - if ( - response.status === 404 || - (contentType != null && contentType.indexOf('javascript') === -1) - ) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then((registration) => { - registration.unregister().then(() => { - window.location.reload(); - }); - }); - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl, config); - } - }) - .catch(() => { - console.log( - 'No internet connection found. App is running in offline mode.', - ); - }); -} - -export function unregister() { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready - .then((registration) => { - registration.unregister(); - }) - .catch((error) => { - console.error(error.message); - }); - } -} diff --git a/src/types/signInMethod.js b/src/types/signInMethod.ts similarity index 100% rename from src/types/signInMethod.js rename to src/types/signInMethod.ts diff --git a/src/utils/validation.js b/src/utils/validation.ts similarity index 57% rename from src/utils/validation.js rename to src/utils/validation.ts index 6c6a94cf..5aa6ebfd 100644 --- a/src/utils/validation.js +++ b/src/utils/validation.ts @@ -2,13 +2,14 @@ import validator from 'validator'; import { NAME_MAXIMUM_LENGTH, NAME_MINIMUM_LENGTH } from '../config/constants'; import { - EMAIL_ERROR, + EMPTY_EMAIL_ERROR, + INVALID_EMAIL_ERROR, PASSWORD_EMPTY_ERROR, USERNAME_ERROR_MAXIMUM_MESSAGE, USERNAME_ERROR_MINIMUM_MESSAGE, } from '../config/messages'; -export const nameValidator = (name) => { +export const nameValidator = (name: string) => { if (name.length > NAME_MAXIMUM_LENGTH) { return USERNAME_ERROR_MAXIMUM_MESSAGE; } @@ -18,10 +19,15 @@ export const nameValidator = (name) => { return null; }; -export const emailValidator = (email) => - validator.isEmail(email) ? null : EMAIL_ERROR; -export const passwordValidator = (password) => { - if (validator.isEmpty(password)) { +export const emailValidator = (email?: string) => { + if (!email) { + return EMPTY_EMAIL_ERROR; + } + return validator.isEmail(email) ? null : INVALID_EMAIL_ERROR; +}; + +export const passwordValidator = (password?: string) => { + if (!password || validator.isEmpty(password)) { return PASSWORD_EMPTY_ERROR; } return null; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..540385dc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "es2016", + "module": "esnext", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": false, + "skipLibCheck": true, + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": false, + "checkJs": false, + "allowSyntheticDefaultImports": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "sourceMap": true, + "inlineSources": true, + "sourceRoot": "/", + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true + }, + "include": ["src"], + "exclude": ["node_modules", "cypress", "*.test.ts", "*.test.js", "**/.*/"] +} diff --git a/yarn.lock b/yarn.lock index 87550bc7..5b0d2e76 100644 --- a/yarn.lock +++ b/yarn.lock @@ -38,9 +38,9 @@ __metadata: linkType: hard "@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.1, @babel/compat-data@npm:^7.20.5": - version: 7.20.10 - resolution: "@babel/compat-data@npm:7.20.10" - checksum: 6ed6c1bb6fc03c225d63b8611788cd976107d1692402b560ebffbf1fa53e63705f8625bb12e12d17ce7f7af34e61e1ca96c77858aac6f57010045271466200c0 + version: 7.20.14 + resolution: "@babel/compat-data@npm:7.20.14" + checksum: 6c9efe36232094e4ad0b70d165587f21ca718e5d011f7a52a77a18502a7524e90e2855aa5a2e086395bcfd21bd2c7c99128dcd8d9fdffe94316b72acf5c66f2c languageName: node linkType: hard @@ -67,7 +67,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.0.1, @babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5, @babel/core@npm:^7.8.0": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.3, @babel/core@npm:^7.16.0, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5, @babel/core@npm:^7.8.0": version: 7.20.12 resolution: "@babel/core@npm:7.20.12" dependencies: @@ -129,14 +129,14 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.17.9, @babel/generator@npm:^7.20.7, @babel/generator@npm:^7.7.2": - version: 7.20.7 - resolution: "@babel/generator@npm:7.20.7" +"@babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.20.7, @babel/generator@npm:^7.7.2": + version: 7.20.14 + resolution: "@babel/generator@npm:7.20.14" dependencies: "@babel/types": ^7.20.7 "@jridgewell/gen-mapping": ^0.3.2 jsesc: ^2.5.1 - checksum: 84b6983ffdb50c80c1c2e3f3c32617a7133d8effd1065f3e0f9bba188a7d54ab42a4dd5e42b61b843c65f9dd1aa870036ff0f848ebd42707aaa8a2b6d31d04f5 + checksum: 5f6aa2d86af26e76d276923a5c34191124a119b16ee9ccc34aef654a7dec84fbd7d2daed2e6458a6a06bf87f3661deb77c9fea59b8f67faff5c90793c96d76d6 languageName: node linkType: hard @@ -174,7 +174,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.20.5, @babel/helper-create-class-features-plugin@npm:^7.20.7": +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.20.12, @babel/helper-create-class-features-plugin@npm:^7.20.5, @babel/helper-create-class-features-plugin@npm:^7.20.7": version: 7.20.12 resolution: "@babel/helper-create-class-features-plugin@npm:7.20.12" dependencies: @@ -394,13 +394,13 @@ __metadata: linkType: hard "@babel/helpers@npm:^7.17.8, @babel/helpers@npm:^7.20.7": - version: 7.20.7 - resolution: "@babel/helpers@npm:7.20.7" + version: 7.20.13 + resolution: "@babel/helpers@npm:7.20.13" dependencies: "@babel/template": ^7.20.7 - "@babel/traverse": ^7.20.7 + "@babel/traverse": ^7.20.13 "@babel/types": ^7.20.7 - checksum: 3fb10df3510ba7116a180d5fd983d0f558f7a65c3d599385dba991bff66b74174c88881bc12c2b3cf7284294fcac5b301ded49a8b0098bdf2ef61d0cad8010db + checksum: d62076fa834f342798f8c3fd7aec0870cc1725d273d99e540cbaa8d6c3ed10258228dd14601c8e66bfeabbb9424c3b31090ecc467fe855f7bd72c4734df7fb09 languageName: node linkType: hard @@ -424,12 +424,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8, @babel/parser@npm:^7.20.7": - version: 7.20.7 - resolution: "@babel/parser@npm:7.20.7" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8, @babel/parser@npm:^7.20.13, @babel/parser@npm:^7.20.7": + version: 7.20.15 + resolution: "@babel/parser@npm:7.20.15" bin: parser: ./bin/babel-parser.js - checksum: 25b5266e3bd4be837092685f6b7ef886f1308ff72659a24342eb646ae5014f61ed1771ce8fc20636c890fcae19304fc72c069564ca6075207b7fbf3f75367275 + checksum: 1d0f47ca67ff2652f1c0ff1570bed8deccbc4b53509e7cd73476af9cc7ed23480c99f1179bd6d0be01612368b92b39e206d330ad6054009d699934848a89298b languageName: node linkType: hard @@ -497,17 +497,17 @@ __metadata: linkType: hard "@babel/plugin-proposal-decorators@npm:^7.16.4": - version: 7.20.7 - resolution: "@babel/plugin-proposal-decorators@npm:7.20.7" + version: 7.20.13 + resolution: "@babel/plugin-proposal-decorators@npm:7.20.13" dependencies: - "@babel/helper-create-class-features-plugin": ^7.20.7 + "@babel/helper-create-class-features-plugin": ^7.20.12 "@babel/helper-plugin-utils": ^7.20.2 "@babel/helper-replace-supers": ^7.20.7 "@babel/helper-split-export-declaration": ^7.18.6 "@babel/plugin-syntax-decorators": ^7.19.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0de9134d71a60b165df9b6e66b7c270fb2fa940ad28d7672e5c73fe5e4300a798cbb28d845477e3265a356d5254758735f28d13452f448dd12988ea299cf7e16 + checksum: 445723b410627d52ab2d195589eb9fe5fbd66a00ebfc9bedcf63b6cbfdfc42e163d77ac391f8738ab9f632779e6f2aa427fe468fbbd6661177ef0cdca735a7d5 languageName: node linkType: hard @@ -928,13 +928,13 @@ __metadata: linkType: hard "@babel/plugin-transform-block-scoping@npm:^7.20.2": - version: 7.20.11 - resolution: "@babel/plugin-transform-block-scoping@npm:7.20.11" + version: 7.20.15 + resolution: "@babel/plugin-transform-block-scoping@npm:7.20.15" dependencies: "@babel/helper-plugin-utils": ^7.20.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b33fe53f42f83f14d1d73d6bfc058d3311ac314809de504fd4e7c99ef3a411b2d25211d7ca23aadd6530f73a8df070eaae6d202c07422ffc36f5507917e35f58 + checksum: 1dddf7be578306837074cb5059f8408af0b1c0bfcf922ed920d4aa65d08fb7c6e6129ca254e9879c4c6d2a6be4937111551f51922e8b0e071ed16eb6564a4dbb languageName: node linkType: hard @@ -1215,8 +1215,8 @@ __metadata: linkType: hard "@babel/plugin-transform-react-jsx@npm:^7.16.7, @babel/plugin-transform-react-jsx@npm:^7.18.6": - version: 7.20.7 - resolution: "@babel/plugin-transform-react-jsx@npm:7.20.7" + version: 7.20.13 + resolution: "@babel/plugin-transform-react-jsx@npm:7.20.13" dependencies: "@babel/helper-annotate-as-pure": ^7.18.6 "@babel/helper-module-imports": ^7.18.6 @@ -1225,7 +1225,7 @@ __metadata: "@babel/types": ^7.20.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 13ecbd1da582177f76ebd74d685947e703a3dcf8bd39cbc62784253201c6f7a667f3573932f6f20602dbcaf077451bf9dd3571892e3ccf4c7176add6358cd641 + checksum: b1daaa9b093ab59f71572dde7ad05ed3490433a47de103fc866f60347da55fa7fe84cf9b4c9fa22917517d52f70ab5e05ec631bba1c348733c0d8ebbd7de8c68 languageName: node linkType: hard @@ -1337,15 +1337,15 @@ __metadata: linkType: hard "@babel/plugin-transform-typescript@npm:^7.18.6": - version: 7.20.7 - resolution: "@babel/plugin-transform-typescript@npm:7.20.7" + version: 7.20.13 + resolution: "@babel/plugin-transform-typescript@npm:7.20.13" dependencies: - "@babel/helper-create-class-features-plugin": ^7.20.7 + "@babel/helper-create-class-features-plugin": ^7.20.12 "@babel/helper-plugin-utils": ^7.20.2 "@babel/plugin-syntax-typescript": ^7.20.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ca569a1b8001e7e8971874656091789c6b3209f155c91c56bce82b545e43d09d156b4fcf2f0dfcdf7911a2c546c7090c2aff167a5692443f6f0382b358c233e0 + checksum: 0b0c3a3e53268d4feb35eb17d57873f2488392e404a0b32735d51c49b08462dc738ebd860f0ff3a3dc5cd1b1fa70340bb6c072239c86afca635831b930593b3b languageName: node linkType: hard @@ -1517,12 +1517,19 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.5, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": - version: 7.20.7 - resolution: "@babel/runtime@npm:7.20.7" +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 89c338fee774770e5a487382170711014d49a68eb281e74f2b5eac88f38300a4ad545516a7786a8dd5702e9cf009c94c2f582d200f077ac5decd74c56b973730 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.5, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": + version: 7.20.13 + resolution: "@babel/runtime@npm:7.20.13" dependencies: regenerator-runtime: ^0.13.11 - checksum: 4629ce5c46f06cca9cfb9b7fc00d48003335a809888e2b91ec2069a2dcfbfef738480cff32ba81e0b7c290f8918e5c22ddcf2b710001464ee84ba62c7e32a3a3 + checksum: 09b7a97a05c80540db6c9e4ddf8c5d2ebb06cae5caf3a87e33c33f27f8c4d49d9c67a2d72f1570e796045288fad569f98a26ceba0c4f5fad2af84b6ad855c4fb languageName: node linkType: hard @@ -1555,9 +1562,9 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.17.9, @babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.7.2": - version: 7.20.12 - resolution: "@babel/traverse@npm:7.20.12" +"@babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.20.10, @babel/traverse@npm:^7.20.12, @babel/traverse@npm:^7.20.13, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.20.7, @babel/traverse@npm:^7.7.2": + version: 7.20.13 + resolution: "@babel/traverse@npm:7.20.13" dependencies: "@babel/code-frame": ^7.18.6 "@babel/generator": ^7.20.7 @@ -1565,11 +1572,11 @@ __metadata: "@babel/helper-function-name": ^7.19.0 "@babel/helper-hoist-variables": ^7.18.6 "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.20.7 + "@babel/parser": ^7.20.13 "@babel/types": ^7.20.7 debug: ^4.1.0 globals: ^11.1.0 - checksum: d758b355ab4f1e87984524b67785fa23d74e8a45d2ceb8bcf4d5b2b0cd15ee160db5e68c7078808542805774ca3802e2eafb1b9638afa4cd7f9ecabd0ca7fd56 + checksum: 30ca6e0bd18233fda48fa09315efd14dfc61dcf5b8fa3712b343bfc61b32bc63b5e85ea1773cc9576c9b293b96f46b4589aaeb0a52e1f3eeac4edc076d049fc7 languageName: node linkType: hard @@ -1678,31 +1685,31 @@ __metadata: languageName: node linkType: hard -"@commitlint/is-ignored@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/is-ignored@npm:17.4.0" +"@commitlint/is-ignored@npm:^17.4.2": + version: 17.4.2 + resolution: "@commitlint/is-ignored@npm:17.4.2" dependencies: "@commitlint/types": ^17.4.0 semver: 7.3.8 - checksum: 94643c63c7ff8dd01ef50f6593bc553411aa8c1d3372ca38e3b0086fcac96c168f4a81db1d77d153e4a9b083788c81754a311627f6260141306fa0b6a5fabaac + checksum: 4b210d6ce0f9dd66f27d925d151c88845a2f1128b10865f5808e113f31be6ab359c58c1259664c888961e7bc1b71d3e8a2125eda8b8e4be1d32618a7772603c6 languageName: node linkType: hard "@commitlint/lint@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/lint@npm:17.4.0" + version: 17.4.3 + resolution: "@commitlint/lint@npm:17.4.3" dependencies: - "@commitlint/is-ignored": ^17.4.0 - "@commitlint/parse": ^17.4.0 - "@commitlint/rules": ^17.4.0 + "@commitlint/is-ignored": ^17.4.2 + "@commitlint/parse": ^17.4.2 + "@commitlint/rules": ^17.4.3 "@commitlint/types": ^17.4.0 - checksum: 95e256ca880457e34b710292df9fa16a8c4849a43fbc0821ddd4a1a10c6f376a12cc1e24a6b5c35c899b15e2b002d2ff845e93a722b0848257941664af1052e2 + checksum: 9f9702970ec62e220ed2b2d954a727c72c3f02477e04f228f6a571558b431f6c6ca2b03c0d530b05bf507b54fca768060d5aa233bcbe8bfb813422b15ebfa014 languageName: node linkType: hard "@commitlint/load@npm:^17.4.1": - version: 17.4.1 - resolution: "@commitlint/load@npm:17.4.1" + version: 17.4.2 + resolution: "@commitlint/load@npm:17.4.2" dependencies: "@commitlint/config-validator": ^17.4.0 "@commitlint/execute-rule": ^17.4.0 @@ -1718,38 +1725,38 @@ __metadata: resolve-from: ^5.0.0 ts-node: ^10.8.1 typescript: ^4.6.4 - checksum: 17bc9f2e339da480740138bb1f56d6a5c36ec6d70844a605f09b5ffcbe0bb18fd3ab0ad09d40ba3cfd095f26b0b3cf78a02d7b73d5980d9e58dbdcdfaeb252a2 + checksum: 7c0498040611abbc2c9f2af03bc6360ca44ff85943dd49012b90b5a5d9308997d782b75e164ad2c39c5d522e94c93214e5cc4fd3b4122c5788c3c869ee91eae0 languageName: node linkType: hard -"@commitlint/message@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/message@npm:17.4.0" - checksum: 7fe8672f149cf276084f16d66fe38139b188aa94b664397aae8268f9f6060368b801fe8456076c076cb9e55ba469367256f7671aebeabb281e2b5ca275266ff8 +"@commitlint/message@npm:^17.4.2": + version: 17.4.2 + resolution: "@commitlint/message@npm:17.4.2" + checksum: 55b6cfeb57f7c9f913e18821aa4d972a6b6faa78c62741390996151f99554396f6df68ccfee86c163d24d8c27a4dbbcb50ef03c2972ab0a7a21d89daa2f9a519 languageName: node linkType: hard -"@commitlint/parse@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/parse@npm:17.4.0" +"@commitlint/parse@npm:^17.4.2": + version: 17.4.2 + resolution: "@commitlint/parse@npm:17.4.2" dependencies: "@commitlint/types": ^17.4.0 conventional-changelog-angular: ^5.0.11 conventional-commits-parser: ^3.2.2 - checksum: 5807d44b6f9f3dad93d6af898e989f0b557f08b8f0509b2f72bdafbdbd4c0ffa4abfa01e04225dca19a7479500c5b39560d2bd747335d8f7ba1f25feff129173 + checksum: d6808cc9c9ffcf8b06f938392a7428bb017c5e43d13510edad2c5885468bf0eae23e02c4d9611c200c498adb33eaf8abee797f32d437557101ddee02922f3572 languageName: node linkType: hard "@commitlint/read@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/read@npm:17.4.0" + version: 17.4.2 + resolution: "@commitlint/read@npm:17.4.2" dependencies: "@commitlint/top-level": ^17.4.0 "@commitlint/types": ^17.4.0 fs-extra: ^11.0.0 git-raw-commits: ^2.0.0 minimist: ^1.2.6 - checksum: 66cb387857d377bdc0c64f8ba3a3f4d000421d5866267c94652bfbcfb7962d0079fc2d5333eab5f09e0f8c6f195bc09a1e5b6c3d0b9f1a23c30ae84d498d5fec + checksum: ed509f913bd9790bb3abfde0886abdc4e2569eb7651e666d2d70705954f98f14e2c621ffe8ee17bb8a9bee36e65e4d4d01d5cd2792c8e08e69248d31808830fa languageName: node linkType: hard @@ -1767,16 +1774,16 @@ __metadata: languageName: node linkType: hard -"@commitlint/rules@npm:^17.4.0": - version: 17.4.0 - resolution: "@commitlint/rules@npm:17.4.0" +"@commitlint/rules@npm:^17.4.3": + version: 17.4.3 + resolution: "@commitlint/rules@npm:17.4.3" dependencies: "@commitlint/ensure": ^17.4.0 - "@commitlint/message": ^17.4.0 + "@commitlint/message": ^17.4.2 "@commitlint/to-lines": ^17.4.0 "@commitlint/types": ^17.4.0 execa: ^5.0.0 - checksum: 9f1fc405a41c55212b8c04a67966b36585b852057ebf4e4fa6ee091d55e6479a88fff333be484cff47dbdd24132c06f89d278af5084ee20eaf1156001c8c64d8 + checksum: 99bb701e419b61863a59c235b0c3582277622a7b65beeb027ffb6825a782002f90e200827acadb36d41179f3139e12cc127992b5fb2ed89b37a08e819970990c languageName: node linkType: hard @@ -1979,12 +1986,12 @@ __metadata: linkType: hard "@csstools/selector-specificity@npm:^2.0.0, @csstools/selector-specificity@npm:^2.0.2": - version: 2.0.2 - resolution: "@csstools/selector-specificity@npm:2.0.2" + version: 2.1.1 + resolution: "@csstools/selector-specificity@npm:2.1.1" peerDependencies: - postcss: ^8.2 + postcss: ^8.4 postcss-selector-parser: ^6.0.10 - checksum: a2045a27276a6cfe645b6e212afc217d9a43174ea7a1fa1ab8918d5a0ace72380fbd9837fe1920c547985c11a9070dc48c5c80d483d3f581ddf7aa688204d44f + checksum: 392ab62732e93aa8cbea445bf3485c1acbbecc8ec087b200e06c9ddd2acf740fd1fe46abdacf813e7a50a95a60346377ee3eecb4e1fe3709582e2851430b376a languageName: node linkType: hard @@ -2019,8 +2026,8 @@ __metadata: linkType: hard "@cypress/request@npm:^2.88.10": - version: 2.88.10 - resolution: "@cypress/request@npm:2.88.10" + version: 2.88.11 + resolution: "@cypress/request@npm:2.88.11" dependencies: aws-sign2: ~0.7.0 aws4: ^1.8.0 @@ -2035,37 +2042,28 @@ __metadata: json-stringify-safe: ~5.0.1 mime-types: ~2.1.19 performance-now: ^2.1.0 - qs: ~6.5.2 + qs: ~6.10.3 safe-buffer: ^5.1.2 tough-cookie: ~2.5.0 tunnel-agent: ^0.6.0 uuid: ^8.3.2 - checksum: 69c3e3b332e9be4866a900f6bcca5d274d8cea6c99707fbcce061de8dbab11c9b1e39f4c017f6e83e6e682717781d4f6106fd6b7cf9546580fcfac353b6676cf + checksum: e4b3f62e0c41c4ccca6c942828461d8ea717e752fd918d685e9f74e2ebcfa8b7942427f7ce971e502635c3bf3d40011476db84dc753d3dc360c6d08350da6f93 languageName: node linkType: hard "@cypress/webpack-preprocessor@npm:^5.11.0": - version: 5.16.1 - resolution: "@cypress/webpack-preprocessor@npm:5.16.1" + version: 5.17.0 + resolution: "@cypress/webpack-preprocessor@npm:5.17.0" dependencies: - "@babel/core": ^7.0.1 - "@babel/generator": ^7.17.9 - "@babel/parser": ^7.13.0 - "@babel/traverse": ^7.17.9 bluebird: 3.7.1 - debug: ^4.3.2 - fs-extra: ^10.1.0 - loader-utils: ^2.0.0 + debug: ^4.3.4 lodash: ^4.17.20 - md5: 2.3.0 - source-map: ^0.6.1 - webpack-virtual-modules: ^0.4.4 peerDependencies: "@babel/core": ^7.0.1 "@babel/preset-env": ^7.0.0 - babel-loader: ^8.0.2 + babel-loader: ^8.0.2 || ^9 webpack: ^4 || ^5 - checksum: d2fe0770f7183dd7226ae28fd4aca43e2af5a0f55aee4bdfce206b560fbb56b2b8a8e16b46f040935dfcf0b9af6ed9a38af3c96732859dd398cc5ddffcebcaad + checksum: 44ecf11564f5498a15289f21f27f9e89feb19e9da3701f909ef85ba650e26c5430f4e8f6f5fdfc521cb82117b4ca6642cc35e7916fb836eab1bc8209ef8e656c languageName: node linkType: hard @@ -2260,20 +2258,13 @@ __metadata: languageName: node linkType: hard -"@fastify/cookie@npm:^7.0.0": - version: 7.4.0 - resolution: "@fastify/cookie@npm:7.4.0" +"@fastify/cookie@npm:^8.0.0": + version: 8.3.0 + resolution: "@fastify/cookie@npm:8.3.0" dependencies: cookie: ^0.5.0 fastify-plugin: ^4.0.0 - checksum: cf710f8fcf07d1655bdd76b86076e32d343fdea9291534e0b87b909d978520333663c2aed63609f84c2eec46ac0e9068f462a4b63b5d124e3d31c873adaa66d7 - languageName: node - linkType: hard - -"@fastify/deepmerge@npm:^1.0.0": - version: 1.3.0 - resolution: "@fastify/deepmerge@npm:1.3.0" - checksum: 33ec927905dca320d7ae9535a1521909f7c82339706345324ab6287ad100589a799b8257c15b0e582c7bb74e2aa4883d82ba0228d7b116aa8789ada4f78d6974 + checksum: d5dfb5c85d4ae02188aad63c8cf055d3b904287bc2750964ee0b8589c5b5ae32850e8fc9456a8830e9f4e9f24d5059e54dac084835d6ef4cbba7fa4b9c4673b3 languageName: node linkType: hard @@ -2284,16 +2275,16 @@ __metadata: languageName: node linkType: hard -"@fastify/secure-session@npm:5.2.0": - version: 5.2.0 - resolution: "@fastify/secure-session@npm:5.2.0" +"@fastify/secure-session@npm:5.3.0": + version: 5.3.0 + resolution: "@fastify/secure-session@npm:5.3.0" dependencies: - "@fastify/cookie": ^7.0.0 - fastify-plugin: ^3.0.0 + "@fastify/cookie": ^8.0.0 + fastify-plugin: ^4.0.0 sodium-native: ^3.0.0 bin: secure-session: genkey.js - checksum: 3366155760af949e677cf41ad37863e49cac60ab98c519767c6aeafcce7147c2cb2594909ea03513885ff758b082db3f4ccd00ec5906af09a4a4ceabca3f7852 + checksum: 584d9321f26ade63b8913758f65693b14400c9babfe23e26ded715e4b97ee26e01bf49df2562630b35f588beccdaff38f016a2c66c0e1357708588aa93a058d0 languageName: node linkType: hard @@ -2304,49 +2295,56 @@ __metadata: languageName: node linkType: hard -"@graasp/query-client@npm:0.1.0": - version: 0.1.0 - resolution: "@graasp/query-client@npm:0.1.0" +"@graasp/query-client@npm:0.2.0": + version: 0.2.0 + resolution: "@graasp/query-client@npm:0.2.0" dependencies: - "@graasp/sdk": 0.2.0 - "@graasp/translations": 1.1.0 - "@graasp/utils": "github:graasp/graasp-utils" + "@graasp/sdk": 0.4.1 + "@graasp/translations": 1.4.0 axios: 0.27.2 crypto-js: 4.1.1 http-status-codes: 2.2.0 - immutable: 4.0.0 - qs: 6.10.3 - react-query: 3.34.19 - uuid: 8.3.2 + immutable: 4.2.4 + qs: 6.11.0 + react-query: 3.39.3 + uuid: 9.0.0 peerDependencies: react: ^17.0.0 - checksum: 3f2312930e8356d2395a643275590bd69f7b31c15bc86d80b03bbdb56491f4ab1aacf7e4f4cb93f4c4fa299d80bf1462f2ada8db46af399832e8165c37f94072 + checksum: fa632ff1c42f918344ab02473d9b6a6a13c0d5067f19bd712ad365291d48a1b3599158f9d708c90f46f6bb61c56d927a23ff0c4ce4d201a5cc7b883c994d38fc languageName: node linkType: hard -"@graasp/sdk@npm:0.2.0": - version: 0.2.0 - resolution: "@graasp/sdk@npm:0.2.0" +"@graasp/sdk@npm:0.4.0": + version: 0.4.0 + resolution: "@graasp/sdk@npm:0.4.0" dependencies: - "@fastify/secure-session": 5.2.0 - aws-sdk: 2.1111.0 - fastify: 3.29.1 + "@fastify/secure-session": 5.3.0 + aws-sdk: 2.1310.0 + fastify: 3.29.5 fluent-json-schema: 3.1.0 - immutable: 4.1.0 + immutable: 4.2.4 js-cookie: 3.0.1 qs: 6.11.0 slonik: 28.1.1 - uuid: 8.3.2 - checksum: 95a76c69dd4577f8a0eb51197d83fdb5c61c58c1c6a7c895e7ca543d4883603bc7deb534fd5b7bc4f61b5f15cd0b6c403bf165e6a6a4a756707f9ad877961339 + uuid: 9.0.0 + checksum: cf57c9e782b00c6406fbd4563e56b797bd78e8928cc4e1624601968541f6f72b7784c9d9e66bbcc46180030a7ff31f8089d8aca4ae393e57d3d5f1e8e6c614d6 languageName: node linkType: hard -"@graasp/translations@npm:1.1.0": - version: 1.1.0 - resolution: "@graasp/translations@npm:1.1.0" +"@graasp/sdk@npm:0.4.1": + version: 0.4.1 + resolution: "@graasp/sdk@npm:0.4.1" dependencies: - i18next: 21.8.1 - checksum: 1d6fabce21ef205146c4f74b9b4b5dafc5969cf13a78cd7c4947a9b882cb22d48f3832ad6e20c21cc905b41b4809a1c2efa7ba629b12cd79bd2067df6ebd2f22 + "@fastify/secure-session": 5.3.0 + aws-sdk: 2.1310.0 + fastify: 3.29.5 + fluent-json-schema: 3.1.0 + immutable: 4.2.4 + js-cookie: 3.0.1 + qs: 6.11.0 + slonik: 28.1.1 + uuid: 9.0.0 + checksum: dc65bdad6db5d8647c5753fa03c7d88cd894b3e3dc9da55c19e92da4bbc77cd85b542beb93ec5db46b75a8a7ac65ba8901258a667a3bedccb8fdfa6b4f13df14 languageName: node linkType: hard @@ -2359,30 +2357,30 @@ __metadata: languageName: node linkType: hard -"@graasp/ui@npm:0.7.0": - version: 0.7.0 - resolution: "@graasp/ui@npm:0.7.0" +"@graasp/ui@npm:0.11.1": + version: 0.11.1 + resolution: "@graasp/ui@npm:0.11.1" dependencies: - "@graasp/sdk": 0.2.0 + "@graasp/sdk": 0.4.0 clsx: 1.1.1 http-status-codes: 2.2.0 - immutable: 4.1.0 + immutable: 4.2.4 katex: 0.16.0 lodash.truncate: 4.4.2 - qs: 6.10.5 + qs: 6.11.0 quill-emoji: 0.2.0 react-cookie-consent: 7.4.1 react-i18next: 11.17.0 react-quill: 2.0.0-beta.4 react-rnd: 10.3.7 react-text-mask: 5.4.3 - uuid: 8.3.2 + uuid: 9.0.0 peerDependencies: - "@emotion/react": 11.10.4 - "@emotion/styled": 11.10.4 - "@mui/icons-material": 5.8.3 - "@mui/lab": ~5.0.0-alpha.85 - "@mui/material": 5.10.7 + "@emotion/react": ~11.10.5 + "@emotion/styled": ~11.10.5 + "@mui/icons-material": ~5.11.0 + "@mui/lab": ~5.0.0-alpha.120 + "@mui/material": ~5.11.9 ag-grid-community: 28.1.1 ag-grid-react: 28.1.1 i18next: ~21.8.9 @@ -2394,24 +2392,7 @@ __metadata: optional: true ag-grid-react: optional: true - checksum: 50ec75bd89a11e45782d8dcc012719cd0bef7191c8967d936228ffceff871b91258555130bb429324eaf9f14850f544f11009609be0de4e3652c1bce81f97648 - languageName: node - linkType: hard - -"@graasp/utils@github:graasp/graasp-utils": - version: 0.2.0 - resolution: "@graasp/utils@https://github.com/graasp/graasp-utils.git#commit=a82c39b5ccfebb91ac9bfad978b549712ba193da" - dependencies: - "@fastify/secure-session": 5.2.0 - aws-sdk: 2.1111.0 - fastify: 3.29.1 - fluent-json-schema: 3.1.0 - immutable: 4.1.0 - js-cookie: 3.0.1 - qs: 6.11.0 - slonik: 28.1.1 - uuid: 8.3.2 - checksum: 3eb934876453e069fe80da1f59f0298d9c99a87a816fd353ba71b41c3271f332ac6f7aedbe97979dca1390c1902a6532a2f6d4f93de126cdf976b54f0a7afef5 + checksum: 599961399ee145e1a82555e6de86a927ae5408b4e145cc88de4eb0da3a22bc9b896b4145d44982e615a61d680b16c40832034f321d738458ea42266874c11627 languageName: node linkType: hard @@ -2564,12 +2545,12 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:^29.3.1": - version: 29.3.1 - resolution: "@jest/expect-utils@npm:29.3.1" +"@jest/expect-utils@npm:^29.4.3": + version: 29.4.3 + resolution: "@jest/expect-utils@npm:29.4.3" dependencies: - jest-get-type: ^29.2.0 - checksum: 7f3b853eb1e4299988f66b9aa49c1aacb7b8da1cf5518dca4ccd966e865947eed8f1bde6c8f5207d8400e9af870112a44b57aa83515ad6ea5e4a04a971863adb + jest-get-type: ^29.4.3 + checksum: 2bbed39ff2fb59f5acac465a1ce7303e3b4b62b479e4f386261986c9827f7f799ea912761e22629c5daf10addf8513f16733c14a29c2647bb66d4ee625e9ff92 languageName: node linkType: hard @@ -2645,12 +2626,12 @@ __metadata: languageName: node linkType: hard -"@jest/schemas@npm:^29.0.0": - version: 29.0.0 - resolution: "@jest/schemas@npm:29.0.0" +"@jest/schemas@npm:^29.4.3": + version: 29.4.3 + resolution: "@jest/schemas@npm:29.4.3" dependencies: - "@sinclair/typebox": ^0.24.1 - checksum: 41355c78f09eb1097e57a3c5d0ca11c9099e235e01ea5fa4e3953562a79a6a9296c1d300f1ba50ca75236048829e056b00685cd2f1ff8285e56fd2ce01249acb + "@sinclair/typebox": ^0.25.16 + checksum: ac754e245c19dc39e10ebd41dce09040214c96a4cd8efa143b82148e383e45128f24599195ab4f01433adae4ccfbe2db6574c90db2862ccd8551a86704b5bebd languageName: node linkType: hard @@ -2751,17 +2732,17 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^29.3.1": - version: 29.3.1 - resolution: "@jest/types@npm:29.3.1" +"@jest/types@npm:^29.4.3": + version: 29.4.3 + resolution: "@jest/types@npm:29.4.3" dependencies: - "@jest/schemas": ^29.0.0 + "@jest/schemas": ^29.4.3 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: 6f9faf27507b845ff3839c1adc6dbd038d7046d03d37e84c9fc956f60718711a801a5094c7eeee6b39ccf42c0ab61347fdc0fa49ab493ae5a8efd2fd41228ee8 + checksum: 1756f4149d360f98567f56f434144f7af23ed49a2c42889261a314df6b6654c2de70af618fb2ee0ee39cadaf10835b885845557184509503646c9cb9dcc02bac languageName: node linkType: hard @@ -2844,14 +2825,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-alpha.113": - version: 5.0.0-alpha.113 - resolution: "@mui/base@npm:5.0.0-alpha.113" +"@mui/base@npm:5.0.0-alpha.117": + version: 5.0.0-alpha.117 + resolution: "@mui/base@npm:5.0.0-alpha.117" dependencies: "@babel/runtime": ^7.20.7 "@emotion/is-prop-valid": ^1.2.0 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.2 + "@mui/utils": ^5.11.7 "@popperjs/core": ^2.11.6 clsx: ^1.2.1 prop-types: ^15.8.1 @@ -2863,14 +2844,14 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 787905a89b9ff88915b0e206617b2ecc10d06a9ee24d852ff19dc442708f2812e35cec94c2d2d5c832c2685e5625a4171ce63935837316bd9214809d3c4734b3 + checksum: 817f72abb57730eff9fdea916af9d65dbe108a3da91601b72b4a005188d96df8a481a2e4310ade990689a7dfb5ce1235cc0b46d01a3e5588d888c99f6f2eae5b languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.11.4": - version: 5.11.4 - resolution: "@mui/core-downloads-tracker@npm:5.11.4" - checksum: 4ee982654d1d519c5d136c803dfc47d35e38427985f723de233c7ef5b273c0a04a37a4728f4cbab9e39eacf1c79e1feef8f621c77f4bb259d841638692693bd0 +"@mui/core-downloads-tracker@npm:^5.11.8": + version: 5.11.9 + resolution: "@mui/core-downloads-tracker@npm:5.11.9" + checksum: 2fcb81a43afb9be4a14509f7e48097968ae32c4ad22380a0dc3d516fa1b6b6cc927384585e797a6c461f79e8453331ce49aa7658830e8a4dc3b8904ce7084a6a languageName: node linkType: hard @@ -2890,15 +2871,15 @@ __metadata: languageName: node linkType: hard -"@mui/lab@npm:5.0.0-alpha.115": - version: 5.0.0-alpha.115 - resolution: "@mui/lab@npm:5.0.0-alpha.115" +"@mui/lab@npm:5.0.0-alpha.119": + version: 5.0.0-alpha.119 + resolution: "@mui/lab@npm:5.0.0-alpha.119" dependencies: "@babel/runtime": ^7.20.7 - "@mui/base": 5.0.0-alpha.113 - "@mui/system": ^5.11.4 + "@mui/base": 5.0.0-alpha.117 + "@mui/system": ^5.11.8 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.2 + "@mui/utils": ^5.11.7 clsx: ^1.2.1 prop-types: ^15.8.1 react-is: ^18.2.0 @@ -2916,20 +2897,20 @@ __metadata: optional: true "@types/react": optional: true - checksum: 042641a756f0085fe143a24d99ad11028eb3c5cf5511dc2ef3f0ee9faf585db3a23a094bfb71d5868fa195a6638f868abbdfc3e74ca479eaca2fab16ca60f9af + checksum: fa4624a618de38ae77dcec5d21cd141cb9db78b9befaf517f76c311a28da62af4e50468111ac9e0788608a89518f6cb1e7a8a2567fb82443ec02dfcb9678b145 languageName: node linkType: hard -"@mui/material@npm:5.11.4": - version: 5.11.4 - resolution: "@mui/material@npm:5.11.4" +"@mui/material@npm:5.11.8": + version: 5.11.8 + resolution: "@mui/material@npm:5.11.8" dependencies: "@babel/runtime": ^7.20.7 - "@mui/base": 5.0.0-alpha.113 - "@mui/core-downloads-tracker": ^5.11.4 - "@mui/system": ^5.11.4 + "@mui/base": 5.0.0-alpha.117 + "@mui/core-downloads-tracker": ^5.11.8 + "@mui/system": ^5.11.8 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.2 + "@mui/utils": ^5.11.7 "@types/react-transition-group": ^4.4.5 clsx: ^1.2.1 csstype: ^3.1.1 @@ -2949,16 +2930,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 6c9522a542182c21ab82cf87211751f7e13e6fc1a1c0105d4f0b5dbd36ab34719444d1d5df9155670a1c902b55060e6724fb66831273108cb5c77705a8e84ce2 + checksum: 5bf9706c51c0bdd481b577a90b0773fe6f673a50746a929bad4c6b508609c49dbee35ab38515e20538d786e9a70a6da823fb30ca76fb8a75a6e06a1b4b647da1 languageName: node linkType: hard -"@mui/private-theming@npm:^5.11.2": - version: 5.11.2 - resolution: "@mui/private-theming@npm:5.11.2" +"@mui/private-theming@npm:^5.11.9": + version: 5.11.9 + resolution: "@mui/private-theming@npm:5.11.9" dependencies: - "@babel/runtime": ^7.20.7 - "@mui/utils": ^5.11.2 + "@babel/runtime": ^7.20.13 + "@mui/utils": ^5.11.9 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -2966,15 +2947,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 4a36ca48a7a8187d46c3e0d21ec08f7cb732bd4a5bac91c959337c8b0af031beb3a6c5ceac979b685c2e0e66321273d55dd54648f925bfdb946d6513fc6150e6 + checksum: c0cfdf6d790ce219e59f2d222847b88e0ab1d3281a427935460f8a652b54faaf0ad483f13a5fafdec37df7cc87a489821b20e9fa26d49251e714fa6fef8da5c2 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.11.0": - version: 5.11.0 - resolution: "@mui/styled-engine@npm:5.11.0" +"@mui/styled-engine@npm:^5.11.9": + version: 5.11.9 + resolution: "@mui/styled-engine@npm:5.11.9" dependencies: - "@babel/runtime": ^7.20.6 + "@babel/runtime": ^7.20.13 "@emotion/cache": ^11.10.5 csstype: ^3.1.1 prop-types: ^15.8.1 @@ -2987,19 +2968,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: ddc486bc5e0e8e7b683e4c3bffecd11c2ce1e6c67a485354c5fc5a6fe04ed5ce76db737609a2ae04779e9d5f57c7936174d458a3795eab62291c2d7681184062 + checksum: c32dd4b1e90fd19664dce92b3188a4ae3e239bcf6c1baa0e608478f41047aba4f0b796543a213337aa905a86c44284cf99198ceaccb1e444dee3ab0cc3092829 languageName: node linkType: hard -"@mui/system@npm:^5.11.4": - version: 5.11.4 - resolution: "@mui/system@npm:5.11.4" +"@mui/system@npm:^5.11.8": + version: 5.11.9 + resolution: "@mui/system@npm:5.11.9" dependencies: - "@babel/runtime": ^7.20.7 - "@mui/private-theming": ^5.11.2 - "@mui/styled-engine": ^5.11.0 + "@babel/runtime": ^7.20.13 + "@mui/private-theming": ^5.11.9 + "@mui/styled-engine": ^5.11.9 "@mui/types": ^7.2.3 - "@mui/utils": ^5.11.2 + "@mui/utils": ^5.11.9 clsx: ^1.2.1 csstype: ^3.1.1 prop-types: ^15.8.1 @@ -3015,7 +2996,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: f86f35f6ea432204cbeb94edd0a0d0fe12f3ad6d82f85262293e9240fe43c64512aad14a11c5f7291e5e2c3ea2b8864dee76f70071f6af8942f494987d7a498e + checksum: d3cc0efbb992299f030369c09d6d0db44c7b29f436d1eaa271de9e06b78575d63e6b3df389cbf37191870a478a5267b43e995d27361236cfceac1f5a88b71a5b languageName: node linkType: hard @@ -3031,18 +3012,18 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.11.2": - version: 5.11.2 - resolution: "@mui/utils@npm:5.11.2" +"@mui/utils@npm:^5.11.7, @mui/utils@npm:^5.11.9": + version: 5.11.9 + resolution: "@mui/utils@npm:5.11.9" dependencies: - "@babel/runtime": ^7.20.7 + "@babel/runtime": ^7.20.13 "@types/prop-types": ^15.7.5 "@types/react-is": ^16.7.1 || ^17.0.0 prop-types: ^15.8.1 react-is: ^18.2.0 peerDependencies: react: ^17.0.0 || ^18.0.0 - checksum: 69091d9120681dee29fc20220b7db5dd61334194c139df735d932f072dab00eeae6e440058ffbccebbe93d4a3a998c23b6f4df570cb66cdacd023fce9f0f5912 + checksum: 23761e646443a8f9ad5e0715587491e65f5164fd99f6730f134068f9c859a6af9e3f9d218d193c9a9217da1c91182f76352c120de4f70ab19539afa7504698a2 languageName: node linkType: hard @@ -3102,6 +3083,20 @@ __metadata: languageName: node linkType: hard +"@pkgr/utils@npm:^2.3.1": + version: 2.3.1 + resolution: "@pkgr/utils@npm:2.3.1" + dependencies: + cross-spawn: ^7.0.3 + is-glob: ^4.0.3 + open: ^8.4.0 + picocolors: ^1.0.0 + tiny-glob: ^0.2.9 + tslib: ^2.4.0 + checksum: 118a1971120253740121a1db0a6658c21195b7da962acf9c124b507a3df707cfc97b0b84a16edcbd4352853b182e8337da9fc6e8e3d06c60d75ae4fb42321c75 + languageName: node + linkType: hard + "@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.3": version: 0.5.10 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.10" @@ -3148,6 +3143,13 @@ __metadata: languageName: node linkType: hard +"@remix-run/router@npm:1.3.2": + version: 1.3.2 + resolution: "@remix-run/router@npm:1.3.2" + checksum: ee2108b87d4a1241cdea137dd7e1741ee679228bd33fd81e22a6bb2940f81186cefe9a85e26d60cc49bbcc1bdbc57d1954b7d4d62f8a51ef69feddfc899f55fa + languageName: node + linkType: hard + "@rollup/plugin-babel@npm:^5.2.0": version: 5.3.1 resolution: "@rollup/plugin-babel@npm:5.3.1" @@ -3222,7 +3224,7 @@ __metadata: languageName: node linkType: hard -"@sideway/formula@npm:^3.0.0": +"@sideway/formula@npm:^3.0.1": version: 3.0.1 resolution: "@sideway/formula@npm:3.0.1" checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a @@ -3243,6 +3245,13 @@ __metadata: languageName: node linkType: hard +"@sinclair/typebox@npm:^0.25.16": + version: 0.25.23 + resolution: "@sinclair/typebox@npm:0.25.23" + checksum: 5720daec6e604be9ac849e6361cfa30d19f4d01934c9b79a3a5f5290dfcefaa300192ea0d384bb5dd0104432d88447bbad27adfacdf0b0f042b510bf15fbd5db + languageName: node + linkType: hard + "@sinonjs/commons@npm:^1.7.0": version: 1.8.6 resolution: "@sinonjs/commons@npm:1.8.6" @@ -3405,8 +3414,8 @@ __metadata: linkType: hard "@testing-library/dom@npm:^8.5.0": - version: 8.19.1 - resolution: "@testing-library/dom@npm:8.19.1" + version: 8.20.0 + resolution: "@testing-library/dom@npm:8.20.0" dependencies: "@babel/code-frame": ^7.10.4 "@babel/runtime": ^7.12.5 @@ -3416,7 +3425,7 @@ __metadata: dom-accessibility-api: ^0.5.9 lz-string: ^1.4.4 pretty-format: ^27.0.2 - checksum: 0fb1f05fa199491795063eae5e892922851570717c85131776de6edd5477b1bfa528790401120a616ce4846584570d1436b0bce4649652ddb6ea9d67a1f00b19 + checksum: 1e599129a2fe91959ce80900a0a4897232b89e2a8e22c1f5950c36d39c97629ea86b4986b60b173b5525a05de33fde1e35836ea597b03de78cc51b122835c6f0 languageName: node linkType: hard @@ -3535,15 +3544,15 @@ __metadata: linkType: hard "@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": - version: 7.1.20 - resolution: "@types/babel__core@npm:7.1.20" + version: 7.20.0 + resolution: "@types/babel__core@npm:7.20.0" dependencies: - "@babel/parser": ^7.1.0 - "@babel/types": ^7.0.0 + "@babel/parser": ^7.20.7 + "@babel/types": ^7.20.7 "@types/babel__generator": "*" "@types/babel__template": "*" "@types/babel__traverse": "*" - checksum: a09c4f0456552547a5b8a5a009a3daec4d362f622168f8e08bda0ded2da0a65ab0b1642e23c433b3616721f5701dc34a996c5bde5baeaea53eda98f438043f2c + checksum: 49b601a0a7637f1f387442c8156bd086cfd10ff4b82b0e1994e73a6396643b5435366fb33d6b604eade8467cca594ef97adcbc412aede90bb112ebe88d0ad6df languageName: node linkType: hard @@ -3624,12 +3633,12 @@ __metadata: linkType: hard "@types/eslint@npm:*, @types/eslint@npm:^7.29.0 || ^8.4.1": - version: 8.4.10 - resolution: "@types/eslint@npm:8.4.10" + version: 8.21.1 + resolution: "@types/eslint@npm:8.21.1" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 21e009ed9ed9bc8920fdafc6e11ff321c4538b4cc18a56fdd59dc5184ea7bbf363c71638c9bdb59fc1254dddcdd567485136ed68b0ee4750948d4e32cb79c689 + checksum: 584068441e4000c7b41c8928274fdcc737bc62f564928c30eb64ec41bbdbac31612f9fedaf490bceab31ec8305e99615166428188ea345d58878394683086fae languageName: node linkType: hard @@ -3654,26 +3663,26 @@ __metadata: languageName: node linkType: hard -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.31": - version: 4.17.32 - resolution: "@types/express-serve-static-core@npm:4.17.32" +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": + version: 4.17.33 + resolution: "@types/express-serve-static-core@npm:4.17.33" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" - checksum: 70ec1b8f386628850b315a7b9fd4240a5a70297b41ef1c39af65c8b9661d2c775cfff4686b491fd90e5b6eef43088af203700c5541aec0d063db0c6cbeff254c + checksum: dce580d16b85f207445af9d4053d66942b27d0c72e86153089fa00feee3e96ae336b7bedb31ed4eea9e553c99d6dd356ed6e0928f135375d9f862a1a8015adf2 languageName: node linkType: hard "@types/express@npm:*, @types/express@npm:^4.17.13": - version: 4.17.15 - resolution: "@types/express@npm:4.17.15" + version: 4.17.17 + resolution: "@types/express@npm:4.17.17" dependencies: "@types/body-parser": "*" - "@types/express-serve-static-core": ^4.17.31 + "@types/express-serve-static-core": ^4.17.33 "@types/qs": "*" "@types/serve-static": "*" - checksum: b4acd8a836d4f6409cdf79b12d6e660485249b62500cccd61e7997d2f520093edf77d7f8498ca79d64a112c6434b6de5ca48039b8fde2c881679eced7e96979b + checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da languageName: node linkType: hard @@ -3686,6 +3695,13 @@ __metadata: languageName: node linkType: hard +"@types/history@npm:^4.7.11": + version: 4.7.11 + resolution: "@types/history@npm:4.7.11" + checksum: c92e2ba407dcab0581a9afdf98f533aa41b61a71133420a6d92b1ca9839f741ab1f9395b17454ba5b88cb86020b70b22d74a1950ccfbdfd9beeaa5459fdc3464 + languageName: node + linkType: hard + "@types/html-minifier-terser@npm:^6.0.0": version: 6.1.0 resolution: "@types/html-minifier-terser@npm:6.1.0" @@ -3728,12 +3744,22 @@ __metadata: linkType: hard "@types/jest@npm:*": - version: 29.2.5 - resolution: "@types/jest@npm:29.2.5" + version: 29.4.0 + resolution: "@types/jest@npm:29.4.0" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: d668470f00ec4cb8b8457f1fd90f7358fad8f22d74b85006dad6be522d6b9bf10f49f597e88d1d1a518d211c1b65be32a1f27f0e49ce0658d110a9206b8ea310 + checksum: 23760282362a252e6690314584d83a47512d4cd61663e957ed3398ecf98195fe931c45606ee2f9def12f8ed7d8aa102d492ec42d26facdaf8b78094a31e6568e + languageName: node + linkType: hard + +"@types/jest@npm:28.1.6": + version: 28.1.6 + resolution: "@types/jest@npm:28.1.6" + dependencies: + jest-matcher-utils: ^28.0.0 + pretty-format: ^28.0.0 + checksum: f2ba5fbefc8f44d1c16ee19d8d2811bca75754a2846e222287f2788d96062801c568215e6b81eb532a48e8cb2a7282729da1d4f6fb496831da8269c5abaad4c5 languageName: node linkType: hard @@ -3766,9 +3792,16 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 18.11.18 - resolution: "@types/node@npm:18.11.18" - checksum: 03f17f9480f8d775c8a72da5ea7e9383db5f6d85aa5fefde90dd953a1449bd5e4ffde376f139da4f3744b4c83942166d2a7603969a6f8ea826edfb16e6e3b49d + version: 18.13.0 + resolution: "@types/node@npm:18.13.0" + checksum: 4ea10f8802848b01672bce938f678b6774ca2cee0c9774f12275ab064ae07818419c3e2e41d6257ce7ba846d1ea26c63214aa1dfa4166fa3746291752b8c6416 + languageName: node + linkType: hard + +"@types/node@npm:18.6.2": + version: 18.6.2 + resolution: "@types/node@npm:18.6.2" + checksum: 644c460baedb1fbbd55369ab621167cb39ddaa727fd4fcf4bc7080183cf936d7ff8c2c886ba93ff42768d6f7a579a540e6d1e63d3adba4e5758fb13671ae68ce languageName: node linkType: hard @@ -3814,7 +3847,7 @@ __metadata: languageName: node linkType: hard -"@types/qs@npm:*": +"@types/qs@npm:*, @types/qs@npm:6.9.7": version: 6.9.7 resolution: "@types/qs@npm:6.9.7" checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba @@ -3837,12 +3870,21 @@ __metadata: languageName: node linkType: hard +"@types/react-dom@npm:17.0.2": + version: 17.0.2 + resolution: "@types/react-dom@npm:17.0.2" + dependencies: + "@types/react": "*" + checksum: 1725928a1c3a0026044e6401e6b53729e1a88849034fc67138d7784ec44a5132fe2e9056a19b741ccb462ff0ec0d8c2c01ef316bda19be0e31f2ead9346f600b + languageName: node + linkType: hard + "@types/react-dom@npm:^18.0.0": - version: 18.0.10 - resolution: "@types/react-dom@npm:18.0.10" + version: 18.0.11 + resolution: "@types/react-dom@npm:18.0.11" dependencies: "@types/react": "*" - checksum: ff8282d5005a0b1cd95fb65bf79d3d8485e4cfe2aaf052129033a178684b940014a3f4536bc20d573f8a01cf4c6f4770c74988cef7c2b5cac3041d9f172647e3 + checksum: 579691e4d5ec09688087568037c35edf8cfb1ab3e07f6c60029280733ee7b5c06d66df6fcc90786702c93ac8cb13bc7ff16c79ddfc75d082938fbaa36e1cdbf4 languageName: node linkType: hard @@ -3855,6 +3897,27 @@ __metadata: languageName: node linkType: hard +"@types/react-router-dom@npm:5.3.3": + version: 5.3.3 + resolution: "@types/react-router-dom@npm:5.3.3" + dependencies: + "@types/history": ^4.7.11 + "@types/react": "*" + "@types/react-router": "*" + checksum: 28c4ea48909803c414bf5a08502acbb8ba414669b4b43bb51297c05fe5addc4df0b8fd00e0a9d1e3535ec4073ef38aaafac2c4a2b95b787167d113bc059beff3 + languageName: node + linkType: hard + +"@types/react-router@npm:*": + version: 5.1.20 + resolution: "@types/react-router@npm:5.1.20" + dependencies: + "@types/history": ^4.7.11 + "@types/react": "*" + checksum: 128764143473a5e9457ddc715436b5d49814b1c214dde48939b9bef23f0e77f52ffcdfa97eb8d3cc27e2c229869c0cdd90f637d887b62f2c9f065a87d6425419 + languageName: node + linkType: hard + "@types/react-transition-group@npm:^4.4.5": version: 4.4.5 resolution: "@types/react-transition-group@npm:4.4.5" @@ -3865,13 +3928,24 @@ __metadata: linkType: hard "@types/react@npm:*": - version: 18.0.26 - resolution: "@types/react@npm:18.0.26" + version: 18.0.28 + resolution: "@types/react@npm:18.0.28" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: b62f0ea3cdfa68e106391728325057ad36f1bde7ba2dfae029472c47e01e482bc77c6ba4f1dad59f3f04ee81cb597618ff7c30a33c157c0a20462b6dd6aa2d4d + checksum: e752df961105e5127652460504785897ca6e77259e0da8f233f694f9e8f451cde7fa0709d4456ade0ff600c8ce909cfe29f9b08b9c247fa9b734e126ec53edd7 + languageName: node + linkType: hard + +"@types/react@npm:17.0.30": + version: 17.0.30 + resolution: "@types/react@npm:17.0.30" + dependencies: + "@types/prop-types": "*" + "@types/scheduler": "*" + csstype: ^3.0.2 + checksum: e3aaac1b8fda6e3622b75db0bd7d8dc412c2f2b77a00afdd32cae8c71fb0b1ca6926ab1fbe1c536dd51d96c0ba372738993837a8df1637637aaab7b86e421b7f languageName: node linkType: hard @@ -3964,9 +4038,16 @@ __metadata: linkType: hard "@types/trusted-types@npm:^2.0.2": - version: 2.0.2 - resolution: "@types/trusted-types@npm:2.0.2" - checksum: 3371eef5f1c50e1c3c07a127c1207b262ba65b83dd167a1c460fc1b135a3fb0c97b9f508efebd383f239cc5dd5b7169093686a692a501fde9c3f7208657d9b0d + version: 2.0.3 + resolution: "@types/trusted-types@npm:2.0.3" + checksum: 4794804bc4a4a173d589841b6d26cf455ff5dc4f3e704e847de7d65d215f2e7043d8757e4741ce3a823af3f08260a8d04a1a6e9c5ec9b20b7b04586956a6b005 + languageName: node + linkType: hard + +"@types/validator@npm:13.7.4": + version: 13.7.4 + resolution: "@types/validator@npm:13.7.4" + checksum: 718e72d86c897861bc7f35e7918e0305d4efa5891ffdce6a8b77dbdc6fd10a70c2c6851f716a7f75ab2b0c12b5534f74e6d6b1040ac6eb8ab40d918c022283e5 languageName: node linkType: hard @@ -3996,11 +4077,11 @@ __metadata: linkType: hard "@types/yargs@npm:^17.0.8": - version: 17.0.19 - resolution: "@types/yargs@npm:17.0.19" + version: 17.0.22 + resolution: "@types/yargs@npm:17.0.22" dependencies: "@types/yargs-parser": "*" - checksum: 89a664ba6cef795a5b14a1b2cdc0e2a943cd654e61cc4286b6a704b944051bc30b0d7fec249dd2685cb6cfd17fdf0750d60ec69859aa5a5911c48a288284e842 + checksum: 0773523fda71bafdc52f13f5970039e535a353665a60ba9261149a5c9c2b908242e6e77fbb7a8c06931ec78ce889d64d09673c68ba23eb5f5742d5385d0d1982 languageName: node linkType: hard @@ -4013,14 +4094,39 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/eslint-plugin@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.51.0" + dependencies: + "@typescript-eslint/scope-manager": 5.51.0 + "@typescript-eslint/type-utils": 5.51.0 + "@typescript-eslint/utils": 5.51.0 + debug: ^4.3.4 + grapheme-splitter: ^1.0.4 + ignore: ^5.2.0 + natural-compare-lite: ^1.4.0 + regexpp: ^3.2.0 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 5351d8cec13bd9867ce4aaf7052aa31c9ca867fc89c620fc0fe5718ac2cbc165903275db59974324d98e45df0d33a73a4367d236668772912731031a672cfdcd + languageName: node + linkType: hard + "@typescript-eslint/eslint-plugin@npm:^5.5.0": - version: 5.48.1 - resolution: "@typescript-eslint/eslint-plugin@npm:5.48.1" + version: 5.52.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.52.0" dependencies: - "@typescript-eslint/scope-manager": 5.48.1 - "@typescript-eslint/type-utils": 5.48.1 - "@typescript-eslint/utils": 5.48.1 + "@typescript-eslint/scope-manager": 5.52.0 + "@typescript-eslint/type-utils": 5.52.0 + "@typescript-eslint/utils": 5.52.0 debug: ^4.3.4 + grapheme-splitter: ^1.0.4 ignore: ^5.2.0 natural-compare-lite: ^1.4.0 regexpp: ^3.2.0 @@ -4032,54 +4138,98 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: d8d73d123d16fc9b50b500ef21816dcabdffe0d2dcfdb15089dc5a1015d57cbad709de565d1c830f5058c0d7b410069e2554c0b53d1485fe7b237ea8089e58be + checksum: cff07ee94d8ab2a1b6c33b5c5bf641eff2bf2bebc0f35a9d8b3f128fd610e27a4aaf620bc2ad23608ad161b1810b7e32e5a2e0f746cc5094c3f506f7a14daa34 languageName: node linkType: hard "@typescript-eslint/experimental-utils@npm:^5.0.0": - version: 5.48.1 - resolution: "@typescript-eslint/experimental-utils@npm:5.48.1" + version: 5.52.0 + resolution: "@typescript-eslint/experimental-utils@npm:5.52.0" dependencies: - "@typescript-eslint/utils": 5.48.1 + "@typescript-eslint/utils": 5.52.0 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 3e200b67798c7f253f492a7af3d917abb7e317846c467189601e54ecb51e3c9d50236003728c975d7907b23adaae89293e7d37e1964b39ffde42dad58702bfff + checksum: dd16813335bcf867a4223ee6c2c1e6026a02f3de3c859b6ff59383746d20fb37bef21e3e65b07ff3b48480814c352f92064c3615c6b3241f3473c10cb3bdcf64 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/parser@npm:5.51.0" + dependencies: + "@typescript-eslint/scope-manager": 5.51.0 + "@typescript-eslint/types": 5.51.0 + "@typescript-eslint/typescript-estree": 5.51.0 + debug: ^4.3.4 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 096ec819132839febd4f390c4bbf31687e06191092c244dbd189a64cd7383fbaba728f2765e8809cd9834c0069163ab38b0e5f0f6360157d831647d4c295f8cd languageName: node linkType: hard "@typescript-eslint/parser@npm:^5.5.0": - version: 5.48.1 - resolution: "@typescript-eslint/parser@npm:5.48.1" + version: 5.52.0 + resolution: "@typescript-eslint/parser@npm:5.52.0" dependencies: - "@typescript-eslint/scope-manager": 5.48.1 - "@typescript-eslint/types": 5.48.1 - "@typescript-eslint/typescript-estree": 5.48.1 + "@typescript-eslint/scope-manager": 5.52.0 + "@typescript-eslint/types": 5.52.0 + "@typescript-eslint/typescript-estree": 5.52.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: c624d24eb209b4ce7f0a6c8116712363f10a9c9a5138f240e254ff265526ee4b0fd73b7b6b4b6a0e7611bd9934c42036350dd27f96ae2fa4efdade1a7ebd0e9e + checksum: 1d8ff6e932f9c9db8d24b16ce89fd963f0982c38559e500aa1f8dc5cd66abd02f1659dd1a1361ce550def05331803caa69a69a039b54c94fc0f22919a2305c12 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.48.1": - version: 5.48.1 - resolution: "@typescript-eslint/scope-manager@npm:5.48.1" +"@typescript-eslint/scope-manager@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/scope-manager@npm:5.51.0" dependencies: - "@typescript-eslint/types": 5.48.1 - "@typescript-eslint/visitor-keys": 5.48.1 - checksum: f60a7efe917798cccf8652925de6be58b023ded6c6ee44ce74d074f0c2a1927680398a6d73bab33d500c69474ad8c54d63b90fcc6e13256712707d12a60e0a64 + "@typescript-eslint/types": 5.51.0 + "@typescript-eslint/visitor-keys": 5.51.0 + checksum: b3c9f48b6b7a7ae2ebcad4745ef91e4727776b2cf56d31be6456b1aa063aa649539e20f9fffa83cad9ccaaa9c492f2354a1c15526a2b789e235ec58b3a82d22c + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.52.0": + version: 5.52.0 + resolution: "@typescript-eslint/scope-manager@npm:5.52.0" + dependencies: + "@typescript-eslint/types": 5.52.0 + "@typescript-eslint/visitor-keys": 5.52.0 + checksum: 9a03fe30f8e90a5106c482478f213eefdd09f2f74e24d9dc59b453885466a758fe6d1cd24d706aed6188fb03c84b16ca6491cf20da6b16b8fc53cad8b8c327f2 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/type-utils@npm:5.51.0" + dependencies: + "@typescript-eslint/typescript-estree": 5.51.0 + "@typescript-eslint/utils": 5.51.0 + debug: ^4.3.4 + tsutils: ^3.21.0 + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: ab9747b0c629cfaaab903eed8ce1e39d34d69a402ce5faf2f1fff2bbb461bdbe034044b1368ba67ba8e5c1c512172e07d83c8a563635d8de811bf148d95c7dec languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.48.1": - version: 5.48.1 - resolution: "@typescript-eslint/type-utils@npm:5.48.1" +"@typescript-eslint/type-utils@npm:5.52.0": + version: 5.52.0 + resolution: "@typescript-eslint/type-utils@npm:5.52.0" dependencies: - "@typescript-eslint/typescript-estree": 5.48.1 - "@typescript-eslint/utils": 5.48.1 + "@typescript-eslint/typescript-estree": 5.52.0 + "@typescript-eslint/utils": 5.52.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -4087,23 +4237,48 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2739b35caf48c9edbeab82936de58ce0759ab34955ce7eec1786690d6a63146ae0a6c5d9c76034605d9fe200c87a73ede0772c6244c5df6e66df992d9ebbab72 + checksum: ac5422040461febab8a2eeec76d969024ccff76203dec357f7220c9b5e0dde96e3e3a76fd4118d42b50bd5bfb3a194aaceeb63417a2ac4e1ebf5e687558a9a10 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/types@npm:5.51.0" + checksum: b31021a0866f41ba5d71b6c4c7e20cc9b99d49c93bb7db63b55b2e51542fb75b4e27662ee86350da3c1318029e278a5a807facaf4cb5aeea724be8b0e021e836 languageName: node linkType: hard -"@typescript-eslint/types@npm:5.48.1": - version: 5.48.1 - resolution: "@typescript-eslint/types@npm:5.48.1" - checksum: 8437986e9d86d792b23327517ae2f9861ec55992d5a9cd55991e525409b6244169436cd708f3987ab7c579e45e59b6eab5a9d3583f7729219e25691164293094 +"@typescript-eslint/types@npm:5.52.0": + version: 5.52.0 + resolution: "@typescript-eslint/types@npm:5.52.0" + checksum: 018940d61aebf7cf3f7de1b9957446e2ea01f08fe950bef4788c716a3a88f7c42765fe7d80152b0d0428fcd4bd3ace2dfa8c459ba1c59d9a84e951642180f869 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.51.0" + dependencies: + "@typescript-eslint/types": 5.51.0 + "@typescript-eslint/visitor-keys": 5.51.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.3.7 + tsutils: ^3.21.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: aec23e5cab48ee72fefa6d1ac266639ebabf6cebec1e0207ad47011d3a48186ac9a632c8e34c3bac896155f54895a497230c11d789fd81263b08eb267d7113ce languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.48.1": - version: 5.48.1 - resolution: "@typescript-eslint/typescript-estree@npm:5.48.1" +"@typescript-eslint/typescript-estree@npm:5.52.0": + version: 5.52.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.52.0" dependencies: - "@typescript-eslint/types": 5.48.1 - "@typescript-eslint/visitor-keys": 5.48.1 + "@typescript-eslint/types": 5.52.0 + "@typescript-eslint/visitor-keys": 5.52.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -4112,35 +4287,63 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2b26e5848ef131e1bb99ed54d8c0efa8279cf8e8f7d8b72de00c2ca6cf2799d96c20f5bbbcf26e14e81b7b9d1035ba509bff30f2d852c174815879e8f14c27ed + checksum: 67d396907fee3d6894e26411a5098a37f07e5d50343189e6361ff7db91c74a7ffe2abd630d11f14c2bda1f4af13edf52b80b11cbccb55b44079c7cec14c9e108 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/utils@npm:5.51.0" + dependencies: + "@types/json-schema": ^7.0.9 + "@types/semver": ^7.3.12 + "@typescript-eslint/scope-manager": 5.51.0 + "@typescript-eslint/types": 5.51.0 + "@typescript-eslint/typescript-estree": 5.51.0 + eslint-scope: ^5.1.1 + eslint-utils: ^3.0.0 + semver: ^7.3.7 + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: c6e28c942fbac5500f0e8ed67ef304b484ba296486e55306f78fb090dc9d5bb1f25a0bedc065e14680041eadce5e95fa10aab618cb0c316599ec987e6ea72442 languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.48.1, @typescript-eslint/utils@npm:^5.13.0": - version: 5.48.1 - resolution: "@typescript-eslint/utils@npm:5.48.1" +"@typescript-eslint/utils@npm:5.52.0, @typescript-eslint/utils@npm:^5.43.0": + version: 5.52.0 + resolution: "@typescript-eslint/utils@npm:5.52.0" dependencies: "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.48.1 - "@typescript-eslint/types": 5.48.1 - "@typescript-eslint/typescript-estree": 5.48.1 + "@typescript-eslint/scope-manager": 5.52.0 + "@typescript-eslint/types": 5.52.0 + "@typescript-eslint/typescript-estree": 5.52.0 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 2d112cbb6a920f147c6c3322e404ca3c56c1170e1ede3bcbf16fb779960dc24cdba688b1f2d06acd242859fc1dbc8702da5f8fa8bbf53e7081e41d80bec4c236 + checksum: 01906be5262ece36537e9d586e4d2d4791e05752a9354bcb42b1f5bf965f53daa13309c61c3dff5e201ea28c298e4e01cf0c93738afa0099fea0da3b1d8cb3a5 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.48.1": - version: 5.48.1 - resolution: "@typescript-eslint/visitor-keys@npm:5.48.1" +"@typescript-eslint/visitor-keys@npm:5.51.0": + version: 5.51.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.51.0" dependencies: - "@typescript-eslint/types": 5.48.1 + "@typescript-eslint/types": 5.51.0 eslint-visitor-keys: ^3.3.0 - checksum: 2bda10cf4e6bc48b0d463767617e48a832d708b9434665dff6ed101f7d33e0d592f02af17a2259bde1bd17e666246448ae78d0fe006148cb93d897fff9b1d134 + checksum: b49710f3c6b3b62a846a163afffd81be5eb2b1f44e25bec51ff3c9f4c3b579d74aa4cbd3753b4fc09ea3dbc64a7062f9c658c08d22bb2740a599cb703d876220 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.52.0": + version: 5.52.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.52.0" + dependencies: + "@typescript-eslint/types": 5.52.0 + eslint-visitor-keys: ^3.3.0 + checksum: 33b44f0cd35b7b47f34e89d52e47b8d8200f55af306b22db4de104d79f65907458ea022e548f50d966e32fea150432ac9c1ae65b3001b0ad2ac8a17c0211f370 languageName: node linkType: hard @@ -4415,11 +4618,11 @@ __metadata: linkType: hard "acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1, acorn@npm:^8.8.0": - version: 8.8.1 - resolution: "acorn@npm:8.8.1" + version: 8.8.2 + resolution: "acorn@npm:8.8.2" bin: acorn: bin/acorn - checksum: 4079b67283b94935157698831967642f24a075c52ce3feaaaafe095776dfbe15d86a1b33b1e53860fc0d062ed6c83f4284a5c87c85b9ad51853a01173da6097f + checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001 languageName: node linkType: hard @@ -4523,7 +4726,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.1.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.6.0, ajv@npm:^8.8.0": +"ajv@npm:^8.0.0, ajv@npm:^8.1.0, ajv@npm:^8.11.0, ajv@npm:^8.6.0, ajv@npm:^8.8.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" dependencies: @@ -4716,7 +4919,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4, array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": +"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": version: 3.1.6 resolution: "array-includes@npm:3.1.6" dependencies: @@ -4736,7 +4939,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": +"array.prototype.flat@npm:^1.3.1": version: 1.3.1 resolution: "array.prototype.flat@npm:1.3.1" dependencies: @@ -4904,9 +5107,9 @@ __metadata: languageName: node linkType: hard -"aws-sdk@npm:2.1111.0": - version: 2.1111.0 - resolution: "aws-sdk@npm:2.1111.0" +"aws-sdk@npm:2.1310.0": + version: 2.1310.0 + resolution: "aws-sdk@npm:2.1310.0" dependencies: buffer: 4.9.2 events: 1.1.1 @@ -4915,9 +5118,10 @@ __metadata: querystring: 0.2.0 sax: 1.2.1 url: 0.10.3 - uuid: 3.3.2 + util: ^0.12.4 + uuid: 8.0.0 xml2js: 0.4.19 - checksum: 1e918377e23704b1656aa5b9072ef8d8166198b14a4cdfd313745f7d4a3f826e3c14f4806e5b985fd67139a2a4cf30d65a0024cec16fbb6daa3ae99287951b76 + checksum: 648141461eaaaac1bcd8a2f1df460bb4603176541a28ed0aa7c344cc9fe19d69b2a463cb975c767bfb913ebc462103474fcd0315d07918c5fa35b0fef5f00f56 languageName: node linkType: hard @@ -4936,9 +5140,9 @@ __metadata: linkType: hard "axe-core@npm:^4.6.2": - version: 4.6.2 - resolution: "axe-core@npm:4.6.2" - checksum: 81523eeaf101a3a129545a936d448d235ecf1f8c0daccdee224d29f63bec716fa38cf1a65c8462548b1f995624277eed790d9d9977ae40ba692c4cadf1196403 + version: 4.6.3 + resolution: "axe-core@npm:4.6.3" + checksum: d0c46be92b9707c48b88a53cd5f471b155a2bfc8bf6beffb514ecd14e30b4863e340b5fc4f496d82a3c562048088c1f3ff5b93b9b3b026cb9c3bfacfd535da10 languageName: node linkType: hard @@ -5269,14 +5473,14 @@ __metadata: linkType: hard "bonjour-service@npm:^1.0.11": - version: 1.0.14 - resolution: "bonjour-service@npm:1.0.14" + version: 1.1.0 + resolution: "bonjour-service@npm:1.1.0" dependencies: array-flatten: ^2.1.2 dns-equal: ^1.0.0 fast-deep-equal: ^3.1.3 multicast-dns: ^7.2.5 - checksum: 4a825bbf1824147ba8295a182fb3e86a8bae5159a08e2f118e829a0c988043a559f1f6e4eab425fe17ee9a1f080115d30430e78962e53f75bb03e2021ee7c5b2 + checksum: c0cdf6f6438ef4873ffd17768a9e62300ca30ac2bc3437bcfb6c75a3efd70ad80418c38ec19af2f5fe3a9f1dee725b83ff8e0c4a473b1b9f1718a39033b34cbf languageName: node linkType: hard @@ -5345,17 +5549,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.16.6, browserslist@npm:^4.18.1, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": - version: 4.21.4 - resolution: "browserslist@npm:4.21.4" +"browserslist@npm:^4.0.0, browserslist@npm:^4.14.5, browserslist@npm:^4.18.1, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4, browserslist@npm:^4.21.5": + version: 4.21.5 + resolution: "browserslist@npm:4.21.5" dependencies: - caniuse-lite: ^1.0.30001400 - electron-to-chromium: ^1.4.251 - node-releases: ^2.0.6 - update-browserslist-db: ^1.0.9 + caniuse-lite: ^1.0.30001449 + electron-to-chromium: ^1.4.284 + node-releases: ^2.0.8 + update-browserslist-db: ^1.0.10 bin: browserslist: cli.js - checksum: 4af3793704dbb4615bcd29059ab472344dc7961c8680aa6c4bb84f05340e14038d06a5aead58724eae69455b8fade8b8c69f1638016e87e5578969d74c078b79 + checksum: 9755986b22e73a6a1497fd8797aedd88e04270be33ce66ed5d85a1c8a798292a65e222b0f251bafa1c2522261e237d73b08b58689d4920a607e5a53d56dc4706 languageName: node linkType: hard @@ -5554,10 +5758,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001400, caniuse-lite@npm:^1.0.30001426": - version: 1.0.30001442 - resolution: "caniuse-lite@npm:1.0.30001442" - checksum: c1bff65bd4f53da2d288e7f55be40706ee0119b983eae5a9dcc884046990476891630aef72d708f7989f8f1964200c44e4c37ea40deecaa2fb4a480df23e6317 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001426, caniuse-lite@npm:^1.0.30001449": + version: 1.0.30001453 + resolution: "caniuse-lite@npm:1.0.30001453" + checksum: 7a41f78604188a14aa079a0703b6f76961971dee27cb8ed15f8523b4cc889e3951b51f98369d06a15c723a0eba18eb280aee9b0f1002dffbbe44f2a71348f1ec languageName: node linkType: hard @@ -5620,13 +5824,6 @@ __metadata: languageName: node linkType: hard -"charenc@npm:0.0.2": - version: 0.0.2 - resolution: "charenc@npm:0.0.2" - checksum: 81dcadbe57e861d527faf6dd3855dc857395a1c4d6781f4847288ab23cffb7b3ee80d57c15bba7252ffe3e5e8019db767757ee7975663ad2ca0939bb8fcaf2e5 - languageName: node - linkType: hard - "check-more-types@npm:^2.24.0": version: 2.24.0 resolution: "check-more-types@npm:2.24.0" @@ -5675,9 +5872,9 @@ __metadata: linkType: hard "ci-info@npm:^3.2.0": - version: 3.7.1 - resolution: "ci-info@npm:3.7.1" - checksum: 72d93d5101ea1c186511277fbd8d06ae8a6e028cc2fb94361e92bf735b39c5ebd192e8d15a66ff8c4e3ed569f87c2f844e96f90e141b2de5c649f77ec34ff601 + version: 3.8.0 + resolution: "ci-info@npm:3.8.0" + checksum: d0a4d3160497cae54294974a7246202244fff031b0a6ea20dd57b10ec510aa17399c41a1b0982142c105f3255aff2173e5c0dd7302ee1b2f28ba3debda375098 languageName: node linkType: hard @@ -5701,11 +5898,11 @@ __metadata: linkType: hard "clean-css@npm:^5.2.2": - version: 5.3.1 - resolution: "clean-css@npm:5.3.1" + version: 5.3.2 + resolution: "clean-css@npm:5.3.2" dependencies: source-map: ~0.6.0 - checksum: 860696c60503cbfec480b5f92f62729246304b55950571af7292f2687b57f86b277f2b9fefe6f64643d409008018b78383972b55c2cc859792dcc8658988fb16 + checksum: 8787b281acc9878f309b5f835d410085deedfd4e126472666773040a6a8a72f472a1d24185947d23b87b1c419bf2c5ed429395d5c5ff8279c98b05d8011e9758 languageName: node linkType: hard @@ -6029,7 +6226,7 @@ __metadata: languageName: node linkType: hard -"confusing-browser-globals@npm:^1.0.10, confusing-browser-globals@npm:^1.0.11": +"confusing-browser-globals@npm:^1.0.11": version: 1.0.11 resolution: "confusing-browser-globals@npm:1.0.11" checksum: 3afc635abd37e566477f610e7978b15753f0e84025c25d49236f1f14d480117185516bdd40d2a2167e6bed8048641a9854964b9c067e3dcdfa6b5d0ad3c3a5ef @@ -6060,9 +6257,9 @@ __metadata: linkType: hard "content-type@npm:~1.0.4": - version: 1.0.4 - resolution: "content-type@npm:1.0.4" - checksum: 3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0 + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 languageName: node linkType: hard @@ -6302,25 +6499,25 @@ __metadata: linkType: hard "core-js-compat@npm:^3.25.1": - version: 3.27.1 - resolution: "core-js-compat@npm:3.27.1" + version: 3.28.0 + resolution: "core-js-compat@npm:3.28.0" dependencies: - browserslist: ^4.21.4 - checksum: e857068f470d67c681564eb87aebf068341db32aa0b9941a5126e588945d909fcd51b1959bb589c855c11056e2ccabe49e96d07007d7d91d56b0d9936fe00d50 + browserslist: ^4.21.5 + checksum: 41d1d58c99ce7ee7abd8cf070f4c07a8f2655dbed1777d90a26246dddd7fac68315d53d2192584c8621a5328e6fe1a10da39b6bf2666e90fd5c2ff3b8f24e874 languageName: node linkType: hard "core-js-pure@npm:^3.23.3": - version: 3.27.1 - resolution: "core-js-pure@npm:3.27.1" - checksum: 571ff8ffc00cba7c1937e70b502a382317d450ef3a38835b0dc4a6a9645ce9853c10a90f71a2027901fb52690a7ba702396f29e125d1b9d6ae3e277db1bcdf57 + version: 3.28.0 + resolution: "core-js-pure@npm:3.28.0" + checksum: 8bef96a435783ea7e62b2bd4d6cc3d427a7bfeb053954aadabb33b5dba14a85c6297f7638bba9676a144f9cd7a5a0185a576d41d67baaae15227a4c9982a8cef languageName: node linkType: hard "core-js@npm:^3.19.2": - version: 3.27.1 - resolution: "core-js@npm:3.27.1" - checksum: d50b5f88aea4302512ad9446c18e90f4d35dea1e6d8d3f87337690677061565ff11a670f1e0c87de57aa6074375fbb25ed5784076c040d3c4de8b4bce7d2ebeb + version: 3.28.0 + resolution: "core-js@npm:3.28.0" + checksum: 3155fd0ec16d0089106b145e9595280a4ea4bde0d7ff26aa14364cd4f1c203baf6620c3025acd284f363d08b9f21104101692766ca9a36ffeee7307bdf3e1881 languageName: node linkType: hard @@ -6406,13 +6603,6 @@ __metadata: languageName: node linkType: hard -"crypt@npm:0.0.2": - version: 0.0.2 - resolution: "crypt@npm:0.0.2" - checksum: baf4c7bbe05df656ec230018af8cf7dbe8c14b36b98726939cef008d473f6fe7a4fad906cfea4062c93af516f1550a3f43ceb4d6615329612c6511378ed9fe34 - languageName: node - linkType: hard - "crypto-js@npm:4.1.1": version: 4.1.1 resolution: "crypto-js@npm:4.1.1" @@ -6601,9 +6791,9 @@ __metadata: linkType: hard "cssdb@npm:^7.1.0": - version: 7.2.1 - resolution: "cssdb@npm:7.2.1" - checksum: 21bfc28e8f3e09c73e678826b779aaadf85eb3864abca4cb9c338b7ce98fb098d8dd8efe055c4d163921de8baaf517b8c927a7171e5c2a787faa28a35b78e22c + version: 7.4.1 + resolution: "cssdb@npm:7.4.1" + checksum: c58803ce3e0e60af8a5a1101f365a5ea0cf1a6a5eddcd5c6fb5d92aaf187e2c11c5620185fd7096cb920c3ce087f9edb2234348a33d06433e12c1ce7fcf93197 languageName: node linkType: hard @@ -6616,21 +6806,21 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-default@npm:^5.2.13": - version: 5.2.13 - resolution: "cssnano-preset-default@npm:5.2.13" +"cssnano-preset-default@npm:^5.2.14": + version: 5.2.14 + resolution: "cssnano-preset-default@npm:5.2.14" dependencies: css-declaration-sorter: ^6.3.1 cssnano-utils: ^3.1.0 postcss-calc: ^8.2.3 - postcss-colormin: ^5.3.0 + postcss-colormin: ^5.3.1 postcss-convert-values: ^5.1.3 postcss-discard-comments: ^5.1.2 postcss-discard-duplicates: ^5.1.0 postcss-discard-empty: ^5.1.1 postcss-discard-overridden: ^5.1.0 postcss-merge-longhand: ^5.1.7 - postcss-merge-rules: ^5.1.3 + postcss-merge-rules: ^5.1.4 postcss-minify-font-values: ^5.1.0 postcss-minify-gradients: ^5.1.1 postcss-minify-params: ^5.1.4 @@ -6645,13 +6835,13 @@ __metadata: postcss-normalize-url: ^5.1.0 postcss-normalize-whitespace: ^5.1.1 postcss-ordered-values: ^5.1.3 - postcss-reduce-initial: ^5.1.1 + postcss-reduce-initial: ^5.1.2 postcss-reduce-transforms: ^5.1.0 postcss-svgo: ^5.1.0 postcss-unique-selectors: ^5.1.1 peerDependencies: postcss: ^8.2.15 - checksum: f773de44f67f71e7301e1f4b4664b894c3a48bba4dadc16c559acd0b14ceafed228bdc76fe19d500b0ded9394732377069daadff2184465fa369f8dfd72d47e2 + checksum: d3bbbe3d50c6174afb28d0bdb65b511fdab33952ec84810aef58b87189f3891c34aaa8b6a6101acd5314f8acded839b43513e39a75f91a698ddc985a1b1d9e95 languageName: node linkType: hard @@ -6665,15 +6855,15 @@ __metadata: linkType: hard "cssnano@npm:^5.0.6": - version: 5.1.14 - resolution: "cssnano@npm:5.1.14" + version: 5.1.15 + resolution: "cssnano@npm:5.1.15" dependencies: - cssnano-preset-default: ^5.2.13 + cssnano-preset-default: ^5.2.14 lilconfig: ^2.0.3 yaml: ^1.10.2 peerDependencies: postcss: ^8.2.15 - checksum: 73463c723c5e598b37b8b4d2f014145bd72133e6581349a1b154904e0830e58de17afb1e801ed3ea3b18e386883964ce4d0299e43d4dc37d339214a956c6697f + checksum: ca9e1922178617c66c2f1548824b2c7af2ecf69cc3a187fc96bf8d29251c2e84d9e4966c69cf64a2a6a057a37dff7d6d057bc8a2a0957e6ea382e452ae9d0bbb languageName: node linkType: hard @@ -6716,9 +6906,9 @@ __metadata: languageName: node linkType: hard -"cypress@npm:9.6.1": - version: 9.6.1 - resolution: "cypress@npm:9.6.1" +"cypress@npm:12.5.1": + version: 12.5.1 + resolution: "cypress@npm:12.5.1" dependencies: "@cypress/request": ^2.88.10 "@cypress/xvfb": ^1.2.4 @@ -6739,7 +6929,7 @@ __metadata: dayjs: ^1.10.4 debug: ^4.3.2 enquirer: ^2.3.6 - eventemitter2: ^6.4.3 + eventemitter2: 6.4.7 execa: 4.1.0 executable: ^4.1.1 extract-zip: 2.0.1 @@ -6764,7 +6954,7 @@ __metadata: yauzl: ^2.10.0 bin: cypress: bin/cypress - checksum: 3d464346f30b164c10947e332e5c8095c1f53b946d378c18a09e7591b0aadb331062d880505a228ff1d996d37c9e7b4e8a9f2308871a00442d9171a1718f7fa4 + checksum: acea08c933084bbdffe8e0d8f24ecdc3be52731824f09cf2e720c974a153d808f5af1c665d977e46f171e275c590065aeadf729022d1338a6a424e5ec8b119af languageName: node linkType: hard @@ -6830,7 +7020,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.6.0, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.6.0": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -6957,9 +7147,9 @@ __metadata: linkType: hard "deepmerge@npm:^4.2.2": - version: 4.2.2 - resolution: "deepmerge@npm:4.2.2" - checksum: a8c43a1ed8d6d1ed2b5bf569fa4c8eb9f0924034baf75d5d406e47e157a451075c4db353efea7b6bcc56ec48116a8ce72fccf867b6e078e7c561904b5897530b + version: 4.3.0 + resolution: "deepmerge@npm:4.3.0" + checksum: c7980eb5c5be040b371f1df0d566473875cfabed9f672ccc177b81ba8eee5686ce2478de2f1d0076391621cbe729e5eacda397179a59ef0f68901849647db126 languageName: node linkType: hard @@ -6989,12 +7179,12 @@ __metadata: linkType: hard "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": - version: 1.1.4 - resolution: "define-properties@npm:1.1.4" + version: 1.2.0 + resolution: "define-properties@npm:1.2.0" dependencies: has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b + checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 languageName: node linkType: hard @@ -7101,10 +7291,17 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.3.1": - version: 29.3.1 - resolution: "diff-sequences@npm:29.3.1" - checksum: 8edab8c383355022e470779a099852d595dd856f9f5bd7af24f177e74138a668932268b4c4fd54096eed643861575c3652d4ecbbb1a9d710488286aed3ffa443 +"diff-sequences@npm:^28.1.1": + version: 28.1.1 + resolution: "diff-sequences@npm:28.1.1" + checksum: e2529036505567c7ca5a2dea86b6bcd1ca0e3ae63bf8ebf529b8a99cfa915bbf194b7021dc1c57361a4017a6d95578d4ceb29fabc3232a4f4cb866a2726c7690 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.4.3": + version: 29.4.3 + resolution: "diff-sequences@npm:29.4.3" + checksum: 28b265e04fdddcf7f9f814effe102cc95a9dec0564a579b5aed140edb24fc345c611ca52d76d725a3cab55d3888b915b5e8a4702e0f6058968a90fa5f41fcde7 languageName: node linkType: hard @@ -7166,9 +7363,9 @@ __metadata: linkType: hard "dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": - version: 0.5.15 - resolution: "dom-accessibility-api@npm:0.5.15" - checksum: 02b91611f16c44e8a7391b19924330e29764c98a35cb273bd1282dcf3e293a000aa40d96de564c703ed27b3edc5d9b2e5682f7c99c868a8450e507c7d6157122 + version: 0.5.16 + resolution: "dom-accessibility-api@npm:0.5.16" + checksum: 005eb283caef57fc1adec4d5df4dd49189b628f2f575af45decb210e04d634459e3f1ee64f18b41e2dcf200c844bc1d9279d80807e686a30d69a4756151ad248 languageName: node linkType: hard @@ -7343,10 +7540,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.251": - version: 1.4.284 - resolution: "electron-to-chromium@npm:1.4.284" - checksum: be496e9dca6509dbdbb54dc32146fc99f8eb716d28a7ee8ccd3eba0066561df36fc51418d8bd7cf5a5891810bf56c0def3418e74248f51ea4a843d423603d10a +"electron-to-chromium@npm:^1.4.284": + version: 1.4.299 + resolution: "electron-to-chromium@npm:1.4.299" + checksum: 3d3ba3da9a7661f61003a957bb21eb8abfba84c7920088db53f28613e31c8277ad443ae9882dc64a5a5c5e6bf8f52e8a701afac3a7223926ecdb2bd45bfaded4 languageName: node linkType: hard @@ -7498,11 +7695,12 @@ __metadata: linkType: hard "es-abstract@npm:^1.17.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": - version: 1.21.0 - resolution: "es-abstract@npm:1.21.0" + version: 1.21.1 + resolution: "es-abstract@npm:1.21.1" dependencies: + available-typed-arrays: ^1.0.5 call-bind: ^1.0.2 - es-set-tostringtag: ^2.0.0 + es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 function.prototype.name: ^1.1.5 @@ -7515,7 +7713,7 @@ __metadata: has-proto: ^1.0.1 has-symbols: ^1.0.3 internal-slot: ^1.0.4 - is-array-buffer: ^3.0.0 + is-array-buffer: ^3.0.1 is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 @@ -7533,7 +7731,7 @@ __metadata: typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 which-typed-array: ^1.1.9 - checksum: 52305b52aff6505c9d8cebfa727835dd8871af76de151868d1db7baf6d21f13a81586316ac513601eec9b46e2947cab044fc2a131db68bfa05daf37aa153dbd9 + checksum: 23ff60d42d17a55d150e7bcedbdb065d4077a8b98c436e0e2e1ef4dd532a6d78a56028673de0bd8ed464a43c46ba781c50d9af429b6a17e44dbd14c7d7fb7926 languageName: node linkType: hard @@ -7545,18 +7743,19 @@ __metadata: linkType: hard "es-get-iterator@npm:^1.1.2": - version: 1.1.2 - resolution: "es-get-iterator@npm:1.1.2" + version: 1.1.3 + resolution: "es-get-iterator@npm:1.1.3" dependencies: call-bind: ^1.0.2 - get-intrinsic: ^1.1.0 - has-symbols: ^1.0.1 - is-arguments: ^1.1.0 + get-intrinsic: ^1.1.3 + has-symbols: ^1.0.3 + is-arguments: ^1.1.1 is-map: ^2.0.2 is-set: ^2.0.2 - is-string: ^1.0.5 + is-string: ^1.0.7 isarray: ^2.0.5 - checksum: f75e66acb6a45686fa08b3ade9c9421a70d36a0c43ed4363e67f4d7aab2226cb73dd977cb48abbaf75721b946d3cd810682fcf310c7ad0867802fbf929b17dcf + stop-iteration-iterator: ^1.0.0 + checksum: 8fa118da42667a01a7c7529f8a8cca514feeff243feec1ce0bb73baaa3514560bd09d2b3438873cf8a5aaec5d52da248131de153b28e2638a061b6e4df13267d languageName: node linkType: hard @@ -7567,7 +7766,7 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.0": +"es-set-tostringtag@npm:^2.0.1": version: 2.0.1 resolution: "es-set-tostringtag@npm:2.0.1" dependencies: @@ -7659,38 +7858,6 @@ __metadata: languageName: node linkType: hard -"eslint-config-airbnb-base@npm:^15.0.0": - version: 15.0.0 - resolution: "eslint-config-airbnb-base@npm:15.0.0" - dependencies: - confusing-browser-globals: ^1.0.10 - object.assign: ^4.1.2 - object.entries: ^1.1.5 - semver: ^6.3.0 - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.2 - checksum: 38626bad2ce2859fccac86b30cd2b86c9b7d8d71d458331860861dc05290a5b198bded2f4fb89efcb9046ec48f8ab4c4fb00365ba8916f27b172671da28b93ea - languageName: node - linkType: hard - -"eslint-config-airbnb@npm:19.0.4": - version: 19.0.4 - resolution: "eslint-config-airbnb@npm:19.0.4" - dependencies: - eslint-config-airbnb-base: ^15.0.0 - object.assign: ^4.1.2 - object.entries: ^1.1.5 - peerDependencies: - eslint: ^7.32.0 || ^8.2.0 - eslint-plugin-import: ^2.25.3 - eslint-plugin-jsx-a11y: ^6.5.1 - eslint-plugin-react: ^7.28.0 - eslint-plugin-react-hooks: ^4.3.0 - checksum: 253178689c3c80eef2567e3aaf0612e18973bc9cf51d9be36074b5dd58210e8b6942200a424bcccbb81ac884e41303479ab09f251a2a97addc2de61efdc9576c - languageName: node - linkType: hard - "eslint-config-prettier@npm:8.5.0": version: 8.5.0 resolution: "eslint-config-prettier@npm:8.5.0" @@ -7702,7 +7869,7 @@ __metadata: languageName: node linkType: hard -"eslint-config-react-app@npm:^7.0.1": +"eslint-config-react-app@npm:7.0.1, eslint-config-react-app@npm:^7.0.1": version: 7.0.1 resolution: "eslint-config-react-app@npm:7.0.1" dependencies: @@ -7726,17 +7893,36 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.6": - version: 0.3.6 - resolution: "eslint-import-resolver-node@npm:0.3.6" +"eslint-import-resolver-node@npm:^0.3.7": + version: 0.3.7 + resolution: "eslint-import-resolver-node@npm:0.3.7" dependencies: debug: ^3.2.7 - resolve: ^1.20.0 - checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8 + is-core-module: ^2.11.0 + resolve: ^1.22.1 + checksum: 3379aacf1d2c6952c1b9666c6fa5982c3023df695430b0d391c0029f6403a7775414873d90f397e98ba6245372b6c8960e16e74d9e4a3b0c0a4582f3bdbe3d6e languageName: node linkType: hard -"eslint-module-utils@npm:^2.7.3": +"eslint-import-resolver-typescript@npm:3.5.3": + version: 3.5.3 + resolution: "eslint-import-resolver-typescript@npm:3.5.3" + dependencies: + debug: ^4.3.4 + enhanced-resolve: ^5.10.0 + get-tsconfig: ^4.2.0 + globby: ^13.1.2 + is-core-module: ^2.10.0 + is-glob: ^4.0.3 + synckit: ^0.8.4 + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + checksum: 63b5f28bec5a29b1d3be33b79795441f7b0da54479e5c99a115877d9b70b2b7464c19a928b4ae7674a937b9ee8e7d4b1d30b7f5e6325c4c3aaa8c607bb175258 + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.7.4": version: 2.7.4 resolution: "eslint-module-utils@npm:2.7.4" dependencies: @@ -7762,26 +7948,28 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import@npm:2.26.0, eslint-plugin-import@npm:^2.25.3": - version: 2.26.0 - resolution: "eslint-plugin-import@npm:2.26.0" +"eslint-plugin-import@npm:^2.25.3": + version: 2.27.5 + resolution: "eslint-plugin-import@npm:2.27.5" dependencies: - array-includes: ^3.1.4 - array.prototype.flat: ^1.2.5 - debug: ^2.6.9 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + array.prototype.flatmap: ^1.3.1 + debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.6 - eslint-module-utils: ^2.7.3 + eslint-import-resolver-node: ^0.3.7 + eslint-module-utils: ^2.7.4 has: ^1.0.3 - is-core-module: ^2.8.1 + is-core-module: ^2.11.0 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.values: ^1.1.5 - resolve: ^1.22.0 + object.values: ^1.1.6 + resolve: ^1.22.1 + semver: ^6.3.0 tsconfig-paths: ^3.14.1 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655 + checksum: f500571a380167e25d72a4d925ef9a7aae8899eada57653e5f3051ec3d3c16d08271fcefe41a30a9a2f4fefc232f066253673ee4ea77b30dba65ae173dade85d languageName: node linkType: hard @@ -7803,8 +7991,8 @@ __metadata: linkType: hard "eslint-plugin-jsx-a11y@npm:^6.5.1": - version: 6.7.0 - resolution: "eslint-plugin-jsx-a11y@npm:6.7.0" + version: 6.7.1 + resolution: "eslint-plugin-jsx-a11y@npm:6.7.1" dependencies: "@babel/runtime": ^7.20.7 aria-query: ^5.1.3 @@ -7824,7 +8012,7 @@ __metadata: semver: ^6.3.0 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: b7ea212bcf84912d264229e5e3cf255bc95a1193de1c7453d275a7afc959ce679c1bffb77cfd3d17f9b7105f41e0f62c8edb7f6d76985c79647edaa9f08aa814 + checksum: f166dd5fe7257c7b891c6692e6a3ede6f237a14043ae3d97581daf318fc5833ddc6b4871aa34ab7656187430170500f6d806895747ea17ecdf8231a666c3c2fd languageName: node linkType: hard @@ -7838,8 +8026,8 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.27.1": - version: 7.31.11 - resolution: "eslint-plugin-react@npm:7.31.11" + version: 7.32.2 + resolution: "eslint-plugin-react@npm:7.32.2" dependencies: array-includes: ^3.1.6 array.prototype.flatmap: ^1.3.1 @@ -7853,23 +8041,23 @@ __metadata: object.hasown: ^1.1.2 object.values: ^1.1.6 prop-types: ^15.8.1 - resolve: ^2.0.0-next.3 + resolve: ^2.0.0-next.4 semver: ^6.3.0 string.prototype.matchall: ^4.0.8 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: a3d612f6647bef33cf2a67c81a6b37b42c075300ed079cffecf5fb475c0d6ab855c1de340d1cbf361a0126429fb906dda597527235d2d12c4404453dbc712fc6 + checksum: 2232b3b8945aa50b7773919c15cd96892acf35d2f82503667a79e2f55def90f728ed4f0e496f0f157acbe1bd4397c5615b676ae7428fe84488a544ca53feb944 languageName: node linkType: hard "eslint-plugin-testing-library@npm:^5.0.1": - version: 5.9.1 - resolution: "eslint-plugin-testing-library@npm:5.9.1" + version: 5.10.2 + resolution: "eslint-plugin-testing-library@npm:5.10.2" dependencies: - "@typescript-eslint/utils": ^5.13.0 + "@typescript-eslint/utils": ^5.43.0 peerDependencies: eslint: ^7.5.0 || ^8.0.0 - checksum: d09f9486945807e9587d52b6979117bc41b750df741567381a06219671096afb318696a0e0db63e253e150fead40e77ef9653ee00f1dda83fc8920e3b3c47107 + checksum: 3b2b330e62f4a6dc438050006f0d0c97605f6861828b153271dc6d2fafb1e60f4e86fbaa8166c7afd452e3b6cad39413738fd4c8e2eb2def1915c678154676da languageName: node linkType: hard @@ -7935,8 +8123,8 @@ __metadata: linkType: hard "eslint@npm:^8.3.0": - version: 8.31.0 - resolution: "eslint@npm:8.31.0" + version: 8.34.0 + resolution: "eslint@npm:8.34.0" dependencies: "@eslint/eslintrc": ^1.4.1 "@humanwhocodes/config-array": ^0.11.8 @@ -7979,7 +8167,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 5e5688bb864edc6b12d165849994812eefa67fb3fc44bb26f53659b63edcd8bcc68389d27cc6cc9e5b79ee22f24b6f311fa3ed047bddcafdec7d84c1b5561e4f + checksum: 4e13e9eb05ac2248efbb6acae0b2325091235d5c47ba91a4775c7d6760778cbcd358a773ebd42f4629d2ad89e27c02f5d66eb1f737d75d9f5fc411454f83b2e5 languageName: node linkType: hard @@ -8005,11 +8193,11 @@ __metadata: linkType: hard "esquery@npm:^1.4.0": - version: 1.4.0 - resolution: "esquery@npm:1.4.0" + version: 1.4.2 + resolution: "esquery@npm:1.4.2" dependencies: estraverse: ^5.1.0 - checksum: a0807e17abd7fbe5fbd4fab673038d6d8a50675cdae6b04fbaa520c34581be0c5fa24582990e8acd8854f671dd291c78bb2efb9e0ed5b62f33bac4f9cf820210 + checksum: 2f4ad89c5aafaca61cc2c15e256190f0d6deb4791cae6552d3cb4b1eb8867958cdf27a56aaa3272ff17435e3eaa19ee0d4129fac336ca6373d7354d7b5da7966 languageName: node linkType: hard @@ -8057,10 +8245,10 @@ __metadata: languageName: node linkType: hard -"eventemitter2@npm:^6.4.3": - version: 6.4.9 - resolution: "eventemitter2@npm:6.4.9" - checksum: be59577c1e1c35509c7ba0e2624335c35bbcfd9485b8a977384c6cc6759341ea1a98d3cb9dbaa5cea4fff9b687e504504e3f9c2cc1674cf3bd8a43a7c74ea3eb +"eventemitter2@npm:6.4.7": + version: 6.4.7 + resolution: "eventemitter2@npm:6.4.7" + checksum: 1b36a77e139d6965ebf3a36c01fa00c089ae6b80faa1911e52888f40b3a7057b36a2cc45dcd1ad87cda3798fe7b97a0aabcbb8175a8b96092a23bb7d0f039e66 languageName: node linkType: hard @@ -8155,15 +8343,15 @@ __metadata: linkType: hard "expect@npm:^29.0.0": - version: 29.3.1 - resolution: "expect@npm:29.3.1" + version: 29.4.3 + resolution: "expect@npm:29.4.3" dependencies: - "@jest/expect-utils": ^29.3.1 - jest-get-type: ^29.2.0 - jest-matcher-utils: ^29.3.1 - jest-message-util: ^29.3.1 - jest-util: ^29.3.1 - checksum: e9588c2a430b558b9a3dc72d4ad05f36b047cb477bc6a7bb9cfeef7614fe7e5edbab424c2c0ce82739ee21ecbbbd24596259528209f84cd72500cc612d910d30 + "@jest/expect-utils": ^29.4.3 + jest-get-type: ^29.4.3 + jest-matcher-utils: ^29.4.3 + jest-message-util: ^29.4.3 + jest-util: ^29.4.3 + checksum: ff9dd8c50c0c6fd4b2b00f6dbd7ab0e2063fe1953be81a8c10ae1c005c7f5667ba452918e2efb055504b72b701a4f82575a081a0a7158efb16d87991b0366feb languageName: node linkType: hard @@ -8244,6 +8432,13 @@ __metadata: languageName: node linkType: hard +"fast-content-type-parse@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-content-type-parse@npm:1.0.0" + checksum: 9e9187be17bea18a2ee715c5737b983181cbe84f286a291db0595e421e04b578da10ca10845639be08664a4db6a793f7709822935cf38cfdf9ecba38d84ead9e + languageName: node + linkType: hard + "fast-decode-uri-component@npm:^1.0.1": version: 1.0.1 resolution: "fast-decode-uri-component@npm:1.0.1" @@ -8265,7 +8460,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.1.1, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.1.1, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9": version: 3.2.12 resolution: "fast-glob@npm:3.2.12" dependencies: @@ -8285,7 +8480,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stringify@npm:^2.5.2": +"fast-json-stringify@npm:^2.5.2, fast-json-stringify@npm:^2.7.10": version: 2.7.13 resolution: "fast-json-stringify@npm:2.7.13" dependencies: @@ -8297,20 +8492,6 @@ __metadata: languageName: node linkType: hard -"fast-json-stringify@npm:^5.5.0": - version: 5.5.0 - resolution: "fast-json-stringify@npm:5.5.0" - dependencies: - "@fastify/deepmerge": ^1.0.0 - ajv: ^8.10.0 - ajv-formats: ^2.1.1 - fast-deep-equal: ^3.1.3 - fast-uri: ^2.1.0 - rfdc: ^1.2.0 - checksum: 800401324af712f562b3912c1a31c1a055e9af12a10227fbb507ad4e0d17fc01945c71f7e269b080bcf8051364d7422122c7c18d811f61ac79a21583067049e4 - languageName: node - linkType: hard - "fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" @@ -8348,35 +8529,22 @@ __metadata: languageName: node linkType: hard -"fast-uri@npm:^2.1.0": - version: 2.2.0 - resolution: "fast-uri@npm:2.2.0" - checksum: edac64d50628f21d562cdc19ea86f5af00902dbb09d2f96fff5974e5317157825e9aa163af9defd11a0818aac6ea2e9958597bed98dd041200a08a976809d08b - languageName: node - linkType: hard - -"fastify-plugin@npm:^3.0.0": - version: 3.0.1 - resolution: "fastify-plugin@npm:3.0.1" - checksum: 131ba0a388f777829c3fb0fd5b75cf057688ce6d0ca354fb1ebf829767a8c853b0825762b9185b5200097454df0ede2f3095da2efe1aa1b3736d07f194e6d374 - languageName: node - linkType: hard - "fastify-plugin@npm:^4.0.0": - version: 4.4.0 - resolution: "fastify-plugin@npm:4.4.0" - checksum: f61d6620a24e8c3c9e67305fffe5570d4c0580477fc0f11fd9397b3e11e2b28ea0873e80d2774fee3ad9d70a81a07a83cb0da61e92afc70f6c50bbb3fb91335d + version: 4.5.0 + resolution: "fastify-plugin@npm:4.5.0" + checksum: 3cc36a43ec72ee9974d3cd1989027e77b277b0994e4fc02ed4e6492aabd83a0be66f14fdec56e60d9a41911ea1ff1ea70c9d957a87e46bcdb8fedd859f4988fe languageName: node linkType: hard -"fastify@npm:3.29.1": - version: 3.29.1 - resolution: "fastify@npm:3.29.1" +"fastify@npm:3.29.5": + version: 3.29.5 + resolution: "fastify@npm:3.29.5" dependencies: "@fastify/ajv-compiler": ^1.0.0 "@fastify/error": ^2.0.0 abstract-logging: ^2.0.0 avvio: ^7.1.2 + fast-content-type-parse: ^1.0.0 fast-json-stringify: ^2.5.2 find-my-way: ^4.5.0 flatstr: ^1.0.12 @@ -8388,7 +8556,7 @@ __metadata: secure-json-parse: ^2.0.0 semver: ^7.3.2 tiny-lru: ^8.0.1 - checksum: 8f9e9c9f837135b82c58f4bf8d0ddfad703275ff48827e37eccdb0f8b0366e043a2111da4ee8d35ae1bc78512b52ac15140790bbe314b51deced535cff9fefe5 + checksum: 6f97e67c25c509c584529aad2ffe0d4bf8943a860f09d847bf34a4736586cf73f5748bde154e0199c022b97ff76aba35c3094006e62b07100ab10c63205541e3 languageName: node linkType: hard @@ -8736,7 +8904,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": +"fs-extra@npm:^10.0.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" dependencies: @@ -8875,14 +9043,14 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": - version: 1.1.3 - resolution: "get-intrinsic@npm:1.1.3" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0": + version: 1.2.0 + resolution: "get-intrinsic@npm:1.2.0" dependencies: function-bind: ^1.1.1 has: ^1.0.3 has-symbols: ^1.0.3 - checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a + checksum: 78fc0487b783f5c58cf2dccafc3ae656ee8d2d8062a8831ce4a95e7057af4587a1d4882246c033aca0a7b4965276f4802b45cc300338d1b77a73d3e3e3f4877d languageName: node linkType: hard @@ -8950,6 +9118,13 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.2.0": + version: 4.4.0 + resolution: "get-tsconfig@npm:4.4.0" + checksum: e193558b4f0c84c81ae9688cf5b9950dc0b341e44f91b002713fd0c37cfb73108e1cd9998ed540bcc423f193fde32cc58a15e99dd469f5158a2eb4a148611176 + languageName: node + linkType: hard + "getos@npm:^3.2.1": version: 3.2.1 resolution: "getos@npm:3.2.1" @@ -9054,15 +9229,15 @@ __metadata: linkType: hard "glob@npm:^8.0.1": - version: 8.0.3 - resolution: "glob@npm:8.0.3" + version: 8.1.0 + resolution: "glob@npm:8.1.0" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 minimatch: ^5.0.1 once: ^1.3.0 - checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 + checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 languageName: node linkType: hard @@ -9112,11 +9287,11 @@ __metadata: linkType: hard "globals@npm:^13.19.0": - version: 13.19.0 - resolution: "globals@npm:13.19.0" + version: 13.20.0 + resolution: "globals@npm:13.20.0" dependencies: type-fest: ^0.20.2 - checksum: a000dbd00bcf28f0941d8a29c3522b1c3b8e4bfe4e60e262c477a550c3cbbe8dbe2925a6905f037acd40f9a93c039242e1f7079c76b0fd184bc41dcc3b5c8e2e + checksum: ad1ecf914bd051325faad281d02ea2c0b1df5d01bd94d368dcc5513340eac41d14b3c61af325768e3c7f8d44576e72780ec0b6f2d366121f8eec6e03c3a3b97a languageName: node linkType: hard @@ -9129,6 +9304,13 @@ __metadata: languageName: node linkType: hard +"globalyzer@npm:0.1.0": + version: 0.1.0 + resolution: "globalyzer@npm:0.1.0" + checksum: 419a0f95ba542534fac0842964d31b3dc2936a479b2b1a8a62bad7e8b61054faa9b0a06ad9f2e12593396b9b2621cac93358d9b3071d33723fb1778608d358a1 + languageName: node + linkType: hard + "globby@npm:11.0.4": version: 11.0.4 resolution: "globby@npm:11.0.4" @@ -9157,6 +9339,26 @@ __metadata: languageName: node linkType: hard +"globby@npm:^13.1.2": + version: 13.1.3 + resolution: "globby@npm:13.1.3" + dependencies: + dir-glob: ^3.0.1 + fast-glob: ^3.2.11 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: 93f06e02002cdf368f7e3d55bd59e7b00784c7cc8fe92c7ee5082cc7171ff6109fda45e1c97a80bb48bc811dedaf7843c7c9186f5f84bde4883ab630e13c43df + languageName: node + linkType: hard + +"globrex@npm:^0.1.2": + version: 0.1.2 + resolution: "globrex@npm:0.1.2" + checksum: adca162494a176ce9ecf4dd232f7b802956bb1966b37f60c15e49d2e7d961b66c60826366dc2649093cad5a0d69970cfa8875bd1695b5a1a2f33dcd2aa88da3c + languageName: node + linkType: hard + "gopd@npm:^1.0.1": version: 1.0.1 resolution: "gopd@npm:1.0.1" @@ -9178,40 +9380,45 @@ __metadata: "@cypress/instrument-cra": 1.4.0 "@emotion/react": 11.10.5 "@emotion/styled": 11.10.5 - "@graasp/query-client": 0.1.0 - "@graasp/sdk": 0.2.0 + "@graasp/query-client": 0.2.0 + "@graasp/sdk": 0.4.1 "@graasp/translations": 1.4.0 - "@graasp/ui": 0.7.0 + "@graasp/ui": 0.11.1 "@mui/icons-material": 5.11.0 - "@mui/lab": 5.0.0-alpha.115 - "@mui/material": 5.11.4 + "@mui/lab": 5.0.0-alpha.119 + "@mui/material": 5.11.8 "@testing-library/jest-dom": 5.16.4 "@testing-library/react": 13.2.0 "@testing-library/user-event": 14.2.0 "@trivago/prettier-plugin-sort-imports": 4.0.0 + "@types/jest": 28.1.6 + "@types/node": 18.6.2 + "@types/qs": 6.9.7 + "@types/react": 17.0.30 + "@types/react-dom": 17.0.2 + "@types/react-router-dom": 5.3.3 + "@types/validator": 13.7.4 + "@typescript-eslint/eslint-plugin": 5.51.0 + "@typescript-eslint/parser": 5.51.0 concurrently: 7.6.0 - cypress: 9.6.1 + cypress: 12.5.1 env-cmd: 10.1.0 eslint: ^8.3.0 - eslint-config-airbnb: 19.0.4 eslint-config-prettier: 8.5.0 - eslint-config-react-app: ^7.0.1 - eslint-plugin-import: 2.26.0 - history: 5.3.0 + eslint-config-react-app: 7.0.1 + eslint-import-resolver-typescript: 3.5.3 http-status-codes: 2.2.0 husky: 8.0.1 - i18next: 21.8.1 istanbul-lib-coverage: 3.2.0 nyc: 15.1.0 prettier: 2.8.2 - prop-types: 15.8.1 qs: 6.11.0 - react: 18.2.0 - react-dom: 18.2.0 + react: 17.0.2 + react-dom: 17.0.2 react-ga4: 1.4.1 react-i18next: 11.16.9 - react-router: 6.3.0 - react-router-dom: 6.3.0 + react-router: 6.8.1 + react-router-dom: 6.8.1 react-scripts: 5.0.1 react-toastify: 9.0.1 standard-version: 9.5.0 @@ -9378,15 +9585,6 @@ __metadata: languageName: node linkType: hard -"history@npm:5.3.0, history@npm:^5.2.0": - version: 5.3.0 - resolution: "history@npm:5.3.0" - dependencies: - "@babel/runtime": ^7.7.6 - checksum: d73c35df49d19ac172f9547d30a21a26793e83f16a78386d99583b5bf1429cc980799fcf1827eb215d31816a6600684fba9686ce78104e23bd89ec239e7c726f - languageName: node - linkType: hard - "hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" @@ -9508,9 +9706,9 @@ __metadata: linkType: hard "http-cache-semantics@npm:^4.1.0": - version: 4.1.0 - resolution: "http-cache-semantics@npm:4.1.0" - checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42 + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 languageName: node linkType: hard @@ -9748,23 +9946,16 @@ __metadata: linkType: hard "immer@npm:^9.0.7": - version: 9.0.17 - resolution: "immer@npm:9.0.17" - checksum: 046d562b74f050632d2861042dbcad49a5e86ffe5bb9b8bff6e699b1c7d8478019d9a3be61e72117cecc29826d2caa4fa927a7e10262381144dd33c735b9531c + version: 9.0.19 + resolution: "immer@npm:9.0.19" + checksum: f02ee53989989c287cd548a3d817fccf0bfe56db919755ee94a72ea3ae78a00363fba93ee6c010fe54a664380c29c53d44ed4091c6a86cae60957ad2cfabc010 languageName: node linkType: hard -"immutable@npm:4.0.0": - version: 4.0.0 - resolution: "immutable@npm:4.0.0" - checksum: 4b5e9181e4d5fa06728a481835ec09c86367e5d03268666c95b522b7644ab891098022e4479a43c4c81a68f2ed82f10751ce5d33e208d7b873b6e7f9dfaf4d87 - languageName: node - linkType: hard - -"immutable@npm:4.1.0": - version: 4.1.0 - resolution: "immutable@npm:4.1.0" - checksum: b9bc1f14fb18eb382d48339c064b24a1f97ae4cf43102e0906c0a6e186a27afcd18b55ca4a0b63c98eefb58143e2b5ebc7755a5fb4da4a7ad84b7a6096ac5b13 +"immutable@npm:4.2.4": + version: 4.2.4 + resolution: "immutable@npm:4.2.4" + checksum: 3be84eded37b05e65cad57bfba630bc1bf170c498b7472144bc02d2650cc9baef79daf03574a9c2e41d195ebb55a1c12c9b312f41ee324b653927b24ad8bcaa7 languageName: node linkType: hard @@ -9857,13 +10048,13 @@ __metadata: linkType: hard "internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4": - version: 1.0.4 - resolution: "internal-slot@npm:1.0.4" + version: 1.0.5 + resolution: "internal-slot@npm:1.0.5" dependencies: - get-intrinsic: ^1.1.3 + get-intrinsic: ^1.2.0 has: ^1.0.3 side-channel: ^1.0.4 - checksum: 8974588d06bab4f675573a3b52975370facf6486df51bc0567a982c7024fa29495f10b76c0d4dc742dd951d1b72024fdc1e31bb0bedf1678dc7aacacaf5a4f73 + checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a languageName: node linkType: hard @@ -9888,7 +10079,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.0, is-arguments@npm:^1.1.1": +"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.1": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -9898,7 +10089,7 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.0, is-array-buffer@npm:^3.0.1": +"is-array-buffer@npm:^3.0.1": version: 3.0.1 resolution: "is-array-buffer@npm:3.0.1" dependencies: @@ -9944,13 +10135,6 @@ __metadata: languageName: node linkType: hard -"is-buffer@npm:~1.1.6": - version: 1.1.6 - resolution: "is-buffer@npm:1.1.6" - checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707 - languageName: node - linkType: hard - "is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -9969,7 +10153,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.5.0, is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0": +"is-core-module@npm:^2.10.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.9.0": version: 2.11.0 resolution: "is-core-module@npm:2.11.0" dependencies: @@ -10017,6 +10201,15 @@ __metadata: languageName: node linkType: hard +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: ^1.0.0 + checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -10203,7 +10396,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.9": +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": version: 1.1.10 resolution: "is-typed-array@npm:1.1.10" dependencies: @@ -10536,15 +10729,27 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^29.3.1": - version: 29.3.1 - resolution: "jest-diff@npm:29.3.1" +"jest-diff@npm:^28.1.3": + version: 28.1.3 + resolution: "jest-diff@npm:28.1.3" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^28.1.1 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: fa8583e0ccbe775714ce850b009be1b0f6b17a4b6759f33ff47adef27942ebc610dbbcc8a5f7cfb7f12b3b3b05afc9fb41d5f766674616025032ff1e4f9866e0 + languageName: node + linkType: hard + +"jest-diff@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-diff@npm:29.4.3" dependencies: chalk: ^4.0.0 - diff-sequences: ^29.3.1 - jest-get-type: ^29.2.0 - pretty-format: ^29.3.1 - checksum: ac5c09745f2b1897e6f53216acaf6ed44fc4faed8e8df053ff4ac3db5d2a1d06a17b876e49faaa15c8a7a26f5671bcbed0a93781dcc2835f781c79a716a591a9 + diff-sequences: ^29.4.3 + jest-get-type: ^29.4.3 + pretty-format: ^29.4.3 + checksum: 877fd1edffef6b319688c27b152e5b28e2bc4bcda5ce0ca90d7e137f9fafda4280bae25403d4c0bfd9806c2c0b15d966aa2dfaf5f9928ec8f1ccea7fa1d08ed6 languageName: node linkType: hard @@ -10606,10 +10811,17 @@ __metadata: languageName: node linkType: hard -"jest-get-type@npm:^29.2.0": - version: 29.2.0 - resolution: "jest-get-type@npm:29.2.0" - checksum: e396fd880a30d08940ed8a8e43cd4595db1b8ff09649018eb358ca701811137556bae82626af73459e3c0f8c5e972ed1e57fd3b1537b13a260893dac60a90942 +"jest-get-type@npm:^28.0.2": + version: 28.0.2 + resolution: "jest-get-type@npm:28.0.2" + checksum: 5281d7c89bc8156605f6d15784f45074f4548501195c26e9b188742768f72d40948252d13230ea905b5349038865a1a8eeff0e614cc530ff289dfc41fe843abd + languageName: node + linkType: hard + +"jest-get-type@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-get-type@npm:29.4.3" + checksum: 6ac7f2dde1c65e292e4355b6c63b3a4897d7e92cb4c8afcf6d397f2682f8080e094c8b0b68205a74d269882ec06bf696a9de6cd3e1b7333531e5ed7b112605ce languageName: node linkType: hard @@ -10684,15 +10896,27 @@ __metadata: languageName: node linkType: hard -"jest-matcher-utils@npm:^29.3.1": - version: 29.3.1 - resolution: "jest-matcher-utils@npm:29.3.1" +"jest-matcher-utils@npm:^28.0.0": + version: 28.1.3 + resolution: "jest-matcher-utils@npm:28.1.3" dependencies: chalk: ^4.0.0 - jest-diff: ^29.3.1 - jest-get-type: ^29.2.0 - pretty-format: ^29.3.1 - checksum: 311e8d9f1e935216afc7dd8c6acf1fbda67a7415e1afb1bf72757213dfb025c1f2dc5e2c185c08064a35cdc1f2d8e40c57616666774ed1b03e57eb311c20ec77 + jest-diff: ^28.1.3 + jest-get-type: ^28.0.2 + pretty-format: ^28.1.3 + checksum: 6b34f0cf66f6781e92e3bec97bf27796bd2ba31121e5c5997218d9adba6deea38a30df5203937d6785b68023ed95cbad73663cc9aad6fb0cb59aeb5813a58daf + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-matcher-utils@npm:29.4.3" + dependencies: + chalk: ^4.0.0 + jest-diff: ^29.4.3 + jest-get-type: ^29.4.3 + pretty-format: ^29.4.3 + checksum: 9e13cbe42d2113bab2691110c7c3ba5cec3b94abad2727e1de90929d0f67da444e9b2066da3b476b5bf788df53a8ede0e0a950cfb06a04e4d6d566d115ee4f1d languageName: node linkType: hard @@ -10730,20 +10954,20 @@ __metadata: languageName: node linkType: hard -"jest-message-util@npm:^29.3.1": - version: 29.3.1 - resolution: "jest-message-util@npm:29.3.1" +"jest-message-util@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-message-util@npm:29.4.3" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.3.1 + "@jest/types": ^29.4.3 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.3.1 + pretty-format: ^29.4.3 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 15d0a2fca3919eb4570bbf575734780c4b9e22de6aae903c4531b346699f7deba834c6c86fe6e9a83ad17fac0f7935511cf16dce4d71a93a71ebb25f18a6e07b + checksum: 64f06b9550021e68da0059020bea8691283cf818918810bb67192d7b7fb9b691c7eadf55c2ca3cd04df5394918f2327245077095cdc0d6b04be3532d2c7d0ced languageName: node linkType: hard @@ -10939,17 +11163,17 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.3.1": - version: 29.3.1 - resolution: "jest-util@npm:29.3.1" +"jest-util@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-util@npm:29.4.3" dependencies: - "@jest/types": ^29.3.1 + "@jest/types": ^29.4.3 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: f67c60f062b94d21cb60e84b3b812d64b7bfa81fe980151de5c17a74eb666042d0134e2e756d099b7606a1fcf1d633824d2e58197d01d76dde1e2dc00dfcd413 + checksum: 606b3e6077895baf8fb4ad4d08c134f37a6b81d5ba77ae654c942b1ae4b7294ab3b5a0eb93db34f129407b367970cf3b76bf5c80897b30f215f2bc8bf20a5f3f languageName: node linkType: hard @@ -11074,15 +11298,15 @@ __metadata: linkType: hard "joi@npm:^17.7.0": - version: 17.7.0 - resolution: "joi@npm:17.7.0" + version: 17.7.1 + resolution: "joi@npm:17.7.1" dependencies: "@hapi/hoek": ^9.0.0 "@hapi/topo": ^5.0.0 "@sideway/address": ^4.1.3 - "@sideway/formula": ^3.0.0 + "@sideway/formula": ^3.0.1 "@sideway/pinpoint": ^2.0.0 - checksum: 767a847936cb66787256c4351ff86e1b9e8d7383cbe81a5c827064032c2a8e8b6e938baef5ad32c4035fe4c56e537bd90aa2a952be8a0658601c920cdeb4fb3c + checksum: e34a97461ee1976e11ff79286e66a25271aacdb78a65bc6ce22bc1f59e458d0a1c7a762dfce61036432bf7324694bc0508613259cdd9a6e88013d7166c94e8f2 languageName: node linkType: hard @@ -11101,9 +11325,9 @@ __metadata: linkType: hard "js-sdsl@npm:^4.1.4": - version: 4.2.0 - resolution: "js-sdsl@npm:4.2.0" - checksum: 2cd0885f7212afb355929d72ca105cb37de7e95ad6031e6a32619eaefa46735a7d0fb682641a0ba666e1519cb138fe76abc1eea8a34e224140c9d94c995171f1 + version: 4.3.0 + resolution: "js-sdsl@npm:4.3.0" + checksum: ce908257cf6909e213af580af3a691a736f5ee8b16315454768f917a682a4ea0c11bde1b241bbfaecedc0eb67b72101b2c2df2ffaed32aed5d539fca816f054e languageName: node linkType: hard @@ -11353,9 +11577,9 @@ __metadata: linkType: hard "klona@npm:^2.0.4, klona@npm:^2.0.5": - version: 2.0.5 - resolution: "klona@npm:2.0.5" - checksum: 8c976126ea252b766e648a4866e1bccff9d3b08432474ad80c559f6c7265cf7caede2498d463754d8c88c4759895edd8210c85c0d3155e6aae4968362889466f + version: 2.0.6 + resolution: "klona@npm:2.0.6" + checksum: ac9ee3732e42b96feb67faae4d27cf49494e8a3bf3fa7115ce242fe04786788e0aff4741a07a45a2462e2079aa983d73d38519c85d65b70ef11447bbc3c58ce7 languageName: node linkType: hard @@ -11718,9 +11942,9 @@ __metadata: linkType: hard "lru-cache@npm:^7.7.1": - version: 7.14.1 - resolution: "lru-cache@npm:7.14.1" - checksum: d72c6713c6a6d86836a7a6523b3f1ac6764768cca47ec99341c3e76db06aacd4764620e5e2cda719a36848785a52a70e531822dc2b33fb071fa709683746c104 + version: 7.15.0 + resolution: "lru-cache@npm:7.15.0" + checksum: 85fafe28ddb14fc4518a1f268241861bdb5339ed35b51a23c742cf2467c639a05f0c8d11594e3d27cdf1052c51ddb1fa06ece024c28caa5a0312c8f1ac2fc2c3 languageName: node linkType: hard @@ -11815,17 +12039,6 @@ __metadata: languageName: node linkType: hard -"md5@npm:2.3.0": - version: 2.3.0 - resolution: "md5@npm:2.3.0" - dependencies: - charenc: 0.0.2 - crypt: 0.0.2 - is-buffer: ~1.1.6 - checksum: a63cacf4018dc9dee08c36e6f924a64ced735b37826116c905717c41cebeb41a522f7a526ba6ad578f9c80f02cb365033ccd67fe186ffbcc1a1faeb75daa9b6e - languageName: node - linkType: hard - "mdn-data@npm:2.0.14": version: 2.0.14 resolution: "mdn-data@npm:2.0.14" @@ -11987,11 +12200,11 @@ __metadata: linkType: hard "minimatch@npm:^5.0.1": - version: 5.1.2 - resolution: "minimatch@npm:5.1.2" + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" dependencies: brace-expansion: ^2.0.1 - checksum: 32ffda25b9fb8270a1c1beafdb7489dc0e411af553495136509a945691f63c9b6b000eeeaaf8bffe3efa609c1d6d3bc0f5a106f6c3443b5c05da649100ded964 + checksum: 7564208ef81d7065a370f788d337cd80a689e981042cb9a1d0e6580b6c6a8c9279eba80010516e258835a988363f99f54a6f711a315089b8b42694f5da9d0d77 languageName: node linkType: hard @@ -12007,9 +12220,9 @@ __metadata: linkType: hard "minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.7": - version: 1.2.7 - resolution: "minimist@npm:1.2.7" - checksum: 7346574a1038ca23c32e02252f603801f09384dd1d78b69a943a4e8c2c28730b80e96193882d3d3b22a063445f460e48316b29b8a25addca2d7e5e8f75478bec + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 languageName: node linkType: hard @@ -12074,11 +12287,9 @@ __metadata: linkType: hard "minipass@npm:^4.0.0": - version: 4.0.0 - resolution: "minipass@npm:4.0.0" - dependencies: - yallist: ^4.0.0 - checksum: 7a609afbf394abfcf9c48e6c90226f471676c8f2a67f07f6838871afb03215ede431d1433feffe1b855455bcb13ef0eb89162841b9796109d6fed8d89790f381 + version: 4.0.3 + resolution: "minipass@npm:4.0.3" + checksum: a09f405e2f380ae7f6ee0cbb53b45c1fcc1b6c70fc3896f4d20649d92a10e61892c57bd9960a64cedf6c90b50022cb6c195905b515039c335b423202f99e6f18 languageName: node linkType: hard @@ -12269,10 +12480,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.6": - version: 2.0.8 - resolution: "node-releases@npm:2.0.8" - checksum: b1ab02c0d5d8e081bf9537232777a7a787dc8fef07f70feabe70a344599b220fe16462f746ac30f3eed5a58549445ad69368964d12a1f8b3b764f6caab7ba34a +"node-releases@npm:^2.0.8": + version: 2.0.10 + resolution: "node-releases@npm:2.0.10" + checksum: d784ecde25696a15d449c4433077f5cce620ed30a1656c4abf31282bfc691a70d9618bae6868d247a67914d1be5cc4fde22f65a05f4398cdfb92e0fc83cadfbc languageName: node linkType: hard @@ -12430,9 +12641,9 @@ __metadata: linkType: hard "object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": - version: 1.12.2 - resolution: "object-inspect@npm:1.12.2" - checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 + version: 1.12.3 + resolution: "object-inspect@npm:1.12.3" + checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db languageName: node linkType: hard @@ -12453,7 +12664,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.2, object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": +"object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -12465,7 +12676,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.5, object.entries@npm:^1.1.6": +"object.entries@npm:^1.1.6": version: 1.1.6 resolution: "object.entries@npm:1.1.6" dependencies: @@ -12509,7 +12720,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.0, object.values@npm:^1.1.5, object.values@npm:^1.1.6": +"object.values@npm:^1.1.0, object.values@npm:^1.1.6": version: 1.1.6 resolution: "object.values@npm:1.1.6" dependencies: @@ -12569,13 +12780,13 @@ __metadata: linkType: hard "open@npm:^8.0.9, open@npm:^8.4.0": - version: 8.4.0 - resolution: "open@npm:8.4.0" + version: 8.4.1 + resolution: "open@npm:8.4.1" dependencies: define-lazy-prop: ^2.0.0 is-docker: ^2.1.1 is-wsl: ^2.2.0 - checksum: e9545bec64cdbf30a0c35c1bdc310344adf8428a117f7d8df3c0af0a0a24c513b304916a6d9b11db0190ff7225c2d578885080b761ed46a3d5f6f1eebb98b63c + checksum: dbe8e1d98889df60b5179eab8b94b9591744d1f0033bce1a9a10738ba140bd9d625d6bcde7ff9f043e379aafb918975c2daa03b87cef13eb046ac18ed807f06d languageName: node linkType: hard @@ -12920,11 +13131,11 @@ __metadata: linkType: hard "pg-cursor@npm:^2.7.3": - version: 2.7.4 - resolution: "pg-cursor@npm:2.7.4" + version: 2.8.0 + resolution: "pg-cursor@npm:2.8.0" peerDependencies: pg: ^8 - checksum: f150287f887ebe6aa5aa552791cd315c71ef7cc9352ddd1cebbd92f6fa49bdb939988039597ada7072b91888e2606ca6f82e638925971aca3b02053599077bb1 + checksum: 8c20fa3f9b07b12041ab4ee207b4168f05f54ff879275cae9d90126958778e806d53924582abbfaf448c56ad12e573323a5a9ba97220e30bcda0ec5bf5b638c7 languageName: node linkType: hard @@ -12944,10 +13155,10 @@ __metadata: languageName: node linkType: hard -"pg-protocol@npm:^1.5.0": - version: 1.5.0 - resolution: "pg-protocol@npm:1.5.0" - checksum: b839d12cafe942ef9cbc5b13c174eb2356804fb4fe8ead8279f46a36be90722d19a91409955beb8a3d5301639c44854e49749de4aef02dc361fee3e2a61fb1e4 +"pg-protocol@npm:^1.5.0, pg-protocol@npm:^1.6.0": + version: 1.6.0 + resolution: "pg-protocol@npm:1.6.0" + checksum: e12662d2de2011e0c3a03f6a09f435beb1025acdc860f181f18a600a5495dc38a69d753bbde1ace279c8c442536af9c1a7c11e1d0fe3fad3aa1348b28d9d2683 languageName: node linkType: hard @@ -12965,14 +13176,14 @@ __metadata: linkType: hard "pg@npm:^8.7.3": - version: 8.8.0 - resolution: "pg@npm:8.8.0" + version: 8.9.0 + resolution: "pg@npm:8.9.0" dependencies: buffer-writer: 2.0.0 packet-reader: 1.0.0 pg-connection-string: ^2.5.0 pg-pool: ^3.5.2 - pg-protocol: ^1.5.0 + pg-protocol: ^1.6.0 pg-types: ^2.1.0 pgpass: 1.x peerDependencies: @@ -12980,7 +13191,7 @@ __metadata: peerDependenciesMeta: pg-native: optional: true - checksum: fa30a85814dd7238b582c3bc6c0b9e2b0ae38dd0a6bb485ef480e64bb5ce589de6cb873ce4d3cd10c37a3e0a1e1281ba75dc7d80b1a68bae91999cd5b70d398b + checksum: dfd158955318f9ffb9428eaada29f3ee98b9eb07e87ed4b56589a19984d109f23bb8f88db78b7d7f870553e5b75ca0d58d0ed55755a8c6aed5df44e038c1d529 languageName: node linkType: hard @@ -13154,17 +13365,17 @@ __metadata: languageName: node linkType: hard -"postcss-colormin@npm:^5.3.0": - version: 5.3.0 - resolution: "postcss-colormin@npm:5.3.0" +"postcss-colormin@npm:^5.3.1": + version: 5.3.1 + resolution: "postcss-colormin@npm:5.3.1" dependencies: - browserslist: ^4.16.6 + browserslist: ^4.21.4 caniuse-api: ^3.0.0 colord: ^2.9.1 postcss-value-parser: ^4.2.0 peerDependencies: postcss: ^8.2.15 - checksum: 3d3e3cc25071407fb73d68541ca1039ebd154fceb649041461a8a3cab0400cc89b42dbb34a4eeaf573be4ba2370ce23af5e01aff5e03a8d72275f40605577212 + checksum: e5778baab30877cd1f51e7dc9d2242a162aeca6360a52956acd7f668c5bc235c2ccb7e4df0370a804d65ebe00c5642366f061db53aa823f9ed99972cebd16024 languageName: node linkType: hard @@ -13366,13 +13577,13 @@ __metadata: linkType: hard "postcss-js@npm:^4.0.0": - version: 4.0.0 - resolution: "postcss-js@npm:4.0.0" + version: 4.0.1 + resolution: "postcss-js@npm:4.0.1" dependencies: camelcase-css: ^2.0.1 peerDependencies: - postcss: ^8.3.3 - checksum: 14be8a58670b4c5d037d40f179240a4f736d53530db727e2635638fa296bc4bff18149ca860928398aace422e55d07c9f5729eeccd395340944985199cdc82a5 + postcss: ^8.4.21 + checksum: 5c1e83efeabeb5a42676193f4357aa9c88f4dc1b3c4a0332c132fe88932b33ea58848186db117cf473049fc233a980356f67db490bd0a7832ccba9d0b3fd3491 languageName: node linkType: hard @@ -13450,9 +13661,9 @@ __metadata: languageName: node linkType: hard -"postcss-merge-rules@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-merge-rules@npm:5.1.3" +"postcss-merge-rules@npm:^5.1.4": + version: 5.1.4 + resolution: "postcss-merge-rules@npm:5.1.4" dependencies: browserslist: ^4.21.4 caniuse-api: ^3.0.0 @@ -13460,7 +13671,7 @@ __metadata: postcss-selector-parser: ^6.0.5 peerDependencies: postcss: ^8.2.15 - checksum: 0ddaddff98cd7f3fac2b0e716c641f529a61a8668be6d5b48d60770d0a1246126088e1d606f309b9748ff598a3794f3fd6dd5b8c3d79112f84744cab5375d4d9 + checksum: 8ab6a569babe6cb412d6612adee74f053cea7edb91fa013398515ab36754b1fec830d68782ed8cdfb44cffdc6b78c79eab157bff650f428aa4460d3f3857447e languageName: node linkType: hard @@ -13814,15 +14025,15 @@ __metadata: languageName: node linkType: hard -"postcss-reduce-initial@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-reduce-initial@npm:5.1.1" +"postcss-reduce-initial@npm:^5.1.2": + version: 5.1.2 + resolution: "postcss-reduce-initial@npm:5.1.2" dependencies: browserslist: ^4.21.4 caniuse-api: ^3.0.0 peerDependencies: postcss: ^8.2.15 - checksum: 1b704aba8c38103cbb5a75c6201dbf58ec2f3a978013c7f7e8957fd3bf3282f992050dec5a01bc050d031bad836e187dd6622b922ca78ab92bcd0afd21fb0b98 + checksum: 55db697f85231a81f1969d54c894e4773912d9ddb914f9b03d2e73abc4030f2e3bef4d7465756d0c1acfcc2c2d69974bfb50a972ab27546a7d68b5a4fc90282b languageName: node linkType: hard @@ -13857,7 +14068,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": +"postcss-selector-parser@npm:^6.0.10, postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": version: 6.0.11 resolution: "postcss-selector-parser@npm:6.0.11" dependencies: @@ -13907,7 +14118,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.5, postcss@npm:^8.4.18, postcss@npm:^8.4.19, postcss@npm:^8.4.4": +"postcss@npm:^8.0.9, postcss@npm:^8.3.5, postcss@npm:^8.4.19, postcss@npm:^8.4.4": version: 8.4.21 resolution: "postcss@npm:8.4.21" dependencies: @@ -13919,9 +14130,9 @@ __metadata: linkType: hard "postgres-array@npm:^3.0.1": - version: 3.0.1 - resolution: "postgres-array@npm:3.0.1" - checksum: e0b5459052ed23a991abc18344f91c0b6c2f47cdeafacc8e26d2a82c51249ea9ac2e49ba114b87df7061bf6f8ceed97ae0cdf6ffb11ca3fed725b926bb68bddb + version: 3.0.2 + resolution: "postgres-array@npm:3.0.2" + checksum: 5955f9dffeb6fa960c1a0b04fd4b2ba16813ddb636934ad26f902e4d76a91c0b743dcc6edc4cffc52deba7d547505e0020adea027c1d50a774f989cf955420d1 languageName: node linkType: hard @@ -14013,7 +14224,7 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^28.1.3": +"pretty-format@npm:^28.0.0, pretty-format@npm:^28.1.3": version: 28.1.3 resolution: "pretty-format@npm:28.1.3" dependencies: @@ -14025,14 +14236,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.3.1": - version: 29.3.1 - resolution: "pretty-format@npm:29.3.1" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.4.3": + version: 29.4.3 + resolution: "pretty-format@npm:29.4.3" dependencies: - "@jest/schemas": ^29.0.0 + "@jest/schemas": ^29.4.3 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 9917a0bb859cd7a24a343363f70d5222402c86d10eb45bcc2f77b23a4e67586257390e959061aec22762a782fe6bafb59bf34eb94527bc2e5d211afdb287eb4e + checksum: 3258b9a010bd79b3cf73783ad1e4592b6326fc981b6e31b742f316f14e7fbac09b48a9dbf274d092d9bde404db9fe16f518370e121837dc078a597392e6e5cc5 languageName: node linkType: hard @@ -14095,7 +14306,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:15.8.1, prop-types@npm:^15.5.6, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": +"prop-types@npm:^15.5.6, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -14148,9 +14359,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0, punycode@npm:^2.1.1": - version: 2.1.1 - resolution: "punycode@npm:2.1.1" - checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 + version: 2.3.0 + resolution: "punycode@npm:2.3.0" + checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 languageName: node linkType: hard @@ -14161,24 +14372,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.10.3": - version: 6.10.3 - resolution: "qs@npm:6.10.3" - dependencies: - side-channel: ^1.0.4 - checksum: 0fac5e6c7191d0295a96d0e83c851aeb015df7e990e4d3b093897d3ac6c94e555dbd0a599739c84d7fa46d7fee282d94ba76943983935cf33bba6769539b8019 - languageName: node - linkType: hard - -"qs@npm:6.10.5": - version: 6.10.5 - resolution: "qs@npm:6.10.5" - dependencies: - side-channel: ^1.0.4 - checksum: b3873189a11bcf48445864b3ba66f7a76db0d9d874955d197779f561addfa604884f7b107971526ce1eca02c99bf7d1e47f28a3e7e6e29204d798fb279164226 - languageName: node - linkType: hard - "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -14188,10 +14381,12 @@ __metadata: languageName: node linkType: hard -"qs@npm:~6.5.2": - version: 6.5.3 - resolution: "qs@npm:6.5.3" - checksum: 6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692 +"qs@npm:~6.10.3": + version: 6.10.4 + resolution: "qs@npm:6.10.4" + dependencies: + side-channel: ^1.0.4 + checksum: 31e4fedd759d01eae52dde6692abab175f9af3e639993c5caaa513a2a3607b34d8058d3ae52ceeccf37c3025f22ed5e90e9ddd6c2537e19c0562ddd10dc5b1eb languageName: node linkType: hard @@ -14381,15 +14576,16 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" +"react-dom@npm:17.0.2": + version: 17.0.2 + resolution: "react-dom@npm:17.0.2" dependencies: loose-envify: ^1.1.0 - scheduler: ^0.23.0 + object-assign: ^4.1.1 + scheduler: ^0.20.2 peerDependencies: - react: ^18.2.0 - checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc + react: 17.0.2 + checksum: 1c1eaa3bca7c7228d24b70932e3d7c99e70d1d04e13bb0843bbf321582bc25d7961d6b8a6978a58a598af2af496d1cedcfb1bf65f6b0960a0a8161cb8dab743c languageName: node linkType: hard @@ -14479,21 +14675,21 @@ __metadata: languageName: node linkType: hard -"react-query@npm:3.34.19": - version: 3.34.19 - resolution: "react-query@npm:3.34.19" +"react-query@npm:3.39.3": + version: 3.39.3 + resolution: "react-query@npm:3.39.3" dependencies: "@babel/runtime": ^7.5.5 broadcast-channel: ^3.4.1 match-sorter: ^6.0.2 peerDependencies: - react: ^16.8.0 || ^17.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: react-dom: optional: true react-native: optional: true - checksum: 765bec81e521a78ef04a8feb6710041ce838ef82bf6e1d35c7e9327cc242b232b242fd89f3604adf6747dce2df055d12b15e8e4208687cc5eb493c1c0bf71d34 + checksum: d2de6a0992dbf039ff2de564de1ae6361f8ac7310159dae42ec16f833b79c05caedced187235c42373ac331cc5f2fe9e2b31b14ae75a815e86d86e30ca9887ad languageName: node linkType: hard @@ -14532,27 +14728,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:6.3.0": - version: 6.3.0 - resolution: "react-router-dom@npm:6.3.0" +"react-router-dom@npm:6.8.1": + version: 6.8.1 + resolution: "react-router-dom@npm:6.8.1" dependencies: - history: ^5.2.0 - react-router: 6.3.0 + "@remix-run/router": 1.3.2 + react-router: 6.8.1 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 77603a654f8a8dc7f65535a2e5917a65f8d9ffcb06546d28dd297e52adcc4b8a84377e0115f48dca330b080af2da3e78f29d590c89307094d36927d2b1751ec3 + checksum: fb1a9f5c7e4c83536ee7e6493f3c13f6abda66da69f9191fb8b087ab188ecc18a3a32575813a280cbeca67bcb8b0dcb6dbcef7ed599e03f38a44d694f4abcf14 languageName: node linkType: hard -"react-router@npm:6.3.0": - version: 6.3.0 - resolution: "react-router@npm:6.3.0" +"react-router@npm:6.8.1": + version: 6.8.1 + resolution: "react-router@npm:6.8.1" dependencies: - history: ^5.2.0 + "@remix-run/router": 1.3.2 peerDependencies: react: ">=16.8" - checksum: 7be673f5e72104be01e6ab274516bdb932efd93305243170690f6560e3bd1035dd1df3d3c9ce1e0f452638a2529f43a1e77dcf0934fc8031c4783da657be13ca + checksum: 8e7cc7a516adeb6060911861af99d9b512893c15ec732cbf8574872919be4f3fe439ffa8c0876d1bcbced880d081bfeda3c01cb505b5a243565d10500ee0ac36 languageName: node linkType: hard @@ -14661,12 +14857,13 @@ __metadata: languageName: node linkType: hard -"react@npm:18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" +"react@npm:17.0.2": + version: 17.0.2 + resolution: "react@npm:17.0.2" dependencies: loose-envify: ^1.1.0 - checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b + object-assign: ^4.1.1 + checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b languageName: node linkType: hard @@ -14835,23 +15032,16 @@ __metadata: linkType: hard "regexpu-core@npm:^5.2.1": - version: 5.2.2 - resolution: "regexpu-core@npm:5.2.2" + version: 5.3.1 + resolution: "regexpu-core@npm:5.3.1" dependencies: + "@babel/regjsgen": ^0.8.0 regenerate: ^1.4.2 regenerate-unicode-properties: ^10.1.0 - regjsgen: ^0.7.1 regjsparser: ^0.9.1 unicode-match-property-ecmascript: ^2.0.0 unicode-match-property-value-ecmascript: ^2.1.0 - checksum: 87c56815e20d213848d38f6b047ba52f0d632f36e791b777f59327e8d350c0743b27cc25feab64c0eadc9fe9959dde6b1261af71108a9371b72c8c26beda05ef - languageName: node - linkType: hard - -"regjsgen@npm:^0.7.1": - version: 0.7.1 - resolution: "regjsgen@npm:0.7.1" - checksum: 7cac399921c58db8e16454869283ff66871531180218064fa938ac05c11c2976792a00706c3c78bbc625e1d793ca373065ea90564e06189a751a7b4ae33acadc + checksum: 446fbbb79059afcd64d11ea573276e2df97ee7ad45aa452834d3b2aef7edf7bfe206c310f57f9345d8c95bfedbf9c16a9529f9219a05ae6a6b0d6f0dbe523b33 languageName: node linkType: hard @@ -14993,13 +15183,13 @@ __metadata: linkType: hard "resolve.exports@npm:^1.1.0": - version: 1.1.0 - resolution: "resolve.exports@npm:1.1.0" - checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d + version: 1.1.1 + resolution: "resolve.exports@npm:1.1.1" + checksum: 485aa10082eb388a569d696e17ad7b16f4186efc97dd34eadd029d95b811f21ffee13b1b733198bb4584dbb3cb296aa6f141835221fb7613b9606b84f1386655 languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1": +"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1": version: 1.22.1 resolution: "resolve@npm:1.22.1" dependencies: @@ -15012,7 +15202,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^2.0.0-next.3": +"resolve@npm:^2.0.0-next.4": version: 2.0.0-next.4 resolution: "resolve@npm:2.0.0-next.4" dependencies: @@ -15025,7 +15215,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": +"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.1 resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" dependencies: @@ -15038,7 +15228,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^2.0.0-next.3#~builtin": +"resolve@patch:resolve@^2.0.0-next.4#~builtin": version: 2.0.0-next.4 resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=07638b" dependencies: @@ -15108,16 +15298,16 @@ __metadata: linkType: hard "roarr@npm:^7.11.0": - version: 7.14.1 - resolution: "roarr@npm:7.14.1" + version: 7.14.2 + resolution: "roarr@npm:7.14.2" dependencies: boolean: ^3.1.4 - fast-json-stringify: ^5.5.0 + fast-json-stringify: ^2.7.10 fast-printf: ^1.6.9 globalthis: ^1.0.2 safe-stable-stringify: ^2.4.1 semver-compare: ^1.0.0 - checksum: eee37fbf627b6a25f2c5665afd67e5bdef2b2ad05d792c3103655fcd64902fa6728ced233e6e9dcaeaaf48beb764d6f354e321f317f9165305ae378683791874 + checksum: 802ea2adb3391553015502108945a76ffe838c4b1a6205c43d6ab279d590c9ddbabb4dfab8150ab850d66d6e223efa40c3a1a2df7e2dca0536b58394f4ab9f2c languageName: node linkType: hard @@ -15270,12 +15460,13 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" +"scheduler@npm:^0.20.2": + version: 0.20.2 + resolution: "scheduler@npm:0.20.2" dependencies: loose-envify: ^1.1.0 - checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a + object-assign: ^4.1.1 + checksum: c4b35cf967c8f0d3e65753252d0f260271f81a81e427241295c5a7b783abf4ea9e905f22f815ab66676f5313be0a25f47be582254db8f9241b259213e999b8fc languageName: node linkType: hard @@ -15325,9 +15516,9 @@ __metadata: linkType: hard "secure-json-parse@npm:^2.0.0": - version: 2.6.0 - resolution: "secure-json-parse@npm:2.6.0" - checksum: 6a10529b095cd2d4b7f3ae0a7f9877b67f6a206ffda01ba6fd29012c94b77197d6be3aea21f950120d3ac69b98b1251870554a504d47ab0e32f45531ebe92a2c + version: 2.7.0 + resolution: "secure-json-parse@npm:2.7.0" + checksum: d9d7d5a01fc6db6115744ba23cf9e67ecfe8c524d771537c062ee05ad5c11b64c730bc58c7f33f60bd6877f96b86f0ceb9ea29644e4040cb757f6912d4dd6737 languageName: node linkType: hard @@ -15430,11 +15621,11 @@ __metadata: linkType: hard "serialize-javascript@npm:^6.0.0": - version: 6.0.0 - resolution: "serialize-javascript@npm:6.0.0" + version: 6.0.1 + resolution: "serialize-javascript@npm:6.0.1" dependencies: randombytes: ^2.1.0 - checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 + checksum: 3c4f4cb61d0893b988415bdb67243637333f3f574e9e9cc9a006a2ced0b390b0b3b44aef8d51c951272a9002ec50885eefdc0298891bc27eb2fe7510ea87dc4f languageName: node linkType: hard @@ -15510,9 +15701,9 @@ __metadata: linkType: hard "shell-quote@npm:^1.7.3": - version: 1.7.4 - resolution: "shell-quote@npm:1.7.4" - checksum: 2874ea9c1a7c3ebfc9ec5734a897e16533d0d06f2e4cddc22ba3d1cab5cdc07d0f825364c1b1e39abe61236f44d8e60e933c7ad7349ce44de4f5dddc7b4354e9 + version: 1.8.0 + resolution: "shell-quote@npm:1.8.0" + checksum: 6ef7c5e308b9c77eedded882653a132214fa98b4a1512bb507588cf6cd2fc78bfee73e945d0c3211af028a1eabe09c6a19b96edd8977dc149810797e93809749 languageName: node linkType: hard @@ -15960,6 +16151,15 @@ __metadata: languageName: node linkType: hard +"stop-iteration-iterator@npm:^1.0.0": + version: 1.0.0 + resolution: "stop-iteration-iterator@npm:1.0.0" + dependencies: + internal-slot: ^1.0.4 + checksum: d04173690b2efa40e24ab70e5e51a3ff31d56d699550cfad084104ab3381390daccb36652b25755e420245f3b0737de66c1879eaa2a8d4fc0a78f9bf892fcb42 + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -16267,9 +16467,19 @@ __metadata: languageName: node linkType: hard +"synckit@npm:^0.8.4": + version: 0.8.5 + resolution: "synckit@npm:0.8.5" + dependencies: + "@pkgr/utils": ^2.3.1 + tslib: ^2.5.0 + checksum: 8a9560e5d8f3d94dc3cf5f7b9c83490ffa30d320093560a37b88f59483040771fd1750e76b9939abfbb1b5a23fd6dfbae77f6b338abffe7cae7329cd9b9bb86b + languageName: node + linkType: hard + "tailwindcss@npm:^3.0.2": - version: 3.2.4 - resolution: "tailwindcss@npm:3.2.4" + version: 3.2.6 + resolution: "tailwindcss@npm:3.2.6" dependencies: arg: ^5.0.2 chokidar: ^3.5.3 @@ -16285,12 +16495,12 @@ __metadata: normalize-path: ^3.0.0 object-hash: ^3.0.0 picocolors: ^1.0.0 - postcss: ^8.4.18 + postcss: ^8.0.9 postcss-import: ^14.1.0 postcss-js: ^4.0.0 postcss-load-config: ^3.1.4 postcss-nested: 6.0.0 - postcss-selector-parser: ^6.0.10 + postcss-selector-parser: ^6.0.11 postcss-value-parser: ^4.2.0 quick-lru: ^5.1.1 resolve: ^1.22.1 @@ -16299,7 +16509,7 @@ __metadata: bin: tailwind: lib/cli.js tailwindcss: lib/cli.js - checksum: ec187d180c722ec4f57537f2216c7b21269b525f12aaf353cea464d939c3e6286a1221eb3e1206e45d1f015f296171309ad4d9952899b0245cd07d9500a9401f + checksum: 908451ff7b334b2aec2a0ba5bf426a786a3f190b440a1f8ede206d889448ffda3b77349829f06dc297336fd0b5edc696ae5f23b808d6444bb5c689f218e95323 languageName: node linkType: hard @@ -16383,8 +16593,8 @@ __metadata: linkType: hard "terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.14.1": - version: 5.16.1 - resolution: "terser@npm:5.16.1" + version: 5.16.3 + resolution: "terser@npm:5.16.3" dependencies: "@jridgewell/source-map": ^0.3.2 acorn: ^8.5.0 @@ -16392,7 +16602,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: cb524123504a2f0d9140c1e1a8628c83bba9cacc404c6aca79e2493a38dfdf21275617ba75b91006b3f1ff586e401ab31121160cd253699f334c6340ea2756f5 + checksum: d3c2ac1c2723c37b698b25b68d76fd315a1277fddde113983d5783d1f2a01dd7b8ed83ba3f54e5e65f0b59dd971ed7be2fdf8d4be94ec694b2d27832d2e7561f languageName: node linkType: hard @@ -16478,6 +16688,16 @@ __metadata: languageName: node linkType: hard +"tiny-glob@npm:^0.2.9": + version: 0.2.9 + resolution: "tiny-glob@npm:0.2.9" + dependencies: + globalyzer: 0.1.0 + globrex: ^0.1.2 + checksum: aea5801eb6663ddf77ebb74900b8f8bd9dfcfc9b6a1cc8018cb7421590c00bf446109ff45e4b64a98e6c95ddb1255a337a5d488fb6311930e2a95334151ec9c6 + languageName: node + linkType: hard + "tiny-lru@npm:^8.0.1": version: 8.0.2 resolution: "tiny-lru@npm:8.0.2" @@ -16651,10 +16871,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.1.0": - version: 2.4.1 - resolution: "tslib@npm:2.4.1" - checksum: 19480d6e0313292bd6505d4efe096a6b31c70e21cf08b5febf4da62e95c265c8f571f7b36fcc3d1a17e068032f59c269fab3459d6cd3ed6949eafecf64315fca +"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0": + version: 2.5.0 + resolution: "tslib@npm:2.5.0" + checksum: ae3ed5f9ce29932d049908ebfdf21b3a003a85653a9a140d614da6b767a93ef94f460e52c3d787f0e4f383546981713f165037dc2274df212ea9f8a4541004e1 languageName: node linkType: hard @@ -16789,7 +17009,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.9.4, typescript@npm:^4.6.4": +"typescript@npm:4.9.4": version: 4.9.4 resolution: "typescript@npm:4.9.4" bin: @@ -16799,7 +17019,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@4.9.4#~builtin, typescript@patch:typescript@^4.6.4#~builtin": +"typescript@npm:^4.6.4": + version: 4.9.5 + resolution: "typescript@npm:4.9.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db + languageName: node + linkType: hard + +"typescript@patch:typescript@4.9.4#~builtin": version: 4.9.4 resolution: "typescript@patch:typescript@npm%3A4.9.4#~builtin::version=4.9.4&hash=7ad353" bin: @@ -16809,6 +17039,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@^4.6.4#~builtin": + version: 4.9.5 + resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=7ad353" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 2eee5c37cad4390385db5db5a8e81470e42e8f1401b0358d7390095d6f681b410f2c4a0c496c6ff9ebd775423c7785cdace7bcdad76c7bee283df3d9718c0f20 + languageName: node + linkType: hard + "uglify-js@npm:^3.1.4": version: 3.17.4 resolution: "uglify-js@npm:3.17.4" @@ -16940,7 +17180,7 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.9": +"update-browserslist-db@npm:^1.0.10": version: 1.0.10 resolution: "update-browserslist-db@npm:1.0.10" dependencies: @@ -17002,6 +17242,19 @@ __metadata: languageName: node linkType: hard +"util@npm:^0.12.4": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: ^2.0.3 + is-arguments: ^1.0.4 + is-generator-function: ^1.0.7 + is-typed-array: ^1.1.3 + which-typed-array: ^1.1.2 + checksum: 705e51f0de5b446f4edec10739752ac25856541e0254ea1e7e45e5b9f9b0cb105bc4bd415736a6210edc68245a7f903bf085ffb08dd7deb8a0e847f60538a38a + languageName: node + linkType: hard + "utila@npm:~0.4": version: 0.4.0 resolution: "utila@npm:0.4.0" @@ -17023,16 +17276,25 @@ __metadata: languageName: node linkType: hard -"uuid@npm:3.3.2": - version: 3.3.2 - resolution: "uuid@npm:3.3.2" +"uuid@npm:8.0.0": + version: 8.0.0 + resolution: "uuid@npm:8.0.0" bin: - uuid: ./bin/uuid - checksum: 8793629d2799f500aeea9fcd0aec6c4e9fbcc4d62ed42159ad96be345c3fffac1bbf61a23e18e2782600884fee05e6d4012ce4b70d0037c8e987533ae6a77870 + uuid: dist/bin/uuid + checksum: 56d4e23aa7ac26fa2db6bd1778db34cb8c9f5a10df1770a27167874bf6705fc8f14a4ac414af58a0d96c7653b2bd4848510b29d1c2ef8c91ccb17429c1872b5e languageName: node linkType: hard -"uuid@npm:8.3.2, uuid@npm:^8.3.2": +"uuid@npm:9.0.0": + version: 9.0.0 + resolution: "uuid@npm:9.0.0" + bin: + uuid: dist/bin/uuid + checksum: 8dd2c83c43ddc7e1c71e36b60aea40030a6505139af6bee0f382ebcd1a56f6cd3028f7f06ffb07f8cf6ced320b76aea275284b224b002b289f89fe89c389b028 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": version: 8.3.2 resolution: "uuid@npm:8.3.2" bin: @@ -17281,13 +17543,6 @@ __metadata: languageName: node linkType: hard -"webpack-virtual-modules@npm:^0.4.4": - version: 0.4.6 - resolution: "webpack-virtual-modules@npm:0.4.6" - checksum: cb056ba8c50b35436ae43149554b051b80065b0cf79f2d528ca692ddf344a422ac71c415adb9da83dc3acc6e7e58f518388cc1cd11cb4fa29dc04f2c4494afe3 - languageName: node - linkType: hard - "webpack@npm:^5.64.4": version: 5.75.0 resolution: "webpack@npm:5.75.0" @@ -17420,7 +17675,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.9": +"which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": version: 1.1.9 resolution: "which-typed-array@npm:1.1.9" dependencies: @@ -17741,8 +17996,8 @@ __metadata: linkType: hard "ws@npm:^8.4.2": - version: 8.12.0 - resolution: "ws@npm:8.12.0" + version: 8.12.1 + resolution: "ws@npm:8.12.1" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -17751,7 +18006,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 818ff3f8749c172a95a114cceb8b89cedd27e43a82d65c7ad0f7882b1e96a2ee6709e3746a903c3fa88beec0c8bae9a9fcd75f20858b32a166dfb7519316a5d7 + checksum: 97301c1c4d838fc81bd413f370f75c12aabe44527b31323b761eab3043a9ecb7e32ffd668548382c9a6a5ad3a1c3a9249608e8338e6b939f2f9540f1e21970b5 languageName: node linkType: hard