diff --git a/apps/dashboard/app/api-keys/api-key.types.ts b/apps/dashboard/app/api-keys/api-key.types.ts new file mode 100644 index 0000000000..fa6cfdca8d --- /dev/null +++ b/apps/dashboard/app/api-keys/api-key.types.ts @@ -0,0 +1,6 @@ +import { ServerActionResponse } from "../index.types" + +type ApiKeyBody = { + apiKeySecret: string | undefined +} +export interface ApiKeyResponse extends ServerActionResponse {} diff --git a/apps/dashboard/app/api-keys/server-actions.ts b/apps/dashboard/app/api-keys/server-actions.ts index 4bff5aa437..b3cd1f4570 100644 --- a/apps/dashboard/app/api-keys/server-actions.ts +++ b/apps/dashboard/app/api-keys/server-actions.ts @@ -2,6 +2,8 @@ import { getServerSession } from "next-auth" import { revalidatePath } from "next/cache" +import { ApiKeyResponse } from "./api-key.types" + import { authOptions } from "@/app/api/auth/[...nextauth]/route" import { createApiKey, revokeApiKey } from "@/services/graphql/mutations/api-keys" @@ -45,7 +47,10 @@ export const revokeApiKeyServerAction = async (id: string) => { } } -export const createApiKeyServerAction = async (_prevState: unknown, form: FormData) => { +export const createApiKeyServerAction = async ( + _prevState: ApiKeyResponse, + form: FormData, +): Promise => { const apiKeyName = form.get("apiKeyName") const readOnly = form.get("apiScope") === "readOnly" @@ -53,7 +58,7 @@ export const createApiKeyServerAction = async (_prevState: unknown, form: FormDa return { error: true, message: "API Key name to create is not present", - data: null, + responsePayload: null, } } @@ -68,7 +73,7 @@ export const createApiKeyServerAction = async (_prevState: unknown, form: FormDa return { error: true, message: "Token is not present", - data: null, + responsePayload: null, } } @@ -81,7 +86,7 @@ export const createApiKeyServerAction = async (_prevState: unknown, form: FormDa error: true, message: "Something went wrong Please try again and if error persist contact support", - data: null, + responsePayload: null, } } @@ -90,6 +95,6 @@ export const createApiKeyServerAction = async (_prevState: unknown, form: FormDa return { error: false, message: "API Key created successfully", - data: { apiKeySecret: data?.apiKeyCreate.apiKeySecret }, + responsePayload: { apiKeySecret: data?.apiKeyCreate.apiKeySecret }, } } diff --git a/apps/dashboard/app/callback/callback.types.ts b/apps/dashboard/app/callback/callback.types.ts new file mode 100644 index 0000000000..b7792e1846 --- /dev/null +++ b/apps/dashboard/app/callback/callback.types.ts @@ -0,0 +1,13 @@ +import { ServerActionResponse } from "../index.types" + +type CallBackAdditionBody = { + CallBackAdditionSecret: string | undefined +} +export interface CallBackAdditionResponse + extends ServerActionResponse {} + +type CallBackDeletionBody = { + CallBackDeletionSecret: string | undefined +} +export interface CallBackDeletionResponse + extends ServerActionResponse {} diff --git a/apps/dashboard/app/callback/server-actions.ts b/apps/dashboard/app/callback/server-actions.ts index d019f98c05..c1d77a0358 100644 --- a/apps/dashboard/app/callback/server-actions.ts +++ b/apps/dashboard/app/callback/server-actions.ts @@ -5,12 +5,17 @@ import { revalidatePath } from "next/cache" import { authOptions } from "../api/auth/[...nextauth]/route" +import { CallBackAdditionResponse, CallBackDeletionResponse } from "./callback.types" + import { callbackEndpointAdd, callbackEndpointDelete, } from "@/services/graphql/mutations/callback-mutation" -export const createCallbackAction = async (_prevState: unknown, formData: FormData) => { +export const createCallbackAction = async ( + _prevState: CallBackAdditionResponse, + formData: FormData, +): Promise => { const session = await getServerSession(authOptions) const callBackUrl = formData.get("callBackUrl") console.log(callBackUrl) @@ -23,6 +28,7 @@ export const createCallbackAction = async (_prevState: unknown, formData: FormDa return { error: true, message: "Please Provide a Valid Value", + responsePayload: null, } } @@ -33,6 +39,7 @@ export const createCallbackAction = async (_prevState: unknown, formData: FormDa return { error: true, message: "Something went wrong!", + responsePayload: null, } } @@ -40,7 +47,7 @@ export const createCallbackAction = async (_prevState: unknown, formData: FormDa return { error: true, message: response?.callbackEndpointAdd.errors[0].message, - data: null, + responsePayload: null, } } @@ -48,11 +55,13 @@ export const createCallbackAction = async (_prevState: unknown, formData: FormDa return { error: false, message: "success", - data: null, + responsePayload: null, } } -export const deleteCallbackAction = async (callBackId: string) => { +export const deleteCallbackAction = async ( + callBackId: string, +): Promise => { const session = await getServerSession(authOptions) const token = session?.accessToken if (!token || typeof token !== "string") { @@ -62,6 +71,7 @@ export const deleteCallbackAction = async (callBackId: string) => { return { error: true, message: "Please Provide a Valid Value", + responsePayload: null, } } @@ -72,6 +82,7 @@ export const deleteCallbackAction = async (callBackId: string) => { return { error: true, message: "Something went wrong!", + responsePayload: null, } } @@ -79,7 +90,7 @@ export const deleteCallbackAction = async (callBackId: string) => { return { error: true, message: response?.callbackEndpointDelete.errors[0].message, - data: null, + responsePayload: null, } } @@ -87,6 +98,6 @@ export const deleteCallbackAction = async (callBackId: string) => { return { error: false, message: "success", - data: null, + responsePayload: null, } } diff --git a/apps/dashboard/app/index.types.ts b/apps/dashboard/app/index.types.ts new file mode 100644 index 0000000000..d1262c0d54 --- /dev/null +++ b/apps/dashboard/app/index.types.ts @@ -0,0 +1,5 @@ +export interface ServerActionResponse { + error: boolean + message: string | null + responsePayload: ResponseBody +} diff --git a/apps/dashboard/app/security/email/add/page.tsx b/apps/dashboard/app/security/email/add/page.tsx index 3d77619465..09ed71136f 100644 --- a/apps/dashboard/app/security/email/add/page.tsx +++ b/apps/dashboard/app/security/email/add/page.tsx @@ -1,11 +1,7 @@ "use client" import ArrowForwardIcon from "@mui/icons-material/ArrowForward" -import { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore-next-line no-implicit-any error - experimental_useFormState as useFormState, -} from "react-dom" +import { useFormState } from "react-dom" import { Box, @@ -19,16 +15,21 @@ import { import InfoOutlined from "@mui/icons-material/InfoOutlined" import Link from "next/link" -import { emailRegisterInitiateServerAction } from "../../server-actions" +import { emailRegisterInitiateServerAction } from "../server-actions" + +import { AddEmailResponse } from "../email.types" import FormSubmitButton from "@/components/form-submit-button" export default function AddEmail() { - const [state, formAction] = useFormState(emailRegisterInitiateServerAction, { - error: null, - message: null, - data: null, - }) + const [state, formAction] = useFormState( + emailRegisterInitiateServerAction, + { + error: false, + message: null, + responsePayload: null, + }, + ) return (
{} + +type VerifyEmailBody = null +export interface VerifyEmailResponse + extends ServerActionResponse {} diff --git a/apps/dashboard/app/security/server-actions.ts b/apps/dashboard/app/security/email/server-actions.ts similarity index 87% rename from apps/dashboard/app/security/server-actions.ts rename to apps/dashboard/app/security/email/server-actions.ts index 987ee0cd45..3d89aa0214 100644 --- a/apps/dashboard/app/security/server-actions.ts +++ b/apps/dashboard/app/security/email/server-actions.ts @@ -4,6 +4,8 @@ import { redirect } from "next/navigation" import { revalidatePath } from "next/cache" +import { AddEmailResponse, VerifyEmailResponse } from "./email.types" + import { deleteEmail, emailRegistrationInitiate, @@ -17,15 +19,15 @@ import { } from "@/services/graphql/generated" export const emailRegisterInitiateServerAction = async ( - _prevState: unknown, + _prevState: AddEmailResponse, form: FormData, -) => { +): Promise => { const email = form.get("email") if (!email || typeof email !== "string") { return { error: true, message: "Invalid Email", - data: null, + responsePayload: null, } } @@ -35,7 +37,7 @@ export const emailRegisterInitiateServerAction = async ( return { error: true, message: "Invalid Token", - data: null, + responsePayload: null, } } @@ -48,7 +50,7 @@ export const emailRegisterInitiateServerAction = async ( error: true, message: "Something went wrong Please try again and if error persist contact support", - data: null, + responsePayload: null, } } @@ -56,7 +58,7 @@ export const emailRegisterInitiateServerAction = async ( return { error: true, message: data?.userEmailRegistrationInitiate.errors[0].message, - data: null, + responsePayload: null, } } @@ -65,9 +67,9 @@ export const emailRegisterInitiateServerAction = async ( } export const emailRegisterValidateServerAction = async ( - _prevState: unknown, + _prevState: VerifyEmailResponse, form: FormData, -) => { +): Promise => { const code = form.get("code") const emailRegistrationId = form.get("emailRegistrationId") @@ -80,7 +82,7 @@ export const emailRegisterValidateServerAction = async ( return { error: true, message: "Invalid values", - data: null, + responsePayload: null, } } @@ -91,7 +93,7 @@ export const emailRegisterValidateServerAction = async ( return { error: true, message: "Invalid Token", - data: null, + responsePayload: null, } } @@ -108,7 +110,7 @@ export const emailRegisterValidateServerAction = async ( error: true, message: "Something went wrong Please try again and if error persist contact support", - data: null, + responsePayload: null, } } @@ -116,7 +118,7 @@ export const emailRegisterValidateServerAction = async ( return { error: true, message: codeVerificationResponse?.userEmailRegistrationValidate.errors[0].message, - data: null, + responsePayload: null, } } diff --git a/apps/dashboard/app/security/email/verify/verify-form.tsx b/apps/dashboard/app/security/email/verify/verify-form.tsx index 5927f5ea94..2bfa273ade 100644 --- a/apps/dashboard/app/security/email/verify/verify-form.tsx +++ b/apps/dashboard/app/security/email/verify/verify-form.tsx @@ -1,11 +1,7 @@ "use client" import ArrowForwardIcon from "@mui/icons-material/ArrowForward" -import { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore-next-line no-implicit-any error - experimental_useFormState as useFormState, -} from "react-dom" +import { useFormState } from "react-dom" import { Box, @@ -19,7 +15,9 @@ import { import InfoOutlined from "@mui/icons-material/InfoOutlined" import Link from "next/link" -import { emailRegisterValidateServerAction } from "../../server-actions" +import { emailRegisterValidateServerAction } from "../server-actions" + +import { VerifyEmailResponse } from "../email.types" import FormSubmitButton from "@/components/form-submit-button" @@ -31,11 +29,14 @@ export default function VerifyEmailForm({ emailRegistrationId, email, }: VerifyEmailFormProps) { - const [state, formAction] = useFormState(emailRegisterValidateServerAction, { - error: null, - message: null, - responsePayload: {}, - }) + const [state, formAction] = useFormState( + emailRegisterValidateServerAction, + { + error: false, + message: null, + responsePayload: null, + }, + ) return (
{ const router = useRouter() const [open, setOpen] = useState(false) const [copied, setCopied] = useState(false) - const [state, formAction] = useFormState(createApiKeyServerAction, { - error: null, - message: null, - data: null, - }) + const [state, formAction] = useFormState( + createApiKeyServerAction, + { + error: false, + message: null, + responsePayload: null, + }, + ) const [enableCustomExpiresInDays, setEnableCustomExpiresInDays] = useState(false) const [expiresInDays, setExpiresInDays] = useState(null) @@ -51,9 +51,9 @@ const ApiKeyCreate = () => { setOpen(false) setEnableCustomExpiresInDays(false) setExpiresInDays(null) - state.error = null + state.error = false state.message = null - state.data = null + state.responsePayload = null console.log("Modal has been closed") router.refresh() } @@ -61,7 +61,7 @@ const ApiKeyCreate = () => { return ( <> { Talk to the Blink Servers using this token. - {state?.data?.apiKeySecret ? ( + {state?.responsePayload?.apiKeySecret ? ( <> { }} fontFamily="monospace" > - {state?.data?.apiKeySecret} + {state?.responsePayload?.apiKeySecret} { setTimeout(() => { setCopied(false) }, 2000) - navigator.clipboard.writeText(state?.data?.apiKeySecret) + navigator.clipboard.writeText( + state?.responsePayload?.apiKeySecret ?? "", + ) }} > @@ -147,6 +149,7 @@ const ApiKeyCreate = () => {
Please save it somewhere safely!
diff --git a/apps/dashboard/components/callback/callback-list.tsx b/apps/dashboard/components/callback/callback-list.tsx index 306e233555..cb74c44e46 100644 --- a/apps/dashboard/components/callback/callback-list.tsx +++ b/apps/dashboard/components/callback/callback-list.tsx @@ -40,7 +40,7 @@ const CallBackList = async ({ endpoints }: EndPointCardListProps) => { {endpoints.map(({ id, url }) => ( - + {id} {url} , "loading"> diff --git a/apps/dashboard/components/security/email/email.tsx b/apps/dashboard/components/security/email/email.tsx index ee49c832aa..0a38f98c66 100644 --- a/apps/dashboard/components/security/email/email.tsx +++ b/apps/dashboard/components/security/email/email.tsx @@ -7,7 +7,7 @@ import ReportProblemRoundedIcon from "@mui/icons-material/ReportProblemRounded" import MailRoundedIcon from "@mui/icons-material/MailRounded" -import { deleteEmailServerAction } from "@/app/security/server-actions" +import { deleteEmailServerAction } from "@/app/security/email/server-actions" type EmailDataProps = { readonly __typename: "Email" @@ -118,6 +118,7 @@ function EmailSettings({ emailData }: EmailSettingsProps) { Use email to login in your Account. ) : ( - diff --git a/apps/dashboard/components/side-bar/index.tsx b/apps/dashboard/components/side-bar/index.tsx index 31a04c5f73..21fe09aa70 100644 --- a/apps/dashboard/components/side-bar/index.tsx +++ b/apps/dashboard/components/side-bar/index.tsx @@ -84,30 +84,35 @@ const Sidebar: React.FC = () => { icon={} label="Home" isCurrentPath={isCurrentPath} + dataTestid="sidebar-home-link" /> } label="Transactions" isCurrentPath={isCurrentPath} + dataTestid="sidebar-transactions-link" /> } label="Security" isCurrentPath={isCurrentPath} + dataTestid="sidebar-security-link" /> } label="API Keys" isCurrentPath={isCurrentPath} + dataTestid="sidebar-api-keys-link" /> } label="Callback Endpoints" isCurrentPath={isCurrentPath} + dataTestid="sidebar-callback-link" /> diff --git a/apps/dashboard/components/side-bar/navigation-links.tsx b/apps/dashboard/components/side-bar/navigation-links.tsx index cadfe36b1d..e94625c01f 100644 --- a/apps/dashboard/components/side-bar/navigation-links.tsx +++ b/apps/dashboard/components/side-bar/navigation-links.tsx @@ -11,6 +11,7 @@ interface NavigationLinkProps { icon: React.ReactElement label: string isCurrentPath: (href: string) => boolean + dataTestid: string } export const NavigationLink: React.FC = ({ @@ -18,8 +19,9 @@ export const NavigationLink: React.FC = ({ icon, label, isCurrentPath, + dataTestid, }) => ( - + { diff --git a/apps/dashboard/next.config.js b/apps/dashboard/next.config.js index 37bcd5be6d..cbd4faab40 100644 --- a/apps/dashboard/next.config.js +++ b/apps/dashboard/next.config.js @@ -1,7 +1,6 @@ /** @type {import('next').NextConfig} */ const nextConfig = { experimental: { - serverActions: true, outputFileTracingRoot: require("path").join(__dirname, "../../"), instrumentationHook: true, }, diff --git a/apps/dashboard/package.json b/apps/dashboard/package.json index 0e74a4f4af..c945c0b968 100644 --- a/apps/dashboard/package.json +++ b/apps/dashboard/package.json @@ -30,8 +30,9 @@ "@opentelemetry/semantic-conventions": "^1.17.0", "@t3-oss/env-core": "^0.7.0", "@t3-oss/env-nextjs": "^0.6.1", + "dotenv": "^16.3.1", "graphql": "^16.8.1", - "next": "13.5.6", + "next": "14.0.1", "next-auth": "^4.23.1", "react": "18.2.0", "react-dom": "18.2.0", @@ -52,7 +53,7 @@ "@types/react-dom": "18.2.14", "autoprefixer": "10.4.16", "eslint": "8.52.0", - "eslint-config-next": "13.5.6", + "eslint-config-next": "14.0.1", "eslint_d": "13.0.0", "jest": "^29.7.0", "postcss": "8.4.31", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e1fb3bb1d8..61535a344c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -159,7 +159,7 @@ importers: version: 3.8.5(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) '@apollo/experimental-nextjs-app-support': specifier: ^0.4.3 - version: 0.4.3(@apollo/client@3.8.5)(next@13.5.6)(react@18.2.0) + version: 0.4.3(@apollo/client@3.8.5)(next@14.0.1)(react@18.2.0) '@emotion/cache': specifier: ^11.11.0 version: 11.11.0 @@ -214,15 +214,18 @@ importers: '@t3-oss/env-nextjs': specifier: ^0.6.1 version: 0.6.1(typescript@5.2.2)(zod@3.22.4) + dotenv: + specifier: ^16.3.1 + version: 16.3.1 graphql: specifier: ^16.8.1 version: 16.8.1 next: - specifier: 13.5.6 - version: 13.5.6(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0) + specifier: 14.0.1 + version: 14.0.1(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: ^4.23.1 - version: 4.23.2(next@13.5.6)(react-dom@18.2.0)(react@18.2.0) + version: 4.23.2(next@14.0.1)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -276,8 +279,8 @@ importers: specifier: 8.52.0 version: 8.52.0 eslint-config-next: - specifier: 13.5.6 - version: 13.5.6(eslint@8.52.0)(typescript@5.2.2) + specifier: 14.0.1 + version: 14.0.1(eslint@8.52.0)(typescript@5.2.2) eslint_d: specifier: 13.0.0 version: 13.0.0 @@ -883,7 +886,7 @@ packages: zen-observable-ts: 1.2.5 dev: true - /@apollo/experimental-nextjs-app-support@0.4.3(@apollo/client@3.8.5)(next@13.5.6)(react@18.2.0): + /@apollo/experimental-nextjs-app-support@0.4.3(@apollo/client@3.8.5)(next@14.0.1)(react@18.2.0): resolution: {integrity: sha512-UrgLMUIW7SFmeJyLvqh0E8KRvo6Nd/zzbUFt0ENT3BRa7z7kGsCk7I+kZEZEAn13nqlTC3M4VPS6tOfvtLFhxQ==} peerDependencies: '@apollo/client': '>=3.8.0-rc || ^3.8.0' @@ -891,7 +894,7 @@ packages: react: ^18 dependencies: '@apollo/client': 3.8.5(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) - next: 13.5.6(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0) + next: 14.0.1(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 server-only: 0.0.1 superjson: 1.13.3 @@ -5145,35 +5148,16 @@ packages: react-is: 18.2.0 dev: false - /@next/env@13.5.6: - resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==} - dev: false - /@next/env@14.0.1: resolution: {integrity: sha512-Ms8ZswqY65/YfcjrlcIwMPD7Rg/dVjdLapMcSHG26W6O67EJDF435ShW4H4LXi1xKO1oRc97tLXUpx8jpLe86A==} dev: false - /@next/eslint-plugin-next@13.5.6: - resolution: {integrity: sha512-ng7pU/DDsxPgT6ZPvuprxrkeew3XaRf4LAT4FabaEO/hAbvVx4P7wqnqdbTdDn1kgTvsI4tpIgT4Awn/m0bGbg==} - dependencies: - glob: 7.1.7 - dev: true - /@next/eslint-plugin-next@14.0.1: resolution: {integrity: sha512-bLjJMwXdzvhnQOnxvHoTTUh/+PYk6FF/DCgHi4BXwXCINer+o1ZYfL9aVeezj/oI7wqGJOqwGIXrlBvPbAId3w==} dependencies: glob: 7.1.7 dev: true - /@next/swc-darwin-arm64@13.5.6: - resolution: {integrity: sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-arm64@14.0.1: resolution: {integrity: sha512-JyxnGCS4qT67hdOKQ0CkgFTp+PXub5W1wsGvIq98TNbF3YEIN7iDekYhYsZzc8Ov0pWEsghQt+tANdidITCLaw==} engines: {node: '>= 10'} @@ -5183,15 +5167,6 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@13.5.6: - resolution: {integrity: sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-x64@14.0.1: resolution: {integrity: sha512-625Z7bb5AyIzswF9hvfZWa+HTwFZw+Jn3lOBNZB87lUS0iuCYDHqk3ujuHCkiyPtSC0xFBtYDLcrZ11mF/ap3w==} engines: {node: '>= 10'} @@ -5201,15 +5176,6 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@13.5.6: - resolution: {integrity: sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-gnu@14.0.1: resolution: {integrity: sha512-iVpn3KG3DprFXzVHM09kvb//4CNNXBQ9NB/pTm8LO+vnnnaObnzFdS5KM+w1okwa32xH0g8EvZIhoB3fI3mS1g==} engines: {node: '>= 10'} @@ -5219,15 +5185,6 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@13.5.6: - resolution: {integrity: sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-musl@14.0.1: resolution: {integrity: sha512-mVsGyMxTLWZXyD5sen6kGOTYVOO67lZjLApIj/JsTEEohDDt1im2nkspzfV5MvhfS7diDw6Rp/xvAQaWZTv1Ww==} engines: {node: '>= 10'} @@ -5237,15 +5194,6 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@13.5.6: - resolution: {integrity: sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-gnu@14.0.1: resolution: {integrity: sha512-wMqf90uDWN001NqCM/auRl3+qVVeKfjJdT9XW+RMIOf+rhUzadmYJu++tp2y+hUbb6GTRhT+VjQzcgg/QTD9NQ==} engines: {node: '>= 10'} @@ -5255,15 +5203,6 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@13.5.6: - resolution: {integrity: sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-musl@14.0.1: resolution: {integrity: sha512-ol1X1e24w4j4QwdeNjfX0f+Nza25n+ymY0T2frTyalVczUmzkVD7QGgPTZMHfR1aLrO69hBs0G3QBYaj22J5GQ==} engines: {node: '>= 10'} @@ -5273,15 +5212,6 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@13.5.6: - resolution: {integrity: sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-arm64-msvc@14.0.1: resolution: {integrity: sha512-WEmTEeWs6yRUEnUlahTgvZteh5RJc4sEjCQIodJlZZ5/VJwVP8p2L7l6VhzQhT4h7KvLx/Ed4UViBdne6zpIsw==} engines: {node: '>= 10'} @@ -5291,15 +5221,6 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@13.5.6: - resolution: {integrity: sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-ia32-msvc@14.0.1: resolution: {integrity: sha512-oFpHphN4ygAgZUKjzga7SoH2VGbEJXZa/KL8bHCAwCjDWle6R1SpiGOdUdA8EJ9YsG1TYWpzY6FTbUA+iAJeww==} engines: {node: '>= 10'} @@ -5309,15 +5230,6 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@13.5.6: - resolution: {integrity: sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc@14.0.1: resolution: {integrity: sha512-FFp3nOJ/5qSpeWT0BZQ+YE1pSMk4IMpkME/1DwKBwhg4mJLB9L+6EXuJi4JEwaJdl5iN+UUlmUD3IsR1kx5fAg==} engines: {node: '>= 10'} @@ -6959,8 +6871,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.10.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} + /@typescript-eslint/parser@6.11.0(eslint@8.52.0)(typescript@5.2.2): + resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6969,10 +6881,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/scope-manager': 6.11.0 + '@typescript-eslint/types': 6.11.0 + '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.11.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.52.0 typescript: 5.2.2 @@ -7001,27 +6913,6 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.8.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.8.0 - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7030,14 +6921,6 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.10.0: - resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 - dev: true - /@typescript-eslint/scope-manager@6.11.0: resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -7046,14 +6929,6 @@ packages: '@typescript-eslint/visitor-keys': 6.11.0 dev: true - /@typescript-eslint/scope-manager@6.8.0: - resolution: {integrity: sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 - dev: true - /@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.2.2): resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -7084,21 +6959,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.10.0: - resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/types@6.11.0: resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@6.8.0: - resolution: {integrity: sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/typescript-estree@4.33.0(typescript@3.9.10): resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -7162,27 +7027,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): - resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 - debug: 4.3.4(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/typescript-estree@6.11.0(typescript@5.2.2): resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -7204,27 +7048,6 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.2.2): - resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/visitor-keys': 6.8.0 - debug: 4.3.4(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.53.0)(typescript@5.2.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7280,14 +7103,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.10.0: - resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.10.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@6.11.0: resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -7296,14 +7111,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.8.0: - resolution: {integrity: sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.8.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -7740,10 +7547,6 @@ packages: engines: {node: '>=12.0'} dev: true - /ast-types-flow@0.0.7: - resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} - dev: true - /ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} dev: true @@ -7846,11 +7649,6 @@ packages: engines: {node: '>=4'} dev: true - /axe-core@4.8.2: - resolution: {integrity: sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g==} - engines: {node: '>=4'} - dev: true - /axios-mock-adapter@1.22.0(axios@1.6.2): resolution: {integrity: sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==} peerDependencies: @@ -8475,6 +8273,7 @@ packages: /caniuse-lite@1.0.30001546: resolution: {integrity: sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==} + dev: true /caniuse-lite@1.0.30001561: resolution: {integrity: sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==} @@ -10013,31 +9812,6 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next@13.5.6(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-o8pQsUHTo9aHqJ2YiZDym5gQAMRf7O2HndHo/JZeY7TDD+W4hk6Ma8Vw54RHiBeb7OWWO5dPirQB+Is/aVQ7Kg==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@next/eslint-plugin-next': 13.5.6 - '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - eslint: 8.52.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.52.0) - eslint-plugin-react: 7.33.2(eslint@8.52.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.52.0) - typescript: 5.2.2 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - /eslint-config-next@14.0.1(eslint@8.52.0)(typescript@5.2.2): resolution: {integrity: sha512-QfIFK2WD39H4WOespjgf6PLv9Bpsd7KGGelCtmq4l67nGvnlsGpuvj0hIT+aIy6p5gKH+lAChYILsyDlxP52yg==} peerDependencies: @@ -10049,11 +9823,11 @@ packages: dependencies: '@next/eslint-plugin-next': 14.0.1 '@rushstack/eslint-patch': 1.5.1 - '@typescript-eslint/parser': 6.10.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.52.0)(typescript@5.2.2) eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.52.0) eslint-plugin-react: 7.33.2(eslint@8.52.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.52.0) @@ -10082,30 +9856,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - dependencies: - debug: 4.3.4(supports-color@8.1.1) - enhanced-resolve: 5.15.0 - eslint: 8.52.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -10115,8 +9866,8 @@ packages: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.15.0 eslint: 8.52.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -10128,7 +9879,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -10149,11 +9900,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.52.0)(typescript@5.2.2) debug: 3.2.7(supports-color@5.5.0) eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.52.0) transitivePeerDependencies: - supports-color dev: true @@ -10187,36 +9938,6 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - debug: 3.2.7(supports-color@5.5.0) - eslint: 8.52.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.52.0) - transitivePeerDependencies: - - supports-color - dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.11.0)(eslint@8.53.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} @@ -10252,42 +9973,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): - resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 6.8.0(eslint@8.52.0)(typescript@5.2.2) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7(supports-color@5.5.0) - doctrine: 2.1.0 - eslint: 8.52.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) - has: 1.0.4 - is-core-module: 2.13.0 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.1 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.14.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -10297,7 +9983,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.11.0(eslint@8.52.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -10306,7 +9992,7 @@ packages: doctrine: 2.1.0 eslint: 8.52.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.8.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.11.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.52.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -10400,31 +10086,6 @@ packages: - typescript dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.52.0): - resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - dependencies: - '@babel/runtime': 7.23.2 - aria-query: 5.3.0 - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.7 - axe-core: 4.8.2 - axobject-query: 3.2.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 8.52.0 - has: 1.0.4 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.5 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - semver: 6.3.1 - dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.52.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} @@ -14068,12 +13729,6 @@ packages: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true - /language-tags@1.0.5: - resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} - dependencies: - language-subtag-registry: 0.3.22 - dev: true - /language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} @@ -15012,7 +14667,7 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next-auth@4.23.2(next@13.5.6)(react-dom@18.2.0)(react@18.2.0): + /next-auth@4.23.2(next@14.0.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-VRmInu0r/yZNFQheDFeOKtiugu3bt90Po3owAQDnFQ3YLQFmUKgFjcE2+3L0ny5jsJpBXaKbm7j7W2QTc6Ye2A==} peerDependencies: next: ^12.2.5 || ^13 @@ -15027,7 +14682,7 @@ packages: '@panva/hkdf': 1.1.1 cookie: 0.5.0 jose: 4.15.2 - next: 13.5.6(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0) + next: 14.0.1(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0) oauth: 0.9.15 openid-client: 5.6.1 preact: 10.18.1 @@ -15049,46 +14704,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /next@13.5.6(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==} - engines: {node: '>=16.14.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 13.5.6 - '@opentelemetry/api': 1.6.0 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001546 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.3)(react@18.2.0) - watchpack: 2.4.0 - optionalDependencies: - '@next/swc-darwin-arm64': 13.5.6 - '@next/swc-darwin-x64': 13.5.6 - '@next/swc-linux-arm64-gnu': 13.5.6 - '@next/swc-linux-arm64-musl': 13.5.6 - '@next/swc-linux-x64-gnu': 13.5.6 - '@next/swc-linux-x64-musl': 13.5.6 - '@next/swc-win32-arm64-msvc': 13.5.6 - '@next/swc-win32-ia32-msvc': 13.5.6 - '@next/swc-win32-x64-msvc': 13.5.6 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - /next@14.0.1(@babel/core@7.23.3)(@opentelemetry/api@1.6.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-s4YaLpE4b0gmb3ggtmpmV+wt+lPRuGtANzojMQ2+gmBpgX9w5fTbjsy6dXByBuENsdCX5pukZH/GxdFgO62+pA==} engines: {node: '>=18.17.0'}