diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cfd8485b83..f676ddfb6d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,8 +30,5 @@ jobs: SECRET=$(openssl rand -hex 32) echo "ENCRYPTION_KEY=$SECRET" >> $GITHUB_ENV - - name: Build formbricks-js dependencies - run: pnpm build --filter=js - - name: Test run: pnpm test diff --git a/README.md b/README.md index b0482dfbe3..c137293be9 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ Formbricks is both a free and open source survey platform - and a privacy-first - 🔒 [Auth.js](https://authjs.dev/) - 🧘‍♂️ [Zod](https://zod.dev/) -- + - 🐛 [Vitest](https://vitest.dev/) diff --git a/apps/formbricks-com/app/docs/contributing/how-we-code/page.mdx b/apps/formbricks-com/app/docs/contributing/how-we-code/page.mdx index fe6fdd369b..9dc41a4b94 100644 --- a/apps/formbricks-com/app/docs/contributing/how-we-code/page.mdx +++ b/apps/formbricks-com/app/docs/contributing/how-we-code/page.mdx @@ -1,4 +1,5 @@ import Image from "next/image"; + import CorsHandling from "./cors-handling-in-api.webp"; export const metadata = { @@ -25,7 +26,7 @@ Thank you for choosing to contribute to Formbricks. Before you start, please fam - Constants should be in the packages folder - Types should be in the packages folder - How we handle Pull Requests -- Read environment variables from `.env.mjs` +- Read server-side environment variables from `constants.ts` --- @@ -83,9 +84,9 @@ You should store constants in `packages/lib/constants` You should store type in `packages/types` -## Read environment variables from `.env.mjs` +## Read server-side environment variables from `constants.ts` -Environment variables (`process.env`) shouldn’t be accessed directly but be added in the `.env.mjs` and should be accessed from here. This practice helps us ensure that the variables are typesafe. +Server-side environment variables (`process.env`) shouldn’t be accessed directly but included into the `constants.ts` file and read from there. This way we can assure they are used only on the server side and are also type-safe. ## How we handle Pull Requests diff --git a/apps/formbricks-com/app/docs/getting-started/framework-guides/page.mdx b/apps/formbricks-com/app/docs/getting-started/framework-guides/page.mdx index 02f2f2e742..c97313981e 100644 --- a/apps/formbricks-com/app/docs/getting-started/framework-guides/page.mdx +++ b/apps/formbricks-com/app/docs/getting-started/framework-guides/page.mdx @@ -46,7 +46,7 @@ All you need to do is copy a ` ``` @@ -397,20 +397,24 @@ Enabling Formbricks debug mode in your browser is a useful troubleshooting step To activate Formbricks debug mode: 1. **In Your Integration Code:** + - Locate the initialization code for Formbricks in your application (HTML, ReactJS, NextJS, VueJS). - Set the `debug` option to `true` when initializing Formbricks. 2. **View Debug Logs:** + - Open your browser's developer tools by pressing `F12` or right-clicking and selecting "Inspect." - Navigate to the "Console" tab to view Formbricks debugging information. **How to Open Browser Console:** + - **Google Chrome:** Press `F12` or right-click, select "Inspect," and go to the "Console" tab. - **Firefox:** Press `F12` or right-click, select "Inspect Element," and go to the "Console" tab. - **Safari:** Press `Option + Command + C` to open the developer tools and navigate to the "Console" tab. - **Edge:** Press `F12` or right-click, select "Inspect Element," and go to the "Console" tab. 3. **Via URL Parameter:** + - For quick activation, add `?formbricksDebug=true` to your application's URL. This parameter will enable debugging for the current session. @@ -418,6 +422,7 @@ To activate Formbricks debug mode: ### Common Use Cases Debug mode is beneficial for scenarios such as: + - Verifying Formbricks functionality. - Identifying integration issues. - Troubleshooting unexpected behavior. @@ -425,6 +430,7 @@ Debug mode is beneficial for scenarios such as: ### Debug Log Messages Specific debug log messages may provide insights into: + - API calls and responses. - Event tracking and form interactions. - Integration errors. diff --git a/apps/web/app/(app)/components/FormbricksClient.tsx b/apps/web/app/(app)/components/FormbricksClient.tsx index 69299b6703..698e822afd 100644 --- a/apps/web/app/(app)/components/FormbricksClient.tsx +++ b/apps/web/app/(app)/components/FormbricksClient.tsx @@ -4,7 +4,7 @@ import { formbricksEnabled } from "@/app/lib/formbricks"; import { useEffect } from "react"; import formbricks from "@formbricks/js"; -import { env } from "@formbricks/lib/env.mjs"; +import { env } from "@formbricks/lib/env"; type UsageAttributesUpdaterProps = { numSurveys: number; diff --git a/apps/web/app/(app)/environments/[environmentId]/components/PosthogIdentify.tsx b/apps/web/app/(app)/environments/[environmentId]/components/PosthogIdentify.tsx index 000ce376e8..31172c3052 100644 --- a/apps/web/app/(app)/environments/[environmentId]/components/PosthogIdentify.tsx +++ b/apps/web/app/(app)/environments/[environmentId]/components/PosthogIdentify.tsx @@ -4,7 +4,7 @@ import type { Session } from "next-auth"; import { usePostHog } from "posthog-js/react"; import { useEffect } from "react"; -import { env } from "@formbricks/lib/env.mjs"; +import { env } from "@formbricks/lib/env"; const posthogEnabled = env.NEXT_PUBLIC_POSTHOG_API_KEY && env.NEXT_PUBLIC_POSTHOG_API_HOST; diff --git a/apps/web/app/(app)/onboarding/components/Objective.tsx b/apps/web/app/(app)/onboarding/components/Objective.tsx index 1bfa427c02..ed0486c877 100644 --- a/apps/web/app/(app)/onboarding/components/Objective.tsx +++ b/apps/web/app/(app)/onboarding/components/Objective.tsx @@ -6,7 +6,7 @@ import { useEffect, useRef, useState } from "react"; import { toast } from "react-hot-toast"; import { cn } from "@formbricks/lib/cn"; -import { env } from "@formbricks/lib/env.mjs"; +import { env } from "@formbricks/lib/env"; import { TUser, TUserObjective } from "@formbricks/types/user"; import { Button } from "@formbricks/ui/Button"; diff --git a/apps/web/app/(app)/onboarding/components/Role.tsx b/apps/web/app/(app)/onboarding/components/Role.tsx index 6c98babf1d..84a0e34831 100644 --- a/apps/web/app/(app)/onboarding/components/Role.tsx +++ b/apps/web/app/(app)/onboarding/components/Role.tsx @@ -7,7 +7,7 @@ import { useEffect, useRef, useState } from "react"; import { toast } from "react-hot-toast"; import { cn } from "@formbricks/lib/cn"; -import { env } from "@formbricks/lib/env.mjs"; +import { env } from "@formbricks/lib/env"; import { Button } from "@formbricks/ui/Button"; import { handleTabNavigation } from "../utils"; diff --git a/apps/web/app/api/v1/client/[environmentId]/storage/local/route.ts b/apps/web/app/api/v1/client/[environmentId]/storage/local/route.ts index 06ee5f7a9c..931c4b5a30 100644 --- a/apps/web/app/api/v1/client/[environmentId]/storage/local/route.ts +++ b/apps/web/app/api/v1/client/[environmentId]/storage/local/route.ts @@ -5,9 +5,8 @@ import { responses } from "@/app/lib/api/response"; import { headers } from "next/headers"; import { NextRequest } from "next/server"; -import { UPLOADS_DIR } from "@formbricks/lib/constants"; +import { ENCRYPTION_KEY, UPLOADS_DIR } from "@formbricks/lib/constants"; import { validateLocalSignedUrl } from "@formbricks/lib/crypto"; -import { env } from "@formbricks/lib/env.mjs"; import { putFileToLocalStorage } from "@formbricks/lib/storage/service"; import { getSurvey } from "@formbricks/lib/survey/service"; import { getTeamByEnvironmentId } from "@formbricks/lib/team/service"; @@ -91,7 +90,7 @@ export async function POST(req: NextRequest, context: Context): Promise { fileType, Number(signedTimestamp), signedSignature, - env.ENCRYPTION_KEY + ENCRYPTION_KEY ); if (!validated) { diff --git a/apps/web/app/api/v1/users/route.ts b/apps/web/app/api/v1/users/route.ts index a63d09e07c..48876bfd34 100644 --- a/apps/web/app/api/v1/users/route.ts +++ b/apps/web/app/api/v1/users/route.ts @@ -1,12 +1,13 @@ import { prisma } from "@formbricks/database"; import { + DEFAULT_TEAM_ID, + DEFAULT_TEAM_ROLE, EMAIL_AUTH_ENABLED, EMAIL_VERIFICATION_DISABLED, INVITE_DISABLED, SIGNUP_ENABLED, } from "@formbricks/lib/constants"; import { sendInviteAcceptedEmail, sendVerificationEmail } from "@formbricks/lib/emails/emails"; -import { env } from "@formbricks/lib/env.mjs"; import { deleteInvite } from "@formbricks/lib/invite/service"; import { verifyInviteToken } from "@formbricks/lib/jwt"; import { createMembership } from "@formbricks/lib/membership/service"; @@ -63,16 +64,16 @@ export async function POST(request: Request) { // User signs up without invite // Default team assignment is enabled - if (env.DEFAULT_TEAM_ID && env.DEFAULT_TEAM_ID.length > 0) { + if (DEFAULT_TEAM_ID && DEFAULT_TEAM_ID.length > 0) { // check if team exists - let team = await getTeam(env.DEFAULT_TEAM_ID); + let team = await getTeam(DEFAULT_TEAM_ID); let isNewTeam = false; if (!team) { // create team with id from env - team = await createTeam({ id: env.DEFAULT_TEAM_ID, name: user.name + "'s Team" }); + team = await createTeam({ id: DEFAULT_TEAM_ID, name: user.name + "'s Team" }); isNewTeam = true; } - const role = isNewTeam ? "owner" : env.DEFAULT_TEAM_ROLE || "admin"; + const role = isNewTeam ? "owner" : DEFAULT_TEAM_ROLE || "admin"; await createMembership(team.id, user.id, { role, accepted: true }); } // Without default team assignment diff --git a/apps/web/app/lib/formbricks.ts b/apps/web/app/lib/formbricks.ts index 27f96310c9..ac81b0af74 100644 --- a/apps/web/app/lib/formbricks.ts +++ b/apps/web/app/lib/formbricks.ts @@ -1,5 +1,5 @@ import formbricks from "@formbricks/js"; -import { env } from "@formbricks/lib/env.mjs"; +import { env } from "@formbricks/lib/env"; export const formbricksEnabled = typeof env.NEXT_PUBLIC_FORMBRICKS_API_HOST && env.NEXT_PUBLIC_FORMBRICKS_ENVIRONMENT_ID; diff --git a/apps/web/app/lib/singleUseSurveys.ts b/apps/web/app/lib/singleUseSurveys.ts index e66f0bd68e..8551321904 100644 --- a/apps/web/app/lib/singleUseSurveys.ts +++ b/apps/web/app/lib/singleUseSurveys.ts @@ -1,7 +1,7 @@ import cuid2 from "@paralleldrive/cuid2"; +import { ENCRYPTION_KEY, FORMBRICKS_ENCRYPTION_KEY } from "@formbricks/lib/constants"; import { decryptAES128, symmetricDecrypt, symmetricEncrypt } from "@formbricks/lib/crypto"; -import { env } from "@formbricks/lib/env.mjs"; // generate encrypted single use id for the survey export const generateSurveySingleUseId = (isEncrypted: boolean): string => { @@ -10,7 +10,7 @@ export const generateSurveySingleUseId = (isEncrypted: boolean): string => { return cuid; } - const encryptedCuid = symmetricEncrypt(cuid, env.ENCRYPTION_KEY); + const encryptedCuid = symmetricEncrypt(cuid, ENCRYPTION_KEY); return encryptedCuid; }; @@ -20,13 +20,13 @@ export const validateSurveySingleUseId = (surveySingleUseId: string): string | u let decryptedCuid: string | null = null; if (surveySingleUseId.length === 64) { - if (!env.FORMBRICKS_ENCRYPTION_KEY) { + if (!FORMBRICKS_ENCRYPTION_KEY) { throw new Error("FORMBRICKS_ENCRYPTION_KEY is not defined"); } - decryptedCuid = decryptAES128(env.FORMBRICKS_ENCRYPTION_KEY!, surveySingleUseId); + decryptedCuid = decryptAES128(FORMBRICKS_ENCRYPTION_KEY!, surveySingleUseId); } else { - decryptedCuid = symmetricDecrypt(surveySingleUseId, env.ENCRYPTION_KEY); + decryptedCuid = symmetricDecrypt(surveySingleUseId, ENCRYPTION_KEY); } if (cuid2.isCuid(decryptedCuid)) { diff --git a/apps/web/next.config.mjs b/apps/web/next.config.mjs index 1f5ec36b2a..ed885fa76a 100644 --- a/apps/web/next.config.mjs +++ b/apps/web/next.config.mjs @@ -1,7 +1,10 @@ import { createId } from "@paralleldrive/cuid2"; import { withSentryConfig } from "@sentry/nextjs"; +import createJiti from "jiti"; -import "@formbricks/lib/env.mjs"; +const jiti = createJiti(new URL(import.meta.url).pathname); + +jiti("@formbricks/lib/env"); /** @type {import('next').NextConfig} */ diff --git a/apps/web/package.json b/apps/web/package.json index 892cf960ce..5815ec8974 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@formbricks/web", - "version": "1.5.1", + "version": "1.6.0", "private": true, "scripts": { "clean": "rimraf .turbo node_modules .next", @@ -26,7 +26,6 @@ "@json2csv/node": "^7.0.6", "@paralleldrive/cuid2": "^2.2.2", "@radix-ui/react-collapsible": "^1.0.3", - "@radix-ui/react-dropdown-menu": "^2.0.6", "@react-email/components": "^0.0.15", "@sentry/nextjs": "^7.102.1", "@vercel/og": "^0.6.2", @@ -34,17 +33,18 @@ "bcryptjs": "^2.4.3", "dotenv": "^16.4.5", "encoding": "^0.1.13", - "framer-motion": "11.0.5", + "framer-motion": "11.0.6", "googleapis": "^133.0.0", + "jiti": "^1.21.0", "jsonwebtoken": "^9.0.2", "lodash": "^4.17.21", "lru-cache": "^10.2.0", - "lucide-react": "^0.336.0", + "lucide-react": "^0.339.0", "mime": "^4.0.1", "next": "14.1.0", "nodemailer": "^6.9.10", "otplib": "^12.0.1", - "posthog-js": "^1.108.2", + "posthog-js": "^1.108.3", "prismjs": "^1.29.0", "qrcode": "^1.5.3", "react": "18.2.0", diff --git a/packages/api/package.json b/packages/api/package.json index ddea2e0822..7a6960ff30 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,7 +1,7 @@ { "name": "@formbricks/api", "license": "MIT", - "version": "1.5.0", + "version": "1.6.0", "description": "Formbricks-api is an api wrapper for the Formbricks client API", "keywords": [ "Formbricks", @@ -32,12 +32,15 @@ "clean": "rimraf .turbo node_modules dist" }, "devDependencies": { - "@formbricks/types": "workspace:*", "@formbricks/tsconfig": "workspace:*", + "@formbricks/types": "workspace:*", "eslint-config-prettier": "^9.1.0", "eslint-config-turbo": "1.10.12", - "terser": "^5.27.0", - "vite": "^5.0.12", - "vite-plugin-dts": "^3.7.2" + "terser": "^5.28.1", + "vite": "^5.1.4", + "vite-plugin-dts": "^3.7.3" + }, + "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2" } } diff --git a/packages/database/package.json b/packages/database/package.json index 83ca757b86..36cab7aafb 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -23,20 +23,22 @@ "lint": "eslint ./src --fix", "post-install": "pnpm generate", "predev": "pnpm generate", - "data-migration:1.6": "ts-node ./migrations/20240207041922_advanced_targeting/data-migration.ts" + "data-migration:v1.6": "ts-node ./migrations/20240207041922_advanced_targeting/data-migration.ts" }, "dependencies": { - "@prisma/client": "^5.8.1", - "@prisma/extension-accelerate": "^0.6.2", + "@prisma/client": "^5.10.2", + "@prisma/extension-accelerate": "^0.6.3", + "@t3-oss/env-nextjs": "^0.9.2", "dotenv-cli": "^7.3.0" }, "devDependencies": { "@formbricks/tsconfig": "workspace:*", "@formbricks/types": "workspace:*", + "@paralleldrive/cuid2": "^2.2.2", "eslint-config-formbricks": "workspace:*", - "prisma": "^5.8.1", - "prisma-dbml-generator": "^0.10.0", - "prisma-json-types-generator": "^3.0.3", + "prisma": "^5.10.2", + "prisma-dbml-generator": "^0.12.0", + "prisma-json-types-generator": "^3.0.4", "ts-node": "^10.9.2", "zod": "^3.22.4", "zod-prisma": "^0.5.4" diff --git a/packages/database/src/jestClient.ts b/packages/database/src/jestClient.ts deleted file mode 100644 index d10b230d73..0000000000 --- a/packages/database/src/jestClient.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { PrismaClient } from "@prisma/client"; -import { DeepMockProxy, mockDeep, mockReset } from "jest-mock-extended"; - -import { prisma } from "./client"; - -jest.mock("./client", () => ({ - __esModule: true, - prisma: mockDeep(), -})); - -export const prismaMock = prisma as unknown as DeepMockProxy; - -beforeEach(() => { - mockReset(prismaMock); -}); diff --git a/packages/ee/billing/api/stripe-webhook.ts b/packages/ee/billing/api/stripe-webhook.ts index 48a25fcb7d..e428c2ba49 100644 --- a/packages/ee/billing/api/stripe-webhook.ts +++ b/packages/ee/billing/api/stripe-webhook.ts @@ -1,14 +1,16 @@ import Stripe from "stripe"; +import { env } from "@formbricks/lib/env"; + import { handleCheckoutSessionCompleted } from "../handlers/checkoutSessionCompleted"; import { handleSubscriptionUpdatedOrCreated } from "../handlers/subscriptionCreatedOrUpdated"; import { handleSubscriptionDeleted } from "../handlers/subscriptionDeleted"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { apiVersion: "2023-10-16", }); -const webhookSecret: string = process.env.STRIPE_WEBHOOK_SECRET!; +const webhookSecret: string = env.STRIPE_WEBHOOK_SECRET!; const webhookHandler = async (requestBody: string, stripeSignature: string) => { let event: Stripe.Event; diff --git a/packages/ee/billing/handlers/checkoutSessionCompleted.ts b/packages/ee/billing/handlers/checkoutSessionCompleted.ts index 5de3e1052f..dc3d8879e4 100644 --- a/packages/ee/billing/handlers/checkoutSessionCompleted.ts +++ b/packages/ee/billing/handlers/checkoutSessionCompleted.ts @@ -1,5 +1,6 @@ import Stripe from "stripe"; +import { env } from "@formbricks/lib/env"; import { getMonthlyActiveTeamPeopleCount, getMonthlyTeamResponseCount, @@ -10,7 +11,7 @@ import { import { ProductFeatureKeys, StripePriceLookupKeys, StripeProductNames } from "../lib/constants"; import { reportUsage } from "../lib/reportUsage"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { // https://github.com/stripe/stripe-node#configuration apiVersion: "2023-10-16", }); diff --git a/packages/ee/billing/handlers/subscriptionCreatedOrUpdated.ts b/packages/ee/billing/handlers/subscriptionCreatedOrUpdated.ts index 551741bab1..155932c410 100644 --- a/packages/ee/billing/handlers/subscriptionCreatedOrUpdated.ts +++ b/packages/ee/billing/handlers/subscriptionCreatedOrUpdated.ts @@ -1,5 +1,6 @@ import Stripe from "stripe"; +import { env } from "@formbricks/lib/env"; import { getMonthlyActiveTeamPeopleCount, getMonthlyTeamResponseCount, @@ -10,7 +11,7 @@ import { import { ProductFeatureKeys, StripePriceLookupKeys, StripeProductNames } from "../lib/constants"; import { reportUsage } from "../lib/reportUsage"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { // https://github.com/stripe/stripe-node#configuration apiVersion: "2023-10-16", }); diff --git a/packages/ee/billing/handlers/subscriptionDeleted.ts b/packages/ee/billing/handlers/subscriptionDeleted.ts index ab4246895a..28b3765208 100644 --- a/packages/ee/billing/handlers/subscriptionDeleted.ts +++ b/packages/ee/billing/handlers/subscriptionDeleted.ts @@ -1,11 +1,12 @@ import Stripe from "stripe"; +import { env } from "@formbricks/lib/env"; import { getTeam, updateTeam } from "@formbricks/lib/team/service"; import { ProductFeatureKeys, StripeProductNames } from "../lib/constants"; import { unsubscribeCoreAndAppSurveyFeatures, unsubscribeLinkSurveyProFeatures } from "../lib/downgradePlan"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { // https://github.com/stripe/stripe-node#configuration apiVersion: "2023-10-16", }); diff --git a/packages/ee/billing/lib/createCustomerPortalSession.ts b/packages/ee/billing/lib/createCustomerPortalSession.ts index 41275e136d..27f82df787 100644 --- a/packages/ee/billing/lib/createCustomerPortalSession.ts +++ b/packages/ee/billing/lib/createCustomerPortalSession.ts @@ -1,6 +1,8 @@ import Stripe from "stripe"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +import { env } from "@formbricks/lib/env"; + +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { // https://github.com/stripe/stripe-node#configuration apiVersion: "2023-10-16", }); diff --git a/packages/ee/billing/lib/createSubscription.ts b/packages/ee/billing/lib/createSubscription.ts index aea44c2918..e1d0869b83 100644 --- a/packages/ee/billing/lib/createSubscription.ts +++ b/packages/ee/billing/lib/createSubscription.ts @@ -1,11 +1,12 @@ import Stripe from "stripe"; import { WEBAPP_URL } from "@formbricks/lib/constants"; +import { env } from "@formbricks/lib/env"; import { getTeam } from "@formbricks/lib/team/service"; import { StripePriceLookupKeys } from "./constants"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { apiVersion: "2023-10-16", }); diff --git a/packages/ee/billing/lib/removeSubscription.ts b/packages/ee/billing/lib/removeSubscription.ts index 204fadd263..748a90756d 100644 --- a/packages/ee/billing/lib/removeSubscription.ts +++ b/packages/ee/billing/lib/removeSubscription.ts @@ -1,12 +1,13 @@ import Stripe from "stripe"; import { WEBAPP_URL } from "@formbricks/lib/constants"; +import { env } from "@formbricks/lib/env"; import { getTeam, updateTeam } from "@formbricks/lib/team/service"; import { StripePriceLookupKeys } from "./constants"; import { getFirstOfNextMonthTimestamp } from "./createSubscription"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { apiVersion: "2023-10-16", }); diff --git a/packages/ee/billing/lib/reportUsage.ts b/packages/ee/billing/lib/reportUsage.ts index 905b7b5a57..5f47ad42a8 100644 --- a/packages/ee/billing/lib/reportUsage.ts +++ b/packages/ee/billing/lib/reportUsage.ts @@ -1,8 +1,10 @@ import Stripe from "stripe"; +import { env } from "@formbricks/lib/env"; + import { ProductFeatureKeys } from "./constants"; -const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, { +const stripe = new Stripe(env.STRIPE_SECRET_KEY!, { // https://github.com/stripe/stripe-node#configuration apiVersion: "2023-10-16", }); diff --git a/packages/ee/package.json b/packages/ee/package.json index 6ffd2c02f6..9d038617e0 100644 --- a/packages/ee/package.json +++ b/packages/ee/package.json @@ -18,6 +18,7 @@ }, "dependencies": { "@formbricks/lib": "workspace:*", - "stripe": "^14.13.0" + "@t3-oss/env-nextjs": "^0.9.2", + "stripe": "^14.18.0" } } diff --git a/packages/eslint-config-formbricks/package.json b/packages/eslint-config-formbricks/package.json index 3d1cedb6a2..7112f20bc4 100644 --- a/packages/eslint-config-formbricks/package.json +++ b/packages/eslint-config-formbricks/package.json @@ -8,13 +8,16 @@ "clean": "rimraf node_modules .turbo" }, "devDependencies": { - "eslint": "^8.56.0", + "eslint": "^8.57.0", "eslint-config-next": "^14.1.0", "eslint-config-prettier": "^9.1.0", "eslint-config-turbo": "1.10.12", "eslint-plugin-react": "7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", - "eslint-plugin-storybook": "^0.6.15" + "eslint-plugin-storybook": "^0.8.0" + }, + "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2" } } diff --git a/packages/js/babel.config.cjs b/packages/js/babel.config.cjs deleted file mode 100644 index 0ea482c675..0000000000 --- a/packages/js/babel.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = (api) => { - return { - presets: [["@babel/preset-env", { targets: { node: "current" } }], "@babel/preset-typescript"], - plugins: [["@babel/plugin-transform-react-jsx", { runtime: api.env("test") ? "automatic" : "classic" }]], - }; -}; diff --git a/packages/js/package.json b/packages/js/package.json index 0abb5dcfab..e5ac81d8ec 100644 --- a/packages/js/package.json +++ b/packages/js/package.json @@ -1,7 +1,7 @@ { "name": "@formbricks/js", "license": "MIT", - "version": "1.5.1", + "version": "1.6.0", "description": "Formbricks-js allows you to connect your app to Formbricks, display surveys and trigger events.", "homepage": "https://formbricks.com", "repository": { @@ -35,44 +35,29 @@ "build:dev": "tsc && vite build --mode dev", "go": "vite build --watch --mode dev", "lint": "eslint ./src --fix", - "test": "jest --coverage --no-cache", "clean": "rimraf .turbo node_modules dist coverage" }, "author": "Formbricks ", "devDependencies": { - "@babel/core": "^7.23.7", - "@babel/preset-env": "^7.23.8", + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", "@babel/preset-typescript": "^7.23.3", "@formbricks/api": "workspace:*", "@formbricks/lib": "workspace:*", "@formbricks/surveys": "workspace:*", "@formbricks/tsconfig": "workspace:*", "@formbricks/types": "workspace:*", - "@types/jest": "^29.5.11", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", - "babel-jest": "^29.7.0", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", "cross-env": "^7.0.3", - "isomorphic-fetch": "^3.0.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "jest-fetch-mock": "^3.0.3", - "terser": "^5.27.0", - "vite": "^5.0.12", - "vite-plugin-dts": "^3.7.2", "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "1.10.12" + "eslint-config-turbo": "1.10.12", + "isomorphic-fetch": "^3.0.0", + "terser": "^5.28.1", + "vite": "^5.1.4", + "vite-plugin-dts": "^3.7.3" }, - "jest": { - "transformIgnorePatterns": [ - "!node_modules/" - ], - "setupFiles": [ - "/tests/__mocks__/setupTests.js" - ], - "moduleNameMapper": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/tests/__mocks__/fileMock.js", - "\\.(css|less)$": "/tests/__mocks__/styleMock.js" - } + "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2" } } diff --git a/packages/js/tests/__mocks__/apiMock.ts b/packages/js/tests/__mocks__/apiMock.ts deleted file mode 100644 index 46973915a3..0000000000 --- a/packages/js/tests/__mocks__/apiMock.ts +++ /dev/null @@ -1,204 +0,0 @@ -import fetchMock from "jest-fetch-mock"; - -import { constants } from "../constants"; - -const { - environmentId, - sessionId, - expiryTime, - surveyId, - questionOneId, - questionTwoId, - choiceOneId, - choiceTwoId, - choiceThreeId, - initialPersonUid, - initialUserId, - initialUserEmail, - newPersonUid, - eventIdForRouteChange, - updatedUserEmail, - customAttributeKey, - customAttributeValue, - eventIdForEventTracking, -} = constants; - -export const mockInitResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - data: { - person: { - id: initialPersonUid, - createdAt: "2021-03-09T15:00:00.000Z", - updatedAt: "2021-03-09T15:00:00.000Z", - attributes: {}, - }, - surveys: [ - { - id: surveyId, - questions: [ - { - id: questionOneId, - type: "multipleChoiceSingle", - choices: [ - { - id: choiceOneId, - label: "Not at all disappointed", - }, - { - id: choiceTwoId, - label: "Somewhat disappointed", - }, - { - id: choiceThreeId, - label: "Very disappointed", - }, - ], - headline: "How disappointed would you be if you could no longer use Test-Formbricks?", - required: true, - subheader: "Please select one of the following options:", - }, - { - id: questionTwoId, - type: "openText", - headline: "How can we improve Test-Formbricks for you?", - required: true, - subheader: "Please be as specific as possible.", - }, - ], - triggers: [], - thankYouCard: { - enabled: true, - headline: "Thank you!", - subheader: "We appreciate your feedback.", - }, - autoClose: null, - delay: 0, - }, - ], - noCodeActionClasses: [], - product: { - noCodeEvents: [], - brandColor: "#20b398", - linkSurveyBranding: true, - inAppBranding: true, - placement: "bottomRight", - darkOverlay: false, - clickOutsideClose: true, - }, - }, - }) - ); -}; - -export const mockSetUserIdResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - data: { - surveys: [], - session: { - id: sessionId, - createdAt: "2021-03-09T15:00:00.000Z", - updatedAt: "2021-03-09T15:00:00.000Z", - expiresAt: expiryTime, - }, - noCodeActionClasses: [], - person: { - id: initialPersonUid, - environmentId, - attributes: { userId: initialUserId }, - }, - }, - }) - ); -}; - -export const mockSetEmailIdResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - data: { - id: initialPersonUid, - environmentId, - attributes: { userId: initialUserId, email: initialUserEmail }, - }, - }) - ); -}; - -export const mockSetCustomAttributeResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - data: { - id: initialPersonUid, - environmentId, - attributes: { - userId: initialUserId, - email: initialUserEmail, - [customAttributeKey]: customAttributeValue, - }, - }, - }) - ); -}; - -export const mockUpdateEmailResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - data: { - id: initialPersonUid, - environmentId, - attributes: { - userId: initialUserId, - email: updatedUserEmail, - [customAttributeKey]: customAttributeValue, - }, - }, - }) - ); -}; - -export const mockEventTrackResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - id: eventIdForEventTracking, - }) - ); - console.log('Formbricks: Event "Button Clicked" tracked'); -}; - -export const mockRefreshResponse = () => { - fetchMock.mockResponseOnce(JSON.stringify({})); - console.log("Settings refreshed"); -}; - -export const mockRegisterRouteChangeResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - id: eventIdForRouteChange, - }) - ); - console.log("Checking page url: http://localhost/"); -}; - -export const mockResetResponse = () => { - fetchMock.mockResponseOnce( - JSON.stringify({ - data: { - surveys: [], - person: { - id: newPersonUid, - environmentId, - attributes: [], - }, - session: { - id: sessionId, - createdAt: "2021-03-09T15:00:00.000Z", - updatedAt: "2021-03-09T15:00:00.000Z", - expiresAt: expiryTime, - }, - noCodeActionClasses: [], - }, - }) - ); - console.log("Resetting person. Getting new person, session and settings from backend"); -}; diff --git a/packages/js/tests/__mocks__/fileMock.js b/packages/js/tests/__mocks__/fileMock.js deleted file mode 100644 index 1d87881797..0000000000 --- a/packages/js/tests/__mocks__/fileMock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'placeholer-to-not-mock-all-files-as-js'; diff --git a/packages/js/tests/__mocks__/setupTests.js b/packages/js/tests/__mocks__/setupTests.js deleted file mode 100644 index 47833658f7..0000000000 --- a/packages/js/tests/__mocks__/setupTests.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import('jest').Config} */ -const config = { - verbose: true, - testEnvironment: "jsdom" -}; - -import fetchMock from "jest-fetch-mock"; -fetchMock.enableMocks(); - -module.exports = config; diff --git a/packages/js/tests/__mocks__/styleMock.js b/packages/js/tests/__mocks__/styleMock.js deleted file mode 100644 index f053ebf797..0000000000 --- a/packages/js/tests/__mocks__/styleMock.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {}; diff --git a/packages/js/tests/constants.ts b/packages/js/tests/constants.ts deleted file mode 100644 index 83380b38c1..0000000000 --- a/packages/js/tests/constants.ts +++ /dev/null @@ -1,59 +0,0 @@ -const generateUserId = () => { - const min = 1000; - const max = 9999; - const randomNum = Math.floor(Math.random() * (max - min + 1) + min); - return randomNum.toString(); -}; - -const generateEmailId = () => { - const domain = "formbricks.test"; - const randomString = Math.random().toString(36).substring(2); - const emailId = `${randomString}@${domain}`; - return emailId; -}; - -const generateRandomString = () => { - const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - const maxLength = 8; - - let randomString = ""; - for (let i = 0; i < maxLength; i++) { - const randomIndex = Math.floor(Math.random() * characters.length); - randomString += characters.charAt(randomIndex); - } - return randomString; -}; - -const getOneDayExpiryTime = () => { - var ms = new Date().getTime(); - var oneDayMs = 24 * 60 * 60 * 1000; // Number of milliseconds in one day - var expiryOfOneDay = ms + oneDayMs; - return expiryOfOneDay; -}; - -export const constants = { - environmentId: "mockedEnvironmentId", - apiHost: "mockedApiHost", - sessionId: generateRandomString(), - expiryTime: getOneDayExpiryTime(), - surveyId: generateRandomString(), - questionOneId: generateRandomString(), - questionTwoId: generateRandomString(), - choiceOneId: generateRandomString(), - choiceTwoId: generateRandomString(), - choiceThreeId: generateRandomString(), - choiceFourId: generateRandomString(), - initialPersonUid: generateRandomString(), - newPersonUid: generateRandomString(), - initialUserId: generateUserId(), - initialUserEmail: generateEmailId(), - updatedUserEmail: generateEmailId(), - customAttributeKey: generateRandomString(), - customAttributeValue: generateRandomString(), - userIdAttributeId: generateRandomString(), - userInitialEmailAttributeId: generateRandomString(), - userCustomAttrAttributeId: generateRandomString(), - userUpdatedEmailAttributeId: generateRandomString(), - eventIdForEventTracking: generateRandomString(), - eventIdForRouteChange: generateRandomString(), -} as const; diff --git a/packages/js/tests/index.test.ts b/packages/js/tests/index.test.ts deleted file mode 100644 index 8ef7c32790..0000000000 --- a/packages/js/tests/index.test.ts +++ /dev/null @@ -1,140 +0,0 @@ -/** - * @jest-environment jsdom - */ -import { - mockEventTrackResponse, - mockInitResponse, - mockRegisterRouteChangeResponse, - mockResetResponse, - mockSetCustomAttributeResponse, - mockSetEmailIdResponse, - mockSetUserIdResponse, - mockUpdateEmailResponse, -} from "./__mocks__/apiMock"; - -import { TPersonAttributes } from "@formbricks/types/people"; - -import formbricks from "../src/index"; -import { constants } from "./constants"; - -const consoleLogMock = jest.spyOn(console, "log").mockImplementation(); - -test("Test Jest", () => { - expect(1 + 9).toBe(10); -}); - -const { - environmentId, - apiHost, - initialUserId, - initialUserEmail, - updatedUserEmail, - customAttributeKey, - customAttributeValue, -} = constants; - -beforeEach(() => { - fetchMock.resetMocks(); -}); - -/* -test("Formbricks should Initialise", async () => { - mockInitResponse(); - - await formbricks.init({ - environmentId, - apiHost, - userId: initialUserId, - }); - - const configFromBrowser = localStorage.getItem("formbricks-js"); - expect(configFromBrowser).toBeTruthy(); - - if (configFromBrowser) { - const jsonSavedConfig = JSON.parse(configFromBrowser); - expect(jsonSavedConfig.environmentId).toStrictEqual(environmentId); - expect(jsonSavedConfig.apiHost).toStrictEqual(apiHost); - } -}); - -test("Formbricks should set email", async () => { - mockSetEmailIdResponse(); - await formbricks.setEmail(initialUserEmail); - - const currentStatePerson = formbricks.getPerson(); - - const currentStatePersonAttributes = currentStatePerson.attributes; - const numberOfUserAttributes = Object.keys(currentStatePersonAttributes).length; - expect(numberOfUserAttributes).toStrictEqual(2); - - const userId = currentStatePersonAttributes.userId; - expect(userId).toStrictEqual(initialUserId); - const email = currentStatePersonAttributes.email; - expect(email).toStrictEqual(initialUserEmail); -}); - -test("Formbricks should set custom attribute", async () => { - mockSetCustomAttributeResponse(); - await formbricks.setAttribute(customAttributeKey, customAttributeValue); - - const currentStatePerson = formbricks.getPerson(); - - const currentStatePersonAttributes = currentStatePerson.attributes; - const numberOfUserAttributes = Object.keys(currentStatePersonAttributes).length; - expect(numberOfUserAttributes).toStrictEqual(3); - - const userId = currentStatePersonAttributes.userId; - expect(userId).toStrictEqual(initialUserId); - const email = currentStatePersonAttributes.email; - expect(email).toStrictEqual(initialUserEmail); - const customAttribute = currentStatePersonAttributes[customAttributeKey]; - expect(customAttribute).toStrictEqual(customAttributeValue); -}); - -test("Formbricks should update attribute", async () => { - mockUpdateEmailResponse(); - await formbricks.setEmail(updatedUserEmail); - - const currentStatePerson = formbricks.getPerson(); - - const currentStatePersonAttributes = currentStatePerson.attributes; - - const numberOfUserAttributes = Object.keys(currentStatePersonAttributes).length; - expect(numberOfUserAttributes).toStrictEqual(3); - - const userId = currentStatePersonAttributes.userId; - expect(userId).toStrictEqual(initialUserId); - const email = currentStatePersonAttributes.email; - expect(email).toStrictEqual(updatedUserEmail); - const customAttribute = currentStatePersonAttributes[customAttributeKey]; - expect(customAttribute).toStrictEqual(customAttributeValue); -}); - -test("Formbricks should track event", async () => { - mockEventTrackResponse(); - const mockButton = document.createElement("button"); - mockButton.addEventListener("click", async () => { - await formbricks.track("Button Clicked"); - }); - await mockButton.click(); - expect(consoleLogMock).toHaveBeenCalledWith( - expect.stringMatching(/Formbricks: Event "Button Clicked" tracked/) - ); -}); - -test("Formbricks should register for route change", async () => { - mockRegisterRouteChangeResponse(); - await formbricks.registerRouteChange(); - expect(consoleLogMock).toHaveBeenCalledWith(expect.stringMatching(/Checking page url/)); -}); - -test("Formbricks should reset", async () => { - mockResetResponse(); - await formbricks.reset(); - const currentStatePerson = formbricks.getPerson(); - const currentStatePersonAttributes = currentStatePerson.attributes; - - expect(Object.keys(currentStatePersonAttributes).length).toBe(0); -}); - -*/ diff --git a/packages/js/tests/types.ts b/packages/js/tests/types.ts deleted file mode 100644 index f434d0d369..0000000000 --- a/packages/js/tests/types.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface Attribute { - id: string; - value: string; - attributeClass: { - id: string; - name: string; - }; -} diff --git a/packages/lib/__mocks__/database.ts b/packages/lib/__mocks__/database.ts new file mode 100644 index 0000000000..9d8097cbdb --- /dev/null +++ b/packages/lib/__mocks__/database.ts @@ -0,0 +1,14 @@ +import { PrismaClient } from "@prisma/client"; +import { beforeEach, vi } from "vitest"; +import { mockDeep, mockReset } from "vitest-mock-extended"; + +export const prisma = mockDeep(); + +vi.mock("@formbricks/database", () => ({ + __esModule: true, + prisma, +})); + +beforeEach(() => { + mockReset(prisma); +}); diff --git a/packages/lib/authOptions.ts b/packages/lib/authOptions.ts index fef06126e3..888dc8fdad 100644 --- a/packages/lib/authOptions.ts +++ b/packages/lib/authOptions.ts @@ -10,14 +10,22 @@ import { prisma } from "@formbricks/database"; import { createAccount } from "./account/service"; import { verifyPassword } from "./auth/util"; import { + AZUREAD_CLIENT_ID, + AZUREAD_CLIENT_SECRET, + AZUREAD_TENANT_ID, + DEFAULT_TEAM_ID, + DEFAULT_TEAM_ROLE, EMAIL_VERIFICATION_DISABLED, + GITHUB_ID, + GITHUB_SECRET, + GOOGLE_CLIENT_ID, + GOOGLE_CLIENT_SECRET, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_DISPLAY_NAME, OIDC_ISSUER, OIDC_SIGNING_ALGORITHM, } from "./constants"; -import { env } from "./env.mjs"; import { verifyToken } from "./jwt"; import { createMembership } from "./membership/service"; import { createProduct } from "./product/service"; @@ -125,18 +133,18 @@ export const authOptions: NextAuthOptions = { }, }), GitHubProvider({ - clientId: env.GITHUB_ID || "", - clientSecret: env.GITHUB_SECRET || "", + clientId: GITHUB_ID || "", + clientSecret: GITHUB_SECRET || "", }), GoogleProvider({ - clientId: env.GOOGLE_CLIENT_ID || "", - clientSecret: env.GOOGLE_CLIENT_SECRET || "", + clientId: GOOGLE_CLIENT_ID || "", + clientSecret: GOOGLE_CLIENT_SECRET || "", allowDangerousEmailAccountLinking: true, }), AzureAD({ - clientId: env.AZUREAD_CLIENT_ID || "", - clientSecret: env.AZUREAD_CLIENT_SECRET || "", - tenantId: env.AZUREAD_TENANT_ID || "", + clientId: AZUREAD_CLIENT_ID || "", + clientSecret: AZUREAD_CLIENT_SECRET || "", + tenantId: AZUREAD_TENANT_ID || "", }), { id: "openid", @@ -252,16 +260,16 @@ export const authOptions: NextAuthOptions = { }); // Default team assignment if env variable is set - if (env.DEFAULT_TEAM_ID && env.DEFAULT_TEAM_ID.length > 0) { + if (DEFAULT_TEAM_ID && DEFAULT_TEAM_ID.length > 0) { // check if team exists - let team = await getTeam(env.DEFAULT_TEAM_ID); + let team = await getTeam(DEFAULT_TEAM_ID); let isNewTeam = false; if (!team) { // create team with id from env - team = await createTeam({ id: env.DEFAULT_TEAM_ID, name: userProfile.name + "'s Team" }); + team = await createTeam({ id: DEFAULT_TEAM_ID, name: userProfile.name + "'s Team" }); isNewTeam = true; } - const role = isNewTeam ? "owner" : env.DEFAULT_TEAM_ROLE || "admin"; + const role = isNewTeam ? "owner" : DEFAULT_TEAM_ROLE || "admin"; await createMembership(team.id, userProfile.id, { role, accepted: true }); await createAccount({ ...account, diff --git a/packages/lib/babel.config.js b/packages/lib/babel.config.js index 721e8b8251..a49ca5500e 100644 --- a/packages/lib/babel.config.js +++ b/packages/lib/babel.config.js @@ -1 +1 @@ -module.exports = { presets: ["@babel/preset-env"] }; +module.exports = { presets: [["@babel/preset-env", { targets: { node: "current" } }]] }; diff --git a/packages/lib/constants.ts b/packages/lib/constants.ts index 06dca54e8e..96810611d2 100644 --- a/packages/lib/constants.ts +++ b/packages/lib/constants.ts @@ -1,6 +1,6 @@ import "server-only"; -import { env } from "./env.mjs"; +import { env } from "./env"; export const IS_FORMBRICKS_CLOUD = env.IS_FORMBRICKS_CLOUD === "1"; export const REVALIDATION_INTERVAL = 0; //TODO: find a good way to cache and revalidate data when it changes @@ -80,10 +80,14 @@ export const RESPONSES_PER_PAGE = 10; export const TEXT_RESPONSES_PER_PAGE = 5; export const DEFAULT_TEAM_ID = env.DEFAULT_TEAM_ID; -export const DEFAULT_TEAM_ROLE = env.DEFAULT_TEAM_ROLE || ""; +export const DEFAULT_TEAM_ROLE = env.DEFAULT_TEAM_ROLE; export const ONBOARDING_DISABLED = env.ONBOARDING_DISABLED; // Storage constants +export const S3_ACCESS_KEY = env.S3_ACCESS_KEY; +export const S3_SECRET_KEY = env.S3_SECRET_KEY; +export const S3_REGION = env.S3_REGION; +export const S3_BUCKET_NAME = env.S3_BUCKET_NAME; export const UPLOADS_DIR = "./uploads"; export const MAX_SIZES = { public: 1024 * 1024 * 10, // 10MB @@ -148,9 +152,12 @@ export const SYNC_USER_IDENTIFICATION_RATE_LIMIT = { allowedPerInterval: 5, }; -export const DEBUG = process.env.DEBUG === "1"; +export const DEBUG = env.DEBUG === "1"; // Enterprise License constant export const ENTERPRISE_LICENSE_KEY = env.ENTERPRISE_LICENSE_KEY; export const RATE_LIMITING_DISABLED = env.RATE_LIMITING_DISABLED === "1"; + +export const CUSTOMER_IO_SITE_ID = env.CUSTOMER_IO_SITE_ID; +export const CUSTOMER_IO_API_KEY = env.CUSTOMER_IO_API_KEY; diff --git a/packages/lib/customerio.ts b/packages/lib/customerio.ts index 74f0f8bed6..bd7d17cbfa 100644 --- a/packages/lib/customerio.ts +++ b/packages/lib/customerio.ts @@ -1,13 +1,13 @@ import { TUser } from "@formbricks/types/user"; -import { env } from "./env.mjs"; +import { CUSTOMER_IO_API_KEY, CUSTOMER_IO_SITE_ID } from "./constants"; export const createCustomerIoCustomer = async (user: TUser) => { - if (!env.CUSTOMER_IO_SITE_ID || !env.CUSTOMER_IO_API_KEY) { + if (!CUSTOMER_IO_SITE_ID || !CUSTOMER_IO_API_KEY) { return; } try { - const auth = Buffer.from(`${env.CUSTOMER_IO_SITE_ID}:${env.CUSTOMER_IO_API_KEY}`).toString("base64"); + const auth = Buffer.from(`${CUSTOMER_IO_SITE_ID}:${CUSTOMER_IO_API_KEY}`).toString("base64"); const res = await fetch(`https://track-eu.customer.io/api/v1/customers/${user.id}`, { method: "PUT", headers: { diff --git a/packages/lib/display/service.ts b/packages/lib/display/service.ts index cb3524c684..64028f9930 100644 --- a/packages/lib/display/service.ts +++ b/packages/lib/display/service.ts @@ -27,7 +27,7 @@ import { formatDateFields } from "../utils/datetime"; import { validateInputs } from "../utils/validate"; import { displayCache } from "./cache"; -const selectDisplay = { +export const selectDisplay = { id: true, createdAt: true, updatedAt: true, diff --git a/packages/lib/display/tests/__mocks__/data.mock.ts b/packages/lib/display/tests/__mocks__/data.mock.ts index 5aeaf2327b..78691eaf22 100644 --- a/packages/lib/display/tests/__mocks__/data.mock.ts +++ b/packages/lib/display/tests/__mocks__/data.mock.ts @@ -1,10 +1,8 @@ -import { - TDisplay, - TDisplayCreateInput, - TDisplayLegacyCreateInput, - TDisplayLegacyUpdateInput, - TDisplayUpdateInput, -} from "@formbricks/types/displays"; +import { Prisma } from "@prisma/client"; + +import { prisma } from "@formbricks/database"; + +import { selectDisplay } from "../../service"; export const mockEnvironmentId = "clqkr5961000108jyfnjmbjhi"; export const mockSingleUseId = "qj57j3opsw8b5sxgea20fgcq"; @@ -28,49 +26,51 @@ function createMockDisplay(overrides = {}) { }; } -export const mockDisplay: TDisplay = createMockDisplay(); +export const mockDisplay = createMockDisplay(); -export const mockDisplayWithPersonId: TDisplay = createMockDisplay({ personId: mockPersonId }); +export const mockDisplayWithPersonId = createMockDisplay({ personId: mockPersonId }); -export const mockDisplayWithResponseId: TDisplay = createMockDisplay({ +export const mockDisplayWithResponseId = createMockDisplay({ personId: mockPersonId, responseId: mockResponseId, }); -export const mockDisplayInput: TDisplayCreateInput = { +export const mockDisplayInput = { environmentId: mockEnvironmentId, surveyId: mockSurveyId, }; -export const mockDisplayInputWithUserId: TDisplayCreateInput = { +export const mockDisplayInputWithUserId = { ...mockDisplayInput, userId: mockUserId, }; -export const mockDisplayInputWithResponseId: TDisplayCreateInput = { +export const mockDisplayInputWithResponseId = { ...mockDisplayInputWithUserId, responseId: mockResponseId, }; -export const mockDisplayLegacyInput: TDisplayLegacyCreateInput = { +export const mockDisplayLegacyInput = { responseId: mockResponseId, surveyId: mockSurveyId, }; -export const mockDisplayLegacyInputWithPersonId: TDisplayLegacyCreateInput = { +export const mockDisplayLegacyInputWithPersonId = { ...mockDisplayLegacyInput, personId: mockPersonId, }; -export const mockDisplayUpdate: TDisplayUpdateInput = { +export const mockDisplayUpdate = { environmentId: mockEnvironmentId, userId: mockUserId, responseId: mockResponseId, }; -export const mockDisplayLegacyUpdateInput: TDisplayLegacyUpdateInput = { +export const mockDisplayLegacyUpdateInput = { personId: mockPersonId, responseId: mockResponseId, }; -export const mockDisplayLegacyWithRespondedStatus: TDisplay = { +export const mockDisplayLegacyWithRespondedStatus: Prisma.DisplayGetPayload<{ + select: typeof selectDisplay; +}> = { ...mockDisplayWithPersonId, status: "responded", }; diff --git a/packages/lib/display/tests/display.unit.ts b/packages/lib/display/tests/display.test.ts similarity index 81% rename from packages/lib/display/tests/display.unit.ts rename to packages/lib/display/tests/display.test.ts index ae6b3ae80b..9c72c15de0 100644 --- a/packages/lib/display/tests/display.unit.ts +++ b/packages/lib/display/tests/display.test.ts @@ -1,3 +1,4 @@ +import { prisma } from "../../__mocks__/database"; import { mockPerson } from "../../response/tests/__mocks__/data.mock"; import { mockDisplay, @@ -15,8 +16,8 @@ import { } from "./__mocks__/data.mock"; import { Prisma } from "@prisma/client"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; -import { prismaMock } from "@formbricks/database/src/jestClient"; import { DatabaseError, ValidationError } from "@formbricks/types/errors"; import { @@ -31,6 +32,15 @@ import { updateDisplayLegacy, } from "../service"; +beforeEach(() => { + vi.resetModules(); + vi.resetAllMocks(); +}); + +afterEach(() => { + vi.clearAllMocks(); +}); + const testInputValidation = async (service: Function, ...args: any[]): Promise => { it("it should throw a ValidationError if the inputs are invalid", async () => { await expect(service(...args)).rejects.toThrow(ValidationError); @@ -38,34 +48,34 @@ const testInputValidation = async (service: Function, ...args: any[]): Promise { - prismaMock.person.findFirst.mockResolvedValue(mockPerson); + prisma.person.findFirst.mockResolvedValue(mockPerson); }); describe("Tests for getDisplay", () => { describe("Happy Path", () => { it("Returns display associated with a given display ID", async () => { - prismaMock.display.findUnique.mockResolvedValue(mockDisplay); + prisma.display.findUnique.mockResolvedValue(mockDisplay); const display = await getDisplay(mockDisplay.id); expect(display).toEqual(mockDisplay); }); it("Returns all displays associated with a given person ID", async () => { - prismaMock.display.findMany.mockResolvedValue([mockDisplayWithPersonId]); + prisma.display.findMany.mockResolvedValue([mockDisplayWithPersonId]); const displays = await getDisplaysByPersonId(mockPerson.id); expect(displays).toEqual([mockDisplayWithPersonId]); }); it("Returns an empty array when no displays are found for the given person ID", async () => { - prismaMock.display.findMany.mockResolvedValue([]); + prisma.display.findMany.mockResolvedValue([]); const displays = await getDisplaysByPersonId(mockPerson.id); expect(displays).toEqual([]); }); it("Returns display count for the given survey ID", async () => { - prismaMock.display.count.mockResolvedValue(1); + prisma.display.count.mockResolvedValue(1); const displaCount = await getDisplayCountBySurveyId(mockSurveyId); expect(displaCount).toEqual(1); @@ -82,14 +92,14 @@ describe("Tests for getDisplay", () => { clientVersion: "0.0.1", }); - prismaMock.display.findMany.mockRejectedValue(errToThrow); + prisma.display.findMany.mockRejectedValue(errToThrow); await expect(getDisplaysByPersonId(mockPerson.id)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.display.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.display.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getDisplaysByPersonId(mockPerson.id)).rejects.toThrow(Error); }); @@ -99,14 +109,14 @@ describe("Tests for getDisplay", () => { describe("Tests for createDisplay service", () => { describe("Happy Path", () => { it("Creates a new display when a userId exists", async () => { - prismaMock.display.create.mockResolvedValue(mockDisplayWithPersonId); + prisma.display.create.mockResolvedValue(mockDisplayWithPersonId); const display = await createDisplay(mockDisplayInputWithUserId); expect(display).toEqual(mockDisplayWithPersonId); }); it("Creates a new display when a userId does not exists", async () => { - prismaMock.display.create.mockResolvedValue(mockDisplay); + prisma.display.create.mockResolvedValue(mockDisplay); const display = await createDisplay(mockDisplayInput); expect(display).toEqual(mockDisplay); @@ -123,14 +133,14 @@ describe("Tests for createDisplay service", () => { clientVersion: "0.0.1", }); - prismaMock.display.create.mockRejectedValue(errToThrow); + prisma.display.create.mockRejectedValue(errToThrow); await expect(createDisplay(mockDisplayInputWithUserId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.display.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.display.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(createDisplay(mockDisplayInput)).rejects.toThrow(Error); }); @@ -140,7 +150,7 @@ describe("Tests for createDisplay service", () => { describe("Tests for updateDisplay Service", () => { describe("Happy Path", () => { it("Updates a display (responded)", async () => { - prismaMock.display.update.mockResolvedValue(mockDisplayWithResponseId); + prisma.display.update.mockResolvedValue(mockDisplayWithResponseId); const display = await updateDisplay(mockDisplay.id, mockDisplayUpdate); expect(display).toEqual(mockDisplayWithResponseId); @@ -157,14 +167,14 @@ describe("Tests for updateDisplay Service", () => { clientVersion: "0.0.1", }); - prismaMock.display.update.mockRejectedValue(errToThrow); + prisma.display.update.mockRejectedValue(errToThrow); await expect(updateDisplay(mockDisplay.id, mockDisplayUpdate)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other unexpected issues", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.display.update.mockRejectedValue(new Error(mockErrorMessage)); + prisma.display.update.mockRejectedValue(new Error(mockErrorMessage)); await expect(updateDisplay(mockDisplay.id, mockDisplayUpdate)).rejects.toThrow(Error); }); @@ -174,13 +184,13 @@ describe("Tests for updateDisplay Service", () => { describe("Tests for createDisplayLegacy service", () => { describe("Happy Path", () => { it("Creates a display when a person ID exist", async () => { - prismaMock.display.create.mockResolvedValue(mockDisplayWithPersonId); + prisma.display.create.mockResolvedValue(mockDisplayWithPersonId); const display = await createDisplayLegacy(mockDisplayLegacyInputWithPersonId); expect(display).toEqual(mockDisplayWithPersonId); }); it("Creates a display when a person ID does not exist", async () => { - prismaMock.display.create.mockResolvedValue(mockDisplay); + prisma.display.create.mockResolvedValue(mockDisplay); const display = await createDisplayLegacy(mockDisplayLegacyInput); expect(display).toEqual(mockDisplay); @@ -196,14 +206,14 @@ describe("Tests for createDisplayLegacy service", () => { clientVersion: "0.0.1", }); - prismaMock.display.create.mockRejectedValue(errToThrow); + prisma.display.create.mockRejectedValue(errToThrow); await expect(createDisplayLegacy(mockDisplayLegacyInputWithPersonId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.display.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.display.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(createDisplayLegacy(mockDisplayLegacyInputWithPersonId)).rejects.toThrow(Error); }); @@ -213,14 +223,14 @@ describe("Tests for createDisplayLegacy service", () => { describe("Tests for updateDisplayLegacy Service", () => { describe("Happy Path", () => { it("Updates a display", async () => { - prismaMock.display.update.mockResolvedValue(mockDisplayWithPersonId); + prisma.display.update.mockResolvedValue(mockDisplayWithPersonId); const display = await updateDisplayLegacy(mockDisplay.id, mockDisplayLegacyUpdateInput); expect(display).toEqual(mockDisplayWithPersonId); }); it("marks display as responded legacy", async () => { - prismaMock.display.update.mockResolvedValue(mockDisplayLegacyWithRespondedStatus); + prisma.display.update.mockResolvedValue(mockDisplayLegacyWithRespondedStatus); const display = await markDisplayRespondedLegacy(mockDisplay.id); expect(display).toEqual(mockDisplayLegacyWithRespondedStatus); @@ -237,7 +247,7 @@ describe("Tests for updateDisplayLegacy Service", () => { clientVersion: "0.0.1", }); - prismaMock.display.update.mockRejectedValue(errToThrow); + prisma.display.update.mockRejectedValue(errToThrow); await expect(updateDisplayLegacy(mockDisplay.id, mockDisplayLegacyUpdateInput)).rejects.toThrow( DatabaseError @@ -246,7 +256,7 @@ describe("Tests for updateDisplayLegacy Service", () => { it("Throws a generic Error for other unexpected issues", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.display.update.mockRejectedValue(new Error(mockErrorMessage)); + prisma.display.update.mockRejectedValue(new Error(mockErrorMessage)); await expect(updateDisplayLegacy(mockDisplay.id, mockDisplayLegacyUpdateInput)).rejects.toThrow(Error); }); @@ -256,7 +266,7 @@ describe("Tests for updateDisplayLegacy Service", () => { describe("Tests for deleteDisplayByResponseId service", () => { describe("Happy Path", () => { it("Deletes a display when a response associated to it is deleted", async () => { - prismaMock.display.delete.mockResolvedValue(mockDisplayWithResponseId); + prisma.display.delete.mockResolvedValue(mockDisplayWithResponseId); const display = await deleteDisplayByResponseId(mockResponseId, mockSurveyId); expect(display).toEqual(mockDisplayWithResponseId); @@ -272,14 +282,14 @@ describe("Tests for deleteDisplayByResponseId service", () => { clientVersion: "0.0.1", }); - prismaMock.display.delete.mockRejectedValue(errToThrow); + prisma.display.delete.mockRejectedValue(errToThrow); await expect(deleteDisplayByResponseId(mockResponseId, mockSurveyId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.display.delete.mockRejectedValue(new Error(mockErrorMessage)); + prisma.display.delete.mockRejectedValue(new Error(mockErrorMessage)); await expect(deleteDisplayByResponseId(mockResponseId, mockSurveyId)).rejects.toThrow(Error); }); diff --git a/packages/lib/env.mjs b/packages/lib/env.ts similarity index 96% rename from packages/lib/env.mjs rename to packages/lib/env.ts index b234a990a6..00d1e7107a 100644 --- a/packages/lib/env.mjs +++ b/packages/lib/env.ts @@ -7,42 +7,31 @@ export const env = createEnv({ * Will throw if you access these variables on the client. */ server: { + AIRTABLE_CLIENT_ID: z.string().optional(), + AWS_ACCESS_KEY: z.string().optional(), + AWS_SECRET_KEY: z.string().optional(), + AZUREAD_CLIENT_ID: z.string().optional(), + AZUREAD_CLIENT_SECRET: z.string().optional(), + AZUREAD_TENANT_ID: z.string().optional(), + CRON_SECRET: z.string().optional(), CUSTOMER_IO_API_KEY: z.string().optional(), CUSTOMER_IO_SITE_ID: z.string().optional(), - NEXT_PUBLIC_POSTHOG_API_HOST: z.string().optional(), - WEBAPP_URL: z.string().url().optional(), DATABASE_URL: z.string().url(), + DEBUG: z.enum(["1", "0"]).optional(), + DEFAULT_TEAM_ID: z.string().optional(), + DEFAULT_TEAM_ROLE: z.enum(["owner", "admin", "editor", "developer", "viewer"]).optional(), + EMAIL_AUTH_DISABLED: z.enum(["1", "0"]).optional(), + EMAIL_VERIFICATION_DISABLED: z.enum(["1", "0"]).optional(), ENCRYPTION_KEY: z.string().length(64).or(z.string().length(32)), + ENTERPRISE_LICENSE_KEY: z.string().optional(), FORMBRICKS_ENCRYPTION_KEY: z.string().length(24).or(z.string().length(0)).optional(), - NEXTAUTH_SECRET: z.string().min(1), - NEXTAUTH_URL: z.string().url().optional(), - MAIL_FROM: z.string().email().optional(), - SMTP_HOST: z.string().min(1).optional(), - SMTP_PORT: z.string().min(1).optional(), - SMTP_USER: z.string().min(1).optional(), - SMTP_PASSWORD: z.string().min(1).optional(), - SMTP_SECURE_ENABLED: z.enum(["1", "0"]).optional(), GITHUB_ID: z.string().optional(), GITHUB_SECRET: z.string().optional(), GOOGLE_CLIENT_ID: z.string().optional(), GOOGLE_CLIENT_SECRET: z.string().optional(), - STRIPE_SECRET_KEY: z.string().optional(), - STRIPE_WEBHOOK_SECRET: z.string().optional(), - CRON_SECRET: z.string().optional(), - EMAIL_VERIFICATION_DISABLED: z.enum(["1", "0"]).optional(), - PASSWORD_RESET_DISABLED: z.enum(["1", "0"]).optional(), - SIGNUP_DISABLED: z.enum(["1", "0"]).optional(), - EMAIL_AUTH_DISABLED: z.enum(["1", "0"]).optional(), - PRIVACY_URL: z - .string() - .url() - .optional() - .or(z.string().refine((str) => str === "")), - TERMS_URL: z - .string() - .url() - .optional() - .or(z.string().refine((str) => str === "")), + GOOGLE_SHEETS_CLIENT_ID: z.string().optional(), + GOOGLE_SHEETS_CLIENT_SECRET: z.string().optional(), + GOOGLE_SHEETS_REDIRECT_URL: z.string().optional(), IMPRINT_URL: z .string() .url() @@ -50,33 +39,45 @@ export const env = createEnv({ .or(z.string().refine((str) => str === "")), INVITE_DISABLED: z.enum(["1", "0"]).optional(), IS_FORMBRICKS_CLOUD: z.enum(["1", "0"]).optional(), - VERCEL_URL: z.string().optional(), - SHORT_URL_BASE: z.string().url().optional().or(z.string().length(0)), - GOOGLE_SHEETS_CLIENT_ID: z.string().optional(), - GOOGLE_SHEETS_CLIENT_SECRET: z.string().optional(), - GOOGLE_SHEETS_REDIRECT_URL: z.string().optional(), - AIRTABLE_CLIENT_ID: z.string().optional(), - AWS_ACCESS_KEY: z.string().optional(), - AWS_SECRET_KEY: z.string().optional(), - S3_ACCESS_KEY: z.string().optional(), - S3_SECRET_KEY: z.string().optional(), - S3_REGION: z.string().optional(), - S3_BUCKET_NAME: z.string().optional(), + MAIL_FROM: z.string().email().optional(), + NEXTAUTH_SECRET: z.string().min(1), + NEXTAUTH_URL: z.string().url().optional(), NOTION_OAUTH_CLIENT_ID: z.string().optional(), NOTION_OAUTH_CLIENT_SECRET: z.string().optional(), - AZUREAD_CLIENT_SECRET: z.string().optional(), - AZUREAD_TENANT_ID: z.string().optional(), - AZUREAD_CLIENT_ID: z.string().optional(), - DEFAULT_TEAM_ID: z.string().optional(), - DEFAULT_TEAM_ROLE: z.enum(["owner", "admin", "editor", "developer", "viewer"]).optional(), - ONBOARDING_DISABLED: z.string().optional(), - ENTERPRISE_LICENSE_KEY: z.string().optional(), - RATE_LIMITING_DISABLED: z.enum(["1", "0"]).optional(), - OIDC_DISPLAY_NAME: z.string().optional(), OIDC_CLIENT_ID: z.string().optional(), OIDC_CLIENT_SECRET: z.string().optional(), + OIDC_DISPLAY_NAME: z.string().optional(), OIDC_ISSUER: z.string().optional(), OIDC_SIGNING_ALGORITHM: z.string().optional(), + ONBOARDING_DISABLED: z.string().optional(), + PASSWORD_RESET_DISABLED: z.enum(["1", "0"]).optional(), + PRIVACY_URL: z + .string() + .url() + .optional() + .or(z.string().refine((str) => str === "")), + RATE_LIMITING_DISABLED: z.enum(["1", "0"]).optional(), + S3_ACCESS_KEY: z.string().optional(), + S3_BUCKET_NAME: z.string().optional(), + S3_REGION: z.string().optional(), + S3_SECRET_KEY: z.string().optional(), + SHORT_URL_BASE: z.string().url().optional().or(z.string().length(0)), + SIGNUP_DISABLED: z.enum(["1", "0"]).optional(), + SMTP_HOST: z.string().min(1).optional(), + SMTP_PASSWORD: z.string().min(1).optional(), + SMTP_PORT: z.string().min(1).optional(), + SMTP_SECURE_ENABLED: z.enum(["1", "0"]).optional(), + SMTP_USER: z.string().min(1).optional(), + STRIPE_SECRET_KEY: z.string().optional(), + STRIPE_WEBHOOK_SECRET: z.string().optional(), + TELEMETRY_DISABLED: z.enum(["1", "0"]).optional(), + TERMS_URL: z + .string() + .url() + .optional() + .or(z.string().refine((str) => str === "")), + VERCEL_URL: z.string().optional(), + WEBAPP_URL: z.string().url().optional(), }, /* @@ -103,66 +104,70 @@ export const env = createEnv({ * 💡 You'll get type errors if not all variables from `server` & `client` are included here. */ runtimeEnv: { + AIRTABLE_CLIENT_ID: process.env.AIRTABLE_CLIENT_ID, + AWS_ACCESS_KEY: process.env.AWS_ACCESS_KEY, + AWS_SECRET_KEY: process.env.AWS_SECRET_KEY, + AZUREAD_CLIENT_ID: process.env.AZUREAD_CLIENT_ID, + AZUREAD_CLIENT_SECRET: process.env.AZUREAD_CLIENT_SECRET, + AZUREAD_TENANT_ID: process.env.AZUREAD_TENANT_ID, + CRON_SECRET: process.env.CRON_SECRET, CUSTOMER_IO_API_KEY: process.env.CUSTOMER_IO_API_KEY, CUSTOMER_IO_SITE_ID: process.env.CUSTOMER_IO_SITE_ID, - WEBAPP_URL: process.env.WEBAPP_URL, DATABASE_URL: process.env.DATABASE_URL, + DEBUG: process.env.DEBUG, + DEFAULT_TEAM_ID: process.env.DEFAULT_TEAM_ID, + DEFAULT_TEAM_ROLE: process.env.DEFAULT_TEAM_ROLE, + EMAIL_AUTH_DISABLED: process.env.EMAIL_AUTH_DISABLED, + EMAIL_VERIFICATION_DISABLED: process.env.EMAIL_VERIFICATION_DISABLED, ENCRYPTION_KEY: process.env.ENCRYPTION_KEY, - NEXTAUTH_SECRET: process.env.NEXTAUTH_SECRET, - NEXTAUTH_URL: process.env.NEXTAUTH_URL, - MAIL_FROM: process.env.MAIL_FROM, - SMTP_HOST: process.env.SMTP_HOST, - SMTP_PORT: process.env.SMTP_PORT, - SMTP_USER: process.env.SMTP_USER, - SMTP_PASSWORD: process.env.SMTP_PASSWORD, - SMTP_SECURE_ENABLED: process.env.SMTP_SECURE_ENABLED, + ENTERPRISE_LICENSE_KEY: process.env.ENTERPRISE_LICENSE_KEY, + FORMBRICKS_ENCRYPTION_KEY: process.env.FORMBRICKS_ENCRYPTION_KEY, GITHUB_ID: process.env.GITHUB_ID, GITHUB_SECRET: process.env.GITHUB_SECRET, GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET, - STRIPE_SECRET_KEY: process.env.STRIPE_SECRET_KEY, - STRIPE_WEBHOOK_SECRET: process.env.STRIPE_WEBHOOK_SECRET, - CRON_SECRET: process.env.CRON_SECRET, - EMAIL_VERIFICATION_DISABLED: process.env.EMAIL_VERIFICATION_DISABLED, - PASSWORD_RESET_DISABLED: process.env.PASSWORD_RESET_DISABLED, - SIGNUP_DISABLED: process.env.SIGNUP_DISABLED, - EMAIL_AUTH_DISABLED: process.env.EMAIL_AUTH_DISABLED, - INVITE_DISABLED: process.env.INVITE_DISABLED, - PRIVACY_URL: process.env.PRIVACY_URL, - TERMS_URL: process.env.TERMS_URL, - IMPRINT_URL: process.env.IMPRINT_URL, GOOGLE_SHEETS_CLIENT_ID: process.env.GOOGLE_SHEETS_CLIENT_ID, GOOGLE_SHEETS_CLIENT_SECRET: process.env.GOOGLE_SHEETS_CLIENT_SECRET, GOOGLE_SHEETS_REDIRECT_URL: process.env.GOOGLE_SHEETS_REDIRECT_URL, - S3_ACCESS_KEY: process.env.S3_ACCESS_KEY, - S3_SECRET_KEY: process.env.S3_SECRET_KEY, - S3_REGION: process.env.S3_REGION, - S3_BUCKET_NAME: process.env.S3_BUCKET_NAME, - NOTION_OAUTH_CLIENT_ID: process.env.NOTION_OAUTH_CLIENT_ID, - NOTION_OAUTH_CLIENT_SECRET: process.env.NOTION_OAUTH_CLIENT_SECRET, + IMPRINT_URL: process.env.IMPRINT_URL, + INVITE_DISABLED: process.env.INVITE_DISABLED, + IS_FORMBRICKS_CLOUD: process.env.IS_FORMBRICKS_CLOUD, + MAIL_FROM: process.env.MAIL_FROM, + NEXTAUTH_SECRET: process.env.NEXTAUTH_SECRET, + NEXTAUTH_URL: process.env.NEXTAUTH_URL, NEXT_PUBLIC_FORMBRICKS_API_HOST: process.env.NEXT_PUBLIC_FORMBRICKS_API_HOST, NEXT_PUBLIC_FORMBRICKS_ENVIRONMENT_ID: process.env.NEXT_PUBLIC_FORMBRICKS_ENVIRONMENT_ID, NEXT_PUBLIC_FORMBRICKS_ONBOARDING_SURVEY_ID: process.env.NEXT_PUBLIC_FORMBRICKS_ONBOARDING_SURVEY_ID, - IS_FORMBRICKS_CLOUD: process.env.IS_FORMBRICKS_CLOUD, - NEXT_PUBLIC_POSTHOG_API_KEY: process.env.NEXT_PUBLIC_POSTHOG_API_KEY, NEXT_PUBLIC_POSTHOG_API_HOST: process.env.NEXT_PUBLIC_POSTHOG_API_HOST, - FORMBRICKS_ENCRYPTION_KEY: process.env.FORMBRICKS_ENCRYPTION_KEY, - VERCEL_URL: process.env.VERCEL_URL, - SHORT_URL_BASE: process.env.SHORT_URL_BASE, + NEXT_PUBLIC_POSTHOG_API_KEY: process.env.NEXT_PUBLIC_POSTHOG_API_KEY, NEXT_PUBLIC_SENTRY_DSN: process.env.NEXT_PUBLIC_SENTRY_DSN, - AZUREAD_CLIENT_ID: process.env.AZUREAD_CLIENT_ID, - AZUREAD_CLIENT_SECRET: process.env.AZUREAD_CLIENT_SECRET, - AZUREAD_TENANT_ID: process.env.AZUREAD_TENANT_ID, - AIRTABLE_CLIENT_ID: process.env.AIRTABLE_CLIENT_ID, - DEFAULT_TEAM_ID: process.env.DEFAULT_TEAM_ID, - DEFAULT_TEAM_ROLE: process.env.DEFAULT_TEAM_ROLE, - ONBOARDING_DISABLED: process.env.ONBOARDING_DISABLED, - ENTERPRISE_LICENSE_KEY: process.env.ENTERPRISE_LICENSE_KEY, - RATE_LIMITING_DISABLED: process.env.RATE_LIMITING_DISABLED, - OIDC_DISPLAY_NAME: process.env.OIDC_DISPLAY_NAME, + NOTION_OAUTH_CLIENT_ID: process.env.NOTION_OAUTH_CLIENT_ID, + NOTION_OAUTH_CLIENT_SECRET: process.env.NOTION_OAUTH_CLIENT_SECRET, OIDC_CLIENT_ID: process.env.OIDC_CLIENT_ID, OIDC_CLIENT_SECRET: process.env.OIDC_CLIENT_SECRET, + OIDC_DISPLAY_NAME: process.env.OIDC_DISPLAY_NAME, OIDC_ISSUER: process.env.OIDC_ISSUER, OIDC_SIGNING_ALGORITHM: process.env.OIDC_SIGNING_ALGORITHM, + ONBOARDING_DISABLED: process.env.ONBOARDING_DISABLED, + PASSWORD_RESET_DISABLED: process.env.PASSWORD_RESET_DISABLED, + PRIVACY_URL: process.env.PRIVACY_URL, + RATE_LIMITING_DISABLED: process.env.RATE_LIMITING_DISABLED, + S3_ACCESS_KEY: process.env.S3_ACCESS_KEY, + S3_BUCKET_NAME: process.env.S3_BUCKET_NAME, + S3_REGION: process.env.S3_REGION, + S3_SECRET_KEY: process.env.S3_SECRET_KEY, + SHORT_URL_BASE: process.env.SHORT_URL_BASE, + SIGNUP_DISABLED: process.env.SIGNUP_DISABLED, + SMTP_HOST: process.env.SMTP_HOST, + SMTP_PASSWORD: process.env.SMTP_PASSWORD, + SMTP_PORT: process.env.SMTP_PORT, + SMTP_SECURE_ENABLED: process.env.SMTP_SECURE_ENABLED, + SMTP_USER: process.env.SMTP_USER, + STRIPE_SECRET_KEY: process.env.STRIPE_SECRET_KEY, + STRIPE_WEBHOOK_SECRET: process.env.STRIPE_WEBHOOK_SECRET, + TELEMETRY_DISABLED: process.env.TELEMETRY_DISABLED, + TERMS_URL: process.env.TERMS_URL, + VERCEL_URL: process.env.VERCEL_URL, + WEBAPP_URL: process.env.WEBAPP_URL, }, }); diff --git a/packages/lib/jest.config.ts b/packages/lib/jest.config.ts deleted file mode 100644 index 1143030001..0000000000 --- a/packages/lib/jest.config.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Config } from "jest"; - -const config: Config = { - preset: "ts-jest", - collectCoverage: true, - // on node 14.x coverage provider v8 offers good speed and more or less good report - coverageProvider: "v8", - testMatch: ["**/*.unit.ts"], - collectCoverageFrom: [ - "**/*.{js,jsx,ts,tsx}", - "!**/*.d.ts", - "!**/node_modules/**", - "!/out/**", - "!/.next/**", - "!/*.config.js", - "!/*.config.ts", - "!/coverage/**", - "!/jest/**", - ], - testPathIgnorePatterns: ["/node_modules/", "/.next/"], - setupFilesAfterEnv: ["/jest/jestSetup.ts", "/../database/src/jestClient.ts"], - transform: { - // Use babel-jest to transpile tests with the next/babel preset - // https://jestjs.io/docs/configuration#transform-objectstring-pathtotransformer--pathtotransformer-object - "^.+\\.(ts|tsx)$": "ts-jest", - "^.+\\.(js|jsx)$": ["babel-jest", { presets: ["next/babel"] }], - "^.+\\.mjs$": "babel-jest", - }, - transformIgnorePatterns: [ - "/node_modules/", - "^.+\\.module\\.(css|sass|scss)$", - "node_modules/(?!uuid).+\\.js$", - ], - moduleNameMapper: { - "^uuid$": "uuid", - }, -}; - -export default config; diff --git a/packages/lib/jwt.ts b/packages/lib/jwt.ts index c67e40db32..5fcbc18934 100644 --- a/packages/lib/jwt.ts +++ b/packages/lib/jwt.ts @@ -2,7 +2,7 @@ import jwt, { JwtPayload } from "jsonwebtoken"; import { prisma } from "@formbricks/database"; -import { env } from "./env.mjs"; +import { env } from "./env"; export function createToken(userId: string, userEmail: string, options = {}): string { return jwt.sign({ id: userId }, env.NEXTAUTH_SECRET + userEmail, options); diff --git a/packages/lib/package.json b/packages/lib/package.json index 4d29cdb5ff..4f2f451007 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -10,27 +10,27 @@ "lint": "eslint . --ext .ts,.js,.tsx,.jsx", "lint:fix": "eslint . --ext .ts,.js,.tsx,.jsx --fix", "lint:report": "eslint . --format json --output-file ../../lint-results/app-store.json", - "test:dev": "jest --coverage --watch", - "test": "jest -ci --coverage --no-cache --silent" + "test:dev": "vitest", + "test": "dotenv -e ../../.env -- vitest run" }, "dependencies": { - "@aws-sdk/s3-presigned-post": "3.499.0", - "@aws-sdk/client-s3": "3.499.0", - "@aws-sdk/s3-request-presigner": "3.499.0", - "@t3-oss/env-nextjs": "^0.8.0", + "@aws-sdk/client-s3": "3.521.0", + "@aws-sdk/s3-presigned-post": "3.521.0", + "@aws-sdk/s3-request-presigner": "3.521.0", "@formbricks/api": "*", "@formbricks/database": "*", "@formbricks/types": "*", "@paralleldrive/cuid2": "^2.2.2", - "aws-crt": "^1.21.0", + "@t3-oss/env-nextjs": "^0.9.2", + "aws-crt": "^1.21.1", "date-fns": "^3.3.1", "jsonwebtoken": "^9.0.2", "markdown-it": "^14.0.0", "mime-types": "^2.1.35", - "nanoid": "^5.0.4", - "next-auth": "^4.24.5", - "nodemailer": "^6.9.8", - "posthog-node": "^3.6.0", + "nanoid": "^5.0.6", + "next-auth": "^4.24.6", + "nodemailer": "^6.9.10", + "posthog-node": "^3.6.3", "server-only": "^0.0.1", "tailwind-merge": "^2.2.1" }, @@ -38,11 +38,10 @@ "@formbricks/tsconfig": "*", "@types/jsonwebtoken": "^9.0.5", "@types/mime-types": "^2.1.4", - "babel-jest": "^29.7.0", + "dotenv": "^16.4.5", "eslint-config-formbricks": "workspace:*", - "jest": "^29.7.0", - "jest-mock-extended": "^3.0.5", - "ts-jest": "^29.1.2", - "ts-node": "^10.9.2" + "ts-node": "^10.9.2", + "vitest": "^1.3.1", + "vitest-mock-extended": "^1.3.1" } } diff --git a/packages/lib/posthogServer.ts b/packages/lib/posthogServer.ts index 2407cb61b4..922fda69c6 100644 --- a/packages/lib/posthogServer.ts +++ b/packages/lib/posthogServer.ts @@ -1,9 +1,11 @@ import { PostHog } from "posthog-node"; +import { env } from "./env"; + const enabled = process.env.NODE_ENV === "production" && - process.env.NEXT_PUBLIC_POSTHOG_API_HOST && - process.env.NEXT_PUBLIC_POSTHOG_API_KEY; + env.NEXT_PUBLIC_POSTHOG_API_HOST && + env.NEXT_PUBLIC_POSTHOG_API_KEY; export const capturePosthogEnvironmentEvent = async ( environmentId: string, @@ -12,14 +14,14 @@ export const capturePosthogEnvironmentEvent = async ( ) => { if ( !enabled || - typeof process.env.NEXT_PUBLIC_POSTHOG_API_HOST !== "string" || - typeof process.env.NEXT_PUBLIC_POSTHOG_API_KEY !== "string" + typeof env.NEXT_PUBLIC_POSTHOG_API_HOST !== "string" || + typeof env.NEXT_PUBLIC_POSTHOG_API_KEY !== "string" ) { return; } try { - const client = new PostHog(process.env.NEXT_PUBLIC_POSTHOG_API_KEY, { - host: process.env.NEXT_PUBLIC_POSTHOG_API_HOST, + const client = new PostHog(env.NEXT_PUBLIC_POSTHOG_API_KEY, { + host: env.NEXT_PUBLIC_POSTHOG_API_HOST, }); client.capture({ distinctId: environmentId, diff --git a/packages/lib/response/service.ts b/packages/lib/response/service.ts index a326d66c2e..90dd889487 100644 --- a/packages/lib/response/service.ts +++ b/packages/lib/response/service.ts @@ -24,7 +24,7 @@ import { } from "@formbricks/types/responses"; import { TTag } from "@formbricks/types/tags"; -import { ITEMS_PER_PAGE, SERVICES_REVALIDATION_INTERVAL } from "../constants"; +import { ITEMS_PER_PAGE, SERVICES_REVALIDATION_INTERVAL, WEBAPP_URL } from "../constants"; import { deleteDisplayByResponseId } from "../display/service"; import { createPerson, getPerson, getPersonByUserId, transformPrismaPerson } from "../person/service"; import { @@ -576,7 +576,7 @@ export const getResponseDownloadUrl = async ( await putFile(fileName, fileBuffer, accessType, environmentId); - return `${process.env.WEBAPP_URL}/storage/${environmentId}/${accessType}/${fileName}`; + return `${WEBAPP_URL}/storage/${environmentId}/${accessType}/${fileName}`; } catch (error) { if (error instanceof Prisma.PrismaClientKnownRequestError) { throw new DatabaseError(error.message); diff --git a/packages/lib/response/tests/response.unit.ts b/packages/lib/response/tests/response.test.ts similarity index 83% rename from packages/lib/response/tests/response.unit.ts rename to packages/lib/response/tests/response.test.ts index 3ec865086c..594c75b291 100644 --- a/packages/lib/response/tests/response.unit.ts +++ b/packages/lib/response/tests/response.test.ts @@ -1,3 +1,4 @@ +import { prisma } from "../../__mocks__/database"; import { getFilteredMockResponses, getMockUpdateResponseInput, @@ -19,8 +20,8 @@ import { } from "./__mocks__/data.mock"; import { Prisma } from "@prisma/client"; +import { beforeEach, describe, expect, it } from "vitest"; -import { prismaMock } from "@formbricks/database/src/jestClient"; import { DatabaseError, ResourceNotFoundError, ValidationError } from "@formbricks/types/errors"; import { TResponse, @@ -31,7 +32,7 @@ import { import { TTag } from "@formbricks/types/tags"; import { selectPerson, transformPrismaPerson } from "../../person/service"; -import { mockSurveyOutput } from "../../survey/tests/survey.mock"; +import { mockSurveyOutput } from "../../survey/tests/__mock__/survey.mock"; import { createResponse, createResponseLegacy, @@ -87,7 +88,7 @@ const createMockResponseLegacyInput = (personId?: string): TResponseLegacyInput beforeEach(() => { // @ts-expect-error - prismaMock.response.create.mockImplementation(async (args) => { + prisma.response.create.mockImplementation(async (args) => { if (args.data.person && args.data.person.connect) { return { ...mockResponse, @@ -99,13 +100,13 @@ beforeEach(() => { }); // mocking the person findFirst call as it is used in the transformPrismaPerson function - prismaMock.person.findFirst.mockResolvedValue(mockPerson); - prismaMock.responseNote.findMany.mockResolvedValue([mockResponseNote]); + prisma.person.findFirst.mockResolvedValue(mockPerson); + prisma.responseNote.findMany.mockResolvedValue([mockResponseNote]); - prismaMock.response.findUnique.mockResolvedValue(mockResponse); + prisma.response.findUnique.mockResolvedValue(mockResponse); // @ts-expect-error - prismaMock.response.update.mockImplementation(async (args) => { + prisma.response.update.mockImplementation(async (args) => { if (args.data.finished === true) { return { ...mockResponse, @@ -121,12 +122,12 @@ beforeEach(() => { }; }); - prismaMock.response.findMany.mockResolvedValue([mockResponse]); - prismaMock.response.delete.mockResolvedValue(mockResponse); + prisma.response.findMany.mockResolvedValue([mockResponse]); + prisma.response.delete.mockResolvedValue(mockResponse); - prismaMock.display.delete.mockResolvedValue({ ...mockDisplay, status: "seen" }); + prisma.display.delete.mockResolvedValue({ ...mockDisplay, status: "seen" }); - prismaMock.response.count.mockResolvedValue(1); + prisma.response.count.mockResolvedValue(1); }); // utility function to test input validation for all services @@ -139,14 +140,14 @@ const testInputValidation = async (service: Function, ...args: any[]): Promise { describe("Happy Path", () => { it("Returns all responses associated with a given person ID", async () => { - prismaMock.response.findMany.mockResolvedValue([mockResponseWithMockPerson]); + prisma.response.findMany.mockResolvedValue([mockResponseWithMockPerson]); const responses = await getResponsesByPersonId(mockPerson.id); expect(responses).toEqual([expectedResponseWithPerson]); }); it("Returns an empty array when no responses are found for the given person ID", async () => { - prismaMock.response.findMany.mockResolvedValue([]); + prisma.response.findMany.mockResolvedValue([]); const responses = await getResponsesByPersonId(mockPerson.id); expect(responses).toEqual([]); @@ -163,14 +164,14 @@ describe("Tests for getResponsesByPersonId", () => { clientVersion: "0.0.1", }); - prismaMock.response.findMany.mockRejectedValue(errToThrow); + prisma.response.findMany.mockRejectedValue(errToThrow); await expect(getResponsesByPersonId(mockPerson.id)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponsesByPersonId(mockPerson.id)).rejects.toThrow(Error); }); @@ -195,14 +196,14 @@ describe("Tests for getResponsesBySingleUseId", () => { clientVersion: "0.0.1", }); - prismaMock.response.findUnique.mockRejectedValue(errToThrow); + prisma.response.findUnique.mockRejectedValue(errToThrow); await expect(getResponseBySingleUseId(mockSurveyId, mockSingleUseId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.findUnique.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.findUnique.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponseBySingleUseId(mockSurveyId, mockSingleUseId)).rejects.toThrow(Error); }); @@ -222,13 +223,13 @@ describe("Tests for createResponse service", () => { }); it("Creates a new person and response when the person does not exist", async () => { - prismaMock.person.findFirst.mockResolvedValue(null); - prismaMock.person.create.mockResolvedValue(mockPerson); + prisma.person.findFirst.mockResolvedValue(null); + prisma.person.create.mockResolvedValue(mockPerson); const response = await createResponse(mockResponseInputWithUserId); expect(response).toEqual(expectedResponseWithPerson); - expect(prismaMock.person.create).toHaveBeenCalledWith({ + expect(prisma.person.create).toHaveBeenCalledWith({ data: { environment: { connect: { id: mockEnvironmentId } }, userId: mockUserId, @@ -251,14 +252,14 @@ describe("Tests for createResponse service", () => { clientVersion: "0.0.1", }); - prismaMock.response.create.mockRejectedValue(errToThrow); + prisma.response.create.mockRejectedValue(errToThrow); await expect(createResponse(mockResponseInputWithUserId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(createResponse(mockResponseInputWithUserId)).rejects.toThrow(Error); }); @@ -291,7 +292,7 @@ describe("Tests for getResponse service", () => { testInputValidation(getResponse, "123"); it("Throws ResourceNotFoundError if no response is found", async () => { - prismaMock.response.findUnique.mockResolvedValue(null); + prisma.response.findUnique.mockResolvedValue(null); const response = await getResponse(mockResponse.id); expect(response).toBeNull(); }); @@ -303,14 +304,14 @@ describe("Tests for getResponse service", () => { clientVersion: "0.0.1", }); - prismaMock.response.findUnique.mockRejectedValue(errToThrow); + prisma.response.findUnique.mockRejectedValue(errToThrow); await expect(getResponse(mockResponse.id)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for other unexpected issues", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.findUnique.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.findUnique.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponse(mockResponse.id)).rejects.toThrow(Error); }); @@ -320,13 +321,13 @@ describe("Tests for getResponse service", () => { describe("Tests for getAttributesFromResponses service", () => { describe("Happy Path", () => { it("Retrieves all attributes from responses for a given survey ID", async () => { - prismaMock.response.findMany.mockResolvedValue(mockResponsePersonAttributes); + prisma.response.findMany.mockResolvedValue(mockResponsePersonAttributes); const attributes = await getResponsePersonAttributes(mockSurveyId); expect(attributes).toEqual(mockPersonAttributesData); }); it("Returns an empty Object when no responses with attributes are found for the given survey ID", async () => { - prismaMock.response.findMany.mockResolvedValue([]); + prisma.response.findMany.mockResolvedValue([]); const responses = await getResponsePersonAttributes(mockSurveyId); expect(responses).toEqual({}); @@ -343,14 +344,14 @@ describe("Tests for getAttributesFromResponses service", () => { clientVersion: "0.0.1", }); - prismaMock.response.findMany.mockRejectedValue(errToThrow); + prisma.response.findMany.mockRejectedValue(errToThrow); await expect(getResponsePersonAttributes(mockSurveyId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected problems", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponsePersonAttributes(mockSurveyId)).rejects.toThrow(Error); }); @@ -372,7 +373,7 @@ describe("Tests for getResponses service", () => { let expectedWhereClause: Prisma.ResponseWhereInput | undefined = {}; // @ts-expect-error - prismaMock.response.findMany.mockImplementation(async (args) => { + prisma.response.findMany.mockImplementation(async (args) => { expectedWhereClause = args?.where; return getFilteredMockResponses({ finished: true }, false); }); @@ -411,7 +412,7 @@ describe("Tests for getResponses service", () => { let expectedWhereClause: Prisma.ResponseWhereInput | undefined = {}; // @ts-expect-error - prismaMock.response.findMany.mockImplementation(async (args) => { + prisma.response.findMany.mockImplementation(async (args) => { expectedWhereClause = args?.where; return getFilteredMockResponses(criteria, false); }); @@ -429,7 +430,7 @@ describe("Tests for getResponses service", () => { let expectedWhereClause: Prisma.ResponseWhereInput | undefined = {}; // @ts-expect-error - prismaMock.response.findMany.mockImplementation(async (args) => { + prisma.response.findMany.mockImplementation(async (args) => { expectedWhereClause = args?.where; return getFilteredMockResponses({ finished: true }); @@ -453,14 +454,14 @@ describe("Tests for getResponses service", () => { clientVersion: "0.0.1", }); - prismaMock.response.findMany.mockRejectedValue(errToThrow); + prisma.response.findMany.mockRejectedValue(errToThrow); await expect(getResponses(mockSurveyId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected problems", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponses(mockSurveyId)).rejects.toThrow(Error); }); @@ -470,9 +471,9 @@ describe("Tests for getResponses service", () => { describe("Tests for getResponseDownloadUrl service", () => { describe("Happy Path", () => { it("Returns a download URL for the csv response file", async () => { - prismaMock.survey.findUnique.mockResolvedValue(mockSurveyOutput); - prismaMock.response.count.mockResolvedValue(1); - prismaMock.response.findMany.mockResolvedValue([mockResponse]); + prisma.survey.findUnique.mockResolvedValue(mockSurveyOutput); + prisma.response.count.mockResolvedValue(1); + prisma.response.findMany.mockResolvedValue([mockResponse]); const url = await getResponseDownloadUrl(mockSurveyId, "csv"); const fileExtension = url.split(".").pop(); @@ -480,9 +481,9 @@ describe("Tests for getResponseDownloadUrl service", () => { }); it("Returns a download URL for the xlsx response file", async () => { - prismaMock.survey.findUnique.mockResolvedValue(mockSurveyOutput); - prismaMock.response.count.mockResolvedValue(1); - prismaMock.response.findMany.mockResolvedValue([mockResponse]); + prisma.survey.findUnique.mockResolvedValue(mockSurveyOutput); + prisma.response.count.mockResolvedValue(1); + prisma.response.findMany.mockResolvedValue([mockResponse]); const url = await getResponseDownloadUrl(mockSurveyId, "xlsx", { finished: true }); const fileExtension = url.split(".").pop(); @@ -494,9 +495,9 @@ describe("Tests for getResponseDownloadUrl service", () => { testInputValidation(getResponseDownloadUrl, mockSurveyId, 123); it("Throws error if response file is of different format than expected", async () => { - prismaMock.survey.findUnique.mockResolvedValue(mockSurveyOutput); - prismaMock.response.count.mockResolvedValue(1); - prismaMock.response.findMany.mockResolvedValue([mockResponse]); + prisma.survey.findUnique.mockResolvedValue(mockSurveyOutput); + prisma.response.count.mockResolvedValue(1); + prisma.response.findMany.mockResolvedValue([mockResponse]); const url = await getResponseDownloadUrl(mockSurveyId, "csv", { finished: true }); const fileExtension = url.split(".").pop(); @@ -509,8 +510,8 @@ describe("Tests for getResponseDownloadUrl service", () => { code: "P2002", clientVersion: "0.0.1", }); - prismaMock.survey.findUnique.mockResolvedValue(mockSurveyOutput); - prismaMock.response.count.mockRejectedValue(errToThrow); + prisma.survey.findUnique.mockResolvedValue(mockSurveyOutput); + prisma.response.count.mockRejectedValue(errToThrow); await expect(getResponseDownloadUrl(mockSurveyId, "csv")).rejects.toThrow(DatabaseError); }); @@ -522,9 +523,9 @@ describe("Tests for getResponseDownloadUrl service", () => { clientVersion: "0.0.1", }); - prismaMock.survey.findUnique.mockResolvedValue(mockSurveyOutput); - prismaMock.response.count.mockResolvedValue(1); - prismaMock.response.findMany.mockRejectedValue(errToThrow); + prisma.survey.findUnique.mockResolvedValue(mockSurveyOutput); + prisma.response.count.mockResolvedValue(1); + prisma.response.findMany.mockRejectedValue(errToThrow); await expect(getResponseDownloadUrl(mockSurveyId, "csv")).rejects.toThrow(DatabaseError); }); @@ -533,7 +534,7 @@ describe("Tests for getResponseDownloadUrl service", () => { const mockErrorMessage = "Mock error message"; // error from getSurvey - prismaMock.survey.findUnique.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.findUnique.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponseDownloadUrl(mockSurveyId, "xlsx")).rejects.toThrow(Error); }); @@ -558,14 +559,14 @@ describe("Tests for getResponsesByEnvironmentId", () => { clientVersion: "0.0.1", }); - prismaMock.response.findMany.mockRejectedValue(errToThrow); + prisma.response.findMany.mockRejectedValue(errToThrow); await expect(getResponsesByEnvironmentId(mockEnvironmentId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for any other unhandled exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponsesByEnvironmentId(mockEnvironmentId)).rejects.toThrow(Error); }); @@ -596,7 +597,7 @@ describe("Tests for updateResponse Service", () => { testInputValidation(updateResponse, "123", {}); it("Throws ResourceNotFoundError if no response is found", async () => { - prismaMock.response.findUnique.mockResolvedValue(null); + prisma.response.findUnique.mockResolvedValue(null); await expect(updateResponse(mockResponse.id, getMockUpdateResponseInput())).rejects.toThrow( ResourceNotFoundError ); @@ -609,7 +610,7 @@ describe("Tests for updateResponse Service", () => { clientVersion: "0.0.1", }); - prismaMock.response.update.mockRejectedValue(errToThrow); + prisma.response.update.mockRejectedValue(errToThrow); await expect(updateResponse(mockResponse.id, getMockUpdateResponseInput())).rejects.toThrow( DatabaseError @@ -618,7 +619,7 @@ describe("Tests for updateResponse Service", () => { it("Throws a generic Error for other unexpected issues", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.update.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.update.mockRejectedValue(new Error(mockErrorMessage)); await expect(updateResponse(mockResponse.id, getMockUpdateResponseInput())).rejects.toThrow(Error); }); @@ -643,14 +644,14 @@ describe("Tests for deleteResponse service", () => { clientVersion: "0.0.1", }); - prismaMock.response.delete.mockRejectedValue(errToThrow); + prisma.response.delete.mockRejectedValue(errToThrow); await expect(deleteResponse(mockResponse.id)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for any unhandled exception during deletion", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.delete.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.delete.mockRejectedValue(new Error(mockErrorMessage)); await expect(deleteResponse(mockResponse.id)).rejects.toThrow(Error); }); @@ -665,7 +666,7 @@ describe("Tests for getResponseCountBySurveyId service", () => { }); it("Returns zero count when there are no responses for a given survey ID", async () => { - prismaMock.response.count.mockResolvedValue(0); + prisma.response.count.mockResolvedValue(0); const count = await getResponseCountBySurveyId(mockSurveyId); expect(count).toEqual(0); }); @@ -676,7 +677,7 @@ describe("Tests for getResponseCountBySurveyId service", () => { it("Throws a generic Error for other unexpected issues", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.response.count.mockRejectedValue(new Error(mockErrorMessage)); + prisma.response.count.mockRejectedValue(new Error(mockErrorMessage)); await expect(getResponseCountBySurveyId(mockSurveyId)).rejects.toThrow(Error); }); diff --git a/packages/lib/segment/tests/segment.unit.ts b/packages/lib/segment/tests/segment.test.ts similarity index 82% rename from packages/lib/segment/tests/segment.unit.ts rename to packages/lib/segment/tests/segment.test.ts index 6ef00671d6..def7ef5120 100644 --- a/packages/lib/segment/tests/segment.unit.ts +++ b/packages/lib/segment/tests/segment.test.ts @@ -1,3 +1,4 @@ +import { prisma } from "../../__mocks__/database"; import { getMockSegmentFilters, mockEnvironmentId, @@ -11,11 +12,11 @@ import { } from "./__mocks__/segment.mock"; import { Prisma } from "@prisma/client"; +import { beforeEach, describe, expect, it } from "vitest"; -import { prismaMock } from "@formbricks/database/src/jestClient"; import { DatabaseError, ResourceNotFoundError } from "@formbricks/types/errors"; -import { testInputValidation } from "../../jest/jestSetup"; +import { testInputValidation } from "../../vitestSetup"; import { cloneSegment, createSegment, @@ -31,9 +32,9 @@ function addOrSubractDays(date: Date, number: number) { } beforeEach(() => { - prismaMock.segment.findUnique.mockResolvedValue(mockSegmentPrisma); - prismaMock.segment.findMany.mockResolvedValue([mockSegmentPrisma]); - prismaMock.segment.update.mockResolvedValue({ + prisma.segment.findUnique.mockResolvedValue(mockSegmentPrisma); + prisma.segment.findMany.mockResolvedValue([mockSegmentPrisma]); + prisma.segment.update.mockResolvedValue({ ...mockSegmentPrisma, filters: getMockSegmentFilters("lastMonthCount", 5, "greaterEqual"), }); @@ -42,7 +43,7 @@ beforeEach(() => { describe("Tests for evaluateSegment service", () => { describe("Happy Path", () => { it("Returns true when the user meets the segment criteria", async () => { - prismaMock.action.count.mockResolvedValue(4); + prisma.action.count.mockResolvedValue(4); const result = await evaluateSegment( mockEvaluateSegmentUserData, getMockSegmentFilters("lastQuarterCount", 5, "lessThan") @@ -51,7 +52,7 @@ describe("Tests for evaluateSegment service", () => { }); it("Calculates the action count for the last month", async () => { - prismaMock.action.count.mockResolvedValue(0); + prisma.action.count.mockResolvedValue(0); const result = await evaluateSegment( mockEvaluateSegmentUserData, getMockSegmentFilters("lastMonthCount", 5, "lessThan") @@ -60,7 +61,7 @@ describe("Tests for evaluateSegment service", () => { }); it("Calculates the action count for the last week", async () => { - prismaMock.action.count.mockResolvedValue(6); + prisma.action.count.mockResolvedValue(6); const result = await evaluateSegment( mockEvaluateSegmentUserData, getMockSegmentFilters("lastWeekCount", 5, "greaterEqual") @@ -69,7 +70,7 @@ describe("Tests for evaluateSegment service", () => { }); it("Calculates the total occurences of action", async () => { - prismaMock.action.count.mockResolvedValue(6); + prisma.action.count.mockResolvedValue(6); const result = await evaluateSegment( mockEvaluateSegmentUserData, getMockSegmentFilters("occuranceCount", 5, "greaterEqual") @@ -78,7 +79,7 @@ describe("Tests for evaluateSegment service", () => { }); it("Calculates the last occurence days ago of action", async () => { - prismaMock.action.findFirst.mockResolvedValue({ createdAt: addOrSubractDays(new Date(), 5) } as any); + prisma.action.findFirst.mockResolvedValue({ createdAt: addOrSubractDays(new Date(), 5) } as any); const result = await evaluateSegment( mockEvaluateSegmentUserData, @@ -88,7 +89,7 @@ describe("Tests for evaluateSegment service", () => { }); it("Calculates the first occurence days ago of action", async () => { - prismaMock.action.findFirst.mockResolvedValue({ createdAt: addOrSubractDays(new Date(), 5) } as any); + prisma.action.findFirst.mockResolvedValue({ createdAt: addOrSubractDays(new Date(), 5) } as any); const result = await evaluateSegment( mockEvaluateSegmentUserData, @@ -100,7 +101,7 @@ describe("Tests for evaluateSegment service", () => { describe("Sad Path", () => { it("Returns false when the user does not meet the segment criteria", async () => { - prismaMock.action.count.mockResolvedValue(0); + prisma.action.count.mockResolvedValue(0); const result = await evaluateSegment( mockEvaluateSegmentUserData, getMockSegmentFilters("lastQuarterCount", 5, "greaterThan") @@ -113,7 +114,7 @@ describe("Tests for evaluateSegment service", () => { describe("Tests for createSegment service", () => { describe("Happy Path", () => { it("Creates a new user segment", async () => { - prismaMock.segment.create.mockResolvedValue(mockSegmentPrisma); + prisma.segment.create.mockResolvedValue(mockSegmentPrisma); const result = await createSegment(mockSegmentCreateInput); expect(result).toEqual(mockSegment); }); @@ -129,14 +130,14 @@ describe("Tests for createSegment service", () => { clientVersion: "0.0.1", }); - prismaMock.segment.create.mockRejectedValue(errToThrow); + prisma.segment.create.mockRejectedValue(errToThrow); await expect(createSegment(mockSegmentCreateInput)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.segment.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.segment.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(createSegment(mockSegmentCreateInput)).rejects.toThrow(Error); }); @@ -161,14 +162,14 @@ describe("Tests for getSegments service", () => { clientVersion: "0.0.1", }); - prismaMock.segment.findMany.mockRejectedValue(errToThrow); + prisma.segment.findMany.mockRejectedValue(errToThrow); await expect(getSegments(mockEnvironmentId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.segment.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.segment.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getSegments(mockEnvironmentId)).rejects.toThrow(Error); }); @@ -187,7 +188,7 @@ describe("Tests for getSegment service", () => { testInputValidation(getSegment, "123"); it("Throws a ResourceNotFoundError error if the user segment does not exist", async () => { - prismaMock.segment.findUnique.mockResolvedValue(null); + prisma.segment.findUnique.mockResolvedValue(null); await expect(getSegment(mockSegmentId)).rejects.toThrow(ResourceNotFoundError); }); @@ -198,14 +199,14 @@ describe("Tests for getSegment service", () => { clientVersion: "0.0.1", }); - prismaMock.segment.findUnique.mockRejectedValue(errToThrow); + prisma.segment.findUnique.mockRejectedValue(errToThrow); await expect(getSegment(mockSegmentId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.segment.findUnique.mockRejectedValue(new Error(mockErrorMessage)); + prisma.segment.findUnique.mockRejectedValue(new Error(mockErrorMessage)); await expect(getSegment(mockSegmentId)).rejects.toThrow(Error); }); @@ -227,7 +228,7 @@ describe("Tests for updateSegment service", () => { testInputValidation(updateSegment, "123", {}); it("Throws a ResourceNotFoundError error if the user segment does not exist", async () => { - prismaMock.segment.findUnique.mockResolvedValue(null); + prisma.segment.findUnique.mockResolvedValue(null); await expect(updateSegment(mockSegmentId, mockSegmentCreateInput)).rejects.toThrow( ResourceNotFoundError ); @@ -240,14 +241,14 @@ describe("Tests for updateSegment service", () => { clientVersion: "0.0.1", }); - prismaMock.segment.update.mockRejectedValue(errToThrow); + prisma.segment.update.mockRejectedValue(errToThrow); await expect(updateSegment(mockSegmentId, mockSegmentCreateInput)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.segment.update.mockRejectedValue(new Error(mockErrorMessage)); + prisma.segment.update.mockRejectedValue(new Error(mockErrorMessage)); await expect(updateSegment(mockSegmentId, mockSegmentCreateInput)).rejects.toThrow(Error); }); @@ -257,7 +258,7 @@ describe("Tests for updateSegment service", () => { describe("Tests for deleteSegment service", () => { describe("Happy Path", () => { it("Deletes a user segment", async () => { - prismaMock.segment.delete.mockResolvedValue(mockSegmentPrisma); + prisma.segment.delete.mockResolvedValue(mockSegmentPrisma); const result = await deleteSegment(mockSegmentId); expect(result).toEqual(mockSegment); }); @@ -267,7 +268,7 @@ describe("Tests for deleteSegment service", () => { testInputValidation(deleteSegment, "123"); it("Throws a ResourceNotFoundError error if the user segment does not exist", async () => { - prismaMock.segment.findUnique.mockResolvedValue(null); + prisma.segment.findUnique.mockResolvedValue(null); await expect(deleteSegment(mockSegmentId)).rejects.toThrow(ResourceNotFoundError); }); @@ -278,14 +279,14 @@ describe("Tests for deleteSegment service", () => { clientVersion: "0.0.1", }); - prismaMock.segment.delete.mockRejectedValue(errToThrow); + prisma.segment.delete.mockRejectedValue(errToThrow); await expect(deleteSegment(mockSegmentId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.segment.delete.mockRejectedValue(new Error(mockErrorMessage)); + prisma.segment.delete.mockRejectedValue(new Error(mockErrorMessage)); await expect(deleteSegment(mockSegmentId)).rejects.toThrow(Error); }); @@ -295,7 +296,7 @@ describe("Tests for deleteSegment service", () => { describe("Tests for cloneSegment service", () => { describe("Happy Path", () => { it("Clones a user segment", async () => { - prismaMock.segment.create.mockResolvedValue({ + prisma.segment.create.mockResolvedValue({ ...mockSegmentPrisma, title: `Copy of ${mockSegmentPrisma.title}`, }); @@ -311,7 +312,7 @@ describe("Tests for cloneSegment service", () => { testInputValidation(cloneSegment, "123", "123"); it("Throws a ResourceNotFoundError error if the user segment does not exist", async () => { - prismaMock.segment.findUnique.mockResolvedValue(null); + prisma.segment.findUnique.mockResolvedValue(null); await expect(cloneSegment(mockSegmentId, mockSurveyId)).rejects.toThrow(ResourceNotFoundError); }); @@ -322,14 +323,14 @@ describe("Tests for cloneSegment service", () => { clientVersion: "0.0.1", }); - prismaMock.segment.create.mockRejectedValue(errToThrow); + prisma.segment.create.mockRejectedValue(errToThrow); await expect(cloneSegment(mockSegmentId, mockSurveyId)).rejects.toThrow(DatabaseError); }); it("Throws a generic Error for unexpected exceptions", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.segment.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.segment.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(cloneSegment(mockSegmentId, mockSurveyId)).rejects.toThrow(Error); }); diff --git a/packages/lib/storage/service.ts b/packages/lib/storage/service.ts index ce78a73123..97cebcdfb9 100644 --- a/packages/lib/storage/service.ts +++ b/packages/lib/storage/service.ts @@ -13,31 +13,30 @@ import { add, isAfter, parseISO } from "date-fns"; import { access, mkdir, readFile, rmdir, unlink, writeFile } from "fs/promises"; import { lookup } from "mime-types"; import { unstable_cache } from "next/cache"; -import { join } from "path"; -import path from "path"; +import path, { join } from "path"; import { TAccessType } from "@formbricks/types/storage"; -import { IS_S3_CONFIGURED, MAX_SIZES, UPLOADS_DIR, WEBAPP_URL } from "../constants"; +import { + IS_S3_CONFIGURED, + MAX_SIZES, + S3_BUCKET_NAME, + S3_REGION, + UPLOADS_DIR, + WEBAPP_URL, +} from "../constants"; import { generateLocalSignedUrl } from "../crypto"; -import { env } from "../env.mjs"; +import { env } from "../env"; import { storageCache } from "./cache"; -// global variables - -const AWS_BUCKET_NAME = env.S3_BUCKET_NAME!; -const AWS_REGION = env.S3_REGION!; -const S3_ACCESS_KEY = env.S3_ACCESS_KEY!; -const S3_SECRET_KEY = env.S3_SECRET_KEY!; - // S3Client Singleton export const s3Client = new S3Client({ credentials: { - accessKeyId: S3_ACCESS_KEY, - secretAccessKey: S3_SECRET_KEY!, + accessKeyId: env.S3_ACCESS_KEY!, + secretAccessKey: env.S3_SECRET_KEY!, }, - region: AWS_REGION!, + region: S3_REGION!, }); const ensureDirectoryExists = async (dirPath: string) => { @@ -81,7 +80,7 @@ const getS3SignedUrl = async (fileKey: string): Promise => { return unstable_cache( async () => { const getObjectCommand = new GetObjectCommand({ - Bucket: AWS_BUCKET_NAME, + Bucket: S3_BUCKET_NAME, Key: fileKey, }); @@ -242,7 +241,7 @@ export const getS3UploadSignedUrl = async ( try { const { fields, url } = await createPresignedPost(s3Client, { Expires: 10 * 60, // 10 minutes - Bucket: AWS_BUCKET_NAME, + Bucket: env.S3_BUCKET_NAME!, Key: `${environmentId}/${accessType}/${fileName}`, Fields: { "Content-Type": contentType, @@ -305,7 +304,7 @@ export const putFile = async ( } else { const input = { Body: fileBuffer, - Bucket: AWS_BUCKET_NAME, + Bucket: S3_BUCKET_NAME, Key: `${environmentId}/${accessType}/${fileName}`, }; @@ -354,7 +353,7 @@ export const deleteLocalFile = async (filePath: string) => { export const deleteS3File = async (fileKey: string) => { const deleteObjectCommand = new DeleteObjectCommand({ - Bucket: AWS_BUCKET_NAME, + Bucket: S3_BUCKET_NAME, Key: fileKey, }); @@ -370,7 +369,7 @@ export const deleteS3FilesByEnvironmentId = async (environmentId: string) => { // List all objects in the bucket with the prefix of environmentId const listObjectsOutput = await s3Client.send( new ListObjectsCommand({ - Bucket: AWS_BUCKET_NAME, + Bucket: S3_BUCKET_NAME, Prefix: environmentId, }) ); @@ -388,7 +387,7 @@ export const deleteS3FilesByEnvironmentId = async (environmentId: string) => { // Delete the objects await s3Client.send( new DeleteObjectsCommand({ - Bucket: AWS_BUCKET_NAME, + Bucket: S3_BUCKET_NAME, Delete: { Objects: objectsToDelete, }, diff --git a/packages/lib/survey/tests/survey.mock.ts b/packages/lib/survey/tests/__mock__/survey.mock.ts similarity index 97% rename from packages/lib/survey/tests/survey.mock.ts rename to packages/lib/survey/tests/__mock__/survey.mock.ts index b9a0e829e6..52087418bc 100644 --- a/packages/lib/survey/tests/survey.mock.ts +++ b/packages/lib/survey/tests/__mock__/survey.mock.ts @@ -13,8 +13,8 @@ import { import { TTeam } from "@formbricks/types/teams"; import { TUser } from "@formbricks/types/user"; -import { selectPerson } from "../../person/service"; -import { selectSurvey } from "../service"; +import { selectPerson } from "../../../person/service"; +import { selectSurvey } from "../../service"; const currentDate = new Date(); const fourDaysAgo = new Date(); diff --git a/packages/lib/survey/tests/survey.unit.ts b/packages/lib/survey/tests/survey.test.ts similarity index 70% rename from packages/lib/survey/tests/survey.unit.ts rename to packages/lib/survey/tests/survey.test.ts index 494f14702e..f15725b305 100644 --- a/packages/lib/survey/tests/survey.unit.ts +++ b/packages/lib/survey/tests/survey.test.ts @@ -1,8 +1,11 @@ -import { Prisma } from "@prisma/client"; +import { prisma } from "../../__mocks__/database"; + +import { Prisma } from "@prisma/client"; +import { beforeEach, describe, expect, it } from "vitest"; -import { prismaMock } from "@formbricks/database/src/jestClient"; import { DatabaseError, ResourceNotFoundError, ValidationError } from "@formbricks/types/errors"; +import { testInputValidation } from "../../vitestSetup"; import { createSurvey, deleteSurvey, @@ -26,25 +29,18 @@ import { mockTransformedSurveyOutput, mockUser, updateSurveyInput, -} from "./survey.mock"; - -// utility function to test input validation for all services -const testInputValidation = async (service: Function, ...args: any[]): Promise => { - it("it should throw a ValidationError if the inputs are invalid", async () => { - await expect(service(...args)).rejects.toThrow(ValidationError); - }); -}; +} from "./__mock__/survey.mock"; describe("Tests for getSurvey", () => { describe("Happy Path", () => { it("Returns a survey", async () => { - prismaMock.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); const survey = await getSurvey(mockId); expect(survey).toEqual(mockTransformedSurveyOutput); }); it("Returns null if survey is not found", async () => { - prismaMock.survey.findUnique.mockResolvedValueOnce(null); + prisma.survey.findUnique.mockResolvedValueOnce(null); const survey = await getSurvey(mockId); expect(survey).toBeNull(); }); @@ -59,13 +55,13 @@ describe("Tests for getSurvey", () => { code: "P2002", clientVersion: "0.0.1", }); - prismaMock.survey.findUnique.mockRejectedValue(errToThrow); + prisma.survey.findUnique.mockRejectedValue(errToThrow); await expect(getSurvey(mockId)).rejects.toThrow(DatabaseError); }); it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Mock error message"; - prismaMock.survey.findUnique.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.findUnique.mockRejectedValue(new Error(mockErrorMessage)); await expect(getSurvey(mockId)).rejects.toThrow(Error); }); }); @@ -74,13 +70,13 @@ describe("Tests for getSurvey", () => { describe("Tests for getSurveysByActionClassId", () => { describe("Happy Path", () => { it("Returns an array of surveys for a given actionClassId", async () => { - prismaMock.survey.findMany.mockResolvedValueOnce([mockSurveyOutput]); + prisma.survey.findMany.mockResolvedValueOnce([mockSurveyOutput]); const surveys = await getSurveysByActionClassId(mockId); expect(surveys).toEqual([mockTransformedSurveyOutput]); }); it("Returns an empty array if no surveys are found", async () => { - prismaMock.survey.findMany.mockResolvedValueOnce([]); + prisma.survey.findMany.mockResolvedValueOnce([]); const surveys = await getSurveysByActionClassId(mockId); expect(surveys).toEqual([]); }); @@ -91,7 +87,7 @@ describe("Tests for getSurveysByActionClassId", () => { it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.survey.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getSurveysByActionClassId(mockId)).rejects.toThrow(Error); }); }); @@ -100,13 +96,13 @@ describe("Tests for getSurveysByActionClassId", () => { describe("Tests for getSurveys", () => { describe("Happy Path", () => { it("Returns an array of surveys for a given environmentId and page", async () => { - prismaMock.survey.findMany.mockResolvedValueOnce([mockSurveyOutput]); + prisma.survey.findMany.mockResolvedValueOnce([mockSurveyOutput]); const surveys = await getSurveys(mockId); expect(surveys).toEqual([mockTransformedSurveyOutput]); }); it("Returns an empty array if no surveys are found", async () => { - prismaMock.survey.findMany.mockResolvedValueOnce([]); + prisma.survey.findMany.mockResolvedValueOnce([]); const surveys = await getSurveys(mockId); expect(surveys).toEqual([]); @@ -123,13 +119,13 @@ describe("Tests for getSurveys", () => { clientVersion: "0.0.1", }); - prismaMock.survey.findMany.mockRejectedValue(errToThrow); + prisma.survey.findMany.mockRejectedValue(errToThrow); await expect(getSurveys(mockId)).rejects.toThrow(DatabaseError); }); it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.survey.findMany.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.findMany.mockRejectedValue(new Error(mockErrorMessage)); await expect(getSurveys(mockId)).rejects.toThrow(Error); }); }); @@ -137,12 +133,12 @@ describe("Tests for getSurveys", () => { describe("Tests for updateSurvey", () => { beforeEach(() => { - prismaMock.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); + prisma.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); }); describe("Happy Path", () => { it("Updates a survey successfully", async () => { - prismaMock.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); - prismaMock.survey.update.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.update.mockResolvedValueOnce(mockSurveyOutput); const updatedSurvey = await updateSurvey(updateSurveyInput); expect(updatedSurvey).toEqual(mockTransformedSurveyOutput); }); @@ -152,7 +148,7 @@ describe("Tests for updateSurvey", () => { testInputValidation(updateSurvey, "123"); it("Throws ResourceNotFoundError if the survey does not exist", async () => { - prismaMock.survey.findUnique.mockRejectedValueOnce( + prisma.survey.findUnique.mockRejectedValueOnce( new ResourceNotFoundError("Survey", updateSurveyInput.id) ); await expect(updateSurvey(updateSurveyInput)).rejects.toThrow(ResourceNotFoundError); @@ -164,15 +160,15 @@ describe("Tests for updateSurvey", () => { code: "P2002", clientVersion: "0.0.1", }); - prismaMock.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); - prismaMock.survey.update.mockRejectedValue(errToThrow); + prisma.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.update.mockRejectedValue(errToThrow); await expect(updateSurvey(updateSurveyInput)).rejects.toThrow(DatabaseError); }); it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); - prismaMock.survey.update.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.update.mockRejectedValue(new Error(mockErrorMessage)); await expect(updateSurvey(updateSurveyInput)).rejects.toThrow(Error); }); }); @@ -181,7 +177,7 @@ describe("Tests for updateSurvey", () => { describe("Tests for deleteSurvey", () => { describe("Happy Path", () => { it("Deletes a survey successfully", async () => { - prismaMock.survey.delete.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.delete.mockResolvedValueOnce(mockSurveyOutput); const deletedSurvey = await deleteSurvey(mockId); expect(deletedSurvey).toEqual(mockSurveyOutput); }); @@ -192,8 +188,8 @@ describe("Tests for deleteSurvey", () => { it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); - prismaMock.survey.delete.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.delete.mockRejectedValue(new Error(mockErrorMessage)); await expect(deleteSurvey(mockId)).rejects.toThrow(Error); }); }); @@ -201,14 +197,14 @@ describe("Tests for deleteSurvey", () => { describe("Tests for createSurvey", () => { beforeEach(() => { - prismaMock.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); + prisma.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); }); describe("Happy Path", () => { it("Creates a survey successfully", async () => { - prismaMock.survey.create.mockResolvedValueOnce(mockSurveyOutput); - prismaMock.team.findFirst.mockResolvedValueOnce(mockTeamOutput); - prismaMock.user.findMany.mockResolvedValueOnce([ + prisma.survey.create.mockResolvedValueOnce(mockSurveyOutput); + prisma.team.findFirst.mockResolvedValueOnce(mockTeamOutput); + prisma.user.findMany.mockResolvedValueOnce([ { ...mockUser, twoFactorSecret: null, @@ -219,7 +215,7 @@ describe("Tests for createSurvey", () => { role: "engineer", }, ]); - prismaMock.user.update.mockResolvedValueOnce({ + prisma.user.update.mockResolvedValueOnce({ ...mockUser, twoFactorSecret: null, backupCodes: null, @@ -238,7 +234,7 @@ describe("Tests for createSurvey", () => { it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.survey.delete.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.delete.mockRejectedValue(new Error(mockErrorMessage)); await expect(createSurvey(mockId, createSurveyInput)).rejects.toThrow(Error); }); }); @@ -246,13 +242,13 @@ describe("Tests for createSurvey", () => { describe("Tests for duplicateSurvey", () => { beforeEach(() => { - prismaMock.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); + prisma.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); }); describe("Happy Path", () => { it("Duplicates a survey successfully", async () => { - prismaMock.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); - prismaMock.survey.create.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.findUnique.mockResolvedValueOnce(mockSurveyOutput); + prisma.survey.create.mockResolvedValueOnce(mockSurveyOutput); const createdSurvey = await duplicateSurvey(mockId, mockId, mockId); expect(createdSurvey).toEqual(mockSurveyOutput); }); @@ -262,13 +258,13 @@ describe("Tests for duplicateSurvey", () => { testInputValidation(duplicateSurvey, "123", "123"); it("Throws ResourceNotFoundError if the survey does not exist", async () => { - prismaMock.survey.findUnique.mockRejectedValueOnce(new ResourceNotFoundError("Survey", mockId)); + prisma.survey.findUnique.mockRejectedValueOnce(new ResourceNotFoundError("Survey", mockId)); await expect(duplicateSurvey(mockId, mockId, mockId)).rejects.toThrow(ResourceNotFoundError); }); it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.survey.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.survey.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(duplicateSurvey(mockId, mockId, mockId)).rejects.toThrow(Error); }); }); @@ -277,21 +273,21 @@ describe("Tests for duplicateSurvey", () => { describe("Tests for getSyncedSurveys", () => { describe("Happy Path", () => { beforeEach(() => { - prismaMock.product.findFirst.mockResolvedValueOnce(mockProduct); - prismaMock.display.findMany.mockResolvedValueOnce([mockDisplay]); - prismaMock.attributeClass.findMany.mockResolvedValueOnce([mockAttributeClass]); + prisma.product.findFirst.mockResolvedValueOnce(mockProduct); + prisma.display.findMany.mockResolvedValueOnce([mockDisplay]); + prisma.attributeClass.findMany.mockResolvedValueOnce([mockAttributeClass]); }); it("Returns synced surveys", async () => { - prismaMock.survey.findMany.mockResolvedValueOnce([mockSurveyOutput]); - prismaMock.person.findUnique.mockResolvedValueOnce(mockPerson); + prisma.survey.findMany.mockResolvedValueOnce([mockSurveyOutput]); + prisma.person.findUnique.mockResolvedValueOnce(mockPerson); const surveys = await getSyncSurveys(mockId, mockPerson.id); expect(surveys).toEqual([mockTransformedSurveyOutput]); }); it("Returns an empty array if no surveys are found", async () => { - prismaMock.survey.findMany.mockResolvedValueOnce([]); - prismaMock.person.findUnique.mockResolvedValueOnce(mockPerson); + prisma.survey.findMany.mockResolvedValueOnce([]); + prisma.person.findUnique.mockResolvedValueOnce(mockPerson); const surveys = await getSyncSurveys(mockId, mockPerson.id); expect(surveys).toEqual([]); }); @@ -301,15 +297,15 @@ describe("Tests for getSyncedSurveys", () => { testInputValidation(getSyncSurveys, "123", {}); it("does not find a Product", async () => { - prismaMock.product.findFirst.mockResolvedValueOnce(null); + prisma.product.findFirst.mockResolvedValueOnce(null); await expect(getSyncSurveys(mockId, mockPerson.id)).rejects.toThrow(Error); }); it("should throw an error if there is an unknown error", async () => { const mockErrorMessage = "Unknown error occurred"; - prismaMock.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); - prismaMock.survey.create.mockRejectedValue(new Error(mockErrorMessage)); + prisma.actionClass.findMany.mockResolvedValueOnce([mockActionClass]); + prisma.survey.create.mockRejectedValue(new Error(mockErrorMessage)); await expect(getSyncSurveys(mockId, mockPerson.id)).rejects.toThrow(Error); }); }); diff --git a/packages/lib/telemetry.ts b/packages/lib/telemetry.ts index e97c4a0ff1..5ba7371dc4 100644 --- a/packages/lib/telemetry.ts +++ b/packages/lib/telemetry.ts @@ -2,13 +2,10 @@ and how we can improve it. All data including the IP address is collected anonymously and we cannot trace anything back to you or your customers. If you still want to disable telemetry, set the environment variable TELEMETRY_DISABLED=1 */ +import { env } from "./env"; export const captureTelemetry = async (eventName: string, properties = {}) => { - if ( - process.env.TELEMETRY_DISABLED !== "1" && - process.env.NODE_ENV === "production" && - process.env.INSTANCE_ID - ) { + if (env.TELEMETRY_DISABLED !== "1" && process.env.NODE_ENV === "production" && process.env.INSTANCE_ID) { try { await fetch("https://eu.posthog.com/capture/", { method: "POST", diff --git a/packages/lib/tsconfig.json b/packages/lib/tsconfig.json index 2873638f17..b14ee541ef 100644 --- a/packages/lib/tsconfig.json +++ b/packages/lib/tsconfig.json @@ -1,8 +1,18 @@ { - "extends": "@formbricks/tsconfig/js-library.json", + "extends": "@formbricks/tsconfig/nextjs.json", "include": ["."], "exclude": ["dist", "build", "node_modules"], "compilerOptions": { - "downlevelIteration": true + "downlevelIteration": true, + "baseUrl": ".", + "paths": { + "@prisma/client/*": ["@formbricks/database/client/*"] + }, + "plugins": [ + { + "name": "next" + } + ], + "strictNullChecks": true } } diff --git a/packages/lib/user/service.ts b/packages/lib/user/service.ts index d0c10d4327..51e729114a 100644 --- a/packages/lib/user/service.ts +++ b/packages/lib/user/service.ts @@ -168,6 +168,8 @@ export const createUser = async (data: TUserCreateInput): Promise => { select: responseSelection, }); + console.log("user", user); + userCache.revalidate({ email: user.email, id: user.id, diff --git a/packages/lib/utils/singleUseSurveys.ts b/packages/lib/utils/singleUseSurveys.ts index 1457e3fb00..0a95769992 100644 --- a/packages/lib/utils/singleUseSurveys.ts +++ b/packages/lib/utils/singleUseSurveys.ts @@ -1,7 +1,7 @@ import cuid2 from "@paralleldrive/cuid2"; import { decryptAES128, symmetricDecrypt, symmetricEncrypt } from "../../lib/crypto"; -import { env } from "../../lib/env.mjs"; +import { env } from "../../lib/env"; // generate encrypted single use id for the survey export const generateSurveySingleUseId = (isEncrypted: boolean): string => { diff --git a/packages/lib/vite.config.ts b/packages/lib/vite.config.ts new file mode 100644 index 0000000000..6f770ba7a7 --- /dev/null +++ b/packages/lib/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + setupFiles: ["./vitestSetup.ts"], + }, +}); diff --git a/packages/lib/jest/jestSetup.ts b/packages/lib/vitestSetup.ts similarity index 69% rename from packages/lib/jest/jestSetup.ts rename to packages/lib/vitestSetup.ts index 9f1a6de431..ee90351e69 100644 --- a/packages/lib/jest/jestSetup.ts +++ b/packages/lib/vitestSetup.ts @@ -1,25 +1,29 @@ // mock these globally used functions +import { afterEach, beforeEach, expect, it, vi } from "vitest"; + import { ValidationError } from "@formbricks/types/errors"; -jest.mock("next/cache", () => ({ +vi.mock("next/cache", () => ({ __esModule: true, unstable_cache: (fn: () => {}) => { return async () => { return fn(); }; }, - revalidateTag: jest.fn(), + revalidateTag: vi.fn(), })); -jest.mock("server-only", () => jest.fn()); +vi.mock("server-only", () => { + return {}; +}); beforeEach(() => { - jest.resetModules(); - jest.resetAllMocks(); + vi.resetModules(); + vi.resetAllMocks(); }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); export const testInputValidation = async (service: Function, ...args: any[]): Promise => { diff --git a/packages/prettier-config/package.json b/packages/prettier-config/package.json index a78ba12cef..2b4af7f9b0 100644 --- a/packages/prettier-config/package.json +++ b/packages/prettier-config/package.json @@ -8,7 +8,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "prettier": "^3.2.4", + "prettier": "^3.2.5", "prettier-plugin-tailwindcss": "^0.5.11" } } diff --git a/packages/surveys/package.json b/packages/surveys/package.json index bda0d0f8e1..40982d7ef3 100644 --- a/packages/surveys/package.json +++ b/packages/surveys/package.json @@ -1,7 +1,7 @@ { "name": "@formbricks/surveys", "license": "MIT", - "version": "1.5.1", + "version": "1.6.0", "description": "Formbricks-surveys is a helper library to embed surveys into your application", "homepage": "https://formbricks.com", "repository": { @@ -37,24 +37,27 @@ "clean": "rimraf .turbo node_modules dist" }, "devDependencies": { - "@calcom/embed-snippet": "1.1.2", + "@calcom/embed-snippet": "1.1.3", "@formbricks/lib": "workspace:*", "@formbricks/tsconfig": "workspace:*", "@formbricks/types": "workspace:*", "@preact/preset-vite": "^2.8.1", - "isomorphic-dompurify": "^2.3.0", "autoprefixer": "^10.4.17", "concurrently": "8.2.2", "eslint-config-prettier": "^9.1.0", "eslint-config-turbo": "1.10.12", - "postcss": "^8.4.33", - "preact": "^10.19.3", + "isomorphic-dompurify": "^2.4.0", + "postcss": "^8.4.35", + "preact": "^10.19.6", "react-date-picker": "^10.6.0", "serve": "14.2.1", "tailwindcss": "^3.4.1", - "terser": "^5.27.0", - "vite": "^5.0.12", - "vite-plugin-dts": "^3.7.2", + "terser": "^5.28.1", + "vite": "^5.1.4", + "vite-plugin-dts": "^3.7.3", "vite-tsconfig-paths": "^4.3.1" + }, + "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2" } } diff --git a/packages/tailwind-config/package.json b/packages/tailwind-config/package.json index f0c4063e8e..f821e7fc75 100644 --- a/packages/tailwind-config/package.json +++ b/packages/tailwind-config/package.json @@ -10,7 +10,10 @@ "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "autoprefixer": "^10.4.17", - "postcss": "^8.4.33", + "postcss": "^8.4.35", "tailwindcss": "^3.4.1" + }, + "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2" } } diff --git a/packages/tsconfig/nextjs.json b/packages/tsconfig/nextjs.json index d5010a1bbc..634feded9b 100644 --- a/packages/tsconfig/nextjs.json +++ b/packages/tsconfig/nextjs.json @@ -4,6 +4,7 @@ "extends": "./base.json", "compilerOptions": { "plugins": [{ "name": "next" }], + "moduleResolution": "bundler", "allowJs": true, "declaration": false, "declarationMap": false, @@ -14,7 +15,7 @@ "noEmit": true, "resolveJsonModule": true, "strict": false, - "target": "es5" + "target": "esnext" }, "include": ["src", "next-env.d.ts"], "exclude": ["node_modules"] diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index d5a4ad699a..92784387e9 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -7,9 +7,12 @@ "clean": "rimraf node_modules dist turbo" }, "devDependencies": { - "@types/node": "20.11.6", - "@types/react": "18.2.48", - "@types/react-dom": "18.2.18", + "@types/node": "20.11.20", + "@types/react": "18.2.58", + "@types/react-dom": "18.2.19", "typescript": "^5.3.3" + }, + "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2" } } diff --git a/packages/types/package.json b/packages/types/package.json index fecaf76550..9c52b8982e 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -11,6 +11,7 @@ "@formbricks/tsconfig": "workspace:*" }, "dependencies": { + "@t3-oss/env-nextjs": "^0.9.2", "zod": "^3.22.4" } } diff --git a/packages/ui/PostHogClient/index.tsx b/packages/ui/PostHogClient/index.tsx index a1275ce4d1..c608b8d0f9 100644 --- a/packages/ui/PostHogClient/index.tsx +++ b/packages/ui/PostHogClient/index.tsx @@ -5,7 +5,7 @@ import posthog from "posthog-js"; import { PostHogProvider } from "posthog-js/react"; import { useEffect } from "react"; -import { env } from "@formbricks/lib/env.mjs"; +import { env } from "@formbricks/lib/env"; const posthogEnabled = env.NEXT_PUBLIC_POSTHOG_API_KEY && env.NEXT_PUBLIC_POSTHOG_API_HOST; diff --git a/packages/ui/package.json b/packages/ui/package.json index 3868a9235c..17c87352b7 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -38,6 +38,7 @@ "@radix-ui/react-slider": "^1.1.2", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-tooltip": "^1.0.7", + "@t3-oss/env-nextjs": "^0.9.2", "boring-avatars": "^1.10.1", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2914d709e0..dd2537afcf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,7 +47,7 @@ importers: version: 2.1.1(react@18.2.0) next: specifier: 14.1.0 - version: 14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + version: 14.1.0(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -69,7 +69,7 @@ importers: version: 1.3.0(react-dom@18.2.0)(react@18.2.0) '@docsearch/react': specifier: ^3.5.2 - version: 3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) + version: 3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) '@formbricks/lib': specifier: workspace:* version: link:../../packages/lib @@ -96,7 +96,7 @@ importers: version: 3.0.0(webpack@5.90.3) '@mdx-js/react': specifier: ^3.0.0 - version: 3.0.0(@types/react@18.2.48)(react@18.2.0) + version: 3.0.0(@types/react@18.2.58)(react@18.2.0) '@next/mdx': specifier: 14.0.4 version: 14.0.4(@mdx-js/loader@3.0.0)(@mdx-js/react@3.0.0) @@ -105,10 +105,10 @@ importers: version: 2.2.2 '@radix-ui/react-slider': specifier: ^1.1.2 - version: 1.1.2(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.6 - version: 1.0.7(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) '@sindresorhus/slugify': specifier: ^2.2.1 version: 2.2.1 @@ -186,7 +186,7 @@ importers: version: 4.12.0(react@18.2.0) react-markdown: specifier: ^9.0.1 - version: 9.0.1(@types/react@18.2.48)(react@18.2.0) + version: 9.0.1(@types/react@18.2.58)(react@18.2.0) react-responsive-embed: specifier: ^2.1.0 version: 2.1.0(prop-types@15.8.1)(react@18.2.0) @@ -219,7 +219,7 @@ importers: version: 5.0.0 zustand: specifier: ^4.4.7 - version: 4.4.7(@types/react@18.2.48)(react@18.2.0) + version: 4.4.7(@types/react@18.2.58)(react@18.2.0) devDependencies: '@formbricks/tsconfig': specifier: workspace:* @@ -269,10 +269,10 @@ importers: version: 0.2.2 '@typescript-eslint/eslint-plugin': specifier: ^6.18.1 - version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3) + version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/parser': specifier: ^6.18.1 - version: 6.19.0(eslint@8.56.0)(typescript@5.3.3) + version: 6.19.0(eslint@8.57.0)(typescript@5.3.3) '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@5.0.12) @@ -284,7 +284,7 @@ importers: version: 8.0.1(typescript@5.3.3) vite: specifier: ^5.0.12 - version: 5.0.12(terser@5.27.0) + version: 5.0.12 apps/web: dependencies: @@ -329,10 +329,7 @@ importers: version: 2.2.2 '@radix-ui/react-collapsible': specifier: ^1.0.3 - version: 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-dropdown-menu': - specifier: ^2.0.6 - version: 2.0.6(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@react-email/components': specifier: ^0.0.15 version: 0.0.15(@types/react@18.2.48)(react-email@2.1.0)(react@18.2.0) @@ -355,11 +352,14 @@ importers: specifier: ^0.1.13 version: 0.1.13 framer-motion: - specifier: 11.0.5 - version: 11.0.5(react-dom@18.2.0)(react@18.2.0) + specifier: 11.0.6 + version: 11.0.6(react-dom@18.2.0)(react@18.2.0) googleapis: specifier: ^133.0.0 version: 133.0.0(encoding@0.1.13) + jiti: + specifier: ^1.21.0 + version: 1.21.0 jsonwebtoken: specifier: ^9.0.2 version: 9.0.2 @@ -370,14 +370,14 @@ importers: specifier: ^10.2.0 version: 10.2.0 lucide-react: - specifier: ^0.336.0 - version: 0.336.0(react@18.2.0) + specifier: ^0.339.0 + version: 0.339.0(react@18.2.0) mime: specifier: ^4.0.1 version: 4.0.1 next: specifier: 14.1.0 - version: 14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + version: 14.1.0(react-dom@18.2.0)(react@18.2.0) nodemailer: specifier: ^6.9.10 version: 6.9.10 @@ -385,8 +385,8 @@ importers: specifier: ^12.0.1 version: 12.0.1 posthog-js: - specifier: ^1.108.2 - version: 1.108.2 + specifier: ^1.108.3 + version: 1.108.3 prismjs: specifier: ^1.29.0 version: 1.29.0 @@ -404,7 +404,7 @@ importers: version: 18.2.0(react@18.2.0) react-email: specifier: ^2.1.0 - version: 2.1.0(eslint@8.56.0) + version: 2.1.0(eslint@8.57.0) react-hook-form: specifier: ^7.50.1 version: 7.50.1(react@18.2.0) @@ -447,6 +447,10 @@ importers: version: link:../../packages/eslint-config-formbricks packages/api: + dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) devDependencies: '@formbricks/tsconfig': specifier: workspace:* @@ -456,28 +460,31 @@ importers: version: link:../types eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.56.0) + version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: 1.10.12 - version: 1.10.12(eslint@8.56.0) + version: 1.10.12(eslint@8.57.0) terser: - specifier: ^5.27.0 - version: 5.27.0 + specifier: ^5.28.1 + version: 5.28.1 vite: - specifier: ^5.0.12 - version: 5.0.12(terser@5.27.0) + specifier: ^5.1.4 + version: 5.1.4(terser@5.28.1) vite-plugin-dts: - specifier: ^3.7.2 - version: 3.7.2(typescript@5.3.3)(vite@5.0.12) + specifier: ^3.7.3 + version: 3.7.3(typescript@5.3.3)(vite@5.1.4) packages/database: dependencies: '@prisma/client': - specifier: ^5.8.1 - version: 5.8.1(prisma@5.8.1) + specifier: ^5.10.2 + version: 5.10.2(prisma@5.10.2) '@prisma/extension-accelerate': - specifier: ^0.6.2 - version: 0.6.2(@prisma/client@5.8.1) + specifier: ^0.6.3 + version: 0.6.3(@prisma/client@5.10.2) + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) dotenv-cli: specifier: ^7.3.0 version: 7.3.0 @@ -488,36 +495,42 @@ importers: '@formbricks/types': specifier: workspace:* version: link:../types + '@paralleldrive/cuid2': + specifier: ^2.2.2 + version: 2.2.2 eslint-config-formbricks: specifier: workspace:* version: link:../eslint-config-formbricks prisma: - specifier: ^5.8.1 - version: 5.8.1 + specifier: ^5.10.2 + version: 5.10.2 prisma-dbml-generator: - specifier: ^0.10.0 - version: 0.10.0 + specifier: ^0.12.0 + version: 0.12.0 prisma-json-types-generator: - specifier: ^3.0.3 - version: 3.0.3(prisma@5.8.1)(typescript@5.3.3) + specifier: ^3.0.4 + version: 3.0.4(prisma@5.10.2)(typescript@5.3.3) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.6)(typescript@5.3.3) + version: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) zod: specifier: ^3.22.4 version: 3.22.4 zod-prisma: specifier: ^0.5.4 - version: 0.5.4(prisma@5.8.1)(zod@3.22.4) + version: 0.5.4(prisma@5.10.2)(zod@3.22.4) packages/ee: dependencies: '@formbricks/lib': specifier: workspace:* version: link:../lib + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) stripe: - specifier: ^14.13.0 - version: 14.13.0 + specifier: ^14.18.0 + version: 14.18.0 devDependencies: '@formbricks/tsconfig': specifier: '*' @@ -533,43 +546,51 @@ importers: version: link:../eslint-config-formbricks packages/eslint-config-formbricks: + dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) devDependencies: eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.57.0 + version: 8.57.0 eslint-config-next: specifier: ^14.1.0 - version: 14.1.0(eslint@8.56.0)(typescript@5.3.3) + version: 14.1.0(eslint@8.57.0)(typescript@5.3.3) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.56.0) + version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: 1.10.12 - version: 1.10.12(eslint@8.56.0) + version: 1.10.12(eslint@8.57.0) eslint-plugin-react: specifier: 7.33.2 - version: 7.33.2(eslint@8.56.0) + version: 7.33.2(eslint@8.57.0) eslint-plugin-react-hooks: specifier: ^4.6.0 - version: 4.6.0(eslint@8.56.0) + version: 4.6.0(eslint@8.57.0) eslint-plugin-react-refresh: specifier: ^0.4.5 - version: 0.4.5(eslint@8.56.0) + version: 0.4.5(eslint@8.57.0) eslint-plugin-storybook: - specifier: ^0.6.15 - version: 0.6.15(eslint@8.56.0)(typescript@5.3.3) + specifier: ^0.8.0 + version: 0.8.0(eslint@8.57.0)(typescript@5.3.3) packages/js: + dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) devDependencies: '@babel/core': - specifier: ^7.23.7 - version: 7.23.7 + specifier: ^7.23.9 + version: 7.23.9 '@babel/preset-env': - specifier: ^7.23.8 - version: 7.23.8(@babel/core@7.23.7) + specifier: ^7.23.9 + version: 7.23.9(@babel/core@7.23.9) '@babel/preset-typescript': specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.7) + version: 7.23.3(@babel/core@7.23.9) '@formbricks/api': specifier: workspace:* version: link:../api @@ -585,60 +606,45 @@ importers: '@formbricks/types': specifier: workspace:* version: link:../types - '@types/jest': - specifier: ^29.5.11 - version: 29.5.11 '@typescript-eslint/eslint-plugin': - specifier: ^6.19.1 - version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.0.2 + version: 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^6.19.1 - version: 6.19.1(eslint@8.56.0)(typescript@5.3.3) - babel-jest: - specifier: ^29.7.0 - version: 29.7.0(@babel/core@7.23.7) + specifier: ^7.0.2 + version: 7.0.2(eslint@8.57.0)(typescript@5.3.3) cross-env: specifier: ^7.0.3 version: 7.0.3 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.56.0) + version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: 1.10.12 - version: 1.10.12(eslint@8.56.0) + version: 1.10.12(eslint@8.57.0) isomorphic-fetch: specifier: ^3.0.0 version: 3.0.0 - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - jest-environment-jsdom: - specifier: ^29.7.0 - version: 29.7.0 - jest-fetch-mock: - specifier: ^3.0.3 - version: 3.0.3 terser: - specifier: ^5.27.0 - version: 5.27.0 + specifier: ^5.28.1 + version: 5.28.1 vite: - specifier: ^5.0.12 - version: 5.0.12(terser@5.27.0) + specifier: ^5.1.4 + version: 5.1.4(terser@5.28.1) vite-plugin-dts: - specifier: ^3.7.2 - version: 3.7.2(typescript@5.3.3)(vite@5.0.12) + specifier: ^3.7.3 + version: 3.7.3(typescript@5.3.3)(vite@5.1.4) packages/lib: dependencies: '@aws-sdk/client-s3': - specifier: 3.499.0 - version: 3.499.0(aws-crt@1.21.0) + specifier: 3.521.0 + version: 3.521.0(aws-crt@1.21.1) '@aws-sdk/s3-presigned-post': - specifier: 3.499.0 - version: 3.499.0(aws-crt@1.21.0) + specifier: 3.521.0 + version: 3.521.0(aws-crt@1.21.1) '@aws-sdk/s3-request-presigner': - specifier: 3.499.0 - version: 3.499.0 + specifier: 3.521.0 + version: 3.521.0 '@formbricks/api': specifier: '*' version: link:../api @@ -652,11 +658,11 @@ importers: specifier: ^2.2.2 version: 2.2.2 '@t3-oss/env-nextjs': - specifier: ^0.8.0 - version: 0.8.0(typescript@5.3.3)(zod@3.22.4) + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) aws-crt: - specifier: ^1.21.0 - version: 1.21.0 + specifier: ^1.21.1 + version: 1.21.1 date-fns: specifier: ^3.3.1 version: 3.3.1 @@ -670,17 +676,17 @@ importers: specifier: ^2.1.35 version: 2.1.35 nanoid: - specifier: ^5.0.4 - version: 5.0.4 + specifier: ^5.0.6 + version: 5.0.6 next-auth: - specifier: ^4.24.5 - version: 4.24.5(next@14.1.0)(nodemailer@6.9.8)(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.24.6 + version: 4.24.6(next@14.1.0)(nodemailer@6.9.10)(react-dom@18.2.0)(react@18.2.0) nodemailer: - specifier: ^6.9.8 - version: 6.9.8 + specifier: ^6.9.10 + version: 6.9.10 posthog-node: - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^3.6.3 + version: 3.6.3 server-only: specifier: ^0.0.1 version: 0.0.1 @@ -697,42 +703,43 @@ importers: '@types/mime-types': specifier: ^2.1.4 version: 2.1.4 - babel-jest: - specifier: ^29.7.0 - version: 29.7.0(@babel/core@7.23.7) + dotenv: + specifier: ^16.4.5 + version: 16.4.5 eslint-config-formbricks: specifier: workspace:* version: link:../eslint-config-formbricks - jest: - specifier: ^29.7.0 - version: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - jest-mock-extended: - specifier: ^3.0.5 - version: 3.0.5(jest@29.7.0)(typescript@5.3.3) - ts-jest: - specifier: ^29.1.2 - version: 29.1.2(@babel/core@7.23.7)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.3.3) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.6)(typescript@5.3.3) + version: 10.9.2(@types/node@20.11.20)(typescript@5.3.3) + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.20) + vitest-mock-extended: + specifier: ^1.3.1 + version: 1.3.1(typescript@5.3.3)(vitest@1.3.1) packages/prettier-config: devDependencies: '@trivago/prettier-plugin-sort-imports': specifier: ^4.3.0 - version: 4.3.0(prettier@3.2.4) + version: 4.3.0(prettier@3.2.5) prettier: - specifier: ^3.2.4 - version: 3.2.4 + specifier: ^3.2.5 + version: 3.2.5 prettier-plugin-tailwindcss: specifier: ^0.5.11 - version: 0.5.11(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.2.4) + version: 0.5.11(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.2.5) packages/surveys: + dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) devDependencies: '@calcom/embed-snippet': - specifier: 1.1.2 - version: 1.1.2 + specifier: 1.1.3 + version: 1.1.3 '@formbricks/lib': specifier: workspace:* version: link:../lib @@ -744,28 +751,28 @@ importers: version: link:../types '@preact/preset-vite': specifier: ^2.8.1 - version: 2.8.1(@babel/core@7.23.7)(preact@10.19.3)(vite@5.0.12) + version: 2.8.1(@babel/core@7.23.9)(preact@10.19.6)(vite@5.1.4) autoprefixer: specifier: ^10.4.17 - version: 10.4.17(postcss@8.4.33) + version: 10.4.17(postcss@8.4.35) concurrently: specifier: 8.2.2 version: 8.2.2 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.56.0) + version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: 1.10.12 - version: 1.10.12(eslint@8.56.0) + version: 1.10.12(eslint@8.57.0) isomorphic-dompurify: - specifier: ^2.3.0 - version: 2.3.0 + specifier: ^2.4.0 + version: 2.4.0 postcss: - specifier: ^8.4.33 - version: 8.4.33 + specifier: ^8.4.35 + version: 8.4.35 preact: - specifier: ^10.19.3 - version: 10.19.3 + specifier: ^10.19.6 + version: 10.19.6 react-date-picker: specifier: ^10.6.0 version: 10.6.0(react-dom@18.2.0)(react@18.2.0) @@ -776,19 +783,23 @@ importers: specifier: ^3.4.1 version: 3.4.1 terser: - specifier: ^5.27.0 - version: 5.27.0 + specifier: ^5.28.1 + version: 5.28.1 vite: - specifier: ^5.0.12 - version: 5.0.12(terser@5.27.0) + specifier: ^5.1.4 + version: 5.1.4(terser@5.28.1) vite-plugin-dts: - specifier: ^3.7.2 - version: 3.7.2(typescript@5.3.3)(vite@5.0.12) + specifier: ^3.7.3 + version: 3.7.3(typescript@5.3.3)(vite@5.1.4) vite-tsconfig-paths: specifier: ^4.3.1 - version: 4.3.1(typescript@5.3.3)(vite@5.0.12) + version: 4.3.1(typescript@5.3.3)(vite@5.1.4) packages/tailwind-config: + dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) devDependencies: '@tailwindcss/forms': specifier: ^0.5.7 @@ -798,31 +809,38 @@ importers: version: 0.5.10(tailwindcss@3.4.1) autoprefixer: specifier: ^10.4.17 - version: 10.4.17(postcss@8.4.33) + version: 10.4.17(postcss@8.4.35) postcss: - specifier: ^8.4.33 - version: 8.4.33 + specifier: ^8.4.35 + version: 8.4.35 tailwindcss: specifier: ^3.4.1 version: 3.4.1 packages/tsconfig: + dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) devDependencies: '@types/node': - specifier: 20.11.6 - version: 20.11.6 + specifier: 20.11.20 + version: 20.11.20 '@types/react': - specifier: 18.2.48 - version: 18.2.48 + specifier: 18.2.58 + version: 18.2.58 '@types/react-dom': - specifier: 18.2.18 - version: 18.2.18 + specifier: 18.2.19 + version: 18.2.19 typescript: specifier: ^5.3.3 version: 5.3.3 packages/types: dependencies: + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -847,25 +865,25 @@ importers: version: 2.1.1(react@18.2.0) '@lexical/code': specifier: ^0.13.0 - version: 0.13.0(lexical@0.13.0) + version: 0.13.1(lexical@0.13.1) '@lexical/link': specifier: ^0.13.0 - version: 0.13.0(lexical@0.13.0) + version: 0.13.1(lexical@0.13.1) '@lexical/list': specifier: ^0.13.0 - version: 0.13.0(lexical@0.13.0) + version: 0.13.1(lexical@0.13.1) '@lexical/markdown': specifier: ^0.13.0 - version: 0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(lexical@0.13.0) + version: 0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(lexical@0.13.1) '@lexical/react': specifier: ^0.13.0 - version: 0.13.0(lexical@0.13.0)(react-dom@18.2.0)(react@18.2.0)(yjs@13.6.10) + version: 0.13.1(lexical@0.13.1)(react-dom@18.2.0)(react@18.2.0)(yjs@13.6.10) '@lexical/rich-text': specifier: ^0.13.0 - version: 0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(@lexical/utils@0.13.0)(lexical@0.13.0) + version: 0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(@lexical/utils@0.13.1)(lexical@0.13.1) '@lexical/table': specifier: ^0.13.0 - version: 0.13.0(lexical@0.13.0) + version: 0.13.1(lexical@0.13.1) '@radix-ui/react-accordion': specifier: ^1.1.2 version: 1.1.2(react-dom@18.2.0)(react@18.2.0) @@ -899,6 +917,9 @@ importers: '@radix-ui/react-tooltip': specifier: ^1.0.7 version: 1.0.7(react-dom@18.2.0)(react@18.2.0) + '@t3-oss/env-nextjs': + specifier: ^0.9.2 + version: 0.9.2(typescript@5.3.3)(zod@3.22.4) boring-avatars: specifier: ^1.10.1 version: 1.10.1 @@ -910,10 +931,10 @@ importers: version: 2.1.0 cmdk: specifier: ^0.2.0 - version: 0.2.0(react-dom@18.2.0)(react@18.2.0) + version: 0.2.1(react-dom@18.2.0)(react@18.2.0) lexical: specifier: ^0.13.0 - version: 0.13.0 + version: 0.13.1 lucide-react: specifier: ^0.315.0 version: 0.315.0(react@18.2.0) @@ -953,7 +974,7 @@ importers: version: link:../eslint-config-formbricks postcss: specifier: ^8.4.33 - version: 8.4.33 + version: 8.4.35 react: specifier: 18.2.0 version: 18.2.0 @@ -1141,12 +1162,18 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@antfu/ni@0.21.4: + resolution: {integrity: sha512-O0Uv9LbLDSoEg26fnMDdDRiPwFJnQSoD4WnrflDwKCJm8Cx/0mV4cGxwBLXan5mGIrpK4Dd7vizf4rQm0QCEAA==} + hasBin: true + dev: true /@aws-crypto/crc32@3.0.0: resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 tslib: 1.14.1 dev: false @@ -1154,7 +1181,7 @@ packages: resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 tslib: 1.14.1 dev: false @@ -1170,7 +1197,7 @@ packages: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@aws-sdk/util-locate-window': 3.465.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 @@ -1183,7 +1210,7 @@ packages: '@aws-crypto/sha256-js': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@aws-sdk/util-locate-window': 3.465.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 @@ -1193,7 +1220,7 @@ packages: resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 tslib: 1.14.1 dev: false @@ -1206,163 +1233,216 @@ packages: /@aws-crypto/util@3.0.0: resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: false - /@aws-sdk/client-s3@3.499.0(aws-crt@1.21.0): - resolution: {integrity: sha512-4ssQqde/iY5fTJbWuFPzPuECtihdCAA9tfluv6fXYCJS3wMLf9x21qp6b7fIbUf6vjOJ2edmYd+DXk+0CMnTFg==} + /@aws-sdk/client-s3@3.521.0(aws-crt@1.21.1): + resolution: {integrity: sha512-txSfcxezAIW72dgRfhX+plc/lMouilY/QFVne/Cv01SL8Tzclcyp7T7LtkV7aSO4Tb9CUScHdqwWOfjZzCm/yQ==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.499.0(aws-crt@1.21.0) - '@aws-sdk/core': 3.496.0 - '@aws-sdk/credential-provider-node': 3.499.0(aws-crt@1.21.0) - '@aws-sdk/middleware-bucket-endpoint': 3.496.0 - '@aws-sdk/middleware-expect-continue': 3.496.0 - '@aws-sdk/middleware-flexible-checksums': 3.496.0 - '@aws-sdk/middleware-host-header': 3.496.0 - '@aws-sdk/middleware-location-constraint': 3.496.0 - '@aws-sdk/middleware-logger': 3.496.0 - '@aws-sdk/middleware-recursion-detection': 3.496.0 - '@aws-sdk/middleware-sdk-s3': 3.499.0 - '@aws-sdk/middleware-signing': 3.496.0 - '@aws-sdk/middleware-ssec': 3.498.0 - '@aws-sdk/middleware-user-agent': 3.496.0 - '@aws-sdk/region-config-resolver': 3.496.0 - '@aws-sdk/signature-v4-multi-region': 3.499.0 - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-endpoints': 3.496.0 - '@aws-sdk/util-user-agent-browser': 3.496.0 - '@aws-sdk/util-user-agent-node': 3.496.0(aws-crt@1.21.0) - '@aws-sdk/xml-builder': 3.496.0 - '@smithy/config-resolver': 2.1.1 - '@smithy/core': 1.3.1 - '@smithy/eventstream-serde-browser': 2.1.1 - '@smithy/eventstream-serde-config-resolver': 2.1.1 - '@smithy/eventstream-serde-node': 2.1.1 - '@smithy/fetch-http-handler': 2.4.1 - '@smithy/hash-blob-browser': 2.1.1 - '@smithy/hash-node': 2.1.1 - '@smithy/hash-stream-node': 2.1.1 - '@smithy/invalid-dependency': 2.1.1 - '@smithy/md5-js': 2.1.1 - '@smithy/middleware-content-length': 2.1.1 - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/middleware-retry': 2.1.1 - '@smithy/middleware-serde': 2.1.1 - '@smithy/middleware-stack': 2.1.1 - '@smithy/node-config-provider': 2.2.1 - '@smithy/node-http-handler': 2.3.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/url-parser': 2.1.1 + '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/core': 3.521.0 + '@aws-sdk/credential-provider-node': 3.521.0(aws-crt@1.21.1) + '@aws-sdk/middleware-bucket-endpoint': 3.521.0 + '@aws-sdk/middleware-expect-continue': 3.521.0 + '@aws-sdk/middleware-flexible-checksums': 3.521.0 + '@aws-sdk/middleware-host-header': 3.521.0 + '@aws-sdk/middleware-location-constraint': 3.521.0 + '@aws-sdk/middleware-logger': 3.521.0 + '@aws-sdk/middleware-recursion-detection': 3.521.0 + '@aws-sdk/middleware-sdk-s3': 3.521.0 + '@aws-sdk/middleware-signing': 3.521.0 + '@aws-sdk/middleware-ssec': 3.521.0 + '@aws-sdk/middleware-user-agent': 3.521.0 + '@aws-sdk/region-config-resolver': 3.521.0 + '@aws-sdk/signature-v4-multi-region': 3.521.0 + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-endpoints': 3.521.0 + '@aws-sdk/util-user-agent-browser': 3.521.0 + '@aws-sdk/util-user-agent-node': 3.521.0(aws-crt@1.21.1) + '@aws-sdk/xml-builder': 3.521.0 + '@smithy/config-resolver': 2.1.2 + '@smithy/core': 1.3.3 + '@smithy/eventstream-serde-browser': 2.1.2 + '@smithy/eventstream-serde-config-resolver': 2.1.2 + '@smithy/eventstream-serde-node': 2.1.2 + '@smithy/fetch-http-handler': 2.4.2 + '@smithy/hash-blob-browser': 2.1.2 + '@smithy/hash-node': 2.1.2 + '@smithy/hash-stream-node': 2.1.2 + '@smithy/invalid-dependency': 2.1.2 + '@smithy/md5-js': 2.1.2 + '@smithy/middleware-content-length': 2.1.2 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/middleware-retry': 2.1.2 + '@smithy/middleware-serde': 2.1.2 + '@smithy/middleware-stack': 2.1.2 + '@smithy/node-config-provider': 2.2.2 + '@smithy/node-http-handler': 2.4.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 '@smithy/util-base64': 2.1.1 '@smithy/util-body-length-browser': 2.1.1 '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.1 - '@smithy/util-defaults-mode-node': 2.1.1 - '@smithy/util-endpoints': 1.1.1 - '@smithy/util-retry': 2.1.1 - '@smithy/util-stream': 2.1.1 + '@smithy/util-defaults-mode-browser': 2.1.2 + '@smithy/util-defaults-mode-node': 2.2.1 + '@smithy/util-endpoints': 1.1.2 + '@smithy/util-retry': 2.1.2 + '@smithy/util-stream': 2.1.2 '@smithy/util-utf8': 2.1.1 - '@smithy/util-waiter': 2.1.1 + '@smithy/util-waiter': 2.1.2 fast-xml-parser: 4.2.5 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/client-sso@3.496.0(aws-crt@1.21.0): - resolution: {integrity: sha512-fuaMuxKg7CMUsP9l3kxYWCOxFsBjdA0xj5nlikaDm1661/gB4KkAiGqRY8LsQkpNXvXU8Nj+f7oCFADFyGYzyw==} + /@aws-sdk/client-sso-oidc@3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1): + resolution: {integrity: sha512-MhX0CjV/543MR7DRPr3lA4ZDpGGKopp8cyV4EkSGXB7LMN//eFKKDhuZDlpgWU+aFe2A3DIqlNJjqgs08W0cSA==} engines: {node: '>=14.0.0'} + peerDependencies: + '@aws-sdk/credential-provider-node': ^3.521.0 dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.496.0 - '@aws-sdk/middleware-host-header': 3.496.0 - '@aws-sdk/middleware-logger': 3.496.0 - '@aws-sdk/middleware-recursion-detection': 3.496.0 - '@aws-sdk/middleware-user-agent': 3.496.0 - '@aws-sdk/region-config-resolver': 3.496.0 - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-endpoints': 3.496.0 - '@aws-sdk/util-user-agent-browser': 3.496.0 - '@aws-sdk/util-user-agent-node': 3.496.0(aws-crt@1.21.0) - '@smithy/config-resolver': 2.1.1 - '@smithy/core': 1.3.1 - '@smithy/fetch-http-handler': 2.4.1 - '@smithy/hash-node': 2.1.1 - '@smithy/invalid-dependency': 2.1.1 - '@smithy/middleware-content-length': 2.1.1 - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/middleware-retry': 2.1.1 - '@smithy/middleware-serde': 2.1.1 - '@smithy/middleware-stack': 2.1.1 - '@smithy/node-config-provider': 2.2.1 - '@smithy/node-http-handler': 2.3.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/url-parser': 2.1.1 + '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/core': 3.521.0 + '@aws-sdk/credential-provider-node': 3.521.0(aws-crt@1.21.1) + '@aws-sdk/middleware-host-header': 3.521.0 + '@aws-sdk/middleware-logger': 3.521.0 + '@aws-sdk/middleware-recursion-detection': 3.521.0 + '@aws-sdk/middleware-user-agent': 3.521.0 + '@aws-sdk/region-config-resolver': 3.521.0 + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-endpoints': 3.521.0 + '@aws-sdk/util-user-agent-browser': 3.521.0 + '@aws-sdk/util-user-agent-node': 3.521.0(aws-crt@1.21.1) + '@smithy/config-resolver': 2.1.2 + '@smithy/core': 1.3.3 + '@smithy/fetch-http-handler': 2.4.2 + '@smithy/hash-node': 2.1.2 + '@smithy/invalid-dependency': 2.1.2 + '@smithy/middleware-content-length': 2.1.2 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/middleware-retry': 2.1.2 + '@smithy/middleware-serde': 2.1.2 + '@smithy/middleware-stack': 2.1.2 + '@smithy/node-config-provider': 2.2.2 + '@smithy/node-http-handler': 2.4.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 '@smithy/util-base64': 2.1.1 '@smithy/util-body-length-browser': 2.1.1 '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.1 - '@smithy/util-defaults-mode-node': 2.1.1 - '@smithy/util-endpoints': 1.1.1 - '@smithy/util-retry': 2.1.1 + '@smithy/util-defaults-mode-browser': 2.1.2 + '@smithy/util-defaults-mode-node': 2.2.1 + '@smithy/util-endpoints': 1.1.2 + '@smithy/util-middleware': 2.1.2 + '@smithy/util-retry': 2.1.2 '@smithy/util-utf8': 2.1.1 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/client-sts@3.499.0(aws-crt@1.21.0): - resolution: {integrity: sha512-Eyj9STw2DXMtXL5V/v0HYHO6+JjGPi257M5IYyxwqlvRchq6jbOsedobfxclB/gBUyBRtZdnyAIS8uCKjb4kpA==} + /@aws-sdk/client-sso@3.521.0(aws-crt@1.21.1): + resolution: {integrity: sha512-aEx8kEvWmTwCja6hvIZd5PvxHsI1HQZkckXhw1UrkDPnfcAwQoQAgselI7D+PVT5qQDIjXRm0NpsvBLaLj6jZw==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.496.0 - '@aws-sdk/credential-provider-node': 3.499.0(aws-crt@1.21.0) - '@aws-sdk/middleware-host-header': 3.496.0 - '@aws-sdk/middleware-logger': 3.496.0 - '@aws-sdk/middleware-recursion-detection': 3.496.0 - '@aws-sdk/middleware-user-agent': 3.496.0 - '@aws-sdk/region-config-resolver': 3.496.0 - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-endpoints': 3.496.0 - '@aws-sdk/util-user-agent-browser': 3.496.0 - '@aws-sdk/util-user-agent-node': 3.496.0(aws-crt@1.21.0) - '@smithy/config-resolver': 2.1.1 - '@smithy/core': 1.3.1 - '@smithy/fetch-http-handler': 2.4.1 - '@smithy/hash-node': 2.1.1 - '@smithy/invalid-dependency': 2.1.1 - '@smithy/middleware-content-length': 2.1.1 - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/middleware-retry': 2.1.1 - '@smithy/middleware-serde': 2.1.1 - '@smithy/middleware-stack': 2.1.1 - '@smithy/node-config-provider': 2.2.1 - '@smithy/node-http-handler': 2.3.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/url-parser': 2.1.1 + '@aws-sdk/core': 3.521.0 + '@aws-sdk/middleware-host-header': 3.521.0 + '@aws-sdk/middleware-logger': 3.521.0 + '@aws-sdk/middleware-recursion-detection': 3.521.0 + '@aws-sdk/middleware-user-agent': 3.521.0 + '@aws-sdk/region-config-resolver': 3.521.0 + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-endpoints': 3.521.0 + '@aws-sdk/util-user-agent-browser': 3.521.0 + '@aws-sdk/util-user-agent-node': 3.521.0(aws-crt@1.21.1) + '@smithy/config-resolver': 2.1.2 + '@smithy/core': 1.3.3 + '@smithy/fetch-http-handler': 2.4.2 + '@smithy/hash-node': 2.1.2 + '@smithy/invalid-dependency': 2.1.2 + '@smithy/middleware-content-length': 2.1.2 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/middleware-retry': 2.1.2 + '@smithy/middleware-serde': 2.1.2 + '@smithy/middleware-stack': 2.1.2 + '@smithy/node-config-provider': 2.2.2 + '@smithy/node-http-handler': 2.4.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 '@smithy/util-base64': 2.1.1 '@smithy/util-body-length-browser': 2.1.1 '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.1 - '@smithy/util-defaults-mode-node': 2.1.1 - '@smithy/util-endpoints': 1.1.1 - '@smithy/util-middleware': 2.1.1 - '@smithy/util-retry': 2.1.1 + '@smithy/util-defaults-mode-browser': 2.1.2 + '@smithy/util-defaults-mode-node': 2.2.1 + '@smithy/util-endpoints': 1.1.2 + '@smithy/util-middleware': 2.1.2 + '@smithy/util-retry': 2.1.2 + '@smithy/util-utf8': 2.1.1 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: false + + /@aws-sdk/client-sts@3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1): + resolution: {integrity: sha512-f1J5NDbntcwIHJqhks89sQvk7UXPmN0X0BZ2mgpj6pWP+NlPqy+1t1bia8qRhEuNITaEigoq6rqe9xaf4FdY9A==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@aws-sdk/credential-provider-node': ^3.521.0 + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.521.0 + '@aws-sdk/credential-provider-node': 3.521.0(aws-crt@1.21.1) + '@aws-sdk/middleware-host-header': 3.521.0 + '@aws-sdk/middleware-logger': 3.521.0 + '@aws-sdk/middleware-recursion-detection': 3.521.0 + '@aws-sdk/middleware-user-agent': 3.521.0 + '@aws-sdk/region-config-resolver': 3.521.0 + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-endpoints': 3.521.0 + '@aws-sdk/util-user-agent-browser': 3.521.0 + '@aws-sdk/util-user-agent-node': 3.521.0(aws-crt@1.21.1) + '@smithy/config-resolver': 2.1.2 + '@smithy/core': 1.3.3 + '@smithy/fetch-http-handler': 2.4.2 + '@smithy/hash-node': 2.1.2 + '@smithy/invalid-dependency': 2.1.2 + '@smithy/middleware-content-length': 2.1.2 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/middleware-retry': 2.1.2 + '@smithy/middleware-serde': 2.1.2 + '@smithy/middleware-stack': 2.1.2 + '@smithy/node-config-provider': 2.2.2 + '@smithy/node-http-handler': 2.4.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 + '@smithy/util-base64': 2.1.1 + '@smithy/util-body-length-browser': 2.1.1 + '@smithy/util-body-length-node': 2.2.1 + '@smithy/util-defaults-mode-browser': 2.1.2 + '@smithy/util-defaults-mode-node': 2.2.1 + '@smithy/util-endpoints': 1.1.2 + '@smithy/util-middleware': 2.1.2 + '@smithy/util-retry': 2.1.2 '@smithy/util-utf8': 2.1.1 fast-xml-parser: 4.2.5 tslib: 2.6.2 @@ -1370,246 +1450,269 @@ packages: - aws-crt dev: false - /@aws-sdk/core@3.496.0: - resolution: {integrity: sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==} + /@aws-sdk/core@3.521.0: + resolution: {integrity: sha512-KovKmW7yg/P2HVG2dhV2DAJLyoeGelgsnSGHaktXo/josJ3vDGRNqqRSgVaqKFxnD98dPEMLrjkzZumNUNGvLw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/core': 1.3.1 - '@smithy/protocol-http': 3.1.1 + '@smithy/core': 1.3.3 + '@smithy/protocol-http': 3.2.0 '@smithy/signature-v4': 2.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-env@3.496.0: - resolution: {integrity: sha512-lukQMJ8SWWP5RqkRNOHi/H+WMhRvSWa3Fc5Jf/VP6xHiPLfF1XafcvthtV91e0VwPCiseI+HqChrcGq8pvnxHw==} + /@aws-sdk/credential-provider-env@3.521.0: + resolution: {integrity: sha512-OwblTJNdDAoqYVwcNfhlKDp5z+DINrjBfC6ZjNdlJpTXgxT3IqzuilTJTlydQ+2eG7aXfV9OwTVRQWdCmzFuKA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@smithy/property-provider': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-ini@3.496.0(aws-crt@1.21.0): - resolution: {integrity: sha512-2nD1jp1sIwcQaWK1y/9ruQOkW16RUxZpzgjbW/gnK3iiUXwx+/FNQWxshud+GTSx3Q4x6eIhqsbjtP4VVPPuUA==} + /@aws-sdk/credential-provider-http@3.521.0: + resolution: {integrity: sha512-yJM1yNGj2XFH8v6/ffWrFY5nC3/2+8qZ8c4mMMwZru8bYXeuSV4+NNfE59HUWvkAF7xP76u4gr4I8kNrMPTlfg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.496.0 - '@aws-sdk/credential-provider-process': 3.496.0 - '@aws-sdk/credential-provider-sso': 3.496.0(aws-crt@1.21.0) - '@aws-sdk/credential-provider-web-identity': 3.496.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 + '@smithy/fetch-http-handler': 2.4.2 + '@smithy/node-http-handler': 2.4.0 + '@smithy/property-provider': 2.1.1 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/util-stream': 2.1.2 + tslib: 2.6.2 + dev: false + + /@aws-sdk/credential-provider-ini@3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1): + resolution: {integrity: sha512-HuhP1AlKgvBBxUIwxL/2DsDemiuwgbz1APUNSeJhDBF6JyZuxR0NU8zEZkvH9b4ukTcmcKGABpY0Wex4rAh3xw==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/credential-provider-env': 3.521.0 + '@aws-sdk/credential-provider-process': 3.521.0 + '@aws-sdk/credential-provider-sso': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/credential-provider-web-identity': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/types': 3.521.0 '@smithy/credential-provider-imds': 2.2.1 '@smithy/property-provider': 2.1.1 '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' - aws-crt dev: false - /@aws-sdk/credential-provider-node@3.499.0(aws-crt@1.21.0): - resolution: {integrity: sha512-EsiSevVmcVSMIq7D9siSH/XVc5I0vMntg1rx6KQdng1Fq8X/RBL5t9wSWEwOl7KFo5HlEsWrLWIpo1WHuzIL/w==} + /@aws-sdk/credential-provider-node@3.521.0(aws-crt@1.21.1): + resolution: {integrity: sha512-N9SR4gWI10qh4V2myBcTw8IlX3QpsMMxa4Q8d/FHiAX6eNV7e6irXkXX8o7+J1gtCRy1AtBMqAdGsve4GVqYMQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.496.0 - '@aws-sdk/credential-provider-ini': 3.496.0(aws-crt@1.21.0) - '@aws-sdk/credential-provider-process': 3.496.0 - '@aws-sdk/credential-provider-sso': 3.496.0(aws-crt@1.21.0) - '@aws-sdk/credential-provider-web-identity': 3.496.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/credential-provider-env': 3.521.0 + '@aws-sdk/credential-provider-http': 3.521.0 + '@aws-sdk/credential-provider-ini': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/credential-provider-process': 3.521.0 + '@aws-sdk/credential-provider-sso': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/credential-provider-web-identity': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/types': 3.521.0 '@smithy/credential-provider-imds': 2.2.1 '@smithy/property-provider': 2.1.1 '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: false - /@aws-sdk/credential-provider-process@3.496.0: - resolution: {integrity: sha512-/YZscCTGOKVmGr916Th4XF8Sz6JDtZ/n2loHG9exok9iy/qIbACsTRNLP9zexPxhPoue/oZqecY5xbVljfY34A==} + /@aws-sdk/credential-provider-process@3.521.0: + resolution: {integrity: sha512-EcJjcrpdklxbRAFFgSLk6QGVtvnfZ80ItfZ47VL9LkhWcDAkQ1Oi0esHq+zOgvjb7VkCyD3Q9CyEwT6MlJsriA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@smithy/property-provider': 2.1.1 '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/credential-provider-sso@3.496.0(aws-crt@1.21.0): - resolution: {integrity: sha512-eP7GxpT2QYubSDG7uk1GJW4eNymZCq65IxDyEFCXOP/kfqkxriCY+iVEFG6/Mo3LxvgrgHXU4jxrCAXMAWN43g==} + /@aws-sdk/credential-provider-sso@3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1): + resolution: {integrity: sha512-GAfc0ji+fC2k9VngYM3zsS1J5ojfWg0WUOBzavvHzkhx/O3CqOt82Vfikg3PvemAp9yOgKPMaasTHVeipNLBBQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sso': 3.496.0(aws-crt@1.21.0) - '@aws-sdk/token-providers': 3.496.0(aws-crt@1.21.0) - '@aws-sdk/types': 3.496.0 + '@aws-sdk/client-sso': 3.521.0(aws-crt@1.21.1) + '@aws-sdk/token-providers': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/types': 3.521.0 '@smithy/property-provider': 2.1.1 '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' - aws-crt dev: false - /@aws-sdk/credential-provider-web-identity@3.496.0: - resolution: {integrity: sha512-IbP+qLlvJSpNPj+zW6TtFuLRTK5Tf0hW+2pom4vFyi5YSH4pn8UOC136UdewX8vhXGS9BJQ5zBDMasIyl5VeGQ==} + /@aws-sdk/credential-provider-web-identity@3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1): + resolution: {integrity: sha512-ZPPJqdbPOE4BkdrPrYBtsWg0Zy5b+GY1sbMWLQt0tcISgN5EIoePCS2pGNWnBUmBT+mibMQCVv9fOQpqzRkvAw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/client-sts': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/types': 3.521.0 '@smithy/property-provider': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt dev: false - /@aws-sdk/middleware-bucket-endpoint@3.496.0: - resolution: {integrity: sha512-B+ilBMSs3+LJuo2bl2KB8GFdu+8PPVtYEWtwhNkmnaU8iMisgMBp5uuM8sUDvJX7I4iSF0WbgnhguX4cJqfAew==} + /@aws-sdk/middleware-bucket-endpoint@3.521.0: + resolution: {integrity: sha512-wUPSpzeEGwAic5OJmXQGt1RCbt5KHighZ1ubUeNV67FMPsxaEW+Y0Kd+L0vbbFoQptIui2GqP5JxuROr6J7SjA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@aws-sdk/util-arn-parser': 3.495.0 - '@smithy/node-config-provider': 2.2.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@smithy/node-config-provider': 2.2.2 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 '@smithy/util-config-provider': 2.2.1 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-expect-continue@3.496.0: - resolution: {integrity: sha512-+exo5DVc+BeDus2iI6Fz1thefHGDXxUhHZ+4VHQ6HkStMy3Y22HugyEGHSQZmtRL86Hjr7dFbEWFsC47a2ItGA==} + /@aws-sdk/middleware-expect-continue@3.521.0: + resolution: {integrity: sha512-6NBaPS+1b1QbsbJ74KI9MkqWbj8rnY6uKNEo0wkxgA8Q6u0aTn/jV+jrn5ZemdYmfS/y/VbaoY/hE+/QNp5vUw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-flexible-checksums@3.496.0: - resolution: {integrity: sha512-yQIWfjEMvgsAJ7ku224vXDjXPD+f9zfKZFialJva8VUlEr7hQp4CQ0rxV3YThSaixKEDDs5k6kOjWAd2BPGr2A==} + /@aws-sdk/middleware-flexible-checksums@3.521.0: + resolution: {integrity: sha512-sWNN0wtdwImO2QqN4J1YVTpDhdii6Tp5p8jCkCE1Qe+afQ5u52PeRAS/9U56cJnqM5JLabO4kE10Mm5rufNs2A==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@smithy/is-array-buffer': 2.1.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 '@smithy/util-utf8': 2.1.1 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-host-header@3.496.0: - resolution: {integrity: sha512-jUdPpSJeqCYXf6hSjfwsfHway7peIV8Vz51w/BN91bF4vB/bYwAC5o9/iJiK/EoByp5asxA8fg9wFOyGjzdbLg==} + /@aws-sdk/middleware-host-header@3.521.0: + resolution: {integrity: sha512-Bc4stnMtVAdqosYI1wedFK9tffclCuwpOK/JA4bxbnvSyP1kz4s1HBVT9OOMzdLRLWLwVj/RslXKfSbzOUP7ug==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-location-constraint@3.496.0: - resolution: {integrity: sha512-i4ocJ2Zs86OtPREbB18InFukhqg2qtBxb5gywv79IHDPVmpOYE4m/3v3yGUrkjfF2GTlUL0k5FskNNqw41yfng==} + /@aws-sdk/middleware-location-constraint@3.521.0: + resolution: {integrity: sha512-XlGst6F3+20mhMVk+te7w8Yvrm9i9JGpgRdxdMN1pnXtGn/aAKF9lFFm4bOu47PR/XHun2PLmKlLnlZd7NAP2Q==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-logger@3.496.0: - resolution: {integrity: sha512-EwMVSY6iBMeGbVnvwdaFl/ClMS/YWtxCAo+bcEtgk8ltRuo7qgbJem8Km/fvWC1vdWvIbe4ArdJ8iGzq62ffAw==} + /@aws-sdk/middleware-logger@3.521.0: + resolution: {integrity: sha512-JJ4nyYvLu3RyyNHo74Rlx6WKxJsAixWCEnnFb6IGRUHvsG+xBGU7HF5koY2log8BqlDLrt4ZUaV/CGy5Dp8Mfg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-recursion-detection@3.496.0: - resolution: {integrity: sha512-+IuOcFsfqg2WAnaEzH6KhVbicqCxtOq9w3DH2jwTpddRlCx2Kqf6wCzg8luhHRGyjBZdsbIS+OXwyMevoppawA==} + /@aws-sdk/middleware-recursion-detection@3.521.0: + resolution: {integrity: sha512-1m5AsC55liTlaYMjc4pIQfjfBHG9LpWgubSl4uUxJSdI++zdA/SRBwXl40p7Ac/y5esweluhWabyiv1g/W4+Xg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-sdk-s3@3.499.0: - resolution: {integrity: sha512-thTb47U1hYHk5ei+yO0D0aehbgQXeAcgvyyxOID9/HDuRfWuTvKdclWh/goIeDfvSS87VBukEAjnCa5JYBwzug==} + /@aws-sdk/middleware-sdk-s3@3.521.0: + resolution: {integrity: sha512-aDeOScfzGGHZ7oEDx+EPzz+JVa8/B88CPeDRaDmO5dFNv2/5PFumHfh0gc6XFl4nJWPPOrJyZ1UYU/9VdDfSyQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@aws-sdk/util-arn-parser': 3.495.0 - '@smithy/node-config-provider': 2.2.1 - '@smithy/protocol-http': 3.1.1 + '@smithy/node-config-provider': 2.2.2 + '@smithy/protocol-http': 3.2.0 '@smithy/signature-v4': 2.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 '@smithy/util-config-provider': 2.2.1 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-signing@3.496.0: - resolution: {integrity: sha512-Oq73Brs4IConvWnRlh8jM1V7LHoTw9SVQklu/QW2FPlNrB3B8fuTdWHHYIWv7ybw1bykXoCY99v865Mmq/Or/g==} + /@aws-sdk/middleware-signing@3.521.0: + resolution: {integrity: sha512-OW1jKeN6Eh3/OItXBtyNRFOv1MuZQBeHpEbywgYwtaqxTGxm9gFj//9wFsCXK4zg1+ghun8iC0buNbyOvCUf9A==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 + '@aws-sdk/types': 3.521.0 '@smithy/property-provider': 2.1.1 - '@smithy/protocol-http': 3.1.1 + '@smithy/protocol-http': 3.2.0 '@smithy/signature-v4': 2.1.1 - '@smithy/types': 2.9.1 - '@smithy/util-middleware': 2.1.1 + '@smithy/types': 2.10.0 + '@smithy/util-middleware': 2.1.2 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-ssec@3.498.0: - resolution: {integrity: sha512-sWujXgzeTqMZzj/pRYEnnEbSzhBosqw9DXHOY1Mg2igI9NEfGlB7lPARp6aKmCaYlP3Bcj2X86vKCqF53mbyig==} + /@aws-sdk/middleware-ssec@3.521.0: + resolution: {integrity: sha512-O9vlns8bFxkZA71CyjQbiB2tm3v+925C37Z3wzn9sj2x0FTB3njgSR23w05d8HP2ve1GPuqoVD0T0pa+jG0Zbw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/middleware-user-agent@3.496.0: - resolution: {integrity: sha512-+iMtRxFk0GmFWNUF4ilxylOQd9PZdR4ZC9jkcPIh1PZlvKtpCyFywKlk5RRZKklSoJ/CttcqwhMvOXTNbWm/0w==} + /@aws-sdk/middleware-user-agent@3.521.0: + resolution: {integrity: sha512-+hmQjWDG93wCcJn5QY2MkzAL1aG5wl3FJ/ud2nQOu/Gx7d4QVT/B6VJwoG6GSPVuVPZwzne5n9zPVst6RmWJGA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-endpoints': 3.496.0 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-endpoints': 3.521.0 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/region-config-resolver@3.496.0: - resolution: {integrity: sha512-URrNVOPHPgEDm6QFu6lDC2cUFs+Jx23mA3jEwCvoKlXiEY/ZoWjH8wlX3OMUlLrF1qoUTuD03jjrJzF6zoCgug==} + /@aws-sdk/region-config-resolver@3.521.0: + resolution: {integrity: sha512-eC2T62nFgQva9Q0Sqoc9xsYyyH9EN2rJtmUKkWsBMf77atpmajAYRl5B/DzLwGHlXGsgVK2tJdU5wnmpQCEwEQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/node-config-provider': 2.2.1 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/node-config-provider': 2.2.2 + '@smithy/types': 2.10.0 '@smithy/util-config-provider': 2.2.1 - '@smithy/util-middleware': 2.1.1 + '@smithy/util-middleware': 2.1.2 tslib: 2.6.2 dev: false - /@aws-sdk/s3-presigned-post@3.499.0(aws-crt@1.21.0): - resolution: {integrity: sha512-tyuQO6FJAfKfJ0GUcTIZVW1MWy8OdJ6MW5wbl0v/XjZTx2Aw0/0v0BYEeI3srBrBcVkYf00XOMZsi+ET+QWstA==} + /@aws-sdk/s3-presigned-post@3.521.0(aws-crt@1.21.1): + resolution: {integrity: sha512-VMft45zytd0vVGw7ooAMbMU6OgSBgfXChnySh0hhzC6c/Jo1gjhIwDY+d1ORP8rNke8//UgN9QEHVrQVCJz/sw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-s3': 3.499.0(aws-crt@1.21.0) - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-format-url': 3.496.0 - '@smithy/middleware-endpoint': 2.4.1 + '@aws-sdk/client-s3': 3.521.0(aws-crt@1.21.1) + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-format-url': 3.521.0 + '@smithy/middleware-endpoint': 2.4.2 '@smithy/signature-v4': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 '@smithy/util-hex-encoding': 2.1.1 '@smithy/util-utf8': 2.1.1 tslib: 2.6.2 @@ -1617,82 +1720,52 @@ packages: - aws-crt dev: false - /@aws-sdk/s3-request-presigner@3.499.0: - resolution: {integrity: sha512-4Hi9FUnASXA/7zHGGD4Wtmb6ynoK4r2VFYTPnFmoM12PL4BD4DLGcHGZkM0APBgiPEKnxQfWPXK6xgl3MigXDA==} + /@aws-sdk/s3-request-presigner@3.521.0: + resolution: {integrity: sha512-H44naGH2gGPfTC2159wq2MYHA90P0XsSPfT/3gg8xD9mNl59Ylw+S0oQTChlxbHUAxyFI44CVjOUHuUBuugGgA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/signature-v4-multi-region': 3.499.0 - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-format-url': 3.496.0 - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 + '@aws-sdk/signature-v4-multi-region': 3.521.0 + '@aws-sdk/types': 3.521.0 + '@aws-sdk/util-format-url': 3.521.0 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/signature-v4-multi-region@3.499.0: - resolution: {integrity: sha512-8HSFnZErRm7lAfk+Epxrf4QNdQEamg1CnbLybtKQQEjmvxLuXYvj16KlpYEZIwEENOMEvnCqMc7syTPkmjVhJA==} + /@aws-sdk/signature-v4-multi-region@3.521.0: + resolution: {integrity: sha512-JVMGQEE6+MQ5Enc/NDQNw8cmy/soALH/Ky00SVQvrfb9ec4H40eDQbbn/d7lua52UCcvUv1w+Ppk00WzbqDAcQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/middleware-sdk-s3': 3.499.0 - '@aws-sdk/types': 3.496.0 - '@smithy/protocol-http': 3.1.1 + '@aws-sdk/middleware-sdk-s3': 3.521.0 + '@aws-sdk/types': 3.521.0 + '@smithy/protocol-http': 3.2.0 '@smithy/signature-v4': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@aws-sdk/token-providers@3.496.0(aws-crt@1.21.0): - resolution: {integrity: sha512-fyi8RcObEa1jNETJdc2H6q9VHrrdKCj/b6+fbLvymb7mUVRd0aWUn+24SNUImnSOnrwYnwaMfyyEC388X4MbFQ==} + /@aws-sdk/token-providers@3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1): + resolution: {integrity: sha512-63XxPOn13j87yPWKm6UXOPdMZIMyEyCDJzmlxnIACP8m20S/c6b8xLJ4fE/PUlD0MTKxpFeQbandq5OhnLsWSQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/middleware-host-header': 3.496.0 - '@aws-sdk/middleware-logger': 3.496.0 - '@aws-sdk/middleware-recursion-detection': 3.496.0 - '@aws-sdk/middleware-user-agent': 3.496.0 - '@aws-sdk/region-config-resolver': 3.496.0 - '@aws-sdk/types': 3.496.0 - '@aws-sdk/util-endpoints': 3.496.0 - '@aws-sdk/util-user-agent-browser': 3.496.0 - '@aws-sdk/util-user-agent-node': 3.496.0(aws-crt@1.21.0) - '@smithy/config-resolver': 2.1.1 - '@smithy/fetch-http-handler': 2.4.1 - '@smithy/hash-node': 2.1.1 - '@smithy/invalid-dependency': 2.1.1 - '@smithy/middleware-content-length': 2.1.1 - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/middleware-retry': 2.1.1 - '@smithy/middleware-serde': 2.1.1 - '@smithy/middleware-stack': 2.1.1 - '@smithy/node-config-provider': 2.2.1 - '@smithy/node-http-handler': 2.3.1 + '@aws-sdk/client-sso-oidc': 3.521.0(@aws-sdk/credential-provider-node@3.521.0)(aws-crt@1.21.1) + '@aws-sdk/types': 3.521.0 '@smithy/property-provider': 2.1.1 - '@smithy/protocol-http': 3.1.1 '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/url-parser': 2.1.1 - '@smithy/util-base64': 2.1.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.1 - '@smithy/util-defaults-mode-browser': 2.1.1 - '@smithy/util-defaults-mode-node': 2.1.1 - '@smithy/util-endpoints': 1.1.1 - '@smithy/util-retry': 2.1.1 - '@smithy/util-utf8': 2.1.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' - aws-crt dev: false - /@aws-sdk/types@3.496.0: - resolution: {integrity: sha512-umkGadK4QuNQaMoDICMm7NKRI/mYSXiyPjcn3d53BhsuArYU/52CebGQKdt4At7SwwsiVJZw9RNBHyN5Mm0HVw==} + /@aws-sdk/types@3.521.0: + resolution: {integrity: sha512-H9I3Lut0F9d+kTibrhnTRqDRzhxf/vrDu12FUdTXVZEvVAQ7w9yrVHAZx8j2e8GWegetsQsNitO3KMrj4dA4pw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -1703,23 +1776,23 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/util-endpoints@3.496.0: - resolution: {integrity: sha512-1QzOiWHi383ZwqSi/R2KgKCd7M+6DxkxI5acqLPm8mvDRDP2jRjrnVaC0g9/tlttWousGEemDUWStwrD2mVYSw==} + /@aws-sdk/util-endpoints@3.521.0: + resolution: {integrity: sha512-lO5+1LeAZycDqgNjQyZdPSdXFQKXaW5bRuQ3UIT3bOCcUAbDI0BYXlPm1huPNTCEkI9ItnDCbISbV0uF901VXw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/types': 2.9.1 - '@smithy/util-endpoints': 1.1.1 + '@aws-sdk/types': 3.521.0 + '@smithy/types': 2.10.0 + '@smithy/util-endpoints': 1.1.2 tslib: 2.6.2 dev: false - /@aws-sdk/util-format-url@3.496.0: - resolution: {integrity: sha512-GYRqLEUVoIkD8+ULliODFWWRHGyjlanLCnj8faahZXUke6Ey32MG40RgPTu/2eFkUyS6U7sVdt7oLY8MIHShPQ==} + /@aws-sdk/util-format-url@3.521.0: + resolution: {integrity: sha512-lKERTlx3prKcZynMioubjpZWY5+t6o916MhExAo9+twiTKv1r8dWYH+k/jLMViEcYtPiM9Ces9NX1sTJhzk/yQ==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/querystring-builder': 2.1.1 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/querystring-builder': 2.1.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -1730,17 +1803,17 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-browser@3.496.0: - resolution: {integrity: sha512-4j2spN+h0I0qfSMsGvJXTfQBu1e18rPdekKvzsGJxhaAE1tNgUfUT4nbvc5uVn0sNjZmirskmJ3kfbzVOrqIFg==} + /@aws-sdk/util-user-agent-browser@3.521.0: + resolution: {integrity: sha512-2t3uW6AXOvJ5iiI1JG9zPqKQDc/TRFa+v13aqT5KKw9h3WHFyRUpd4sFQL6Ul0urrq2Zg9cG4NHBkei3k9lsHA==} dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/types': 2.9.1 + '@aws-sdk/types': 3.521.0 + '@smithy/types': 2.10.0 bowser: 2.11.0 tslib: 2.6.2 dev: false - /@aws-sdk/util-user-agent-node@3.496.0(aws-crt@1.21.0): - resolution: {integrity: sha512-h0Ax0jlDc7UIo3KoSI4C4tVLBFoiAdx3+DhTVfgLS7x93d41dMlziPoBX2RgdcFn37qnzw6AQKTVTMwDbRCGpg==} + /@aws-sdk/util-user-agent-node@3.521.0(aws-crt@1.21.1): + resolution: {integrity: sha512-g4KMEiyLc8DG21eMrp6fJUdfQ9F0fxfCNMDRgf0SE/pWI/u4vuWR2n8obLwq1pMVx7Ksva1NO3dc+a3Rgr0hag==} engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -1748,10 +1821,10 @@ packages: aws-crt: optional: true dependencies: - '@aws-sdk/types': 3.496.0 - '@smithy/node-config-provider': 2.2.1 - '@smithy/types': 2.9.1 - aws-crt: 1.21.0 + '@aws-sdk/types': 3.521.0 + '@smithy/node-config-provider': 2.2.2 + '@smithy/types': 2.10.0 + aws-crt: 1.21.1 tslib: 2.6.2 dev: false @@ -1761,11 +1834,11 @@ packages: tslib: 2.6.2 dev: false - /@aws-sdk/xml-builder@3.496.0: - resolution: {integrity: sha512-GvEjh537IIeOw1ZkZuB37sV12u+ipS5Z1dwjEC/HAvhl5ac23ULtTr1/n+U1gLNN+BAKSWjKiQ2ksj8DiUzeyw==} + /@aws-sdk/xml-builder@3.521.0: + resolution: {integrity: sha512-ahaG39sgpBN/UOKzOW9Ey6Iuy6tK8vh2D+/tsLFLQ59PXoCvU06xg++TGXKpxsYMJGIzBvZMDC1aBhGmm/HsaA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -1779,6 +1852,7 @@ packages: /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} + dev: true /@babel/core@7.23.6: resolution: {integrity: sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==} @@ -1803,20 +1877,20 @@ packages: - supports-color dev: true - /@babel/core@7.23.7: - resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + /@babel/core@7.23.9: + resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) - '@babel/helpers': 7.23.7 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1824,6 +1898,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true /@babel/generator@7.17.7: resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} @@ -1838,10 +1913,11 @@ packages: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 + dev: true /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} @@ -1866,43 +1942,44 @@ packages: browserslist: 4.22.2 lru-cache: 5.1.1 semver: 6.3.1 + dev: true - /@babel/helper-create-class-features-plugin@7.23.6(@babel/core@7.23.7): + /@babel/helper-create-class-features-plugin@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7): - resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} + /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 @@ -1915,6 +1992,7 @@ packages: /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} @@ -1922,12 +2000,14 @@ packages: dependencies: '@babel/template': 7.22.15 '@babel/types': 7.23.6 + dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.6 + dev: true /@babel/helper-member-expression-to-functions@7.23.0: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} @@ -1941,6 +2021,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.6 + dev: true /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.6): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} @@ -1956,18 +2037,19 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 + dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} @@ -1981,25 +2063,25 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: true - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -2010,6 +2092,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.6 + dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} @@ -2023,10 +2106,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.6 + dev: true /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} @@ -2035,6 +2120,7 @@ packages: /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-wrap-function@7.22.20: resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} @@ -2056,15 +2142,16 @@ packages: - supports-color dev: true - /@babel/helpers@7.23.7: - resolution: {integrity: sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==} + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color + dev: true /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} @@ -2080,672 +2167,672 @@ packages: hasBin: true dependencies: '@babel/types': 7.23.6 + dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) dev: true - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.7): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7): - resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} + /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.7): + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 dev: true - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7): + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: true - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) dev: true /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.6): @@ -2758,13 +2845,13 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -2778,272 +2865,272 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) '@babel/types': 7.23.6 dev: true - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: true - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.7): + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.23.6(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) dev: true - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/preset-env@7.23.8(@babel/core@7.23.7): - resolution: {integrity: sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==} + /@babel/preset-env@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.7) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.7) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7) - babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7) - babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7) - babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) core-js-compat: 3.34.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/types': 7.23.6 esutils: 2.0.3 dev: true - /@babel/preset-typescript@7.23.3(@babel/core@7.23.7): + /@babel/preset-typescript@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.7) + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) dev: true /@babel/regjsgen@0.8.0: @@ -3069,6 +3156,16 @@ packages: '@babel/code-frame': 7.23.5 '@babel/parser': 7.23.6 '@babel/types': 7.23.6 + dev: true + + /@babel/template@7.23.9: + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + dev: true /@babel/traverse@7.23.2: resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} @@ -3122,6 +3219,25 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: true + + /@babel/traverse@7.23.9: + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true /@babel/types@7.17.0: resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} @@ -3138,17 +3254,28 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true /@base2/pretty-print-object@1.0.1: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@calcom/embed-core@1.3.2: resolution: {integrity: sha512-qxVfWpmPcYN5hTnwoKTP9QAlhEAHy4TFh+Xu+IoCnJma/uI2BjqsUWJ0BXsmm0m8sTFthaBkGiFomS1LeMYO+Q==} + dev: false + + /@calcom/embed-core@1.3.3: + resolution: {integrity: sha512-bz7S9cvz1JMVWFcJI+dvoOQd5F63YzdQ5gOp1vunob5idje7PoYfiTf6ncMSVeX6vsrJA1oVFD07JMxuYt/d+A==} + dev: true /@calcom/embed-react@1.3.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NbqkLd6J+VUy8jILY4GI1HEXRv3pZk1wnmL3CRrouB2y7pU5sV1qPjkgy+hwCRlYJJGiAIrspXkI/czMsfHxRQ==} @@ -3166,6 +3293,13 @@ packages: resolution: {integrity: sha512-UKz4BRyxWLPfCIr7FfZP2Aa8w3ZMXcfwc3frCjNfWphJvJjaCLi0nAUBXFx6ooIPhVkbzvelnkllbqigZRZPiA==} dependencies: '@calcom/embed-core': 1.3.2 + dev: false + + /@calcom/embed-snippet@1.1.3: + resolution: {integrity: sha512-whtpkc54btyIIDfCXsCP7BN8wE3GGgh8cTX5JiprvbcHaej+OEUcuMuhMcLlBersMADwGENpFrlB6AhSJfEA/Q==} + dependencies: + '@calcom/embed-core': 1.3.3 + dev: true /@changesets/apply-release-plan@7.0.0: resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} @@ -3365,7 +3499,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.22.0)(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -3385,7 +3519,7 @@ packages: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0)(search-insights@2.13.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.0)(algoliasearch@4.22.0) '@docsearch/css': 3.5.2 - '@types/react': 18.2.48 + '@types/react': 18.2.58 algoliasearch: 4.22.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3814,13 +3948,13 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: @@ -3843,8 +3977,8 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@floating-ui/core@1.5.2: @@ -3929,11 +4063,11 @@ packages: - utf-8-validate dev: false - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -3943,8 +4077,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} /@img/sharp-darwin-arm64@0.33.1: resolution: {integrity: sha512-esr2BZ1x0bo+wl7Gx2hjssYhjrhUsD88VQulI0FrG8/otRQUOxLWHMBd1Y1qo2Gfg2KUvXNpT0ASnV9BzJCexw==} @@ -4349,149 +4483,6 @@ packages: engines: {node: '>=8'} dev: true - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - chalk: 4.1.2 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - dev: true - - /@jest/core@29.7.0(ts-node@10.9.2): - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - dev: true - - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - jest-mock: 29.7.0 - dev: true - - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - dev: true - - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - expect: 29.7.0 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.11.6 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/types': 29.6.3 - jest-mock: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.11.6 - chalk: 4.1.2 - collect-v8-coverage: 1.0.2 - exit: 0.1.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.1 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.6 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - jest-worker: 29.7.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - v8-to-istanbul: 9.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4499,40 +4490,11 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jridgewell/trace-mapping': 0.3.20 - callsites: 3.1.0 - graceful-fs: 4.2.11 - dev: true - - /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.7.0 - '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.2 - dev: true - - /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - slash: 3.0.0 - dev: true - /@jest/transform@29.7.0: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.20 babel-plugin-istanbul: 6.1.1 @@ -4557,7 +4519,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.6 + '@types/node': 20.11.20 '@types/yargs': 16.0.9 chalk: 4.1.2 dev: true @@ -4569,7 +4531,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.6 + '@types/node': 20.11.20 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -4588,7 +4550,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.3.3) typescript: 5.3.3 - vite: 5.0.12(terser@5.27.0) + vite: 5.0.12 dev: true /@jridgewell/gen-mapping@0.3.3: @@ -4650,163 +4612,163 @@ packages: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} dev: true - /@lexical/clipboard@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-ATo8t4SVMqkTpDqL3nU/eR8t0RGOsCwZvyRy307S2Rrs8IB4uHuFlRPCSQjRUnvFlMQ9WuRRP/ECbPK/IgB7Lg==} + /@lexical/clipboard@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-gMSbVeqb7S+XAi/EMMlwl+FCurLPugN2jAXcp5k5ZaUd7be8B+iupbYdoKkjt4qBhxmvmfe9k46GoC0QOPl/nw==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/html': 0.13.0(lexical@0.13.0) - '@lexical/list': 0.13.0(lexical@0.13.0) - '@lexical/selection': 0.13.0(lexical@0.13.0) - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/html': 0.13.1(lexical@0.13.1) + '@lexical/list': 0.13.1(lexical@0.13.1) + '@lexical/selection': 0.13.1(lexical@0.13.1) + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/code@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-/51tYsMqVMTREGW81jwU2W5RTLeNFFKa+i7G4LNDfoDP5lRdWPRbmrkYJl+AYxFQmASZ9fROmknRLh5nETvYQw==} + /@lexical/code@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-QK77r3QgEtJy96ahYXNgpve8EY64BQgBSnPDOuqVrLdl92nPzjqzlsko2OZldlrt7gjXcfl9nqfhZ/CAhStfOg==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 prismjs: 1.29.0 dev: false - /@lexical/dragon@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-lSwskLl4FbuC5juX+r+PHJC0xLaqN6XA1VLaf2Ch4i0PzngH7YaYFwNUJOm0RpZT23mjeLTmro3D4dSgfqAg6w==} + /@lexical/dragon@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-aNlqfif4//jW7gOxbBgdrbDovU6m3EwQrUw+Y/vqRkY+sWmloyAUeNwCPH1QP3Q5cvfolzOeN5igfBljsFr+1g==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - lexical: 0.13.0 + lexical: 0.13.1 dev: false - /@lexical/hashtag@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-lYmB4IMVJyTRZQc0bBPxnYu4unW2l2AALYzoImuDT/z964igBRo3+dWPKimV62dmPuW97q7jtG15AwLT5GvT1w==} + /@lexical/hashtag@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-Dl0dUG4ZXNjYYuAUR0GMGpLGsA+cps2/ln3xEmy28bZR0sKkjXugsu2QOIxZjYIPBewDrXzPcvK8md45cMYoSg==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/history@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-tKanTN40VR19Ag9yPpU+0wuTdk2HtpXKesHdA3BXi9EAquAPQ/hOjpHjKpIP+eQ1dXo3mk4XUZ0ur732RkuJ3g==} + /@lexical/history@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-cZXt30MalEEiRaflE9tHeGYnwT1xSDjXLsf9M409DSU9POJyZ1fsULJrG1tWv2uFQOhwal33rve9+MatUlITrg==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/html@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-9Ztv8g2utjPLzhVR2KBl1TPvNDi04WlJH6DpqZ+AkEJA+4XgUI012F2aXHRlSJ8PyyB4dhSqiQCnbGungQ0xnw==} + /@lexical/html@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-XkZrnCSHIUavtpMol6aG8YsJ5KqC9hMxEhAENf3HTGi3ocysCByyXOyt1EhEYpjJvgDG4wRqt25xGDbLjj1/sA==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/selection': 0.13.0(lexical@0.13.0) - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/selection': 0.13.1(lexical@0.13.1) + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/link@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-zPravsVkkc1YSdFeAatPeymnDJP4fYzEeXgo91GcfOYR2YJLmcoBgfpK3hPbpd4bsjMQCzUcwU2dQpyKq3EuCA==} + /@lexical/link@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-7E3B2juL2UoMj2n+CiyFZ7tlpsdViAoIE7MpegXwfe/VQ66wFwk/VxGTa/69ng2EoF7E0kh+SldvGQDrWAWb1g==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/list@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-WZGAu3W2m0C0+kcV9x/uUxVXFxj/6VoflET8rXY6AN6IK5YGQOoZHw8oGMdF3rZEK/YvbAymlFq+aiNIgrOjWg==} + /@lexical/list@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-6U1pmNZcKLuOWiWRML8Raf9zSEuUCMlsOye82niyF6I0rpPgYo5UFghAAbGISDsyqzM1B2L4BgJ6XrCk/dJptg==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/mark@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-Kbh2KwiB0bKWo0MPRxoNXjqayXtwkN+LJbzKV+Cqgaj4KdCZ1YHJyi2tslnar5MrdbUw0cMzvHZvlIJ01SP31w==} + /@lexical/mark@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-dW27PW8wWDOKFqXTBUuUfV+umU0KfwvXGkPUAxRJrvwUWk5RKaS48LhgbNlQ5BfT84Q8dSiQzvbaa6T40t9a3A==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/markdown@0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(lexical@0.13.0): - resolution: {integrity: sha512-a4r/ZKY/GvnkR2tRPJagmrb0wzH34MrKWUIfnp2LpvWzzcT7qPVqc/kKVdx2MYfGhtKMR829r6aTKo4h4eiA/Q==} + /@lexical/markdown@0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(lexical@0.13.1): + resolution: {integrity: sha512-6tbdme2h5Zy/M88loVQVH5G0Nt7VMR9UUkyiSaicyBRDOU2OHacaXEp+KSS/XuF+d7TA+v/SzyDq8HS77cO1wA==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/code': 0.13.0(lexical@0.13.0) - '@lexical/link': 0.13.0(lexical@0.13.0) - '@lexical/list': 0.13.0(lexical@0.13.0) - '@lexical/rich-text': 0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(@lexical/utils@0.13.0)(lexical@0.13.0) - '@lexical/text': 0.13.0(lexical@0.13.0) - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/code': 0.13.1(lexical@0.13.1) + '@lexical/link': 0.13.1(lexical@0.13.1) + '@lexical/list': 0.13.1(lexical@0.13.1) + '@lexical/rich-text': 0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(@lexical/utils@0.13.1)(lexical@0.13.1) + '@lexical/text': 0.13.1(lexical@0.13.1) + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 transitivePeerDependencies: - '@lexical/clipboard' - '@lexical/selection' dev: false - /@lexical/offset@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-RXh9yFwnytf+CBhLYeRSSx85Uz+JqSIKsEbhMkeqKp3Y8sNBOF8a0snnB22zG9JJRo1xJuma7fvw/dINKDYqRA==} + /@lexical/offset@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-j/RZcztJ7dyTrfA2+C3yXDzWDXV+XmMpD5BYeQCEApaHvlo20PHt1BISk7RcrnQW8PdzGvpKblRWf//c08LS9w==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - lexical: 0.13.0 + lexical: 0.13.1 dev: false - /@lexical/overflow@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-igYK4WRNwqjZ5D7ySKGpXHkHPITYiUkDIBIm7w5d0aI1HqqPrj3eDyvG1BZyeSCGe3S/Gkm4QXxA3I46tFwDbA==} + /@lexical/overflow@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-Uw34j+qG2UJRCIR+bykfFMduFk7Pc4r/kNt8N1rjxGuGXAsreTVch1iOhu7Ev6tJgkURsduKuaJCAi7iHnKl7g==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - lexical: 0.13.0 + lexical: 0.13.1 dev: false - /@lexical/plain-text@0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(@lexical/utils@0.13.0)(lexical@0.13.0): - resolution: {integrity: sha512-LiENp6KPjVrX5x4aKgqfXq6mY3AdVERvnxi6atkI01nkIzHHgcp2Hgw3FMj2LXLYi5DQgN2+4iNG4l9YYURoCQ==} + /@lexical/plain-text@0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(@lexical/utils@0.13.1)(lexical@0.13.1): + resolution: {integrity: sha512-4j5KAsMKUvJ8LhVDSS4zczbYXzdfmgYSAVhmqpSnJtud425Nk0TAfpUBLFoivxZB7KMoT1LGWQZvd47IvJPvtA==} peerDependencies: - '@lexical/clipboard': 0.13.0 - '@lexical/selection': 0.13.0 - '@lexical/utils': 0.13.0 - lexical: 0.13.0 + '@lexical/clipboard': 0.13.1 + '@lexical/selection': 0.13.1 + '@lexical/utils': 0.13.1 + lexical: 0.13.1 dependencies: - '@lexical/clipboard': 0.13.0(lexical@0.13.0) - '@lexical/selection': 0.13.0(lexical@0.13.0) - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/clipboard': 0.13.1(lexical@0.13.1) + '@lexical/selection': 0.13.1(lexical@0.13.1) + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/react@0.13.0(lexical@0.13.0)(react-dom@18.2.0)(react@18.2.0)(yjs@13.6.10): - resolution: {integrity: sha512-UPkt9TgiCvEJWlBvg2c3B9cZ8jt8JKUydLrBB+46d6neGWzv4VMd4SJOu/qFMOIahoNNcGIkV/n6vC54pZOm5A==} + /@lexical/react@0.13.1(lexical@0.13.1)(react-dom@18.2.0)(react@18.2.0)(yjs@13.6.10): + resolution: {integrity: sha512-Sy6EL230KAb0RZsZf1dZrRrc3+rvCDQWltcd8C/cqBUYlxsLYCW9s4f3RB2werngD/PtLYbBB48SYXNkIALITA==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 react: '>=17.x' react-dom: '>=17.x' dependencies: - '@lexical/clipboard': 0.13.0(lexical@0.13.0) - '@lexical/code': 0.13.0(lexical@0.13.0) - '@lexical/dragon': 0.13.0(lexical@0.13.0) - '@lexical/hashtag': 0.13.0(lexical@0.13.0) - '@lexical/history': 0.13.0(lexical@0.13.0) - '@lexical/link': 0.13.0(lexical@0.13.0) - '@lexical/list': 0.13.0(lexical@0.13.0) - '@lexical/mark': 0.13.0(lexical@0.13.0) - '@lexical/markdown': 0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(lexical@0.13.0) - '@lexical/overflow': 0.13.0(lexical@0.13.0) - '@lexical/plain-text': 0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(@lexical/utils@0.13.0)(lexical@0.13.0) - '@lexical/rich-text': 0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(@lexical/utils@0.13.0)(lexical@0.13.0) - '@lexical/selection': 0.13.0(lexical@0.13.0) - '@lexical/table': 0.13.0(lexical@0.13.0) - '@lexical/text': 0.13.0(lexical@0.13.0) - '@lexical/utils': 0.13.0(lexical@0.13.0) - '@lexical/yjs': 0.13.0(lexical@0.13.0)(yjs@13.6.10) - lexical: 0.13.0 + '@lexical/clipboard': 0.13.1(lexical@0.13.1) + '@lexical/code': 0.13.1(lexical@0.13.1) + '@lexical/dragon': 0.13.1(lexical@0.13.1) + '@lexical/hashtag': 0.13.1(lexical@0.13.1) + '@lexical/history': 0.13.1(lexical@0.13.1) + '@lexical/link': 0.13.1(lexical@0.13.1) + '@lexical/list': 0.13.1(lexical@0.13.1) + '@lexical/mark': 0.13.1(lexical@0.13.1) + '@lexical/markdown': 0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(lexical@0.13.1) + '@lexical/overflow': 0.13.1(lexical@0.13.1) + '@lexical/plain-text': 0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(@lexical/utils@0.13.1)(lexical@0.13.1) + '@lexical/rich-text': 0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(@lexical/utils@0.13.1)(lexical@0.13.1) + '@lexical/selection': 0.13.1(lexical@0.13.1) + '@lexical/table': 0.13.1(lexical@0.13.1) + '@lexical/text': 0.13.1(lexical@0.13.1) + '@lexical/utils': 0.13.1(lexical@0.13.1) + '@lexical/yjs': 0.13.1(lexical@0.13.1)(yjs@13.6.10) + lexical: 0.13.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-error-boundary: 3.1.4(react@18.2.0) @@ -4814,64 +4776,64 @@ packages: - yjs dev: false - /@lexical/rich-text@0.13.0(@lexical/clipboard@0.13.0)(@lexical/selection@0.13.0)(@lexical/utils@0.13.0)(lexical@0.13.0): - resolution: {integrity: sha512-eQsykl2WCR45UyNV96VxAtBUgei4ZpwtuMAUnwXKTAWqnHw3HlOs9P6cm11kWwhzif3ge7GB9ptCDekbjlxN7Q==} + /@lexical/rich-text@0.13.1(@lexical/clipboard@0.13.1)(@lexical/selection@0.13.1)(@lexical/utils@0.13.1)(lexical@0.13.1): + resolution: {integrity: sha512-HliB9Ync06mv9DBg/5j0lIsTJp+exLHlaLJe+n8Zq1QNTzZzu2LsIT/Crquk50In7K/cjtlaQ/d5RB0LkjMHYg==} peerDependencies: - '@lexical/clipboard': 0.13.0 - '@lexical/selection': 0.13.0 - '@lexical/utils': 0.13.0 - lexical: 0.13.0 + '@lexical/clipboard': 0.13.1 + '@lexical/selection': 0.13.1 + '@lexical/utils': 0.13.1 + lexical: 0.13.1 dependencies: - '@lexical/clipboard': 0.13.0(lexical@0.13.0) - '@lexical/selection': 0.13.0(lexical@0.13.0) - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/clipboard': 0.13.1(lexical@0.13.1) + '@lexical/selection': 0.13.1(lexical@0.13.1) + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/selection@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-myU/aPy/vFstnrwjxFsXESZBbLSg5M29cDsqrubBzL35yBpY5LttoIW2QPWbWVeTJ/bwCsczGqew47j8itPxYw==} + /@lexical/selection@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-Kt9eSwjxPznj7yzIYipu9yYEgmRJhHiq3DNxHRxInYcZJWWNNHum2xKyxwwcN8QYBBzgfPegfM/geqQEJSV1lQ==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - lexical: 0.13.0 + lexical: 0.13.1 dev: false - /@lexical/table@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-jv5qYQzghzOLHVvNDhTyhHd5vKSJOt6eERgoZtV4p6bd1tBQHCMLaTPiaLqDnzryQUF8SNN7PuIguILuFSd5cA==} + /@lexical/table@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-VQzgkfkEmnvn6C64O/kvl0HI3bFoBh3WA/U67ALw+DS11Mb5CKjbt0Gzm/258/reIxNMpshjjicpWMv9Miwauw==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/utils': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/utils': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/text@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-Br0o3AwZquYbFMyC63cTH1VtKxxek3l9IaeTo88JdoQDxomBwTA+dluCzBywZ3QMpsEiVmeSEWIOmWIojjN5ig==} + /@lexical/text@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-NYy3TZKt3qzReDwN2Rr5RxyFlg84JjXP2JQGMrXSSN7wYe73ysQIU6PqdVrz4iZkP+w34F3pl55dJ24ei3An9w==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - lexical: 0.13.0 + lexical: 0.13.1 dev: false - /@lexical/utils@0.13.0(lexical@0.13.0): - resolution: {integrity: sha512-X3Q8ilaiVajwN29OAuJR3Vq00Q/tyvmFae7NCCtHc7ghX+PyyppG4C8kJRNTp10ilJTQ4HL7RomdGYKk/ePe+A==} + /@lexical/utils@0.13.1(lexical@0.13.1): + resolution: {integrity: sha512-AtQQKzYymkbOaQxaBXjRBS8IPxF9zWQnqwHTUTrJqJ4hX71aIQd/thqZbfQETAFJfC8pNBZw5zpxN6yPHk23dQ==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 dependencies: - '@lexical/list': 0.13.0(lexical@0.13.0) - '@lexical/selection': 0.13.0(lexical@0.13.0) - '@lexical/table': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/list': 0.13.1(lexical@0.13.1) + '@lexical/selection': 0.13.1(lexical@0.13.1) + '@lexical/table': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 dev: false - /@lexical/yjs@0.13.0(lexical@0.13.0)(yjs@13.6.10): - resolution: {integrity: sha512-t1G9KTXEwbImtau/eE6qt6h+79kKvYN3bv4w9sDp9LiGzEJdvzoTrRvurYe0da/RbZr59hivYDv96ZX+5x27aw==} + /@lexical/yjs@0.13.1(lexical@0.13.1)(yjs@13.6.10): + resolution: {integrity: sha512-4GbqQM+PwNTV59AZoNrfTe/0rLjs+cX6Y6yAdZSRPBwr5L3JzYeU1TTcFCVQTtsE7KF8ddVP8sD7w9pi8rOWLA==} peerDependencies: - lexical: 0.13.0 + lexical: 0.13.1 yjs: '>=13.5.22' dependencies: - '@lexical/offset': 0.13.0(lexical@0.13.0) - lexical: 0.13.0 + '@lexical/offset': 0.13.1(lexical@0.13.1) + lexical: 0.13.1 yjs: 13.6.10 dev: false @@ -4952,18 +4914,18 @@ packages: react: '>=16' dependencies: '@types/mdx': 2.0.10 - '@types/react': 18.2.48 + '@types/react': 18.2.58 react: 18.2.0 dev: true - /@mdx-js/react@3.0.0(@types/react@18.2.48)(react@18.2.0): + /@mdx-js/react@3.0.0(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==} peerDependencies: '@types/react': '>=16' react: '>=16' dependencies: '@types/mdx': 2.0.10 - '@types/react': 18.2.48 + '@types/react': 18.2.58 react: 18.2.0 dev: false @@ -5040,7 +5002,7 @@ packages: optional: true dependencies: '@mdx-js/loader': 3.0.0(webpack@5.90.3) - '@mdx-js/react': 3.0.0(@types/react@18.2.48)(react@18.2.0) + '@mdx-js/react': 3.0.0(@types/react@18.2.58)(react@18.2.0) source-map: 0.7.4 dev: false @@ -5209,7 +5171,6 @@ packages: /@noble/hashes@1.3.3: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} - dev: false /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -5233,49 +5194,11 @@ packages: resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} dev: false - /@opentelemetry/api@1.7.0: - resolution: {integrity: sha512-AdY5wvN0P2vXBi3b29hxZgSFvdhdxPB9+f0B6s//P9Q8nibRWeA3cHm8UmLpio9ABigkVHJ5NMPk+Mz8VCCyrw==} + /@opentelemetry/api@1.4.1: + resolution: {integrity: sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==} engines: {node: '>=8.0.0'} dev: true - /@opentelemetry/core@1.19.0(@opentelemetry/api@1.7.0): - resolution: {integrity: sha512-w42AukJh3TP8R0IZZOVJVM/kMWu8g+lm4LzT70WtuKqhwq7KVhcDzZZuZinWZa6TtQCl7Smt2wolEYzpHabOgw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.7.0 - '@opentelemetry/semantic-conventions': 1.19.0 - dev: true - - /@opentelemetry/resources@1.19.0(@opentelemetry/api@1.7.0): - resolution: {integrity: sha512-RgxvKuuMOf7nctOeOvpDjt2BpZvZGr9Y0vf7eGtY5XYZPkh2p7e2qub1S2IArdBMf9kEbz0SfycqCviOu9isqg==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.19.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.19.0 - dev: true - - /@opentelemetry/sdk-trace-base@1.19.0(@opentelemetry/api@1.7.0): - resolution: {integrity: sha512-+IRvUm+huJn2KqfFW3yW/cjvRwJ8Q7FzYHoUNx5Fr0Lws0LxjMJG1uVB8HDpLwm7mg5XXH2M5MF+0jj5cM8BpQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.8.0' - dependencies: - '@opentelemetry/api': 1.7.0 - '@opentelemetry/core': 1.19.0(@opentelemetry/api@1.7.0) - '@opentelemetry/resources': 1.19.0(@opentelemetry/api@1.7.0) - '@opentelemetry/semantic-conventions': 1.19.0 - dev: true - - /@opentelemetry/semantic-conventions@1.19.0: - resolution: {integrity: sha512-14jRpC8f5c0gPSwoZ7SbEJni1PqI+AhAE8m1bMz6v+RPM4OlP1PT2UHBJj5Qh/ALLPjhVU/aZUK3YyjTUqqQVg==} - engines: {node: '>=14'} - dev: true - /@otplib/core@12.0.1: resolution: {integrity: sha512-4sGntwbA/AC+SbPhbsziRiD+jNDdIzsZ3JUyfZwjtKyc/wufl1pnSIaG4Uqx8ymPagujub0o92kgBnB89cuAMA==} dev: false @@ -5317,7 +5240,6 @@ packages: resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} dependencies: '@noble/hashes': 1.3.3 - dev: false /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -5333,24 +5255,24 @@ packages: playwright: 1.41.1 dev: true - /@preact/preset-vite@2.8.1(@babel/core@7.23.7)(preact@10.19.3)(vite@5.0.12): + /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.6)(vite@5.1.4): resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} peerDependencies: '@babel/core': 7.x vite: 2.x || 3.x || 4.x || 5.x dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.7) - '@prefresh/vite': 2.4.4(preact@10.19.3)(vite@5.0.12) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) + '@prefresh/vite': 2.4.4(preact@10.19.6)(vite@5.1.4) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.7) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) debug: 4.3.4 kolorist: 1.8.0 magic-string: 0.30.5 node-html-parser: 6.1.12 resolve: 1.22.8 - vite: 5.0.12(terser@5.27.0) + vite: 5.1.4(terser@5.28.1) transitivePeerDependencies: - preact - supports-color @@ -5360,37 +5282,37 @@ packages: resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} dev: true - /@prefresh/core@1.5.2(preact@10.19.3): + /@prefresh/core@1.5.2(preact@10.19.6): resolution: {integrity: sha512-A/08vkaM1FogrCII5PZKCrygxSsc11obExBScm3JF1CryK2uDS3ZXeni7FeKCx1nYdUkj4UcJxzPzc1WliMzZA==} peerDependencies: preact: ^10.0.0 dependencies: - preact: 10.19.3 + preact: 10.19.6 dev: true /@prefresh/utils@1.2.0: resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} dev: true - /@prefresh/vite@2.4.4(preact@10.19.3)(vite@5.0.12): + /@prefresh/vite@2.4.4(preact@10.19.6)(vite@5.1.4): resolution: {integrity: sha512-7jcz3j5pXufOWTjl31n0Lc3BcU8oGoacoaWx/Ur1QJ+fd4Xu0G7g/ER1xV02x7DCiVoFi7xtSgaophOXoJvpmA==} peerDependencies: preact: ^10.4.0 vite: '>=2.0.0' dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@prefresh/babel-plugin': 0.5.1 - '@prefresh/core': 1.5.2(preact@10.19.3) + '@prefresh/core': 1.5.2(preact@10.19.6) '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 - preact: 10.19.3 - vite: 5.0.12(terser@5.27.0) + preact: 10.19.6 + vite: 5.1.4(terser@5.28.1) transitivePeerDependencies: - supports-color dev: true - /@prisma/client@5.8.1(prisma@5.8.1): - resolution: {integrity: sha512-xQtMPfbIwLlbm0VVIVQY2yqQVOxPwRQhvIp7Z3m2900g1bu/zRHKhYZJQWELqmjl6d8YwBy0K2NvMqh47v1ubw==} + /@prisma/client@5.10.2(prisma@5.10.2): + resolution: {integrity: sha512-ef49hzB2yJZCvM5gFHMxSFL9KYrIP9udpT5rYo0CsHD4P9IKj473MbhU1gjKKftiwWBTIyrt9jukprzZXazyag==} engines: {node: '>=16.13'} requiresBuild: true peerDependencies: @@ -5399,7 +5321,7 @@ packages: prisma: optional: true dependencies: - prisma: 5.8.1 + prisma: 5.10.2 dev: false /@prisma/debug@3.8.1: @@ -5410,89 +5332,62 @@ packages: strip-ansi: 6.0.1 dev: true - /@prisma/debug@4.6.1: - resolution: {integrity: sha512-BezDvSenTgQDQ6WA3TdTDGcrt0Oh4vmpZtmSOYm1KaSZiSVIL2xT0P9TFM3vtOa4wn7sn/003PyTSxyHS3mShg==} + /@prisma/debug@5.0.0: + resolution: {integrity: sha512-3q/M/KqlQ01/HJXifU/zCNOHkoTWu24kGelMF/IBrRxm7njPqTTbwfnT1dh4JK+nuWM5/Dg1Lv00u2c0l7AHxg==} dependencies: - '@types/debug': 4.1.7 + '@types/debug': 4.1.8 debug: 4.3.4 strip-ansi: 6.0.1 transitivePeerDependencies: - supports-color dev: true - /@prisma/debug@5.5.2: - resolution: {integrity: sha512-OeyuNABo1dgWHIQuJAdvW5qp5ccFfbI0CKNvdg8D34YWOfo6L+4J0gmnRI/j+h40HvM3S5WH2T8e3W9bPa7EVg==} - dependencies: - '@types/debug': 4.1.9 - debug: 4.3.4 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - supports-color + /@prisma/debug@5.10.2: + resolution: {integrity: sha512-bkBOmH9dpEBbMKFJj8V+Zp8IZHIBjy3fSyhLhxj4FmKGb/UBSt9doyfA6k1UeUREsMJft7xgPYBbHSOYBr8XCA==} + + /@prisma/debug@5.9.1: + resolution: {integrity: sha512-yAHFSFCg8KVoL0oRUno3m60GAjsUKYUDkQ+9BA2X2JfVR3kRVSJFc/GpQ2fSORi4pSHZR9orfM4UC9OVXIFFTA==} dev: true - /@prisma/debug@5.8.1: - resolution: {integrity: sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg==} + /@prisma/engines-version@5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9: + resolution: {integrity: sha512-uCy/++3Jx/O3ufM+qv2H1L4tOemTNqcP/gyEVOlZqTpBvYJUe0tWtW0y3o2Ueq04mll4aM5X3f6ugQftOSLdFQ==} - /@prisma/engine-core@4.6.1: - resolution: {integrity: sha512-JtvdEy9GeGU/xeTYOq3SEN4DiAytHoQty/4pJTZ5vNoGMnu7XF1ToprOCPzyT5oSgm3oQQuwpXMVaebJegwA4Q==} - dependencies: - '@opentelemetry/api': 1.7.0 - '@opentelemetry/sdk-trace-base': 1.19.0(@opentelemetry/api@1.7.0) - '@prisma/debug': 4.6.1 - '@prisma/engines': 4.6.1 - '@prisma/generator-helper': 4.6.1 - '@prisma/get-platform': 4.6.1 - chalk: 4.1.2 - execa: 5.1.1 - get-stream: 6.0.1 - indent-string: 4.0.0 - new-github-issue-url: 0.2.1 - p-retry: 4.6.2 - strip-ansi: 6.0.1 - undici: 5.11.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@prisma/engines-version@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2: - resolution: {integrity: sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ==} - - /@prisma/engines@4.6.1: - resolution: {integrity: sha512-3u2/XxvxB+Q7cMXHnKU0CpBiUK1QWqpgiBv28YDo1zOIJE3FCF8DI2vrp6vuwjGt5h0JGXDSvmSf4D4maVjJdw==} + /@prisma/engines@5.0.0: + resolution: {integrity: sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==} requiresBuild: true dev: true - /@prisma/engines@5.8.1: - resolution: {integrity: sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA==} + /@prisma/engines@5.10.2: + resolution: {integrity: sha512-HkSJvix6PW8YqEEt3zHfCYYJY69CXsNdhU+wna+4Y7EZ+AwzeupMnUThmvaDA7uqswiHkgm5/SZ6/4CStjaGmw==} requiresBuild: true dependencies: - '@prisma/debug': 5.8.1 - '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 - '@prisma/fetch-engine': 5.8.1 - '@prisma/get-platform': 5.8.1 + '@prisma/debug': 5.10.2 + '@prisma/engines-version': 5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9 + '@prisma/fetch-engine': 5.10.2 + '@prisma/get-platform': 5.10.2 - /@prisma/extension-accelerate@0.6.2(@prisma/client@5.8.1): - resolution: {integrity: sha512-KIBVPeWt8qaSg7wQ+TXmCVeUDoW75whtXcdS9dbHxRoO2OWFH5I9+qbkHBhx5Wj/h1wQpS8usuxGnsZqiBjUpQ==} + /@prisma/extension-accelerate@0.6.3(@prisma/client@5.10.2): + resolution: {integrity: sha512-KnIfqbwCNMP3t1jgw76IVCE4HspRmWxagR0L4wJS+/74BgkRHrt/9ic8ONo7dir4AGGoHyg/Ej8yN+uGXNrXeg==} engines: {node: '>=16'} peerDependencies: '@prisma/client': '>=4.16.1' dependencies: - '@prisma/client': 5.8.1(prisma@5.8.1) + '@prisma/client': 5.10.2(prisma@5.10.2) dev: false - /@prisma/fetch-engine@4.6.1: - resolution: {integrity: sha512-0Nggqzd6J630wO65i5LjyYxarHSZL3mlN04j98Eff5tzhymwv6A8QEMMwuIJY3B5mQ+3ns3q6zZsJ3Ef063RUA==} + /@prisma/fetch-engine@5.0.0: + resolution: {integrity: sha512-eSzHTE0KcMvM5+O1++eaMuVf4D1zwWHdqjWr6D70skCg37q7RYsuty4GFnlWBuqC4aXwVf06EvIxiJ0SQIIeRw==} dependencies: - '@prisma/debug': 4.6.1 - '@prisma/get-platform': 4.6.1 - chalk: 4.1.2 + '@prisma/debug': 5.0.0 + '@prisma/get-platform': 5.0.0 execa: 5.1.1 find-cache-dir: 3.3.2 + fs-extra: 11.1.1 hasha: 5.2.2 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.6.7 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.0 + kleur: 4.1.5 + node-fetch: 2.6.12 p-filter: 2.1.0 p-map: 4.0.0 p-retry: 4.6.2 @@ -5505,12 +5400,12 @@ packages: - supports-color dev: true - /@prisma/fetch-engine@5.8.1: - resolution: {integrity: sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw==} + /@prisma/fetch-engine@5.10.2: + resolution: {integrity: sha512-dSmXcqSt6DpTmMaLQ9K8ZKzVAMH3qwGCmYEZr/uVnzVhxRJ1EbT/w2MMwIdBNq1zT69Rvh0h75WMIi0mrIw7Hg==} dependencies: - '@prisma/debug': 5.8.1 - '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 - '@prisma/get-platform': 5.8.1 + '@prisma/debug': 5.10.2 + '@prisma/engines-version': 5.10.0-34.5a9203d0590c951969e85a7d07215503f4672eb9 + '@prisma/get-platform': 5.10.2 /@prisma/generator-helper@3.8.1: resolution: {integrity: sha512-3zSy+XTEjmjLj6NO+/YPN1Cu7or3xA11TOoOnLRJ9G4pTT67RJXjK0L9Xy5n+3I0Xlb7xrWCgo8MvQQLMWzxPA==} @@ -5521,79 +5416,82 @@ packages: cross-spawn: 7.0.3 dev: true - /@prisma/generator-helper@4.6.1: - resolution: {integrity: sha512-70XBmqDhmpe8H35ttOJOgyg1OpppO/uelILB1SIwjeSI7PHHdU2+Y/+LkpnifkCEpSZKIhxEIPbHx17m2neAsA==} + /@prisma/generator-helper@5.0.0: + resolution: {integrity: sha512-pufQ1mhoH6WzKNtzL79HZDoW4Ql3Lf8QEKVmBoW8e3Tdb50bxpYBYue5LBqp9vNW1xd1pgZO53cNiRfLX2d4Zg==} dependencies: - '@prisma/debug': 4.6.1 + '@prisma/debug': 5.0.0 '@types/cross-spawn': 6.0.2 - chalk: 4.1.2 - cross-spawn: 7.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@prisma/generator-helper@5.5.2: - resolution: {integrity: sha512-qQz4JfhjjMs+C/dbZUoGAU+JV685Qe72iGonDM0c9H05A5s5MCWj5wV2kVi1/DNiy7jkfqGGM7bX8k0/8yO0FQ==} - dependencies: - '@prisma/debug': 5.5.2 - '@types/cross-spawn': 6.0.3 cross-spawn: 7.0.3 kleur: 4.1.5 transitivePeerDependencies: - supports-color dev: true - /@prisma/get-platform@4.6.1: - resolution: {integrity: sha512-JBlzN53Q00bTfk3mPxeprAx8LLN7bmEwTGZ3fFjbCKZACsHtbDaaqtIkqXwk0tv1jJ3jLYZfcq7NlvdOPyJhGw==} + /@prisma/generator-helper@5.9.1: + resolution: {integrity: sha512-WMdEUPpPYxUGruRQM6e6IVTWXFjt1hHdF/m2TO7pWxhPo7/ZeoTOF9fH8JsvVSV78DYLOQkx9osjFLXZu447Kw==} dependencies: - '@prisma/debug': 4.6.1 + '@prisma/debug': 5.9.1 + dev: true + + /@prisma/get-platform@5.0.0: + resolution: {integrity: sha512-JT/rz/jaMTggDkd9OIma50si9rPLzSFe7XSrV3mKXwtv9t+rdwx5ZhmKJd+Rz6S1vhn/291k21JLfaxOW6u8KQ==} + dependencies: + '@prisma/debug': 5.0.0 + escape-string-regexp: 4.0.0 + execa: 5.1.1 + fs-jetpack: 5.1.0 + kleur: 4.1.5 + replace-string: 3.1.0 + strip-ansi: 6.0.1 + tempy: 1.0.1 + terminal-link: 2.1.1 + ts-pattern: 4.3.0 transitivePeerDependencies: - supports-color dev: true - /@prisma/get-platform@5.8.1: - resolution: {integrity: sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag==} + /@prisma/get-platform@5.10.2: + resolution: {integrity: sha512-nqXP6vHiY2PIsebBAuDeWiUYg8h8mfjBckHh6Jezuwej0QJNnjDiOq30uesmg+JXxGk99nqyG3B7wpcOODzXvg==} dependencies: - '@prisma/debug': 5.8.1 + '@prisma/debug': 5.10.2 - /@prisma/internals@4.6.1: - resolution: {integrity: sha512-oPE01UMMY5W9PAr+uP0MaHO4o7SD3b7dVqaEuZsj6NRN7jtoKujQXp+zo74BAeqjLJyCiHXhTIReuO9NExiZtg==} + /@prisma/internals@5.0.0: + resolution: {integrity: sha512-VGWyFk6QlSBXT8z65Alq5F3o9E8IiTtaBoa3rmKkGpZjUk85kJy3jZz4xkRv53TaeghGE5rWfwkfak26KtY5yQ==} dependencies: - '@prisma/debug': 4.6.1 - '@prisma/engine-core': 4.6.1 - '@prisma/engines': 4.6.1 - '@prisma/fetch-engine': 4.6.1 - '@prisma/generator-helper': 4.6.1 - '@prisma/get-platform': 4.6.1 - '@prisma/prisma-fmt-wasm': 4.6.1-3.694eea289a8462c80264df36757e4fdc129b1b32 + '@antfu/ni': 0.21.4 + '@opentelemetry/api': 1.4.1 + '@prisma/debug': 5.0.0 + '@prisma/engines': 5.0.0 + '@prisma/fetch-engine': 5.0.0 + '@prisma/generator-helper': 5.0.0 + '@prisma/get-platform': 5.0.0 + '@prisma/prisma-schema-wasm': 4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584 archiver: 5.3.1 arg: 5.0.2 - chalk: 4.1.2 - checkpoint-client: 1.1.21 + checkpoint-client: 1.1.24 cli-truncate: 2.1.0 dotenv: 16.0.3 escape-string-regexp: 4.0.0 execa: 5.1.1 find-up: 5.0.0 - fp-ts: 2.13.1 - fs-extra: 10.1.0 + fp-ts: 2.16.0 + fs-extra: 11.1.1 fs-jetpack: 5.1.0 - global-dirs: 3.0.0 + global-dirs: 3.0.1 globby: 11.1.0 - has-yarn: 2.1.0 + indent-string: 4.0.0 is-windows: 1.0.2 is-wsl: 2.2.0 - make-dir: 3.1.0 + kleur: 4.1.5 new-github-issue-url: 0.2.1 - node-fetch: 2.6.7 + node-fetch: 2.6.12 + npm-packlist: 5.1.3 open: 7.4.2 - ora: 5.4.1 p-map: 4.0.0 prompts: 2.4.2 read-pkg-up: 7.0.1 replace-string: 3.1.0 - resolve: 1.22.1 - rimraf: 3.0.2 + resolve: 1.22.2 string-width: 4.2.3 strip-ansi: 6.0.1 strip-indent: 3.0.0 @@ -5608,8 +5506,8 @@ packages: - supports-color dev: true - /@prisma/prisma-fmt-wasm@4.6.1-3.694eea289a8462c80264df36757e4fdc129b1b32: - resolution: {integrity: sha512-hT+YRaH5NTZDYhLhSKMUdtY+i8sKkjjFwiDYhy6688G+H8oFklIwPNeApKH8Jw5bbtuH6onIzo1oivapOFJryg==} + /@prisma/prisma-schema-wasm@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584: + resolution: {integrity: sha512-JFdsnSgBPN8reDTLOI9Vh/6ccCb2aD1LbY/LWQnkcIgNo6IdpzvuM+qRVbBuA6IZP2SdqQI8Lu6RL2P8EFBQUA==} dev: true /@radix-ui/colors@1.0.1: @@ -5647,13 +5545,13 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5678,9 +5576,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-arrow@1.0.3(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -5694,9 +5591,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.8 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-checkbox@1.0.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==} @@ -5715,10 +5614,10 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -5752,32 +5651,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collapsible@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.6 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: @@ -5800,9 +5673,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-collection@1.0.3(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -5816,12 +5688,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.8 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} @@ -5845,6 +5719,20 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-context@1.0.0(react@18.2.0): resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==} peerDependencies: @@ -5867,13 +5755,27 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-context@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-dialog@1.0.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.23.8 '@radix-ui/primitive': 1.0.0 '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) '@radix-ui/react-context': 1.0.0(react@18.2.0) @@ -5916,8 +5818,8 @@ packages: '@radix-ui/react-focus-scope': 1.0.4(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) aria-hidden: 1.2.3 @@ -5939,6 +5841,20 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-direction@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==} peerDependencies: @@ -5978,32 +5894,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-dismissable-layer@1.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.8 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.48)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -6018,11 +5910,11 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6043,7 +5935,7 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 @@ -6069,7 +5961,7 @@ packages: '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-menu': 2.0.6(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6132,28 +6024,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-focus-scope@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.8 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-focus-scope@1.0.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} @@ -6170,7 +6040,7 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6200,6 +6070,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-id@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-label@2.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} peerDependencies: @@ -6214,7 +6099,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6234,7 +6119,7 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) @@ -6244,9 +6129,9 @@ packages: '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-popper': 1.1.3(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) aria-hidden: 1.2.3 @@ -6313,8 +6198,8 @@ packages: '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-popper': 1.1.3(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) aria-hidden: 1.2.3 @@ -6351,37 +6236,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-popper@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.8 - '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/rect': 1.0.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-popper@1.1.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -6396,16 +6252,16 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.48 + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6425,10 +6281,10 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.48)(react@18.2.0) @@ -6469,28 +6325,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-portal@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.8 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-portal@1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -6504,8 +6340,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6524,7 +6360,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6564,7 +6400,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -6578,8 +6414,9 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6615,9 +6452,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-primitive@1.0.3(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -6631,9 +6467,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.8 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-radio-group@1.1.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag==} @@ -6653,11 +6491,11 @@ packages: '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6690,33 +6528,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-roving-focus@1.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.6 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) /@radix-ui/react-select@1.2.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} @@ -6734,23 +6545,23 @@ packages: '@babel/runtime': 7.23.8 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6773,7 +6584,7 @@ packages: '@babel/runtime': 7.23.6 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) @@ -6783,13 +6594,13 @@ packages: '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-popper': 1.1.3(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6810,12 +6621,42 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.8 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-slider@1.1.2(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-slider@1.1.2(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-NKs15MJylfzVsCagVSWKhGGLNR1W9qWs+HtgbmjjVUB3B9+lb3PYoXxVju3kOrpf0VKyVCtZp+iTwVoqpa1Chw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.6 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-slider@1.1.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NKs15MJylfzVsCagVSWKhGGLNR1W9qWs+HtgbmjjVUB3B9+lb3PYoXxVju3kOrpf0VKyVCtZp+iTwVoqpa1Chw==} peerDependencies: '@types/react': '*' @@ -6838,37 +6679,7 @@ packages: '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-slider@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-NKs15MJylfzVsCagVSWKhGGLNR1W9qWs+HtgbmjjVUB3B9+lb3PYoXxVju3kOrpf0VKyVCtZp+iTwVoqpa1Chw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.6 - '@radix-ui/number': 1.0.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6898,6 +6709,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-slot@1.0.2(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-switch@1.0.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: @@ -6915,9 +6741,9 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.58)(react@18.2.0) '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -6948,32 +6774,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-toggle-group@1.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.8 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} @@ -6996,28 +6796,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - - /@radix-ui/react-toggle@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.8 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-toolbar@1.0.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} @@ -7036,10 +6814,10 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-separator': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -7076,7 +6854,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -7091,18 +6869,18 @@ packages: dependencies: '@babel/runtime': 7.23.6 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -7128,11 +6906,11 @@ packages: '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-popper': 1.1.3(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -7159,6 +6937,20 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0): resolution: {integrity: sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==} peerDependencies: @@ -7183,6 +6975,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0): resolution: {integrity: sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==} peerDependencies: @@ -7207,6 +7014,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0): resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==} peerDependencies: @@ -7229,7 +7051,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -7239,7 +7075,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.8 - '@types/react': 18.2.48 + '@types/react': 18.2.58 react: 18.2.0 /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.48)(react@18.2.0): @@ -7256,6 +7092,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/rect': 1.0.1 + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.48)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: @@ -7270,6 +7121,21 @@ packages: '@types/react': 18.2.48 react: 18.2.0 + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.58)(react@18.2.0): + resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@babel/runtime': 7.23.8 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.58)(react@18.2.0) + '@types/react': 18.2.58 + react: 18.2.0 + dev: false + /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: @@ -7289,9 +7155,8 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-visually-hidden@1.0.3(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -7305,9 +7170,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.6 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.58)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.58 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} @@ -7822,7 +7689,7 @@ packages: '@sentry/vercel-edge': 7.102.1 '@sentry/webpack-plugin': 1.21.0(encoding@0.1.13) chalk: 3.0.0 - next: 14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 resolve: 1.22.8 rollup: 2.78.0 @@ -7928,23 +7795,11 @@ packages: escape-string-regexp: 5.0.0 dev: false - /@sinonjs/commons@3.0.0: - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - dependencies: - '@sinonjs/commons': 3.0.0 - dev: true - - /@smithy/abort-controller@2.1.1: - resolution: {integrity: sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==} + /@smithy/abort-controller@2.1.2: + resolution: {integrity: sha512-iwUxrFm/ZFCXhzhtZ6JnoJzAsqUrVfBAZUTQj8ypXGtIjwXZpKqmgYiuqrDERiydDI5gesqvsC4Rqe57GGhbVg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -7961,28 +7816,28 @@ packages: tslib: 2.6.2 dev: false - /@smithy/config-resolver@2.1.1: - resolution: {integrity: sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw==} + /@smithy/config-resolver@2.1.2: + resolution: {integrity: sha512-ZDMY63xJVsJl7ei/yIMv9nx8OiEOulwNnQOUDGpIvzoBrcbvYwiMjIMe5mP5J4fUmttKkpiTKwta/7IUriAn9w==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.2.1 - '@smithy/types': 2.9.1 + '@smithy/node-config-provider': 2.2.2 + '@smithy/types': 2.10.0 '@smithy/util-config-provider': 2.2.1 - '@smithy/util-middleware': 2.1.1 + '@smithy/util-middleware': 2.1.2 tslib: 2.6.2 dev: false - /@smithy/core@1.3.1: - resolution: {integrity: sha512-tf+NIu9FkOh312b6M9G4D68is4Xr7qptzaZGZUREELF8ysE1yLKphqt7nsomjKZVwW7WE5pDDex9idowNGRQ/Q==} + /@smithy/core@1.3.3: + resolution: {integrity: sha512-8cT/swERvU1EUMuJF914+psSeVy4+NcNhbRe1WEKN1yIMPE5+Tq5EaPq1HWjKCodcdBIyU9ViTjd62XnebXMHA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/middleware-retry': 2.1.1 - '@smithy/middleware-serde': 2.1.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/util-middleware': 2.1.1 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/middleware-retry': 2.1.2 + '@smithy/middleware-serde': 2.1.2 + '@smithy/protocol-http': 3.2.0 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/util-middleware': 2.1.2 tslib: 2.6.2 dev: false @@ -7990,10 +7845,21 @@ packages: resolution: {integrity: sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.2.1 + '@smithy/node-config-provider': 2.2.2 '@smithy/property-provider': 2.1.1 - '@smithy/types': 2.9.1 - '@smithy/url-parser': 2.1.1 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 + tslib: 2.6.2 + dev: false + + /@smithy/credential-provider-imds@2.2.2: + resolution: {integrity: sha512-a2xpqWzhzcYwImGbFox5qJLf6i5HKdVeOVj7d6kVFElmbS2QW2T4HmefRc5z1huVArk9bh5Rk1NiFp9YBCXU3g==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/node-config-provider': 2.2.2 + '@smithy/property-provider': 2.1.2 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 tslib: 2.6.2 dev: false @@ -8001,88 +7867,97 @@ packages: resolution: {integrity: sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==} dependencies: '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 '@smithy/util-hex-encoding': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-browser@2.1.1: - resolution: {integrity: sha512-JvEdCmGlZUay5VtlT8/kdR6FlvqTDUiJecMjXsBb0+k1H/qc9ME5n2XKPo8q/MZwEIA1GmGgYMokKGjVvMiDow==} - engines: {node: '>=14.0.0'} + /@smithy/eventstream-codec@2.1.2: + resolution: {integrity: sha512-2PHrVRixITHSOj3bxfZmY93apGf8/DFiyhRh9W0ukfi07cvlhlRonZ0fjgcqryJjUZ5vYHqqmfIE/Qe1HM9mlw==} dependencies: - '@smithy/eventstream-serde-universal': 2.1.1 - '@smithy/types': 2.9.1 + '@aws-crypto/crc32': 3.0.0 + '@smithy/types': 2.10.0 + '@smithy/util-hex-encoding': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-config-resolver@2.1.1: - resolution: {integrity: sha512-EqNqXYp3+dk//NmW3NAgQr9bEQ7fsu/CcxQmTiq07JlaIcne/CBWpMZETyXm9w5LXkhduBsdXdlMscfDUDn2fA==} + /@smithy/eventstream-serde-browser@2.1.2: + resolution: {integrity: sha512-2N11IFHvOmKuwK6hLVkqM8ge8oiQsFkflr4h07LToxo3rX+njkx/5eRn6RVcyNmpbdbxYYt0s0Pf8u+yhHmOKg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/eventstream-serde-universal': 2.1.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-node@2.1.1: - resolution: {integrity: sha512-LF882q/aFidFNDX7uROAGxq3H0B7rjyPkV6QDn6/KDQ+CG7AFkRccjxRf1xqajq/Pe4bMGGr+VKAaoF6lELIQw==} + /@smithy/eventstream-serde-config-resolver@2.1.2: + resolution: {integrity: sha512-nD/+k3mK+lMMwf2AItl7uWma+edHLqiE6LyIYXYnIBlCJcIQnA/vTHjHFoSJFCfG30sBJnU/7u4X5j/mbs9uKg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/eventstream-serde-universal@2.1.1: - resolution: {integrity: sha512-LR0mMT+XIYTxk4k2fIxEA1BPtW3685QlqufUEUAX1AJcfFfxNDKEvuCRZbO8ntJb10DrIFVJR9vb0MhDCi0sAQ==} + /@smithy/eventstream-serde-node@2.1.2: + resolution: {integrity: sha512-zNE6DhbwDEWTKl4mELkrdgXBGC7UsFg1LDkTwizSOFB/gd7G7la083wb0JgU+xPt+TYKK0AuUlOM0rUZSJzqeA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-codec': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/eventstream-serde-universal': 2.1.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/fetch-http-handler@2.4.1: - resolution: {integrity: sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==} + /@smithy/eventstream-serde-universal@2.1.2: + resolution: {integrity: sha512-Upd/zy+dNvvIDPU1HGhW9ivNjvJQ0W4UkkQOzr5Mo0hz2lqnZAyOuit4TK2JAEg/oo+V1gUY4XywDc7zNbCF0g==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/protocol-http': 3.1.1 - '@smithy/querystring-builder': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/eventstream-codec': 2.1.2 + '@smithy/types': 2.10.0 + tslib: 2.6.2 + dev: false + + /@smithy/fetch-http-handler@2.4.2: + resolution: {integrity: sha512-sIGMVwa/8h6eqNjarI3F07gvML3mMXcqBe+BINNLuKsVKXMNBN6wRzeZbbx7lfiJDEHAP28qRns8flHEoBB7zw==} + dependencies: + '@smithy/protocol-http': 3.2.0 + '@smithy/querystring-builder': 2.1.2 + '@smithy/types': 2.10.0 '@smithy/util-base64': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/hash-blob-browser@2.1.1: - resolution: {integrity: sha512-jizu1+2PAUjiGIfRtlPEU8Yo6zn+d78ti/ZHDesdf1SUn2BuZW433JlPoCOLH3dBoEEvTgLvQ8tUGSoTTALA+A==} + /@smithy/hash-blob-browser@2.1.2: + resolution: {integrity: sha512-f8QHgOVSXeYsc4BLKWdfXRowKa2g9byAkAX5c7Ku89bi9uBquWLEVmKlYXFBlkX562Fkmp2YSeciv+zZuOrIOQ==} dependencies: '@smithy/chunked-blob-reader': 2.1.1 '@smithy/chunked-blob-reader-native': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/hash-node@2.1.1: - resolution: {integrity: sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg==} + /@smithy/hash-node@2.1.2: + resolution: {integrity: sha512-3Sgn4s0g4xud1M/j6hQwYCkz04lVJ24wvCAx4xI26frr3Ao6v0o2VZkBpUySTeQbMUBp2DhuzJ0fV1zybzkckw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 '@smithy/util-buffer-from': 2.1.1 '@smithy/util-utf8': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/hash-stream-node@2.1.1: - resolution: {integrity: sha512-VgDaKcfCy0iHcmtAZgZ3Yw9g37Gkn2JsQiMtFQXUh8Wmo3GfNgDwLOtdhJ272pOT7DStzpe9cNr+eV5Au8KfQA==} + /@smithy/hash-stream-node@2.1.2: + resolution: {integrity: sha512-UB6xo+KN3axrLO+MfnWb8mtdeep4vjGUcjYCVFdk9h+OqUb7JYWZZLRcupRPZx28cNBCBEUtc9wVZDI71JDdQA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 '@smithy/util-utf8': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/invalid-dependency@2.1.1: - resolution: {integrity: sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw==} + /@smithy/invalid-dependency@2.1.2: + resolution: {integrity: sha512-qdgKhkFYxDJnKecx2ANwz3JRkXjm0qDgEnAs5BIfb2z/XqA2l7s9BTH7GTC/RR4E8h6EDCeb5rM2rnARxviqIg==} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -8093,85 +7968,85 @@ packages: tslib: 2.6.2 dev: false - /@smithy/md5-js@2.1.1: - resolution: {integrity: sha512-L3MbIYBIdLlT+MWTYrdVSv/dow1+6iZ1Ad7xS0OHxTTs17d753ZcpOV4Ro7M7tRAVWML/sg2IAp/zzCb6aAttg==} + /@smithy/md5-js@2.1.2: + resolution: {integrity: sha512-C/FWR5ooyDNDfc1Opx3n0QFO5p4G0gldIbk2VU9mPGnZVTjzXcWM5jUQp33My5UK305tKYpG5/kZdQSNVh+tLw==} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 '@smithy/util-utf8': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/middleware-content-length@2.1.1: - resolution: {integrity: sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g==} + /@smithy/middleware-content-length@2.1.2: + resolution: {integrity: sha512-XEWtul1tHP31EtUIobEyN499paUIbnCTRtjY+ciDCEXW81lZmpjrDG3aL0FxJDPnvatVQuMV1V5eg6MCqTFaLQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/middleware-endpoint@2.4.1: - resolution: {integrity: sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==} + /@smithy/middleware-endpoint@2.4.2: + resolution: {integrity: sha512-72qbmVwaWcLOd/OT52fszrrlXywPwciwpsRiIk/dIvpcwkpGE9qrYZ2bt/SYcA/ma8Rz9Ni2AbBuSXLDYISS+A==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-serde': 2.1.1 - '@smithy/node-config-provider': 2.2.1 - '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/url-parser': 2.1.1 - '@smithy/util-middleware': 2.1.1 + '@smithy/middleware-serde': 2.1.2 + '@smithy/node-config-provider': 2.2.2 + '@smithy/shared-ini-file-loader': 2.3.2 + '@smithy/types': 2.10.0 + '@smithy/url-parser': 2.1.2 + '@smithy/util-middleware': 2.1.2 tslib: 2.6.2 dev: false - /@smithy/middleware-retry@2.1.1: - resolution: {integrity: sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA==} + /@smithy/middleware-retry@2.1.2: + resolution: {integrity: sha512-tlvSK+v9bPHHb0dLWvEaFW2Iz0IeA57ISvSaso36I33u8F8wYqo5FCvenH7TgMVBx57jyJBXOmYCZa9n5gdJIg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.2.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/service-error-classification': 2.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 - '@smithy/util-middleware': 2.1.1 - '@smithy/util-retry': 2.1.1 + '@smithy/node-config-provider': 2.2.2 + '@smithy/protocol-http': 3.2.0 + '@smithy/service-error-classification': 2.1.2 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 + '@smithy/util-middleware': 2.1.2 + '@smithy/util-retry': 2.1.2 tslib: 2.6.2 uuid: 8.3.2 dev: false - /@smithy/middleware-serde@2.1.1: - resolution: {integrity: sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==} + /@smithy/middleware-serde@2.1.2: + resolution: {integrity: sha512-XNU6aVIhlSbjuo2XsfZ7rd4HhjTXDlNWxAmhlBfViTW1TNK02CeWdeEntp5XtQKYD//pyTIbYi35EQvIidAkOw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/middleware-stack@2.1.1: - resolution: {integrity: sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==} + /@smithy/middleware-stack@2.1.2: + resolution: {integrity: sha512-EPGaHGd4XmZcaRYjbhyqiqN/Q/ESxXu5e5TK24CTZUe99y8/XCxmiX8VLMM4H0DI7K3yfElR0wPAAvceoSkTgw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/node-config-provider@2.2.1: - resolution: {integrity: sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==} + /@smithy/node-config-provider@2.2.2: + resolution: {integrity: sha512-QXvpqHSijAm13ZsVkUo92b085UzDvYP1LblWTb3uWi9WilhDvYnVyPLXaryLhOWZ2YvdhK2170T3ZBqtg+quIQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/property-provider': 2.1.1 - '@smithy/shared-ini-file-loader': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/property-provider': 2.1.2 + '@smithy/shared-ini-file-loader': 2.3.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/node-http-handler@2.3.1: - resolution: {integrity: sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==} + /@smithy/node-http-handler@2.4.0: + resolution: {integrity: sha512-Mf2f7MMy31W8LisJ9O+7J5cKiNwBwBBLU6biQ7/sFSFdhuOxPN7hOPoZ8vlaFjvrpfOUJw9YOpjGyNTKuvomOQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/abort-controller': 2.1.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/querystring-builder': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/abort-controller': 2.1.2 + '@smithy/protocol-http': 3.2.0 + '@smithy/querystring-builder': 2.1.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -8179,47 +8054,63 @@ packages: resolution: {integrity: sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/protocol-http@3.1.1: - resolution: {integrity: sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==} + /@smithy/property-provider@2.1.2: + resolution: {integrity: sha512-yaXCVFKzxbSXqOoyA7AdAgXhwdjiLeui7n2P6XLjBCz/GZFdLUJgSY6KL1PevaxT4REMwUSs/bSHAe/0jdzEHw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/querystring-builder@2.1.1: - resolution: {integrity: sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==} + /@smithy/protocol-http@3.2.0: + resolution: {integrity: sha512-VRp0YITYIQum+rX4zeZ3cW1wl9r90IQzQN+VLS1NxdSMt6NLsJiJqR9czTxlaeWNrLHsFAETmjmdrS48Ug1liA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 + tslib: 2.6.2 + dev: false + + /@smithy/querystring-builder@2.1.2: + resolution: {integrity: sha512-wk6QpuvBBLJF5w8aADsZOtxaHY9cF5MZe1Ry3hSqqBxARdUrMoXi/jukUz5W0ftXGlbA398IN8dIIUj3WXqJXg==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/types': 2.10.0 '@smithy/util-uri-escape': 2.1.1 tslib: 2.6.2 dev: false - /@smithy/querystring-parser@2.1.1: - resolution: {integrity: sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==} + /@smithy/querystring-parser@2.1.2: + resolution: {integrity: sha512-z1yL5Iiagm/UxVy1tcuTFZdfOBK/QtYeK6wfClAJ7cOY7kIaYR6jn1cVXXJmhAQSh1b2ljP4xiZN4Ybj7Tbs5w==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/service-error-classification@2.1.1: - resolution: {integrity: sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw==} + /@smithy/service-error-classification@2.1.2: + resolution: {integrity: sha512-R+gL1pAPuWkH6unFridk57wDH5PFY2IlVg2NUjSAjoaIaU+sxqKf/7AOWIcx9Bdn+xY0/4IRQ69urlC+F3I9gg==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 dev: false /@smithy/shared-ini-file-loader@2.3.1: resolution: {integrity: sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 + tslib: 2.6.2 + dev: false + + /@smithy/shared-ini-file-loader@2.3.2: + resolution: {integrity: sha512-idHGDJB+gBh+aaIjmWj6agmtNWftoyAenErky74hAtKyUaCvfocSBgEJ2pQ6o68svBluvGIj4NGFgJu0198mow==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -8229,7 +8120,7 @@ packages: dependencies: '@smithy/eventstream-codec': 2.1.1 '@smithy/is-array-buffer': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 '@smithy/util-hex-encoding': 2.1.1 '@smithy/util-middleware': 2.1.1 '@smithy/util-uri-escape': 2.1.1 @@ -8237,30 +8128,30 @@ packages: tslib: 2.6.2 dev: false - /@smithy/smithy-client@2.3.1: - resolution: {integrity: sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==} + /@smithy/smithy-client@2.4.0: + resolution: {integrity: sha512-6/jxk0om9l2s9BcgHtrBn+Hd3xcFGDzxfEJ2FvGpZxIz0S7bgvZg1gyR66O1xf1w9WZBH+W7JClhfSn2gETINw==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 2.4.1 - '@smithy/middleware-stack': 2.1.1 - '@smithy/protocol-http': 3.1.1 - '@smithy/types': 2.9.1 - '@smithy/util-stream': 2.1.1 + '@smithy/middleware-endpoint': 2.4.2 + '@smithy/middleware-stack': 2.1.2 + '@smithy/protocol-http': 3.2.0 + '@smithy/types': 2.10.0 + '@smithy/util-stream': 2.1.2 tslib: 2.6.2 dev: false - /@smithy/types@2.9.1: - resolution: {integrity: sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==} + /@smithy/types@2.10.0: + resolution: {integrity: sha512-QYXQmpIebS8/jYXgyJjCanKZbI4Rr8tBVGBAIdDhA35f025TVjJNW69FJ0TGiDqt+lIGo037YIswq2t2Y1AYZQ==} engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: false - /@smithy/url-parser@2.1.1: - resolution: {integrity: sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==} + /@smithy/url-parser@2.1.2: + resolution: {integrity: sha512-KBPi740ciTujUaY+RfQuPABD0QFmgSBN5qNVDCGTryfsbG4jkwC0YnElSzi72m24HegMyxzZDLG4Oh4/97mw2g==} dependencies: - '@smithy/querystring-parser': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/querystring-parser': 2.1.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -8300,36 +8191,36 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-browser@2.1.1: - resolution: {integrity: sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA==} + /@smithy/util-defaults-mode-browser@2.1.2: + resolution: {integrity: sha512-YmojdmsE7VbvFGJ/8btn/5etLm1HOQkgVX6nMWlB0yBL/Vb//s3aTebUJ66zj2+LNrBS3B9S+18+LQU72Yj0AQ==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/property-provider': 2.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/property-provider': 2.1.2 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 bowser: 2.11.0 tslib: 2.6.2 dev: false - /@smithy/util-defaults-mode-node@2.1.1: - resolution: {integrity: sha512-tYVrc+w+jSBfBd267KDnvSGOh4NMz+wVH7v4CClDbkdPfnjvImBZsOURncT5jsFwR9KCuDyPoSZq4Pa6+eCUrA==} + /@smithy/util-defaults-mode-node@2.2.1: + resolution: {integrity: sha512-kof7M9Q2qP5yaQn8hHJL3KwozyvIfLe+ys7feifSul6gBAAeoraibo/MWqotb/I0fVLMlCMDwn7WXFsGUwnsew==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/config-resolver': 2.1.1 - '@smithy/credential-provider-imds': 2.2.1 - '@smithy/node-config-provider': 2.2.1 - '@smithy/property-provider': 2.1.1 - '@smithy/smithy-client': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/config-resolver': 2.1.2 + '@smithy/credential-provider-imds': 2.2.2 + '@smithy/node-config-provider': 2.2.2 + '@smithy/property-provider': 2.1.2 + '@smithy/smithy-client': 2.4.0 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/util-endpoints@1.1.1: - resolution: {integrity: sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw==} + /@smithy/util-endpoints@1.1.2: + resolution: {integrity: sha512-2/REfdcJ20y9iF+9kSBRBsaoGzjT5dZ3E6/TA45GHJuJAb/vZTj76VLTcrl2iN3fWXiDK1B8RxchaLGbr7RxxA==} engines: {node: '>= 14.0.0'} dependencies: - '@smithy/node-config-provider': 2.2.1 - '@smithy/types': 2.9.1 + '@smithy/node-config-provider': 2.2.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -8344,26 +8235,34 @@ packages: resolution: {integrity: sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false - /@smithy/util-retry@2.1.1: - resolution: {integrity: sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA==} - engines: {node: '>= 14.0.0'} - dependencies: - '@smithy/service-error-classification': 2.1.1 - '@smithy/types': 2.9.1 - tslib: 2.6.2 - dev: false - - /@smithy/util-stream@2.1.1: - resolution: {integrity: sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==} + /@smithy/util-middleware@2.1.2: + resolution: {integrity: sha512-lvSOnwQ7iAajtWb1nAyy0CkOIn8d+jGykQOtt2NXDsPzOTfejZM/Uph+O/TmVgWoXdcGuw5peUMG2f5xEIl6UQ==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/fetch-http-handler': 2.4.1 - '@smithy/node-http-handler': 2.3.1 - '@smithy/types': 2.9.1 + '@smithy/types': 2.10.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-retry@2.1.2: + resolution: {integrity: sha512-pqifOgRqwLfRu+ks3awEKKqPeYxrHLwo4Yu2EarGzeoarTd1LVEyyf5qLE6M7IiCsxnXRhn9FoWIdZOC+oC/VQ==} + engines: {node: '>= 14.0.0'} + dependencies: + '@smithy/service-error-classification': 2.1.2 + '@smithy/types': 2.10.0 + tslib: 2.6.2 + dev: false + + /@smithy/util-stream@2.1.2: + resolution: {integrity: sha512-AbGjvoSok7YeUKv9WRVRSChQfsufLR54YCAabTbaABRdIucywRQs29em0uAP6r4RLj+4aFZStWGYpFgT0P8UlQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/fetch-http-handler': 2.4.2 + '@smithy/node-http-handler': 2.4.0 + '@smithy/types': 2.10.0 '@smithy/util-base64': 2.1.1 '@smithy/util-buffer-from': 2.1.1 '@smithy/util-hex-encoding': 2.1.1 @@ -8386,12 +8285,12 @@ packages: tslib: 2.6.2 dev: false - /@smithy/util-waiter@2.1.1: - resolution: {integrity: sha512-kYy6BLJJNif+uqNENtJqWdXcpqo1LS+nj1AfXcDhOpqpSHJSAkVySLyZV9fkmuVO21lzGoxjvd1imGGJHph/IA==} + /@smithy/util-waiter@2.1.2: + resolution: {integrity: sha512-yxLC57GBDmbDmrnH+vJxsrbV4/aYUucBONkSRLZyJIVFAl/QJH+O/h+phITHDaxVZCYZAcudYJw4ERE32BJM7g==} engines: {node: '>=14.0.0'} dependencies: - '@smithy/abort-controller': 2.1.1 - '@smithy/types': 2.9.1 + '@smithy/abort-controller': 2.1.2 + '@smithy/types': 2.10.0 tslib: 2.6.2 dev: false @@ -8635,7 +8534,7 @@ packages: magic-string: 0.30.5 rollup: 3.29.4 typescript: 5.3.3 - vite: 5.0.12(terser@5.27.0) + vite: 5.0.12 transitivePeerDependencies: - encoding - supports-color @@ -8939,7 +8838,7 @@ packages: react: 18.2.0 react-docgen: 7.0.1 react-dom: 18.2.0(react@18.2.0) - vite: 5.0.12(terser@5.27.0) + vite: 5.0.12 transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -9192,8 +9091,8 @@ packages: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} dev: false - /@t3-oss/env-core@0.8.0(typescript@5.3.3)(zod@3.22.4): - resolution: {integrity: sha512-Tc1pg0KH/tJeI0Z1s/Isp1VsGDj1N03ZAYFV8GjWgMxytF/ve0Dv+opjmTapHICRv8qiB1Y/fsTjkWNMpKPRCQ==} + /@t3-oss/env-core@0.9.2(typescript@5.3.3)(zod@3.22.4): + resolution: {integrity: sha512-KgWXljUTHgO3o7GMZQPAD5+P+HqpauMNNHowlm7V2b9IeMitSUpNKwG6xQrup/xARWHTdxRVIl0mSI4wCevQhQ==} peerDependencies: typescript: '>=5.0.0' zod: ^3.0.0 @@ -9205,8 +9104,8 @@ packages: zod: 3.22.4 dev: false - /@t3-oss/env-nextjs@0.8.0(typescript@5.3.3)(zod@3.22.4): - resolution: {integrity: sha512-bJyoE8of4QmqZN7a49iLJAbUq4graScb9ezXzvnuIVr9JP43C093vmy55hT1uZL533CwiPz8zo1INwyAS6qnHw==} + /@t3-oss/env-nextjs@0.9.2(typescript@5.3.3)(zod@3.22.4): + resolution: {integrity: sha512-dklHrgKLESStNVB67Jdbu6osxDYA+xNKaPBRerlnkEvzbCccSKMvZENx6EZebJuR4snqB3/yRykNMn/bdIAyiQ==} peerDependencies: typescript: '>=5.0.0' zod: ^3.0.0 @@ -9214,7 +9113,7 @@ packages: typescript: optional: true dependencies: - '@t3-oss/env-core': 0.8.0(typescript@5.3.3)(zod@3.22.4) + '@t3-oss/env-core': 0.9.2(typescript@5.3.3)(zod@3.22.4) typescript: 5.3.3 zod: 3.22.4 dev: false @@ -9290,12 +9189,7 @@ packages: '@testing-library/dom': 9.3.3 dev: true - /@tootallnate/once@2.0.0: - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} - dev: true - - /@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.4): + /@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.2.5): resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} peerDependencies: '@vue/compiler-sfc': 3.x @@ -9310,7 +9204,7 @@ packages: '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 lodash: 4.17.21 - prettier: 3.2.4 + prettier: 3.2.5 transitivePeerDependencies: - supports-color dev: true @@ -9391,13 +9285,13 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: true /@types/cookie@0.4.1: @@ -9407,19 +9301,13 @@ packages: /@types/cors@2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: false /@types/cross-spawn@6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 20.11.6 - dev: true - - /@types/cross-spawn@6.0.3: - resolution: {integrity: sha512-BDAkU7WHHRHnvBf5z89lcvACsvkz/n7Tv+HyD/uW76O29HoH1Tk/W6iQrepaZVbisvlEek4ygwT8IW7ow9XLAA==} - dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: true /@types/debug@4.1.12: @@ -9434,8 +9322,8 @@ packages: '@types/ms': 0.7.34 dev: true - /@types/debug@4.1.9: - resolution: {integrity: sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==} + /@types/debug@4.1.8: + resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} dependencies: '@types/ms': 0.7.34 dev: true @@ -9487,7 +9375,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -9510,13 +9398,13 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: true /@types/hast@2.3.8: @@ -9534,7 +9422,7 @@ packages: /@types/hoist-non-react-statics@3.3.5: resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.58 hoist-non-react-statics: 3.3.2 dev: false @@ -9558,25 +9446,10 @@ packages: '@types/istanbul-lib-report': 3.0.3 dev: true - /@types/jest@29.5.11: - resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} - dependencies: - expect: 29.7.0 - pretty-format: 29.7.0 - dev: true - /@types/js-cookie@2.2.7: resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} dev: false - /@types/jsdom@20.0.1: - resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} - dependencies: - '@types/node': 20.11.6 - '@types/tough-cookie': 4.0.5 - parse5: 7.1.2 - dev: true - /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -9650,7 +9523,7 @@ packages: /@types/node-fetch@2.6.9: resolution: {integrity: sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 form-data: 4.0.0 dev: true @@ -9670,8 +9543,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.6: - resolution: {integrity: sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==} + /@types/node@20.11.20: + resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} dependencies: undici-types: 5.26.5 @@ -9706,7 +9579,13 @@ packages: /@types/react-dom@18.2.18: resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.58 + + /@types/react-dom@18.2.19: + resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} + dependencies: + '@types/react': 18.2.58 + dev: true /@types/react-highlight-words@0.16.7: resolution: {integrity: sha512-+upXTIaRd3rGvh1aDQSs9z5X+sV3UM6Jrmjk03GN2GXl4v/+iOJKQj2LZHo6Vp2IoTvMdtxgME26feqo12xXLg==} @@ -9718,7 +9597,7 @@ packages: resolution: {integrity: sha512-NF8m5AjWCkert+fosDsN3hAlHzpjSiXlVy9EgQEmLoBhaNXbmyeGs/aj5dQzKuF+/q+S7JQagorGDW8pJ28Hmg==} dependencies: '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.2.48 + '@types/react': 18.2.58 hoist-non-react-statics: 3.3.2 redux: 4.2.1 dev: false @@ -9738,6 +9617,13 @@ packages: '@types/scheduler': 0.16.8 csstype: 3.1.3 + /@types/react@18.2.58: + resolution: {integrity: sha512-TaGvMNhxvG2Q0K0aYxiKfNDS5m5ZsoIBBbtfUorxdH4NGSXIlYvZxLJI+9Dd3KjeB3780bciLyAb7ylO8pLhPw==} + dependencies: + '@types/prop-types': 15.7.11 + '@types/scheduler': 0.16.8 + csstype: 3.1.3 + /@types/resolve@1.20.6: resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==} dev: true @@ -9756,7 +9642,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: true /@types/serve-static@1.15.5: @@ -9764,15 +9650,7 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.6 - dev: true - - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - dev: true - - /@types/tough-cookie@4.0.5: - resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/node': 20.11.20 dev: true /@types/trusted-types@2.0.7: @@ -9792,7 +9670,7 @@ packages: /@types/webpack@5.28.5(@swc/core@1.3.101)(esbuild@0.19.11): resolution: {integrity: sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 tapable: 2.2.1 webpack: 5.90.3(@swc/core@1.3.101)(esbuild@0.19.11) transitivePeerDependencies: @@ -9805,7 +9683,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 dev: false /@types/yargs-parser@21.0.3: @@ -9824,7 +9702,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -9836,13 +9714,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.0(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/scope-manager': 6.19.0 - '@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.19.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 @@ -9853,25 +9731,25 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} + /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.19.1 - '@typescript-eslint/type-utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.19.1 + '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/type-utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 @@ -9882,7 +9760,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.19.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -9897,13 +9775,13 @@ packages: '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.19.1(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.19.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -9918,7 +9796,28 @@ packages: '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.19.1 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.0.2 + debug: 4.3.4 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -9948,7 +9847,15 @@ packages: '@typescript-eslint/visitor-keys': 6.19.1 dev: true - /@typescript-eslint/type-utils@6.19.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/scope-manager@7.0.2: + resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 + dev: true + + /@typescript-eslint/type-utils@6.19.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -9959,29 +9866,29 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.19.0(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@6.19.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} + /@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: @@ -10003,6 +9910,11 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true + /@typescript-eslint/types@7.0.2: + resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10068,19 +9980,41 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/typescript-estree@7.0.2(typescript@5.3.3): + resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) - eslint: 8.56.0 + eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -10088,38 +10022,38 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.19.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 6.19.0 '@typescript-eslint/types': 6.19.0 '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.3.3) - eslint: 8.56.0 + eslint: 8.57.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.19.1(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} + /@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.19.1 - '@typescript-eslint/types': 6.19.1 - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.3.3) + eslint: 8.57.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -10150,6 +10084,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@7.0.2: + resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.0.2 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -10186,7 +10128,7 @@ packages: vue-router: optional: true dependencies: - next: 14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false @@ -10196,12 +10138,12 @@ packages: peerDependencies: vite: ^4.1.0-beta.0 dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 5.0.12(terser@5.27.0) + vite: 5.0.12 transitivePeerDependencies: - supports-color dev: true @@ -10217,11 +10159,50 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.6) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.0.12(terser@5.27.0) + vite: 5.0.12 transitivePeerDependencies: - supports-color dev: true + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + dependencies: + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + dependencies: + '@vitest/utils': 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + dependencies: + magic-string: 0.30.5 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + /@volar/language-core@1.11.1: resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: @@ -10407,11 +10388,6 @@ packages: resolution: {integrity: sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==} dev: true - /abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead - dev: true - /abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10424,13 +10400,6 @@ packages: mime-types: 2.1.35 negotiator: 0.6.3 - /acorn-globals@7.0.1: - resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} - dependencies: - acorn: 8.11.3 - acorn-walk: 8.3.1 - dev: true - /acorn-import-assertions@1.9.0(acorn@8.11.3): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -10464,6 +10433,11 @@ packages: engines: {node: '>=0.4.0'} dev: true + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} @@ -10487,6 +10461,7 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: false /agent-base@7.1.0: resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} @@ -10804,6 +10779,10 @@ packages: util: 0.12.5 dev: true + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + /ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} dev: true @@ -10870,7 +10849,7 @@ packages: postcss-value-parser: 4.2.0 dev: false - /autoprefixer@10.4.17(postcss@8.4.33): + /autoprefixer@10.4.17(postcss@8.4.35): resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -10882,7 +10861,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.33 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -10890,8 +10869,8 @@ packages: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /aws-crt@1.21.0: - resolution: {integrity: sha512-5GKAxFm4ttjj5TiVaBkVmOwn6y7KSj9ODyWwCFrBVedS6njH9YLGmdZRVEXn1boz2B5xq4QkPGgf1ypEBR0tvA==} + /aws-crt@1.21.1: + resolution: {integrity: sha512-pSLf1Xg5P2Owa+n/82hkEXV22q56kbxJOxX4FB5DvvHpTokOygz6nFj+/cS9dnv3tNZgOiUjTvsz0Xk1ldyi0w==} requiresBuild: true dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 @@ -10929,24 +10908,6 @@ packages: dequal: 2.0.3 dev: true - /babel-jest@29.7.0(@babel/core@7.23.7): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.23.7 - '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.23.7) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} @@ -10960,89 +10921,48 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.4 - dev: true - - /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7): - resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7): - resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) core-js-compat: 3.34.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7): - resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} + /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) transitivePeerDependencies: - supports-color dev: true - /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.23.7): + /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.23.9): resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} peerDependencies: '@babel/core': ^7.12.10 dependencies: - '@babel/core': 7.23.7 - dev: true - - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.7): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - dev: true - - /babel-preset-jest@29.6.3(@babel/core@7.23.7): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.7 - babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) + '@babel/core': 7.23.9 dev: true /bail@2.0.2: @@ -11182,13 +11102,6 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - dependencies: - fast-json-stable-stringify: 2.1.0 - dev: true - /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: @@ -11234,6 +11147,7 @@ packages: engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 + dev: false /bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} @@ -11278,11 +11192,6 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - /camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} @@ -11311,6 +11220,19 @@ packages: crc-32: 1.2.2 dev: false + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + /chalk-template@0.4.0: resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} engines: {node: '>=12'} @@ -11362,11 +11284,6 @@ packages: engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true - /character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} dev: false @@ -11399,16 +11316,22 @@ packages: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: false - /checkpoint-client@1.1.21: - resolution: {integrity: sha512-bcrcnJncn6uGhj06IIsWvUBPyJWK1ZezDbLCJ//IQEYXkUobhGvOOBlHe9K5x0ZMkAZGinPB4T+lTUmFz/acWQ==} + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: - ci-info: 3.3.0 + get-func-name: 2.0.2 + dev: true + + /checkpoint-client@1.1.24: + resolution: {integrity: sha512-nIOlLhDS7MKs4tUzS3LCm+sE1NgTCVnVrXlD0RRxaoEkkLu8LIWSUNiNWai6a+LK5unLzTyZeTCYX1Smqy0YoA==} + dependencies: + ci-info: 3.8.0 env-paths: 2.2.1 fast-write-atomic: 0.2.1 make-dir: 3.1.0 ms: 2.1.3 - node-fetch: 2.6.7 - uuid: 8.3.2 + node-fetch: 2.6.11 + uuid: 9.0.0 transitivePeerDependencies: - encoding dev: true @@ -11432,18 +11355,15 @@ packages: engines: {node: '>=6.0'} dev: false - /ci-info@3.3.0: - resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} dev: true /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} - dev: true - /class-variance-authority@0.7.0: resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} dependencies: @@ -11465,6 +11385,7 @@ packages: engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 + dev: false /cli-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} @@ -11481,6 +11402,7 @@ packages: /cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + dev: false /cli-truncate@2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} @@ -11530,6 +11452,7 @@ packages: /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + dev: false /clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} @@ -11545,25 +11468,19 @@ packages: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} - /cmdk@0.2.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} + /cmdk@0.2.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-U6//9lQ6JvT47+6OF6Gi8BvkxYQ8SCRRSKIJkthIMsFsLZRG0cKvTtuTaefyIKMQb8rvvXy0wGdpTNq/jPtm+g==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: '@radix-ui/react-dialog': 1.0.0(react-dom@18.2.0)(react@18.2.0) - command-score: 0.1.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - /code-block-writer@11.0.3: resolution: {integrity: sha512-NiujjUFB4SwScJq2bwbYUtXbZhBSlY6vYzm++3Q6oC+U+injTqfPYFK8wS9COOmb2lueqp0ZRB4nK1VYeHgNyw==} dev: true @@ -11577,10 +11494,6 @@ packages: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} dev: false - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - dev: true - /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -11636,10 +11549,6 @@ packages: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: false - /command-score@0.1.2: - resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==} - dev: false - /commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -11764,6 +11673,7 @@ packages: /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -11814,25 +11724,6 @@ packages: readable-stream: 3.6.2 dev: true - /create-jest@29.7.0(@types/node@20.11.6)(ts-node@10.9.2): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true @@ -11845,14 +11736,6 @@ packages: cross-spawn: 7.0.3 dev: true - /cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} - dependencies: - node-fetch: 2.7.0(encoding@0.1.13) - transitivePeerDependencies: - - encoding - dev: true - /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: @@ -11939,21 +11822,6 @@ packages: engines: {node: '>=4'} hasBin: true - /cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} - dev: true - - /cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: true - - /cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - dependencies: - cssom: 0.3.8 - dev: true - /cssstyle@4.0.1: resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} engines: {node: '>=18'} @@ -11995,15 +11863,6 @@ packages: engines: {node: '>= 12'} dev: false - /data-urls@3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - dev: true - /data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} @@ -12088,13 +11947,11 @@ packages: character-entities: 2.0.2 dev: false - /dedent@1.5.1: - resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 dev: true /deep-equal@2.2.3: @@ -12132,11 +11989,13 @@ packages: /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + dev: false /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 + dev: false /define-data-property@1.1.1: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} @@ -12200,11 +12059,6 @@ packages: engines: {node: '>=8'} dev: false - /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} @@ -12274,22 +12128,14 @@ packages: /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - /domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead - dependencies: - webidl-conversions: 7.0.0 - dev: true - /domhandler@5.0.3: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} dependencies: domelementtype: 2.3.0 - /dompurify@3.0.8: - resolution: {integrity: sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ==} + /dompurify@3.0.9: + resolution: {integrity: sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ==} dev: true /domutils@3.1.0: @@ -12366,11 +12212,6 @@ packages: /electron-to-chromium@1.4.615: resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -12429,7 +12270,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 20.11.6 + '@types/node': 20.11.20 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -12666,11 +12507,6 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -12692,7 +12528,7 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next@14.1.0(eslint@8.56.0)(typescript@5.3.3): + /eslint-config-next@14.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -12703,45 +12539,45 @@ packages: dependencies: '@next/eslint-plugin-next': 14.1.0 '@rushstack/eslint-patch': 1.6.1 - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.56.0) - eslint-plugin-react: 7.33.2(eslint@8.56.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-react: 7.33.2(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: true - /eslint-config-prettier@9.0.0(eslint@8.56.0): + /eslint-config-prettier@9.0.0(eslint@8.57.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-config-prettier@9.1.0(eslint@8.56.0): + /eslint-config-prettier@9.1.0(eslint@8.57.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: true - /eslint-config-turbo@1.10.12(eslint@8.56.0): + /eslint-config-turbo@1.10.12(eslint@8.57.0): resolution: {integrity: sha512-z3jfh+D7UGYlzMWGh+Kqz++hf8LOE96q3o5R8X4HTjmxaBWlLAWG+0Ounr38h+JLR2TJno0hU9zfzoPNkR9BdA==} peerDependencies: eslint: '>6.6.0' dependencies: - eslint: 8.56.0 - eslint-plugin-turbo: 1.10.12(eslint@8.56.0) + eslint: 8.57.0 + eslint-plugin-turbo: 1.10.12(eslint@8.57.0) /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} @@ -12753,7 +12589,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -12762,9 +12598,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint: 8.57.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -12776,7 +12612,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -12797,16 +12633,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -12816,16 +12652,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.3.3) 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 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -12841,7 +12677,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.56.0): + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} peerDependencies: @@ -12857,7 +12693,7 @@ packages: damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 es-iterator-helpers: 1.0.15 - eslint: 8.56.0 + eslint: 8.57.0 hasown: 2.0.0 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -12866,24 +12702,24 @@ packages: object.fromentries: 2.0.7 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.56.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react-refresh@0.4.5(eslint@8.56.0): + /eslint-plugin-react-refresh@0.4.5(eslint@8.57.0): resolution: {integrity: sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==} peerDependencies: eslint: '>=7' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.56.0): + /eslint-plugin-react@7.33.2(eslint@8.57.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -12894,7 +12730,7 @@ packages: array.prototype.tosorted: 1.1.2 doctrine: 2.1.0 es-iterator-helpers: 1.0.15 - eslint: 8.56.0 + eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 @@ -12908,15 +12744,15 @@ packages: string.prototype.matchall: 4.0.10 dev: true - /eslint-plugin-storybook@0.6.15(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==} - engines: {node: 12.x || 14.x || >= 16} + /eslint-plugin-storybook@0.8.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-CZeVO5EzmPY7qghO2t64oaFM+8FTaD4uzOEjHKp516exyTKo+skKAL9GI3QALS2BXhyALJjNtwbmr1XinGE8bA==} + engines: {node: '>= 18'} peerDependencies: eslint: '>=6' dependencies: '@storybook/csf': 0.0.1 - '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 requireindex: 1.2.0 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -12924,13 +12760,13 @@ packages: - typescript dev: true - /eslint-plugin-turbo@1.10.12(eslint@8.56.0): + /eslint-plugin-turbo@1.10.12(eslint@8.57.0): resolution: {integrity: sha512-uNbdj+ohZaYo4tFJ6dStRXu2FZigwulR1b3URPXe0Q8YaE7thuekKNP+54CHtZPH9Zey9dmDx5btAQl9mfzGOw==} peerDependencies: eslint: '>6.6.0' dependencies: dotenv: 16.0.3 - eslint: 8.56.0 + eslint: 8.57.0 /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} @@ -12950,16 +12786,16 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -13077,7 +12913,6 @@ packages: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 - dev: false /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -13127,22 +12962,6 @@ packages: strip-final-newline: 3.0.0 dev: true - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true - - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/expect-utils': 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - dev: true - /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} @@ -13398,8 +13217,8 @@ packages: engines: {node: '>= 0.6'} dev: true - /fp-ts@2.13.1: - resolution: {integrity: sha512-0eu5ULPS2c/jsa1lGFneEFFEdTbembJv8e4QKXeVJ3lm/5hyve06dlKZrpxmMwJt6rYen7sxmHHK2CLaXvWuWQ==} + /fp-ts@2.16.0: + resolution: {integrity: sha512-bLq+KgbiXdTEoT1zcARrWEpa5z6A/8b7PcDW7Gef3NSisQ+VS7ll2Xbf1E+xsgik0rWub/8u0qP/iTTjj+PhxQ==} dev: true /frac@1.1.2: @@ -13446,8 +13265,8 @@ packages: '@emotion/is-prop-valid': 0.8.8 dev: false - /framer-motion@11.0.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Lb0EYbQcSK/pgyQUJm+KzsQrKrJRX9sFRyzl9hSr9gFG4Mk8yP7BjhuxvRXzblOM/+JxycrJdCDVmOQBsjpYlw==} + /framer-motion@11.0.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BpO3mWF8UwxzO3Ca5AmSkrg14QYTeJa9vKgoLOoBdBdTPj0e81i1dMwnX6EQJXRieUx20uiDBXq8bA6y7N6b8Q==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -13473,15 +13292,6 @@ packages: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - /fs-extra@11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -13582,6 +13392,7 @@ packages: /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + dev: true /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -13592,6 +13403,10 @@ packages: engines: {node: '>=18'} dev: true + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -13721,10 +13536,9 @@ packages: inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: false - /global-dirs@3.0.0: - resolution: {integrity: sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==} + /global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} dependencies: ini: 2.0.0 @@ -13733,6 +13547,7 @@ packages: /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + dev: true /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} @@ -13891,11 +13706,6 @@ packages: dependencies: has-symbols: 1.0.3 - /has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - dev: true - /hasha@5.2.2: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} @@ -14009,13 +13819,6 @@ packages: /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - /html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - dependencies: - whatwg-encoding: 2.0.0 - dev: true - /html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -14023,10 +13826,6 @@ packages: whatwg-encoding: 3.1.1 dev: true - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -14067,17 +13866,6 @@ packages: toidentifier: 1.0.1 dev: true - /http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true - /http-proxy-agent@7.0.0: resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} engines: {node: '>= 14'} @@ -14096,6 +13884,17 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: false + + /https-proxy-agent@7.0.0: + resolution: {integrity: sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true /https-proxy-agent@7.0.2: resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} @@ -14145,6 +13944,13 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + /ignore-walk@5.0.1: + resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + minimatch: 5.1.6 + dev: true + /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} @@ -14165,15 +13971,6 @@ packages: engines: {node: '>=8'} dev: true - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -14366,11 +14163,6 @@ packages: get-east-asian-width: 1.2.0 dev: true - /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -14395,6 +14187,7 @@ packages: /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + dev: false /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} @@ -14520,6 +14313,7 @@ packages: /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + dev: false /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} @@ -14557,12 +14351,12 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /isomorphic-dompurify@2.3.0: - resolution: {integrity: sha512-FCoKY4/mW/jnn/+VgE7wXGC2D/RXzVCAmGYuGWEuZXtyWnwmE2100caciIv+RbHk90q9LA0OW5IBn2f+ywHtww==} + /isomorphic-dompurify@2.4.0: + resolution: {integrity: sha512-OW3VSGrjppnbshcHz7RNKnoYlCJkyBBJzEE5yxrTSA+kOl9JPTIrXsnIgOuH4wdLqqRujx22bz/IXebGWPLMAg==} engines: {node: '>=18'} dependencies: '@types/dompurify': 3.0.5 - dompurify: 3.0.8 + dompurify: 3.0.9 jsdom: 24.0.0 transitivePeerDependencies: - bufferutil @@ -14601,7 +14395,7 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/parser': 7.23.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 @@ -14610,47 +14404,6 @@ packages: - supports-color dev: true - /istanbul-lib-instrument@6.0.1: - resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} - engines: {node: '>=10'} - dependencies: - '@babel/core': 7.23.7 - '@babel/parser': 7.23.6 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.2 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - /iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: @@ -14673,197 +14426,13 @@ packages: resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} dev: true - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - execa: 5.1.1 - jest-util: 29.7.0 - p-limit: 3.1.0 - dev: true - - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/expect': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.5.1 - is-generator-fn: 2.1.0 - jest-each: 29.7.0 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - p-limit: 3.1.0 - pretty-format: 29.7.0 - pure-rand: 6.0.4 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-cli@29.7.0(@types/node@20.11.6)(ts-node@10.9.2): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - exit: 0.1.2 - import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - - /jest-config@29.7.0(@types/node@20.11.6)(ts-node@10.9.2): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - dependencies: - '@babel/core': 7.23.7 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - babel-jest: 29.7.0(@babel/core@7.23.7) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.5 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.11.6)(typescript@5.3.3) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - dev: true - - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - jest-get-type: 29.6.3 - jest-util: 29.7.0 - pretty-format: 29.7.0 - dev: true - - /jest-environment-jsdom@29.7.0: - resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/jsdom': 20.0.1 - '@types/node': 20.10.5 - jest-mock: 29.7.0 - jest-util: 29.7.0 - jsdom: 20.0.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - jest-mock: 29.7.0 - jest-util: 29.7.0 - dev: true - - /jest-fetch-mock@3.0.3: - resolution: {integrity: sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==} - dependencies: - cross-fetch: 3.1.8 - promise-polyfill: 8.3.0 - transitivePeerDependencies: - - encoding - dev: true - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jest-haste-map@29.7.0: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.11.6 + '@types/node': 20.11.20 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -14876,77 +14445,12 @@ packages: fsevents: 2.3.3 dev: true - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/code-frame': 7.23.5 - '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - micromatch: 4.0.5 - pretty-format: 29.7.0 - slash: 3.0.0 - stack-utils: 2.0.6 - dev: true - - /jest-mock-extended@3.0.5(jest@29.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-/eHdaNPUAXe7f65gHH5urc8SbRVWjYxBqmCgax2uqOBJy8UUcCBMN1upj1eZ8y/i+IqpyEm4Kq0VKss/GCCTdw==} - peerDependencies: - jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 - typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 - dependencies: - jest: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - ts-essentials: 7.0.3(typescript@5.3.3) - typescript: 5.3.3 - dev: true - /jest-mock@27.5.1: resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.6 - dev: true - - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - jest-util: 29.7.0 - dev: true - - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 29.7.0 + '@types/node': 20.11.20 dev: true /jest-regex-util@29.6.3: @@ -14954,161 +14458,23 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - jest-regex-util: 29.6.3 - jest-snapshot: 29.7.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) - jest-util: 29.7.0 - jest-validate: 29.7.0 - resolve: 1.22.8 - resolve.exports: 2.0.2 - slash: 3.0.0 - dev: true - - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/console': 29.7.0 - '@jest/environment': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - chalk: 4.1.2 - emittery: 0.13.1 - graceful-fs: 4.2.11 - jest-docblock: 29.7.0 - jest-environment-node: 29.7.0 - jest-haste-map: 29.7.0 - jest-leak-detector: 29.7.0 - jest-message-util: 29.7.0 - jest-resolve: 29.7.0 - jest-runtime: 29.7.0 - jest-util: 29.7.0 - jest-watcher: 29.7.0 - jest-worker: 29.7.0 - p-limit: 3.1.0 - source-map-support: 0.5.13 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/environment': 29.7.0 - '@jest/fake-timers': 29.7.0 - '@jest/globals': 29.7.0 - '@jest/source-map': 29.6.3 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - chalk: 4.1.2 - cjs-module-lexer: 1.2.3 - collect-v8-coverage: 1.0.2 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-mock: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@babel/core': 7.23.7 - '@babel/generator': 7.23.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.6 - '@jest/expect-utils': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) - chalk: 4.1.2 - expect: 29.7.0 - graceful-fs: 4.2.11 - jest-diff: 29.7.0 - jest-get-type: 29.6.3 - jest-matcher-utils: 29.7.0 - jest-message-util: 29.7.0 - jest-util: 29.7.0 - natural-compare: 1.4.0 - pretty-format: 29.7.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - dev: true - /jest-util@29.7.0: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.6 + '@types/node': 20.11.20 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: true - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - dev: true - - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.11.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 29.7.0 - string-length: 4.0.2 - dev: true - /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -15117,33 +14483,12 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.11.6)(ts-node@10.9.2): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2) - '@jest/types': 29.6.3 - import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - dev: true - /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -15183,6 +14528,10 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -15196,47 +14545,6 @@ packages: dependencies: argparse: 2.0.1 - /jsdom@20.0.3: - resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} - engines: {node: '>=14'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - abab: 2.0.6 - acorn: 8.11.3 - acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 - decimal.js: 10.4.3 - domexception: 4.0.0 - escodegen: 2.1.0 - form-data: 4.0.0 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 - parse5: 7.1.2 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 4.1.3 - w3c-xmlserializer: 4.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - ws: 8.15.1 - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /jsdom@24.0.0: resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==} engines: {node: '>=18'} @@ -15282,6 +14590,7 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + dev: true /json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} @@ -15319,7 +14628,6 @@ packages: /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: false /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -15449,11 +14757,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true - /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -15461,8 +14764,8 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 - /lexical@0.13.0: - resolution: {integrity: sha512-rTmhzmjzmKmpa8wyUAKEToLOhgjfcZPkzSgyQTXvvGm0hyqbiQuUl2HDiD1nyrvgqYAUSkzu1CfN6dS1Ct1q+w==} + /lexical@0.13.1: + resolution: {integrity: sha512-jaqRYzVEfBKbX4FwYpd/g+MyOjRaraAel0iQsTrwvx3hyN0bswUZuzb6H6nGlFSjcdrc77wKpyKwoWj4aUd+Bw==} dev: false /lib0@0.2.88: @@ -15563,6 +14866,14 @@ packages: json5: 2.2.3 dev: false + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + /localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: @@ -15663,6 +14974,7 @@ packages: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 + dev: false /log-update@6.0.0: resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} @@ -15689,6 +15001,12 @@ packages: resolution: {integrity: sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg==} dev: false + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + /lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} @@ -15704,6 +15022,7 @@ packages: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: true /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} @@ -15719,8 +15038,8 @@ packages: react: 18.2.0 dev: false - /lucide-react@0.336.0(react@18.2.0): - resolution: {integrity: sha512-e06J4Qrdrk3BP/hf3MnkW3LnymdthfyEtVbdEg0xPQ/olTEKfOfTv03DYmdRm1+XpaNQdCpiHT7Vi6regbxDCQ==} + /lucide-react@0.339.0(react@18.2.0): + resolution: {integrity: sha512-W5vFoOppShINzXM95RGO1l5/yvI7ksOI6zne6KczhFNI/Pxo1ixEHD4WRQSvWVFzwYlxUMFWa49IfH6ZDKW0Hg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 dependencies: @@ -15752,13 +15071,6 @@ packages: semver: 6.3.1 dev: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.5.4 - dev: true - /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true @@ -15831,7 +15143,7 @@ packages: dependencies: marked: 7.0.4 react: 18.2.0 - react-email: 2.1.0(eslint@8.56.0) + react-email: 2.1.0(eslint@8.57.0) dev: false /mdast-util-definitions@4.0.0: @@ -16574,6 +15886,15 @@ packages: hasBin: true dev: true + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + /mqtt-packet@6.10.0: resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} dependencies: @@ -16656,8 +15977,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid@5.0.4: - resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==} + /nanoid@5.0.6: + resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} engines: {node: ^18 || >=20} hasBin: true dev: false @@ -16677,8 +15998,8 @@ packages: engines: {node: '>=10'} dev: true - /next-auth@4.24.5(next@14.1.0)(nodemailer@6.9.8)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3RafV3XbfIKk6rF6GlLE4/KxjTcuMCifqrmD+98ejFq73SRoj2rmzoca8u764977lH/Q7jo6Xu6yM+Re1Mz/Og==} + /next-auth@4.24.6(next@14.1.0)(nodemailer@6.9.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-djQt3ZEaWEIxcsuh3HTW2uuzLfXMRjHH+ugAsichlQSbH4iA5MRcgMA2HvTNvsDTDLh44tyU72+/gWsxgTbAKg==} peerDependencies: next: ^12.2.5 || ^13 || ^14 nodemailer: ^6.6.5 @@ -16688,16 +16009,16 @@ packages: nodemailer: optional: true dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.23.8 '@panva/hkdf': 1.1.1 cookie: 0.5.0 jose: 4.15.4 - next: 14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) - nodemailer: 6.9.8 + next: 14.1.0(react-dom@18.2.0)(react@18.2.0) + nodemailer: 6.9.10 oauth: 0.9.15 openid-client: 5.6.1 - preact: 10.19.3 - preact-render-to-string: 5.2.6(preact@10.19.3) + preact: 10.19.6 + preact-render-to-string: 5.2.6(preact@10.19.6) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) uuid: 8.3.2 @@ -16775,7 +16096,7 @@ packages: postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.7)(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: @@ -16793,7 +16114,7 @@ packages: - babel-plugin-macros dev: false - /next@14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0): + /next@14.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} hasBin: true @@ -16816,7 +16137,7 @@ packages: 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.7)(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) optionalDependencies: '@next/swc-darwin-arm64': 14.1.0 '@next/swc-darwin-x64': 14.1.0 @@ -16837,8 +16158,20 @@ packages: engines: {node: '>=10.5.0'} dev: false - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} + /node-fetch@2.6.11: + resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + + /node-fetch@2.6.12: + resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -16889,11 +16222,6 @@ packages: engines: {node: '>=6.0.0'} dev: false - /nodemailer@6.9.8: - resolution: {integrity: sha512-cfrYUk16e67Ks051i4CntM9kshRYei1/o/Gi8K1d+R34OIs21xdFnW7Pt7EucmVKA0LKtqUGNcjMZ7ehjl49mQ==} - engines: {node: '>=6.0.0'} - dev: false - /nopt@7.2.0: resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -16918,6 +16246,29 @@ packages: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + /npm-bundled@2.0.1: + resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + npm-normalize-package-bin: 2.0.0 + dev: true + + /npm-normalize-package-bin@2.0.0: + resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dev: true + + /npm-packlist@5.1.3: + resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + dependencies: + glob: 8.1.0 + ignore-walk: 5.0.1 + npm-bundled: 2.0.1 + npm-normalize-package-bin: 2.0.0 + dev: true + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -17111,6 +16462,7 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 + dev: false /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} @@ -17147,6 +16499,13 @@ packages: dependencies: yocto-queue: 0.1.0 + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -17301,6 +16660,14 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + /peberminta@0.9.0: resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} dev: false @@ -17352,6 +16719,14 @@ packages: find-up: 5.0.0 dev: true + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + /playwright-core@1.41.1: resolution: {integrity: sha512-/KPO5DzXSMlxSX77wy+HihKGOunh3hqndhqeo/nMxfigiKzogn8kfL0ZBDu0L1RKgan5XHCPmn6zXd2NUJgjhg==} engines: {node: '>=16'} @@ -17390,13 +16765,13 @@ packages: resolve: 1.22.8 dev: false - /postcss-import@15.1.0(postcss@8.4.33): + /postcss-import@15.1.0(postcss@8.4.35): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 @@ -17412,14 +16787,14 @@ packages: postcss: 8.4.32 dev: false - /postcss-js@4.0.1(postcss@8.4.33): + /postcss-js@4.0.1(postcss@8.4.35): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.33 + postcss: 8.4.35 dev: true /postcss-load-config@4.0.2(postcss@8.4.32): @@ -17439,7 +16814,7 @@ packages: yaml: 2.3.4 dev: false - /postcss-load-config@4.0.2(postcss@8.4.33): + /postcss-load-config@4.0.2(postcss@8.4.35): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -17452,7 +16827,7 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.33 + postcss: 8.4.35 yaml: 2.3.4 dev: true @@ -17466,13 +16841,13 @@ packages: postcss-selector-parser: 6.0.13 dev: false - /postcss-nested@6.0.1(postcss@8.4.33): + /postcss-nested@6.0.1(postcss@8.4.35): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-selector-parser: 6.0.13 dev: true @@ -17536,17 +16911,16 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: false - /posthog-js@1.108.2: - resolution: {integrity: sha512-31gAeJuql5TXoxSE/69w9htHN35B1f1NN5XBEIrS9xX7LoqzIgUIuhAPFOpX4yUtsXqqWD57xEtR/2hfdEsWRA==} + /posthog-js@1.108.3: + resolution: {integrity: sha512-Vi9lX/MhovsKIEdj2aJ5ioku9U/eMGY8/DzKf4EpyrElxPPdabAdCDRUa81eAqxC6npkOpkHskawUPLg20le4Q==} dependencies: fflate: 0.4.8 - preact: 10.19.3 + preact: 10.19.6 dev: false - /posthog-node@3.6.0: - resolution: {integrity: sha512-N/4//SIQR4fhwbHnDdJ2rQCYdu9wo0EVPK4lVgZswp5R/E42RKlpuO6ZfPsBl+Bcg06OYiOd/WR/jLV90FCoSw==} + /posthog-node@3.6.3: + resolution: {integrity: sha512-JB+ei0LkwE+rKHyW5z79Nd1jUaGxU6TvkfjFqY9vQaHxU5aU8dRl0UUaEmZdZbHwjp3WmXCBQQRNyimwbNQfCw==} engines: {node: '>=15.0.0'} dependencies: axios: 1.6.2 @@ -17555,17 +16929,17 @@ packages: - debug dev: false - /preact-render-to-string@5.2.6(preact@10.19.3): + /preact-render-to-string@5.2.6(preact@10.19.6): resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==} peerDependencies: preact: '>=10' dependencies: - preact: 10.19.3 + preact: 10.19.6 pretty-format: 3.8.0 dev: false - /preact@10.19.3: - resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} + /preact@10.19.6: + resolution: {integrity: sha512-gympg+T2Z1fG1unB8NH29yHJwnEaCH37Z32diPDku316OTnRPeMbiRV9kTrfZpocXjdfnWuFUl/Mj4BHaf6gnw==} /preferred-pm@3.1.2: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} @@ -17581,7 +16955,7 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - /prettier-plugin-tailwindcss@0.5.11(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.2.4): + /prettier-plugin-tailwindcss@0.5.11(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.2.5): resolution: {integrity: sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==} engines: {node: '>=14.21.3'} peerDependencies: @@ -17630,8 +17004,8 @@ packages: prettier-plugin-twig-melody: optional: true dependencies: - '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.2.4) - prettier: 3.2.4 + '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.2.5) + prettier: 3.2.5 dev: true /prettier@2.8.8: @@ -17640,8 +17014,8 @@ packages: hasBin: true dev: false - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true dev: true @@ -17693,40 +17067,38 @@ packages: react: 18.2.0 dev: false - /prisma-dbml-generator@0.10.0: - resolution: {integrity: sha512-5lguDOHGIBhKlWnWUTPTN/swZnDt9FyKQFP6VSgR2Y9Nb0YpyxbvnGZg+lvbUvNzWraqGy/DBODB5KqqhRimbQ==} + /prisma-dbml-generator@0.12.0: + resolution: {integrity: sha512-b5CqA9cCY5jmNJGjx8oUbPw3KSgVd+mu8711MSZIRY9dIF0Vlcs/Au6LR3S5guncydM7Zkh8iz8vC+c2CDj3Xw==} hasBin: true dependencies: - '@prisma/generator-helper': 4.6.1 - '@prisma/internals': 4.6.1 + '@prisma/generator-helper': 5.0.0 + '@prisma/internals': 5.0.0 transitivePeerDependencies: - encoding - supports-color dev: true - /prisma-json-types-generator@3.0.3(prisma@5.8.1)(typescript@5.3.3): - resolution: {integrity: sha512-6TT1J6biRpQdU1Z7ggLeQ74pQNFMxxvT2vwTc9/yYV3znDhy9kW/e/CE6j0XhL8nkP2xzshtCQ1Y/EAh+LO3jQ==} + /prisma-json-types-generator@3.0.4(prisma@5.10.2)(typescript@5.3.3): + resolution: {integrity: sha512-W53OpjBdGZxCsYv7MlUX69d7TPA9lEsQbDf9ddF0J93FX5EvaIRDMexdFPe0KTxiuquGvZTDJgeNXb3gIqEhJw==} engines: {node: '>=14.0'} hasBin: true peerDependencies: prisma: ^5.1 typescript: ^5.1 dependencies: - '@prisma/generator-helper': 5.5.2 - prisma: 5.8.1 + '@prisma/generator-helper': 5.9.1 + prisma: 5.10.2 tslib: 2.6.2 typescript: 5.3.3 - transitivePeerDependencies: - - supports-color dev: true - /prisma@5.8.1: - resolution: {integrity: sha512-N6CpjzECnUHZ5beeYpDzkt2rYpEdAeqXX2dweu6BoQaeYkNZrC/WJHM+5MO/uidFHTak8QhkPKBWck1o/4MD4A==} + /prisma@5.10.2: + resolution: {integrity: sha512-hqb/JMz9/kymRE25pMWCxkdyhbnIWrq+h7S6WysJpdnCvhstbJSNP/S6mScEcqiB8Qv2F+0R3yG+osRaWqZacQ==} engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 5.8.1 + '@prisma/engines': 5.10.2 /prismjs@1.27.0: resolution: {integrity: sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==} @@ -17750,10 +17122,6 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - /promise-polyfill@8.3.0: - resolution: {integrity: sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==} - dev: true - /prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -17823,10 +17191,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /pure-rand@6.0.4: - resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==} - dev: true - /qrcode@1.5.3: resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} engines: {node: '>=10.13.0'} @@ -18009,7 +17373,7 @@ packages: resolution: {integrity: sha512-rCz0HBIT0LWbIM+///LfRrJoTKftIzzwsYDf0ns5KwaEjejMHQRtphcns+IXFHDNY9pnz6G8l/JbbI6pD4EAIA==} engines: {node: '>=16.14.0'} dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/traverse': 7.23.7 '@babel/types': 7.23.6 '@types/babel__core': 7.20.5 @@ -18045,7 +17409,7 @@ packages: react-is: 18.1.0 dev: true - /react-email@2.1.0(eslint@8.56.0): + /react-email@2.1.0(eslint@8.57.0): resolution: {integrity: sha512-fTt85ca1phsBu57iy32wn4LTR37rOzDZoY2AOWVq3JQYVwk6GlBdUuQWif2cudkwWINL9COf9kRMS4/QWtKtAQ==} engines: {node: '>=18.0.0'} hasBin: true @@ -18069,13 +17433,13 @@ packages: commander: 11.1.0 debounce: 2.0.0 esbuild: 0.19.11 - eslint-config-prettier: 9.0.0(eslint@8.56.0) - eslint-config-turbo: 1.10.12(eslint@8.56.0) + eslint-config-prettier: 9.0.0(eslint@8.57.0) + eslint-config-turbo: 1.10.12(eslint@8.57.0) framer-motion: 10.17.4(react-dom@18.2.0)(react@18.2.0) glob: 10.3.4 log-symbols: 4.1.0 mime-types: 2.1.35 - next: 14.1.0(@babel/core@7.23.7)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(react-dom@18.2.0)(react@18.2.0) normalize-path: 3.0.0 ora: 5.4.1 postcss: 8.4.35 @@ -18113,7 +17477,7 @@ packages: peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.23.8 react: 18.2.0 dev: false @@ -18201,14 +17565,14 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /react-markdown@9.0.1(@types/react@18.2.48)(react@18.2.0): + /react-markdown@9.0.1(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==} peerDependencies: '@types/react': '>=18' react: '>=18' dependencies: '@types/hast': 3.0.3 - '@types/react': 18.2.48 + '@types/react': 18.2.58 devlop: 1.1.0 hast-util-to-jsx-runtime: 2.3.0 html-url-attributes: 3.0.0 @@ -18670,13 +18034,6 @@ packages: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} dev: false - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -18689,11 +18046,6 @@ packages: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true - /resolve@1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: @@ -18701,8 +18053,8 @@ packages: path-parse: 1.0.7 dev: true - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -18733,6 +18085,7 @@ packages: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + dev: false /restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} @@ -18913,6 +18266,7 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true + dev: true /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -19139,6 +18493,10 @@ packages: get-intrinsic: 1.2.2 object-inspect: 1.13.1 + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -19268,13 +18626,6 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -19365,11 +18716,8 @@ packages: stackframe: 1.3.4 dev: false - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true /stackframe@1.3.4: @@ -19403,6 +18751,10 @@ packages: engines: {node: '>= 0.8'} dev: true + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} @@ -19427,20 +18779,13 @@ packages: /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + dev: false /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} dev: true - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -19546,11 +18891,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -19583,11 +18923,17 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /stripe@14.13.0: - resolution: {integrity: sha512-uLOfWtBUL1amJCTpKCXWrHntFOSaO2PWb/2hsxV/OlXLr0bz5MyU8IW1pFlmZqpw6hBqAW5Fad7Ty7xRxDYrzA==} + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /stripe@14.18.0: + resolution: {integrity: sha512-yLqKPqYgGJbMxrQiE4+i2i00ZVA2NRIZbZ1rejzj5XR3F3Uc+1iy9QE133knZudhVGMw367b8vTpB8D9pYMETw==} engines: {node: '>=12.*'} dependencies: - '@types/node': 20.11.6 + '@types/node': 20.11.20 qs: 6.11.2 dev: false @@ -19607,7 +18953,7 @@ packages: inline-style-parser: 0.2.2 dev: false - /styled-jsx@5.1.1(@babel/core@7.23.7)(react@18.2.0): + /styled-jsx@5.1.1(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -19620,7 +18966,6 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.23.7 client-only: 0.0.1 react: 18.2.0 dev: false @@ -19747,11 +19092,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.33 - postcss-import: 15.1.0(postcss@8.4.33) - postcss-js: 4.0.1(postcss@8.4.33) - postcss-load-config: 4.0.2(postcss@8.4.33) - postcss-nested: 6.0.1(postcss@8.4.33) + postcss: 8.4.35 + postcss-import: 15.1.0(postcss@8.4.35) + postcss-js: 4.0.1(postcss@8.4.35) + postcss-load-config: 4.0.2(postcss@8.4.35) + postcss-nested: 6.0.1(postcss@8.4.35) postcss-selector-parser: 6.0.13 resolve: 1.22.8 sucrase: 3.34.0 @@ -19847,7 +19192,7 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.27.0 + terser: 5.28.1 webpack: 5.90.3(@swc/core@1.3.101)(esbuild@0.19.11) dev: false @@ -19871,12 +19216,12 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.27.0 + terser: 5.28.1 webpack: 5.90.3 dev: false - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + /terser@5.28.1: + resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -19929,6 +19274,20 @@ packages: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: true + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -19950,6 +19309,7 @@ packages: /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} + dev: true /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} @@ -19989,13 +19349,6 @@ packages: punycode: 2.3.1 dev: true - /tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - dependencies: - punycode: 2.3.1 - dev: true - /tr46@5.0.0: resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} engines: {node: '>=18'} @@ -20052,10 +19405,13 @@ packages: resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} dev: false - /ts-essentials@7.0.3(typescript@5.3.3): - resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==} + /ts-essentials@9.4.1(typescript@5.3.3): + resolution: {integrity: sha512-oke0rI2EN9pzHsesdmrOrnqv1eQODmJpd/noJjwj2ZPC3Z4N2wbjrOEqnsEgmvlO2+4fBb0a794DCna2elEVIQ==} peerDependencies: - typescript: '>=3.7.0' + typescript: '>=4.1.0' + peerDependenciesMeta: + typescript: + optional: true dependencies: typescript: 5.3.3 dev: true @@ -20063,41 +19419,6 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@29.1.2(@babel/core@7.23.7)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.3.3): - resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} - engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@babel/core': 7.23.7 - babel-jest: 29.7.0(@babel/core@7.23.7) - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.11.6)(ts-node@10.9.2) - jest-util: 29.7.0 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.5.4 - typescript: 5.3.3 - yargs-parser: 21.1.1 - dev: true - /ts-morph@13.0.3: resolution: {integrity: sha512-pSOfUMx8Ld/WUreoSzvMFQG5i9uEiWIsBYjpU9+TTASOeUa89j5HykomeqVULm1oqWtBdleI3KEFRLrlA3zGIw==} dependencies: @@ -20105,7 +19426,7 @@ packages: code-block-writer: 11.0.3 dev: true - /ts-node@10.9.2(@types/node@20.11.6)(typescript@5.3.3): + /ts-node@10.9.2(@types/node@20.11.20)(typescript@5.3.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -20124,7 +19445,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.6 + '@types/node': 20.11.20 acorn: 8.11.3 acorn-walk: 8.3.1 arg: 4.1.3 @@ -20195,7 +19516,7 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2(postcss@8.4.33) + postcss-load-config: 4.0.2(postcss@8.4.35) resolve-from: 5.0.0 rollup: 4.9.1 source-map: 0.8.0-beta.0 @@ -20423,6 +19744,10 @@ packages: resolution: {integrity: sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==} dev: false + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + /uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -20442,13 +19767,6 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /undici@5.11.0: - resolution: {integrity: sha512-oWjWJHzFet0Ow4YZBkyiJwiK5vWqEYoH7BINzJAJOLedZ++JpAlCbUktW2GQ2DS2FpKmxD/JMtWUUWl1BtghGw==} - engines: {node: '>=12.18'} - dependencies: - busboy: 1.6.0 - dev: true - /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -20737,6 +20055,12 @@ packages: /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + dev: false + + /uuid@9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + hasBin: true + dev: true /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} @@ -20746,15 +20070,6 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.20 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -20785,8 +20100,29 @@ packages: vfile-message: 4.0.2 dev: false - /vite-plugin-dts@3.7.2(typescript@5.3.3)(vite@5.0.12): - resolution: {integrity: sha512-kg//1nDA01b8rufJf4TsvYN8LMkdwv0oBYpiQi6nRwpHyue+wTlhrBiqgipdFpMnW1oOYv6ywmzE5B0vg6vSEA==} + /vite-node@1.3.1(@types/node@20.11.20): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.20) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite-plugin-dts@3.7.3(typescript@5.3.3)(vite@5.1.4): + resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -20801,7 +20137,7 @@ packages: debug: 4.3.4 kolorist: 1.8.0 typescript: 5.3.3 - vite: 5.0.12(terser@5.27.0) + vite: 5.1.4(terser@5.28.1) vue-tsc: 1.8.27(typescript@5.3.3) transitivePeerDependencies: - '@types/node' @@ -20809,7 +20145,7 @@ packages: - supports-color dev: true - /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.0.12): + /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.1.4): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: vite: '*' @@ -20820,13 +20156,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 3.0.1(typescript@5.3.3) - vite: 5.0.12(terser@5.27.0) + vite: 5.1.4(terser@5.28.1) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@5.0.12(terser@5.27.0): + /vite@5.0.12: resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -20857,11 +20193,149 @@ packages: esbuild: 0.19.11 postcss: 8.4.33 rollup: 4.9.1 - terser: 5.27.0 optionalDependencies: fsevents: 2.3.3 dev: true + /vite@5.1.4(@types/node@20.11.20): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.20 + esbuild: 0.19.11 + postcss: 8.4.35 + rollup: 4.9.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@5.1.4(terser@5.28.1): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.11 + postcss: 8.4.35 + rollup: 4.9.1 + terser: 5.28.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest-mock-extended@1.3.1(typescript@5.3.3)(vitest@1.3.1): + resolution: {integrity: sha512-OpghYjh4BDuQ/Mzs3lFMQ1QRk9D8/2O9T47MLUA5eLn7K4RWIy+MfIivYOWEyxjTENjsBnzgMihDjyNalN/K0Q==} + peerDependencies: + typescript: 3.x || 4.x || 5.x + vitest: '>=0.31.1' + dependencies: + ts-essentials: 9.4.1(typescript@5.3.3) + typescript: 5.3.3 + vitest: 1.3.1(@types/node@20.11.20) + dev: true + + /vitest@1.3.1(@types/node@20.11.20): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.20 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.5 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.20) + vite-node: 1.3.1(@types/node@20.11.20) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + /vscode-oniguruma@1.7.0: resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} dev: false @@ -20889,13 +20363,6 @@ packages: typescript: 5.3.3 dev: true - /w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} - dependencies: - xml-name-validator: 4.0.0 - dev: true - /w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -20921,6 +20388,7 @@ packages: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 + dev: false /web-streams-polyfill@3.2.1: resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} @@ -21027,13 +20495,6 @@ packages: - uglify-js dev: false - /whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - dependencies: - iconv-lite: 0.6.3 - dev: true - /whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} @@ -21045,24 +20506,11 @@ packages: resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: true - /whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - dev: true - /whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} dev: true - /whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - dev: true - /whatwg-url@14.0.0: resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} engines: {node: '>=18'} @@ -21157,6 +20605,15 @@ packages: dependencies: isexe: 2.0.0 + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + /widest-line@4.0.1: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} @@ -21249,19 +20706,6 @@ packages: optional: true dev: false - /ws@8.15.1: - resolution: {integrity: sha512-W5OZiCjXEmk0yZ66ZN82beM5Sz7l7coYxpRkzS+p9PP+ToQry8szKh+61eNktr7EA9DOwvFGhfC605jDHbP6QQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true - /ws@8.16.0: resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} @@ -21288,11 +20732,6 @@ packages: word: 0.3.0 dev: false - /xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - dev: true - /xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -21326,6 +20765,7 @@ packages: /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} @@ -21391,6 +20831,11 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + /yoga-wasm-web@0.3.3: resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} dev: false @@ -21416,7 +20861,7 @@ packages: readable-stream: 3.6.2 dev: true - /zod-prisma@0.5.4(prisma@5.8.1)(zod@3.22.4): + /zod-prisma@0.5.4(prisma@5.10.2)(zod@3.22.4): resolution: {integrity: sha512-5Ca4Qd1a1jy1T/NqCEpbr0c+EsbjJfJ/7euEHob3zDvtUK2rTuD1Rc/vfzH8q8PtaR2TZbysD88NHmrLwpv3Xg==} engines: {node: '>=14'} hasBin: true @@ -21430,7 +20875,7 @@ packages: dependencies: '@prisma/generator-helper': 3.8.1 parenthesis: 3.1.8 - prisma: 5.8.1 + prisma: 5.10.2 ts-morph: 13.0.3 zod: 3.22.4 dev: true @@ -21442,7 +20887,7 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - /zustand@4.4.7(@types/react@18.2.48)(react@18.2.0): + /zustand@4.4.7(@types/react@18.2.58)(react@18.2.0): resolution: {integrity: sha512-QFJWJMdlETcI69paJwhSMJz7PPWjVP8Sjhclxmxmxv/RYI7ZOvR5BHX+ktH0we9gTWQMxcne8q1OY8xxz604gw==} engines: {node: '>=12.7.0'} peerDependencies: @@ -21457,7 +20902,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.58 react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) dev: false diff --git a/turbo.json b/turbo.json index ba51e0e984..51cfba1ce9 100644 --- a/turbo.json +++ b/turbo.json @@ -106,9 +106,15 @@ "NEXTAUTH_SECRET", "NEXTAUTH_URL", "NODE_ENV", + "OIDC_CLIENT_ID", + "OIDC_CLIENT_SECRET", + "OIDC_DISPLAY_NAME", + "OIDC_ISSUER", + "OIDC_SIGNING_ALGORITHM", "PASSWORD_RESET_DISABLED", "PLAYWRIGHT_CI", "PRIVACY_URL", + "RATE_LIMITING_DISABLED", "S3_ACCESS_KEY", "S3_SECRET_KEY", "S3_REGION", diff --git a/vitest.workspace.ts b/vitest.workspace.ts new file mode 100644 index 0000000000..c1efc9a8b8 --- /dev/null +++ b/vitest.workspace.ts @@ -0,0 +1 @@ +export default ["packages/*"];