diff --git a/CHANGELOG.md b/CHANGELOG.md index c85bc6625..5c369861f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed +- Updated NextJS to version 15. [#477](https://github.com/sourcebot-dev/sourcebot/pull/477) + ## [4.6.4] - 2025-08-11 ### Added diff --git a/package.json b/package.json index 59f74fe57..7420579f2 100644 --- a/package.json +++ b/package.json @@ -24,5 +24,8 @@ "dotenv-cli": "^8.0.0", "npm-run-all": "^4.1.5" }, - "packageManager": "yarn@4.7.0" + "packageManager": "yarn@4.7.0", + "resolutions": { + "prettier": "3.5.3" + } } diff --git a/packages/backend/package.json b/packages/backend/package.json index 6338b0bb0..17527800b 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -15,7 +15,7 @@ "@types/micromatch": "^4.0.9", "@types/node": "^22.7.5", "cross-env": "^7.0.3", - "json-schema-to-typescript": "^15.0.2", + "json-schema-to-typescript": "^15.0.4", "tsc-watch": "^6.2.0", "tsx": "^4.19.1", "typescript": "^5.6.2", diff --git a/packages/web/.eslintignore b/packages/web/.eslintignore index 684692901..b1a300673 100644 --- a/packages/web/.eslintignore +++ b/packages/web/.eslintignore @@ -1,2 +1,3 @@ # shadcn components src/components/ +next-env.d.ts \ No newline at end of file diff --git a/packages/web/next.config.mjs b/packages/web/next.config.mjs index de511a92d..2ab0b6421 100644 --- a/packages/web/next.config.mjs +++ b/packages/web/next.config.mjs @@ -38,6 +38,8 @@ const nextConfig = { }, ] }, + + turbopack: {} }; export default withSentryConfig(nextConfig, { diff --git a/packages/web/package.json b/packages/web/package.json index bf7718550..279ffa42f 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -3,10 +3,10 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "next dev --turbopack", "build": "cross-env SKIP_ENV_VALIDATION=1 next build", "start": "next start", - "lint": "cross-env SKIP_ENV_VALIDATION=1 next lint", + "lint": "cross-env SKIP_ENV_VALIDATION=1 eslint .", "test": "vitest", "dev:emails": "email dev --dir ./src/emails", "stripe:listen": "stripe listen --forward-to http://localhost:3000/api/stripe" @@ -146,7 +146,7 @@ "langfuse-vercel": "^3.38.4", "lucide-react": "^0.517.0", "micromatch": "^4.0.8", - "next": "14.2.30", + "next": "15.5.0", "next-auth": "^5.0.0-beta.25", "next-navigation-guard": "^0.2.0", "next-themes": "^0.3.0", @@ -157,9 +157,9 @@ "posthog-js": "^1.161.5", "pretty-bytes": "^6.1.1", "psl": "^1.15.0", - "react": "^18", + "react": "19.1.1", "react-device-detect": "^2.2.3", - "react-dom": "^18", + "react-dom": "19.1.1", "react-hook-form": "^7.53.0", "react-hotkeys-hook": "^4.5.1", "react-icons": "^5.3.0", @@ -187,21 +187,23 @@ "zod-to-json-schema": "^3.24.5" }, "devDependencies": { + "@eslint/eslintrc": "^3", "@tanstack/eslint-plugin-query": "^5.74.7", - "@testing-library/react-hooks": "^8.0.1", + "@testing-library/dom": "^10.4.1", + "@testing-library/react": "^16.3.0", "@types/micromatch": "^4.0.9", "@types/node": "^20", "@types/nodemailer": "^6.4.17", "@types/psl": "^1.1.3", - "@types/react": "^18", - "@types/react-dom": "^18", - "@typescript-eslint/eslint-plugin": "^8.3.0", - "@typescript-eslint/parser": "^8.3.0", + "@types/react": "19.1.10", + "@types/react-dom": "19.1.7", + "@typescript-eslint/eslint-plugin": "^8.40.0", + "@typescript-eslint/parser": "^8.40.0", "cross-env": "^7.0.3", "eslint": "^8", - "eslint-config-next": "14.2.6", - "eslint-plugin-react": "^7.35.0", - "eslint-plugin-react-hooks": "^4.6.2", + "eslint-config-next": "15.5.0", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^5.2.0", "jsdom": "^25.0.1", "npm-run-all": "^4.1.5", "postcss": "^8", @@ -211,5 +213,9 @@ "typescript": "^5", "vite-tsconfig-paths": "^5.1.3", "vitest": "^2.1.5" + }, + "resolutions": { + "@types/react": "19.1.10", + "@types/react-dom": "19.1.7" } } diff --git a/packages/web/src/actions.ts b/packages/web/src/actions.ts index 92c5db84e..b23f3ae2a 100644 --- a/packages/web/src/actions.ts +++ b/packages/web/src/actions.ts @@ -186,7 +186,7 @@ export const withTenancyModeEnforcement = async(mode: TenancyMode, fn: () => ////// Actions /////// -export const createOrg = (name: string, domain: string): Promise<{ id: number } | ServiceError> => sew(() => +export const createOrg = async (name: string, domain: string): Promise<{ id: number } | ServiceError> => sew(() => withTenancyModeEnforcement('multi', () => withAuth(async (userId) => { const org = await prisma.org.create({ @@ -293,7 +293,7 @@ export const completeOnboarding = async (domain: string): Promise<{ success: boo }) )); -export const getSecrets = (domain: string): Promise<{ createdAt: Date; key: string; }[] | ServiceError> => sew(() => +export const getSecrets = async (domain: string): Promise<{ createdAt: Date; key: string; }[] | ServiceError> => sew(() => withAuth((userId) => withOrgMembership(userId, domain, async ({ org }) => { const secrets = await prisma.secret.findMany({ @@ -1990,7 +1990,7 @@ export const rejectAccountRequest = async (requestId: string, domain: string) => )); export const dismissMobileUnsupportedSplashScreen = async () => sew(async () => { - await cookies().set(MOBILE_UNSUPPORTED_SPLASH_SCREEN_DISMISSED_COOKIE_NAME, 'true'); + await (await cookies()).set(MOBILE_UNSUPPORTED_SPLASH_SCREEN_DISMISSED_COOKIE_NAME, 'true'); return true; }); diff --git a/packages/web/src/app/[domain]/agents/page.tsx b/packages/web/src/app/[domain]/agents/page.tsx index 3bbccd0c3..03b2a2d69 100644 --- a/packages/web/src/app/[domain]/agents/page.tsx +++ b/packages/web/src/app/[domain]/agents/page.tsx @@ -13,7 +13,13 @@ const agents = [ }, ]; -export default function AgentsPage({ params: { domain } }: { params: { domain: string } }) { +export default async function AgentsPage(props: { params: Promise<{ domain: string }> }) { + const params = await props.params; + + const { + domain + } = params; + return (
diff --git a/packages/web/src/app/[domain]/browse/[...path]/page.tsx b/packages/web/src/app/[domain]/browse/[...path]/page.tsx index 12689f86f..bbe494687 100644 --- a/packages/web/src/app/[domain]/browse/[...path]/page.tsx +++ b/packages/web/src/app/[domain]/browse/[...path]/page.tsx @@ -5,13 +5,20 @@ import { Loader2 } from "lucide-react"; import { TreePreviewPanel } from "./components/treePreviewPanel"; interface BrowsePageProps { - params: { + params: Promise<{ path: string[]; domain: string; - }; + }>; } -export default async function BrowsePage({ params: { path: _rawPath, domain } }: BrowsePageProps) { +export default async function BrowsePage(props: BrowsePageProps) { + const params = await props.params; + + const { + path: _rawPath, + domain + } = params; + const rawPath = decodeURIComponent(_rawPath.join('/')); const { repoName, revisionName, path, pathType } = getBrowseParamsFromPathParam(rawPath); diff --git a/packages/web/src/app/[domain]/chat/[id]/page.tsx b/packages/web/src/app/[domain]/chat/[id]/page.tsx index ab7592ba9..9c59a2423 100644 --- a/packages/web/src/app/[domain]/chat/[id]/page.tsx +++ b/packages/web/src/app/[domain]/chat/[id]/page.tsx @@ -13,13 +13,14 @@ import { ChatSidePanel } from '../components/chatSidePanel'; import { ResizablePanelGroup } from '@/components/ui/resizable'; interface PageProps { - params: { + params: Promise<{ domain: string; id: string; - }; + }>; } -export default async function Page({ params }: PageProps) { +export default async function Page(props: PageProps) { + const params = await props.params; const languageModels = await getConfiguredLanguageModelsInfo(); const repos = await getRepos(params.domain); const searchContexts = await getSearchContexts(params.domain); diff --git a/packages/web/src/app/[domain]/chat/page.tsx b/packages/web/src/app/[domain]/chat/page.tsx index 4b78cff80..749501015 100644 --- a/packages/web/src/app/[domain]/chat/page.tsx +++ b/packages/web/src/app/[domain]/chat/page.tsx @@ -10,12 +10,13 @@ import { auth } from "@/auth"; import { AnimatedResizableHandle } from "@/components/ui/animatedResizableHandle"; interface PageProps { - params: { + params: Promise<{ domain: string; - }; + }>; } -export default async function Page({ params }: PageProps) { +export default async function Page(props: PageProps) { + const params = await props.params; const languageModels = await getConfiguredLanguageModelsInfo(); const repos = await getRepos(params.domain); const searchContexts = await getSearchContexts(params.domain); diff --git a/packages/web/src/app/[domain]/components/navigationMenu.tsx b/packages/web/src/app/[domain]/components/navigationMenu.tsx index 9aa6f5e36..b71b7ab7f 100644 --- a/packages/web/src/app/[domain]/components/navigationMenu.tsx +++ b/packages/web/src/app/[domain]/components/navigationMenu.tsx @@ -57,43 +57,48 @@ export const NavigationMenu = async ({ - - - Search - - + + Search + - - - Repositories - - + + Repositories + {isAuthenticated && ( <> {env.NEXT_PUBLIC_SOURCEBOT_CLOUD_ENVIRONMENT === undefined && ( - - - Agents - - + + Agents + )} - - - Connections - - + + Connections + - - - Settings - - + + Settings + )} diff --git a/packages/web/src/app/[domain]/connections/[id]/page.tsx b/packages/web/src/app/[domain]/connections/[id]/page.tsx index e59dd3e07..72962f7ea 100644 --- a/packages/web/src/app/[domain]/connections/[id]/page.tsx +++ b/packages/web/src/app/[domain]/connections/[id]/page.tsx @@ -25,16 +25,18 @@ import { CodeHostType } from "@/lib/utils" import { env } from "@/env.mjs" interface ConnectionManagementPageProps { - params: { + params: Promise<{ domain: string id: string - }, - searchParams: { + }>, + searchParams: Promise<{ tab: string - } + }> } -export default async function ConnectionManagementPage({ params, searchParams }: ConnectionManagementPageProps) { +export default async function ConnectionManagementPage(props: ConnectionManagementPageProps) { + const searchParams = await props.searchParams; + const params = await props.params; const connection = await getConnectionByDomain(Number(params.id), params.domain); if (!connection) { return diff --git a/packages/web/src/app/[domain]/connections/layout.tsx b/packages/web/src/app/[domain]/connections/layout.tsx index a8f7d6313..9aeb35415 100644 --- a/packages/web/src/app/[domain]/connections/layout.tsx +++ b/packages/web/src/app/[domain]/connections/layout.tsx @@ -2,13 +2,24 @@ import { auth } from "@/auth"; import { NavigationMenu } from "../components/navigationMenu"; import { redirect } from "next/navigation"; -export default async function Layout({ - children, - params: { domain }, -}: Readonly<{ +interface LayoutProps { children: React.ReactNode; - params: { domain: string }; -}>) { + params: Promise<{ domain: string }>; +} + +export default async function Layout( + props: LayoutProps +) { + const params = await props.params; + + const { + domain + } = params; + + const { + children + } = props; + const session = await auth(); if (!session) { return redirect(`/${domain}`); diff --git a/packages/web/src/app/[domain]/connections/new/[type]/page.tsx b/packages/web/src/app/[domain]/connections/new/[type]/page.tsx index d5d1d8e5f..8c63d4ef9 100644 --- a/packages/web/src/app/[domain]/connections/new/[type]/page.tsx +++ b/packages/web/src/app/[domain]/connections/new/[type]/page.tsx @@ -9,12 +9,11 @@ import { BitbucketCloudConnectionCreationForm, BitbucketDataCenterConnectionCreationForm } from "@/app/[domain]/components/connectionCreationForms"; -import { useCallback } from "react"; +import { useCallback, use } from "react"; import { useDomain } from "@/hooks/useDomain"; -export default function NewConnectionPage({ - params -}: { params: { type: string } }) { +export default function NewConnectionPage(props: { params: Promise<{ type: string }> }) { + const params = use(props.params); const { type } = params; const router = useRouter(); const domain = useDomain(); @@ -46,7 +45,7 @@ export default function NewConnectionPage({ if (type === 'bitbucket-server') { return ; } - + router.push(`/${domain}/connections`); } diff --git a/packages/web/src/app/[domain]/connections/page.tsx b/packages/web/src/app/[domain]/connections/page.tsx index a76c38bd3..4102927f1 100644 --- a/packages/web/src/app/[domain]/connections/page.tsx +++ b/packages/web/src/app/[domain]/connections/page.tsx @@ -7,7 +7,13 @@ import { notFound, ServiceErrorException } from "@/lib/serviceError"; import { OrgRole } from "@sourcebot/db"; import { env } from "@/env.mjs"; -export default async function ConnectionsPage({ params: { domain } }: { params: { domain: string } }) { +export default async function ConnectionsPage(props: { params: Promise<{ domain: string }> }) { + const params = await props.params; + + const { + domain + } = params; + const connections = await getConnections(domain); if (isServiceError(connections)) { throw new ServiceErrorException(connections); @@ -15,7 +21,7 @@ export default async function ConnectionsPage({ params: { domain } }: { params: const membership = await getOrgMembership(domain); if (isServiceError(membership)) { - return notFound(); + throw new ServiceErrorException(notFound()); } return ( diff --git a/packages/web/src/app/[domain]/layout.tsx b/packages/web/src/app/[domain]/layout.tsx index 99834d141..06dca7d86 100644 --- a/packages/web/src/app/[domain]/layout.tsx +++ b/packages/web/src/app/[domain]/layout.tsx @@ -25,13 +25,20 @@ import { GitHubStarToast } from "./components/githubStarToast"; interface LayoutProps { children: React.ReactNode, - params: { domain: string } + params: Promise<{ domain: string }> } -export default async function Layout({ - children, - params: { domain }, -}: LayoutProps) { +export default async function Layout(props: LayoutProps) { + const params = await props.params; + + const { + domain + } = params; + + const { + children + } = props; + const org = await getOrgFromDomain(domain); if (!org) { @@ -39,8 +46,19 @@ export default async function Layout({ } const session = await auth(); - const anonymousAccessEnabled = hasEntitlement("anonymous-access") && await getAnonymousAccessStatus(domain); - + const anonymousAccessEnabled = await (async () => { + if (!hasEntitlement("anonymous-access")) { + return false; + } + + const status = await getAnonymousAccessStatus(domain); + if (isServiceError(status)) { + return false; + } + + return status; + })(); + // If the user is authenticated, we must check if they're a member of the org if (session) { const membership = await prisma.userToOrg.findUnique({ diff --git a/packages/web/src/app/[domain]/page.tsx b/packages/web/src/app/[domain]/page.tsx index 549963295..09bf65a9f 100644 --- a/packages/web/src/app/[domain]/page.tsx +++ b/packages/web/src/app/[domain]/page.tsx @@ -15,7 +15,13 @@ import { env } from "@/env.mjs"; import { loadJsonFile } from "@sourcebot/shared"; import { DemoExamples, demoExamplesSchema } from "@/types"; -export default async function Home({ params: { domain } }: { params: { domain: string } }) { +export default async function Home(props: { params: Promise<{ domain: string }> }) { + const params = await props.params; + + const { + domain + } = params; + const org = await getOrgFromDomain(domain); if (!org) { return diff --git a/packages/web/src/app/[domain]/repos/layout.tsx b/packages/web/src/app/[domain]/repos/layout.tsx index 19c0c99ce..85d607ebc 100644 --- a/packages/web/src/app/[domain]/repos/layout.tsx +++ b/packages/web/src/app/[domain]/repos/layout.tsx @@ -1,12 +1,22 @@ import { NavigationMenu } from "../components/navigationMenu"; -export default function Layout({ - children, - params: { domain }, -}: Readonly<{ +interface LayoutProps { children: React.ReactNode; - params: { domain: string }; -}>) { + params: Promise<{ domain: string }>; +} + +export default async function Layout( + props: LayoutProps +) { + const params = await props.params; + + const { + domain + } = params; + + const { + children + } = props; return (
diff --git a/packages/web/src/app/[domain]/repos/page.tsx b/packages/web/src/app/[domain]/repos/page.tsx index f456afa05..4502dafc3 100644 --- a/packages/web/src/app/[domain]/repos/page.tsx +++ b/packages/web/src/app/[domain]/repos/page.tsx @@ -4,7 +4,13 @@ import { PageNotFound } from "../components/pageNotFound"; import { Header } from "../components/header"; import { env } from "@/env.mjs"; -export default async function ReposPage({ params: { domain } }: { params: { domain: string } }) { +export default async function ReposPage(props: { params: Promise<{ domain: string }> }) { + const params = await props.params; + + const { + domain + } = params; + const org = await getOrgFromDomain(domain); if (!org) { return diff --git a/packages/web/src/app/[domain]/settings/(general)/page.tsx b/packages/web/src/app/[domain]/settings/(general)/page.tsx index 91a2fcfb8..c52f1b550 100644 --- a/packages/web/src/app/[domain]/settings/(general)/page.tsx +++ b/packages/web/src/app/[domain]/settings/(general)/page.tsx @@ -8,12 +8,18 @@ import { ErrorCode } from "@/lib/errorCodes"; import { headers } from "next/headers"; interface GeneralSettingsPageProps { - params: { + params: Promise<{ domain: string; - } + }> } -export default async function GeneralSettingsPage({ params: { domain } }: GeneralSettingsPageProps) { +export default async function GeneralSettingsPage(props: GeneralSettingsPageProps) { + const params = await props.params; + + const { + domain + } = params; + const currentUserRole = await getCurrentUserRole(domain) if (isServiceError(currentUserRole)) { throw new ServiceErrorException(currentUserRole); diff --git a/packages/web/src/app/[domain]/settings/access/page.tsx b/packages/web/src/app/[domain]/settings/access/page.tsx index 402868b31..2fd6163dc 100644 --- a/packages/web/src/app/[domain]/settings/access/page.tsx +++ b/packages/web/src/app/[domain]/settings/access/page.tsx @@ -7,12 +7,18 @@ import { OrgRole } from "@sourcebot/db"; import { redirect } from "next/navigation"; interface AccessPageProps { - params: { + params: Promise<{ domain: string; - } + }> } -export default async function AccessPage({ params: { domain } }: AccessPageProps) { +export default async function AccessPage(props: AccessPageProps) { + const params = await props.params; + + const { + domain + } = params; + const org = await getOrgFromDomain(domain); if (!org) { throw new Error("Organization not found"); diff --git a/packages/web/src/app/[domain]/settings/billing/page.tsx b/packages/web/src/app/[domain]/settings/billing/page.tsx index 87fccb7c8..6c5ce8d0a 100644 --- a/packages/web/src/app/[domain]/settings/billing/page.tsx +++ b/packages/web/src/app/[domain]/settings/billing/page.tsx @@ -16,14 +16,18 @@ export const metadata: Metadata = { } interface BillingPageProps { - params: { + params: Promise<{ domain: string - } + }> } -export default async function BillingPage({ - params: { domain }, -}: BillingPageProps) { +export default async function BillingPage(props: BillingPageProps) { + const params = await props.params; + + const { + domain + } = params; + if (!IS_BILLING_ENABLED) { notFound(); } diff --git a/packages/web/src/app/[domain]/settings/layout.tsx b/packages/web/src/app/[domain]/settings/layout.tsx index cc8128a79..7259746d4 100644 --- a/packages/web/src/app/[domain]/settings/layout.tsx +++ b/packages/web/src/app/[domain]/settings/layout.tsx @@ -13,17 +13,28 @@ import { getOrgFromDomain } from "@/data/org"; import { OrgRole } from "@prisma/client"; import { env } from "@/env.mjs"; +interface LayoutProps { + children: React.ReactNode; + params: Promise<{ domain: string }>; +} + export const metadata: Metadata = { title: "Settings", } -export default async function SettingsLayout({ - children, - params: { domain }, -}: Readonly<{ - children: React.ReactNode; - params: { domain: string }; -}>) { +export default async function SettingsLayout( + props: LayoutProps +) { + const params = await props.params; + + const { + domain + } = params; + + const { + children + } = props; + const session = await auth(); if (!session) { return redirect(`/${domain}`); diff --git a/packages/web/src/app/[domain]/settings/license/page.tsx b/packages/web/src/app/[domain]/settings/license/page.tsx index af3e103fa..446d8c808 100644 --- a/packages/web/src/app/[domain]/settings/license/page.tsx +++ b/packages/web/src/app/[domain]/settings/license/page.tsx @@ -7,12 +7,18 @@ import { notFound, ServiceErrorException } from "@/lib/serviceError"; import { env } from "@/env.mjs"; interface LicensePageProps { - params: { + params: Promise<{ domain: string; - } + }> } -export default async function LicensePage({ params: { domain } }: LicensePageProps) { +export default async function LicensePage(props: LicensePageProps) { + const params = await props.params; + + const { + domain + } = params; + if (env.NEXT_PUBLIC_SOURCEBOT_CLOUD_ENVIRONMENT !== undefined) { notFound(); } diff --git a/packages/web/src/app/[domain]/settings/members/page.tsx b/packages/web/src/app/[domain]/settings/members/page.tsx index a7696aa84..cffedb9d0 100644 --- a/packages/web/src/app/[domain]/settings/members/page.tsx +++ b/packages/web/src/app/[domain]/settings/members/page.tsx @@ -15,15 +15,27 @@ import { OrgRole } from "@prisma/client"; import { redirect } from "next/navigation"; interface MembersSettingsPageProps { - params: { + params: Promise<{ domain: string - }, - searchParams: { + }>, + searchParams: Promise<{ tab?: string - } + }> } -export default async function MembersSettingsPage({ params: { domain }, searchParams: { tab } }: MembersSettingsPageProps) { +export default async function MembersSettingsPage(props: MembersSettingsPageProps) { + const searchParams = await props.searchParams; + + const { + tab + } = searchParams; + + const params = await props.params; + + const { + domain + } = params; + const org = await getOrgFromDomain(domain); if (!org) { throw new Error("Organization not found"); diff --git a/packages/web/src/app/[domain]/settings/secrets/page.tsx b/packages/web/src/app/[domain]/settings/secrets/page.tsx index c9aeab779..02714f59d 100644 --- a/packages/web/src/app/[domain]/settings/secrets/page.tsx +++ b/packages/web/src/app/[domain]/settings/secrets/page.tsx @@ -5,12 +5,18 @@ import { ImportSecretCard } from "./components/importSecretCard"; import { ServiceErrorException } from "@/lib/serviceError"; interface SecretsPageProps { - params: { + params: Promise<{ domain: string; - } + }> } -export default async function SecretsPage({ params: { domain } }: SecretsPageProps) { +export default async function SecretsPage(props: SecretsPageProps) { + const params = await props.params; + + const { + domain + } = params; + const secrets = await getSecrets(domain); if (isServiceError(secrets)) { throw new ServiceErrorException(secrets); diff --git a/packages/web/src/app/[domain]/upgrade/page.tsx b/packages/web/src/app/[domain]/upgrade/page.tsx index 8a51aa090..ed931e8dd 100644 --- a/packages/web/src/app/[domain]/upgrade/page.tsx +++ b/packages/web/src/app/[domain]/upgrade/page.tsx @@ -12,7 +12,13 @@ import { env } from "@/env.mjs"; import { IS_BILLING_ENABLED } from "@/ee/features/billing/stripe"; import { getSubscriptionInfo } from "@/ee/features/billing/actions"; -export default async function Upgrade({ params: { domain } }: { params: { domain: string } }) { +export default async function Upgrade(props: { params: Promise<{ domain: string }> }) { + const params = await props.params; + + const { + domain + } = params; + if (!IS_BILLING_ENABLED) { redirect(`/${domain}`); } diff --git a/packages/web/src/app/api/(server)/stripe/route.ts b/packages/web/src/app/api/(server)/stripe/route.ts index b755fcfd4..1150e0d19 100644 --- a/packages/web/src/app/api/(server)/stripe/route.ts +++ b/packages/web/src/app/api/(server)/stripe/route.ts @@ -11,7 +11,7 @@ const logger = createLogger('stripe-webhook'); export async function POST(req: NextRequest) { const body = await req.text(); - const signature = headers().get('stripe-signature'); + const signature = (await headers()).get('stripe-signature'); if (!signature) { return new Response('No signature', { status: 400 }); diff --git a/packages/web/src/app/api/[domain]/repos/[repoId]/image/route.ts b/packages/web/src/app/api/[domain]/repos/[repoId]/image/route.ts index 6d967adf7..f5f9bb535 100644 --- a/packages/web/src/app/api/[domain]/repos/[repoId]/image/route.ts +++ b/packages/web/src/app/api/[domain]/repos/[repoId]/image/route.ts @@ -4,8 +4,9 @@ import { NextRequest } from "next/server"; export async function GET( request: NextRequest, - { params }: { params: { domain: string; repoId: string } } + props: { params: Promise<{ domain: string; repoId: string }> } ) { + const params = await props.params; const { domain, repoId } = params; const repoIdNum = parseInt(repoId); diff --git a/packages/web/src/app/components/organizationAccessSettings.tsx b/packages/web/src/app/components/organizationAccessSettings.tsx index ec618e995..e240a374c 100644 --- a/packages/web/src/app/components/organizationAccessSettings.tsx +++ b/packages/web/src/app/components/organizationAccessSettings.tsx @@ -17,7 +17,7 @@ export async function OrganizationAccessSettings() { const metadata = getOrgMetadata(org); const anonymousAccessEnabled = metadata?.anonymousAccessEnabled ?? false; - const headersList = headers(); + const headersList = await headers(); const baseUrl = getBaseUrl(headersList); const inviteLink = createInviteLink(baseUrl, org.inviteLinkId) diff --git a/packages/web/src/app/globals.css b/packages/web/src/app/globals.css index 9f6530989..6ab78a86f 100644 --- a/packages/web/src/app/globals.css +++ b/packages/web/src/app/globals.css @@ -1,9 +1,9 @@ +@import "./codemirror-styles.css"; + @tailwind base; @tailwind components; @tailwind utilities; -@import "./codemirror-styles.css"; - @layer base { html { overflow-y: scroll; diff --git a/packages/web/src/app/invite/actions.ts b/packages/web/src/app/invite/actions.ts index 99bb02563..d7e8b1abd 100644 --- a/packages/web/src/app/invite/actions.ts +++ b/packages/web/src/app/invite/actions.ts @@ -9,7 +9,7 @@ import { prisma } from "@/prisma"; import { StatusCodes } from "http-status-codes"; import { ErrorCode } from "@/lib/errorCodes"; -export const joinOrganization = (orgId: number, inviteLinkId?: string) => sew(async () => +export const joinOrganization = async (orgId: number, inviteLinkId?: string) => sew(async () => withAuth(async (userId) => { const org = await prisma.org.findUnique({ where: { diff --git a/packages/web/src/app/invite/page.tsx b/packages/web/src/app/invite/page.tsx index 92fa01cf2..195a8d177 100644 --- a/packages/web/src/app/invite/page.tsx +++ b/packages/web/src/app/invite/page.tsx @@ -11,12 +11,13 @@ import { getAuthProviders } from "@/lib/authProviders"; import { JoinOrganizationCard } from "@/app/components/joinOrganizationCard"; interface InvitePageProps { - searchParams: { + searchParams: Promise<{ id?: string; - }; + }>; } -export default async function InvitePage({ searchParams }: InvitePageProps) { +export default async function InvitePage(props: InvitePageProps) { + const searchParams = await props.searchParams; const org = await getOrgFromDomain(SINGLE_TENANT_ORG_DOMAIN); if (!org || !org.isOnboarded) { return redirect("/onboard"); diff --git a/packages/web/src/app/login/page.tsx b/packages/web/src/app/login/page.tsx index 48e5031a0..f83ac939f 100644 --- a/packages/web/src/app/login/page.tsx +++ b/packages/web/src/app/login/page.tsx @@ -10,13 +10,14 @@ import { SINGLE_TENANT_ORG_DOMAIN } from "@/lib/constants"; const logger = createLogger('login-page'); interface LoginProps { - searchParams: { + searchParams: Promise<{ callbackUrl?: string; error?: string; - } + }> } -export default async function Login({ searchParams }: LoginProps) { +export default async function Login(props: LoginProps) { + const searchParams = await props.searchParams; logger.info("Login page loaded"); const session = await auth(); if (session) { diff --git a/packages/web/src/app/onboard/page.tsx b/packages/web/src/app/onboard/page.tsx index 5fd4a49b2..b446c15ff 100644 --- a/packages/web/src/app/onboard/page.tsx +++ b/packages/web/src/app/onboard/page.tsx @@ -1,4 +1,5 @@ import type React from "react" +import Link from "next/link" import { Card, CardContent } from "@/components/ui/card" import { Button } from "@/components/ui/button" @@ -20,7 +21,7 @@ import { env } from "@/env.mjs"; import { GcpIapAuth } from "@/app/[domain]/components/gcpIapAuth"; interface OnboardingProps { - searchParams?: { step?: string }; + searchParams?: Promise<{ step?: string }>; } interface OnboardingStep { @@ -38,7 +39,8 @@ interface ResourceCard { icon?: React.ReactNode } -export default async function Onboarding({ searchParams }: OnboardingProps) { +export default async function Onboarding(props: OnboardingProps) { + const searchParams = await props.searchParams; const providers = getAuthProviders(); const org = await getOrgFromDomain(SINGLE_TENANT_ORG_DOMAIN); const session = await auth(); @@ -118,7 +120,7 @@ export default async function Onboarding({ searchParams }: OnboardingProps) { component: (
), @@ -170,7 +172,7 @@ export default async function Onboarding({ searchParams }: OnboardingProps) {
), diff --git a/packages/web/src/app/redeem/page.tsx b/packages/web/src/app/redeem/page.tsx index 3513e5b28..77c482f2b 100644 --- a/packages/web/src/app/redeem/page.tsx +++ b/packages/web/src/app/redeem/page.tsx @@ -9,12 +9,13 @@ import { getOrgFromDomain } from '@/data/org'; import { SINGLE_TENANT_ORG_DOMAIN } from '@/lib/constants'; interface RedeemPageProps { - searchParams: { + searchParams: Promise<{ invite_id?: string; - }; + }>; } -export default async function RedeemPage({ searchParams }: RedeemPageProps) { +export default async function RedeemPage(props: RedeemPageProps) { + const searchParams = await props.searchParams; const org = await getOrgFromDomain(SINGLE_TENANT_ORG_DOMAIN); if (!org || !org.isOnboarded) { return redirect("/onboard"); diff --git a/packages/web/src/app/signup/page.tsx b/packages/web/src/app/signup/page.tsx index cabc47a09..dc9205961 100644 --- a/packages/web/src/app/signup/page.tsx +++ b/packages/web/src/app/signup/page.tsx @@ -10,13 +10,14 @@ import { SINGLE_TENANT_ORG_DOMAIN } from "@/lib/constants"; const logger = createLogger('signup-page'); interface LoginProps { - searchParams: { + searchParams: Promise<{ callbackUrl?: string; error?: string; - } + }> } -export default async function Signup({ searchParams }: LoginProps) { +export default async function Signup(props: LoginProps) { + const searchParams = await props.searchParams; const session = await auth(); if (session) { logger.info("Session found in signup page, redirecting to home"); diff --git a/packages/web/src/features/chat/components/chatThread/referencedSourcesListView.tsx b/packages/web/src/features/chat/components/chatThread/referencedSourcesListView.tsx index 61f537345..c40f9fb95 100644 --- a/packages/web/src/features/chat/components/chatThread/referencedSourcesListView.tsx +++ b/packages/web/src/features/chat/components/chatThread/referencedSourcesListView.tsx @@ -245,7 +245,9 @@ export const ReferencedSourcesListView = ({ repoWebUrl={fileData.repositoryWebUrl} fileName={fileData.path} references={referencesInFile} - ref={(ref) => setEditorRef(fileId, ref)} + ref={ref => { + setEditorRef(fileId, ref); + }} onSelectedReferenceChanged={onSelectedReferenceChanged} onHoveredReferenceChanged={onHoveredReferenceChanged} selectedReference={selectedReference} @@ -280,6 +282,5 @@ export const ReferencedSourcesListView = ({ })}
- ); } diff --git a/packages/web/src/features/chat/useExtractReferences.test.ts b/packages/web/src/features/chat/useExtractReferences.test.ts index 9a8d3e71f..7208aba46 100644 --- a/packages/web/src/features/chat/useExtractReferences.test.ts +++ b/packages/web/src/features/chat/useExtractReferences.test.ts @@ -1,5 +1,5 @@ import { expect, test } from 'vitest' -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; import { useExtractReferences } from './useExtractReferences'; import { getFileReferenceId } from './utils'; import { TextUIPart } from 'ai'; diff --git a/packages/web/src/features/chat/useMessagePairs.test.ts b/packages/web/src/features/chat/useMessagePairs.test.ts index 13c7cad11..a44179916 100644 --- a/packages/web/src/features/chat/useMessagePairs.test.ts +++ b/packages/web/src/features/chat/useMessagePairs.test.ts @@ -1,7 +1,7 @@ import { expect, test } from 'vitest' import { SBChatMessage } from './types'; import { useMessagePairs } from './useMessagePairs'; -import { renderHook } from '@testing-library/react-hooks'; +import { renderHook } from '@testing-library/react'; test('useMessagePairs pairs user and assistant messages', () => { const userMessage: SBChatMessage = { diff --git a/packages/web/src/features/fileTree/components/fileTreeItemComponent.tsx b/packages/web/src/features/fileTree/components/fileTreeItemComponent.tsx index 8fec32bf5..2ad2502d8 100644 --- a/packages/web/src/features/fileTree/components/fileTreeItemComponent.tsx +++ b/packages/web/src/features/fileTree/components/fileTreeItemComponent.tsx @@ -22,7 +22,7 @@ export const FileTreeItemComponent = ({ isCollapsed?: boolean, isCollapseChevronVisible?: boolean, onClick: () => void, - parentRef: React.RefObject, + parentRef: React.RefObject, }) => { const ref = useRef(null); diff --git a/packages/web/tailwind.config.ts b/packages/web/tailwind.config.ts index 356064d59..f04b5b77a 100644 --- a/packages/web/tailwind.config.ts +++ b/packages/web/tailwind.config.ts @@ -1,164 +1,164 @@ import type { Config } from "tailwindcss" const config = { - darkMode: ["class"], - content: [ - './pages/**/*.{ts,tsx}', - './components/**/*.{ts,tsx}', - './app/**/*.{ts,tsx}', - './src/**/*.{ts,tsx}', - ], - prefix: "", - theme: { - container: { - center: true, - padding: '2rem', - screens: { - '2xl': '1400px' - } - }, - extend: { - colors: { - border: 'var(--border)', - input: 'var(--input)', - ring: 'var(--ring)', - background: 'var(--background)', - backgroundSecondary: 'var(--background-secondary)', - foreground: 'var(--foreground)', - primary: { - DEFAULT: 'var(--primary)', - foreground: 'var(--primary-foreground)' - }, - secondary: { - DEFAULT: 'var(--secondary)', - foreground: 'var(--secondary-foreground)' - }, - destructive: { - DEFAULT: 'var(--destructive)', - foreground: 'var(--destructive-foreground)' - }, - muted: { - DEFAULT: 'var(--muted)', - foreground: 'var(--muted-foreground)', - accent: 'var(--muted-accent)' - }, - accent: { - DEFAULT: 'var(--accent)', - foreground: 'var(--accent-foreground)' - }, - popover: { - DEFAULT: 'var(--popover)', - foreground: 'var(--popover-foreground)' - }, - card: { - DEFAULT: 'var(--card)', - foreground: 'var(--card-foreground)' - }, - highlight: 'var(--highlight)', - link: 'var(--link)', - sidebar: { - DEFAULT: 'var(--sidebar-background)', - foreground: 'var(--sidebar-foreground)', - primary: 'var(--sidebar-primary)', - 'primary-foreground': 'var(--sidebar-primary-foreground)', - accent: 'var(--sidebar-accent)', - 'accent-foreground': 'var(--sidebar-accent-foreground)', - border: 'var(--sidebar-border)', - ring: 'var(--sidebar-ring)' - }, - warning: 'var(--warning)', - editor: { - background: 'var(--editor-background)', - foreground: 'var(--editor-foreground)', - caret: 'var(--editor-caret)', - selection: 'var(--editor-selection)', - selectionMatch: 'var(--editor-selection-match)', - gutterBackground: 'var(--editor-gutter-background)', - gutterForeground: 'var(--editor-gutter-foreground)', - gutterBorder: 'var(--editor-gutter-border)', - gutterActiveForeground: 'var(--editor-gutter-active-foreground)', - lineHighlight: 'var(--editor-line-highlight)', - tag: { - keyword: 'var(--editor-tag-keyword)', - name: 'var(--editor-tag-name)', - function: 'var(--editor-tag-function)', - label: 'var(--editor-tag-label)', - constant: 'var(--editor-tag-constant)', - definition: 'var(--editor-tag-definition)', - brace: 'var(--editor-tag-brace)', - type: 'var(--editor-tag-type)', - operator: 'var(--editor-tag-operator)', - tag: 'var(--editor-tag-tag)', - 'bracket-square': 'var(--editor-tag-bracket-square)', - 'bracket-angle': 'var(--editor-tag-bracket-angle)', - attribute: 'var(--editor-tag-attribute)', - string: 'var(--editor-tag-string)', - link: 'var(--editor-tag-link)', - meta: 'var(--editor-tag-meta)', - comment: 'var(--editor-tag-comment)', - emphasis: 'var(--editor-tag-emphasis)', - heading: 'var(--editor-tag-heading)', - atom: 'var(--editor-tag-atom)', - processing: 'var(--editor-tag-processing)', - separator: 'var(--editor-tag-separator)', - invalid: 'var(--editor-tag-invalid)', - quote: 'var(--editor-tag-quote)', - 'annotation-special': 'var(--editor-tag-annotation-special)', - number: 'var(--editor-tag-number)', - regexp: 'var(--editor-tag-regexp)', - 'variable-local': 'var(--editor-tag-variable-local)' - } - }, - chat: { - reference: 'var(--chat-reference)', - 'reference-hover': 'var(--chat-reference-hover)', - 'reference-selected': 'var(--chat-reference-selected)', - 'reference-selected-border': 'var(--chat-reference-selected-border)' - } - }, - fontSize: { - editor: 'var(--editor-font-size)' - }, - fontFamily: { - editor: 'var(--editor-font-family)' - }, - borderRadius: { - lg: 'var(--radius)', - md: 'calc(var(--radius) - 2px)', - sm: 'calc(var(--radius) - 4px)' - }, - keyframes: { - 'accordion-down': { - from: { - height: '0' - }, - to: { - height: 'var(--radix-accordion-content-height)' - } - }, - 'accordion-up': { - from: { - height: 'var(--radix-accordion-content-height)' - }, - to: { - height: '0' - } - } - }, - animation: { - 'accordion-down': 'accordion-down 0.2s ease-out', - 'accordion-up': 'accordion-up 0.2s ease-out', - 'spin-slow': 'spin 1.5s linear infinite', - 'bounce-slow': 'bounce 1.5s linear infinite' - } - } + darkMode: ["class"], + content: [ + './pages/**/*.{ts,tsx}', + './components/**/*.{ts,tsx}', + './app/**/*.{ts,tsx}', + './src/**/*.{ts,tsx}', + ], + prefix: "", + theme: { + container: { + center: true, + padding: '2rem', + screens: { + '2xl': '1400px' + } + }, + extend: { + colors: { + border: 'var(--border)', + input: 'var(--input)', + ring: 'var(--ring)', + background: 'var(--background)', + backgroundSecondary: 'var(--background-secondary)', + foreground: 'var(--foreground)', + primary: { + DEFAULT: 'var(--primary)', + foreground: 'var(--primary-foreground)' + }, + secondary: { + DEFAULT: 'var(--secondary)', + foreground: 'var(--secondary-foreground)' + }, + destructive: { + DEFAULT: 'var(--destructive)', + foreground: 'var(--destructive-foreground)' + }, + muted: { + DEFAULT: 'var(--muted)', + foreground: 'var(--muted-foreground)', + accent: 'var(--muted-accent)' + }, + accent: { + DEFAULT: 'var(--accent)', + foreground: 'var(--accent-foreground)' + }, + popover: { + DEFAULT: 'var(--popover)', + foreground: 'var(--popover-foreground)' + }, + card: { + DEFAULT: 'var(--card)', + foreground: 'var(--card-foreground)' + }, + highlight: 'var(--highlight)', + link: 'var(--link)', + sidebar: { + DEFAULT: 'var(--sidebar-background)', + foreground: 'var(--sidebar-foreground)', + primary: 'var(--sidebar-primary)', + 'primary-foreground': 'var(--sidebar-primary-foreground)', + accent: 'var(--sidebar-accent)', + 'accent-foreground': 'var(--sidebar-accent-foreground)', + border: 'var(--sidebar-border)', + ring: 'var(--sidebar-ring)' + }, + warning: 'var(--warning)', + editor: { + background: 'var(--editor-background)', + foreground: 'var(--editor-foreground)', + caret: 'var(--editor-caret)', + selection: 'var(--editor-selection)', + selectionMatch: 'var(--editor-selection-match)', + gutterBackground: 'var(--editor-gutter-background)', + gutterForeground: 'var(--editor-gutter-foreground)', + gutterBorder: 'var(--editor-gutter-border)', + gutterActiveForeground: 'var(--editor-gutter-active-foreground)', + lineHighlight: 'var(--editor-line-highlight)', + tag: { + keyword: 'var(--editor-tag-keyword)', + name: 'var(--editor-tag-name)', + function: 'var(--editor-tag-function)', + label: 'var(--editor-tag-label)', + constant: 'var(--editor-tag-constant)', + definition: 'var(--editor-tag-definition)', + brace: 'var(--editor-tag-brace)', + type: 'var(--editor-tag-type)', + operator: 'var(--editor-tag-operator)', + tag: 'var(--editor-tag-tag)', + 'bracket-square': 'var(--editor-tag-bracket-square)', + 'bracket-angle': 'var(--editor-tag-bracket-angle)', + attribute: 'var(--editor-tag-attribute)', + string: 'var(--editor-tag-string)', + link: 'var(--editor-tag-link)', + meta: 'var(--editor-tag-meta)', + comment: 'var(--editor-tag-comment)', + emphasis: 'var(--editor-tag-emphasis)', + heading: 'var(--editor-tag-heading)', + atom: 'var(--editor-tag-atom)', + processing: 'var(--editor-tag-processing)', + separator: 'var(--editor-tag-separator)', + invalid: 'var(--editor-tag-invalid)', + quote: 'var(--editor-tag-quote)', + 'annotation-special': 'var(--editor-tag-annotation-special)', + number: 'var(--editor-tag-number)', + regexp: 'var(--editor-tag-regexp)', + 'variable-local': 'var(--editor-tag-variable-local)' + } + }, + chat: { + reference: 'var(--chat-reference)', + 'reference-hover': 'var(--chat-reference-hover)', + 'reference-selected': 'var(--chat-reference-selected)', + 'reference-selected-border': 'var(--chat-reference-selected-border)' + } + }, + fontSize: { + editor: 'var(--editor-font-size)' + }, + fontFamily: { + editor: 'var(--editor-font-family)' + }, + borderRadius: { + lg: 'var(--radius)', + md: 'calc(var(--radius) - 2px)', + sm: 'calc(var(--radius) - 4px)' + }, + keyframes: { + 'accordion-down': { + from: { + height: '0' + }, + to: { + height: 'var(--radix-accordion-content-height)' + } + }, + 'accordion-up': { + from: { + height: 'var(--radix-accordion-content-height)' + }, + to: { + height: '0' + } + } + }, + animation: { + 'accordion-down': 'accordion-down 0.2s ease-out', + 'accordion-up': 'accordion-up 0.2s ease-out', + 'spin-slow': 'spin 1.5s linear infinite', + 'bounce-slow': 'bounce 1.5s linear infinite' + } + } }, - plugins: [ - // eslint-disable-next-line @typescript-eslint/no-require-imports - require("tailwindcss-animate"), - // eslint-disable-next-line @typescript-eslint/no-require-imports - require('@tailwindcss/typography'), - ], + plugins: [ + // eslint-disable-next-line @typescript-eslint/no-require-imports + require("tailwindcss-animate"), + // eslint-disable-next-line @typescript-eslint/no-require-imports + require('@tailwindcss/typography'), + ], } satisfies Config export default config \ No newline at end of file diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json index 35ee5810c..a41d0da0f 100644 --- a/packages/web/tsconfig.json +++ b/packages/web/tsconfig.json @@ -1,6 +1,10 @@ { "compilerOptions": { - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -18,10 +22,23 @@ } ], "paths": { - "@/*": ["./src/*"], - "@/public/*": ["./public/*"] - } + "@/*": [ + "./src/*" + ], + "@/public/*": [ + "./public/*" + ] + }, + "target": "ES2017" }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "src/env.mjs"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "src/env.mjs" + ], + "exclude": [ + "node_modules" + ] } diff --git a/yarn.lock b/yarn.lock index 8086bf513..8636b8070 100644 --- a/yarn.lock +++ b/yarn.lock @@ -322,6 +322,17 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.10.4": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.27.1" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.24.2, @babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" @@ -449,6 +460,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.25.9": version: 7.25.9 resolution: "@babel/helper-validator-option@npm:7.25.9" @@ -486,10 +504,10 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": - version: 7.27.6 - resolution: "@babel/runtime@npm:7.27.6" - checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8 +"@babel/runtime@npm:^7.12.5": + version: 7.28.3 + resolution: "@babel/runtime@npm:7.28.3" + checksum: 10c0/b360f82c2c5114f2a062d4d143d7b4ec690094764853937110585a9497977aed66c102166d0e404766c274e02a50ffb8f6d77fef7251ecf3f607f0e03e6397bc languageName: node linkType: hard @@ -502,6 +520,13 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": + version: 7.27.6 + resolution: "@babel/runtime@npm:7.27.6" + checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8 + languageName: node + linkType: hard + "@babel/template@npm:^7.24.0, @babel/template@npm:^7.26.9": version: 7.26.9 resolution: "@babel/template@npm:7.26.9" @@ -1114,6 +1139,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/runtime@npm:^1.4.4": + version: 1.4.5 + resolution: "@emnapi/runtime@npm:1.4.5" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/37a0278be5ac81e918efe36f1449875cbafba947039c53c65a1f8fc238001b866446fc66041513b286baaff5d6f9bec667f5164b3ca481373a8d9cb65bfc984b + languageName: node + linkType: hard + "@emnapi/wasi-threads@npm:1.0.1": version: 1.0.1 resolution: "@emnapi/wasi-threads@npm:1.0.1" @@ -1620,7 +1654,7 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": +"@eslint-community/eslint-utils@npm:^4.2.0": version: 4.5.1 resolution: "@eslint-community/eslint-utils@npm:4.5.1" dependencies: @@ -1666,6 +1700,23 @@ __metadata: languageName: node linkType: hard +"@eslint/eslintrc@npm:^3": + version: 3.3.1 + resolution: "@eslint/eslintrc@npm:3.3.1" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/b0e63f3bc5cce4555f791a4e487bf999173fcf27c65e1ab6e7d63634d8a43b33c3693e79f192cbff486d7df1be8ebb2bd2edc6e70ddd486cbfa84a359a3e3b41 + languageName: node + linkType: hard + "@eslint/js@npm:8.57.1": version: 8.57.1 resolution: "@eslint/js@npm:8.57.1" @@ -1834,6 +1885,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-darwin-arm64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-darwin-arm64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-darwin-arm64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-darwin-arm64": + optional: true + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@img/sharp-darwin-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-darwin-x64@npm:0.33.5" @@ -1846,6 +1909,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-darwin-x64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-darwin-x64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-darwin-x64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-darwin-x64": + optional: true + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@img/sharp-libvips-darwin-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" @@ -1853,6 +1928,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-darwin-arm64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@img/sharp-libvips-darwin-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.4" @@ -1860,6 +1942,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-darwin-x64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@img/sharp-libvips-linux-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.4" @@ -1867,6 +1956,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-linux-arm64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@img/sharp-libvips-linux-arm@npm:1.0.5": version: 1.0.5 resolution: "@img/sharp-libvips-linux-arm@npm:1.0.5" @@ -1874,6 +1970,20 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-linux-arm@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linux-arm@npm:1.2.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-ppc64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + "@img/sharp-libvips-linux-s390x@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.4" @@ -1881,6 +1991,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-linux-s390x@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@img/sharp-libvips-linux-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linux-x64@npm:1.0.4" @@ -1888,6 +2005,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-linux-x64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linux-x64@npm:1.2.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4" @@ -1895,6 +2019,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4": version: 1.0.4 resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4" @@ -1902,6 +2033,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-libvips-linuxmusl-x64@npm:1.2.0": + version: 1.2.0 + resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@img/sharp-linux-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-arm64@npm:0.33.5" @@ -1914,6 +2052,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-linux-arm64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linux-arm64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linux-arm64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linux-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@img/sharp-linux-arm@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-arm@npm:0.33.5" @@ -1926,6 +2076,30 @@ __metadata: languageName: node linkType: hard +"@img/sharp-linux-arm@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linux-arm@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linux-arm": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linux-arm": + optional: true + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-ppc64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linux-ppc64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linux-ppc64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linux-ppc64": + optional: true + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + "@img/sharp-linux-s390x@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-s390x@npm:0.33.5" @@ -1938,6 +2112,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-linux-s390x@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linux-s390x@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linux-s390x": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linux-s390x": + optional: true + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + "@img/sharp-linux-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linux-x64@npm:0.33.5" @@ -1950,6 +2136,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-linux-x64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linux-x64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linux-x64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linux-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@img/sharp-linuxmusl-arm64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.5" @@ -1962,6 +2160,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-linuxmusl-arm64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@img/sharp-linuxmusl-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-linuxmusl-x64@npm:0.33.5" @@ -1974,6 +2184,18 @@ __metadata: languageName: node linkType: hard +"@img/sharp-linuxmusl-x64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-linuxmusl-x64@npm:0.34.3" + dependencies: + "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.0" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@img/sharp-wasm32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-wasm32@npm:0.33.5" @@ -1983,6 +2205,22 @@ __metadata: languageName: node linkType: hard +"@img/sharp-wasm32@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-wasm32@npm:0.34.3" + dependencies: + "@emnapi/runtime": "npm:^1.4.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@img/sharp-win32-arm64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-win32-arm64@npm:0.34.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@img/sharp-win32-ia32@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-ia32@npm:0.33.5" @@ -1990,6 +2228,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-win32-ia32@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-win32-ia32@npm:0.34.3" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@img/sharp-win32-x64@npm:0.33.5": version: 0.33.5 resolution: "@img/sharp-win32-x64@npm:0.33.5" @@ -1997,6 +2242,13 @@ __metadata: languageName: node linkType: hard +"@img/sharp-win32-x64@npm:0.34.3": + version: 0.34.3 + resolution: "@img/sharp-win32-x64@npm:0.34.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@ioredis/commands@npm:^1.1.1": version: 1.2.0 resolution: "@ioredis/commands@npm:1.2.0" @@ -2442,19 +2694,19 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.2.30": - version: 14.2.30 - resolution: "@next/env@npm:14.2.30" - checksum: 10c0/b5ff1dc9aeb03f998694c9ec309d3b4a75bfad315d77e61a729b19fdc96c409f850efb4917440657fd69bf1f8aa9f63a5ee4f18626d4c66cb86c77e901759a58 +"@next/env@npm:15.5.0": + version: 15.5.0 + resolution: "@next/env@npm:15.5.0" + checksum: 10c0/13ed931688c26b764499840022c9855763fb583e728cf30933b2ff71d3ca681eb71611ec4d7580ecb45197c18a1a4498ba5a61cb60edc6e18966103620d11bad languageName: node linkType: hard -"@next/eslint-plugin-next@npm:14.2.6": - version: 14.2.6 - resolution: "@next/eslint-plugin-next@npm:14.2.6" +"@next/eslint-plugin-next@npm:15.5.0": + version: 15.5.0 + resolution: "@next/eslint-plugin-next@npm:15.5.0" dependencies: - glob: "npm:10.3.10" - checksum: 10c0/52ca55d98bb72a3bccaa08859036d312bc4936be00923bd8c6399472928e6d2b295f4e2f5f94bec30c8b9274f02bb170ee272b1242ca6cad3ae3d1b4a0ceb53e + fast-glob: "npm:3.3.1" + checksum: 10c0/87009afd39817f69b6b0f8afb8220c08f934ea7280630e77015ae56fe24ad06a1569417288280e9a8a18358e41de55a92efb6502e75b5b134180496701f85707 languageName: node linkType: hard @@ -2465,9 +2717,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-darwin-arm64@npm:14.2.30" +"@next/swc-darwin-arm64@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-darwin-arm64@npm:15.5.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2479,9 +2731,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-darwin-x64@npm:14.2.30" +"@next/swc-darwin-x64@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-darwin-x64@npm:15.5.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2493,9 +2745,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-linux-arm64-gnu@npm:14.2.30" +"@next/swc-linux-arm64-gnu@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-linux-arm64-gnu@npm:15.5.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -2507,9 +2759,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-linux-arm64-musl@npm:14.2.30" +"@next/swc-linux-arm64-musl@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-linux-arm64-musl@npm:15.5.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -2521,9 +2773,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-linux-x64-gnu@npm:14.2.30" +"@next/swc-linux-x64-gnu@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-linux-x64-gnu@npm:15.5.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -2535,9 +2787,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-linux-x64-musl@npm:14.2.30" +"@next/swc-linux-x64-musl@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-linux-x64-musl@npm:15.5.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -2549,9 +2801,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-win32-arm64-msvc@npm:14.2.30" +"@next/swc-win32-arm64-msvc@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-win32-arm64-msvc@npm:15.5.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -2563,13 +2815,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-win32-ia32-msvc@npm:14.2.30" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@next/swc-win32-x64-msvc@npm:14.2.16": version: 14.2.16 resolution: "@next/swc-win32-x64-msvc@npm:14.2.16" @@ -2577,9 +2822,9 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:14.2.30": - version: 14.2.30 - resolution: "@next/swc-win32-x64-msvc@npm:14.2.30" +"@next/swc-win32-x64-msvc@npm:15.5.0": + version: 15.5.0 + resolution: "@next/swc-win32-x64-msvc@npm:15.5.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -5716,10 +5961,10 @@ __metadata: languageName: node linkType: hard -"@rushstack/eslint-patch@npm:^1.3.3": - version: 1.11.0 - resolution: "@rushstack/eslint-patch@npm:1.11.0" - checksum: 10c0/abea8d8cf2f4f50343f74abd6a8173c521ddd09b102021f5aa379ef373c40af5948b23db0e87eca1682e559e09d97d3f0c48ea71edad682c6bf72b840c8675b3 +"@rushstack/eslint-patch@npm:^1.10.3": + version: 1.12.0 + resolution: "@rushstack/eslint-patch@npm:1.12.0" + checksum: 10c0/1e567656d92632c085a446f40767bc451caffe1131e8d6a7a3e8f3e3f4167f5f29744a84c709f2440f299442d4bc68ff773784462166800b8c09c0e08042415b languageName: node linkType: hard @@ -6361,7 +6606,7 @@ __metadata: gitea-js: "npm:^1.22.0" glob: "npm:^11.0.0" ioredis: "npm:^5.4.2" - json-schema-to-typescript: "npm:^15.0.2" + json-schema-to-typescript: "npm:^15.0.4" lowdb: "npm:^7.0.1" micromatch: "npm:^4.0.8" posthog-node: "npm:^4.2.1" @@ -6536,6 +6781,7 @@ __metadata: "@codemirror/search": "npm:^6.5.6" "@codemirror/state": "npm:^6.4.1" "@codemirror/view": "npm:^6.33.0" + "@eslint/eslintrc": "npm:^3" "@floating-ui/react": "npm:^0.27.2" "@hookform/resolvers": "npm:^3.9.0" "@iconify/react": "npm:^5.1.0" @@ -6590,15 +6836,16 @@ __metadata: "@tanstack/react-query": "npm:^5.53.3" "@tanstack/react-table": "npm:^8.20.5" "@tanstack/react-virtual": "npm:^3.10.8" - "@testing-library/react-hooks": "npm:^8.0.1" + "@testing-library/dom": "npm:^10.4.1" + "@testing-library/react": "npm:^16.3.0" "@types/micromatch": "npm:^4.0.9" "@types/node": "npm:^20" "@types/nodemailer": "npm:^6.4.17" "@types/psl": "npm:^1.1.3" - "@types/react": "npm:^18" - "@types/react-dom": "npm:^18" - "@typescript-eslint/eslint-plugin": "npm:^8.3.0" - "@typescript-eslint/parser": "npm:^8.3.0" + "@types/react": "npm:19.1.10" + "@types/react-dom": "npm:19.1.7" + "@typescript-eslint/eslint-plugin": "npm:^8.40.0" + "@typescript-eslint/parser": "npm:^8.40.0" "@uidotdev/usehooks": "npm:^2.4.1" "@uiw/codemirror-themes": "npm:^4.23.6" "@uiw/react-codemirror": "npm:^4.23.0" @@ -6635,9 +6882,9 @@ __metadata: embla-carousel-react: "npm:^8.3.0" escape-string-regexp: "npm:^5.0.0" eslint: "npm:^8" - eslint-config-next: "npm:14.2.6" - eslint-plugin-react: "npm:^7.35.0" - eslint-plugin-react-hooks: "npm:^4.6.2" + eslint-config-next: "npm:15.5.0" + eslint-plugin-react: "npm:^7.37.5" + eslint-plugin-react-hooks: "npm:^5.2.0" fuse.js: "npm:^7.0.0" google-auth-library: "npm:^10.1.0" graphql: "npm:^16.9.0" @@ -6648,7 +6895,7 @@ __metadata: langfuse-vercel: "npm:^3.38.4" lucide-react: "npm:^0.517.0" micromatch: "npm:^4.0.8" - next: "npm:14.2.30" + next: "npm:15.5.0" next-auth: "npm:^5.0.0-beta.25" next-navigation-guard: "npm:^0.2.0" next-themes: "npm:^0.3.0" @@ -6661,9 +6908,9 @@ __metadata: posthog-js: "npm:^1.161.5" pretty-bytes: "npm:^6.1.1" psl: "npm:^1.15.0" - react: "npm:^18" + react: "npm:19.1.1" react-device-detect: "npm:^2.2.3" - react-dom: "npm:^18" + react-dom: "npm:19.1.1" react-email: "npm:3.0.3" react-hook-form: "npm:^7.53.0" react-hotkeys-hook: "npm:^4.5.1" @@ -6743,6 +6990,15 @@ __metadata: languageName: node linkType: hard +"@swc/helpers@npm:0.5.15": + version: 0.5.15 + resolution: "@swc/helpers@npm:0.5.15" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + languageName: node + linkType: hard + "@swc/helpers@npm:0.5.5": version: 0.5.5 resolution: "@swc/helpers@npm:0.5.5" @@ -6891,25 +7147,39 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-hooks@npm:^8.0.1": - version: 8.0.1 - resolution: "@testing-library/react-hooks@npm:8.0.1" +"@testing-library/dom@npm:^10.4.1": + version: 10.4.1 + resolution: "@testing-library/dom@npm:10.4.1" + dependencies: + "@babel/code-frame": "npm:^7.10.4" + "@babel/runtime": "npm:^7.12.5" + "@types/aria-query": "npm:^5.0.1" + aria-query: "npm:5.3.0" + dom-accessibility-api: "npm:^0.5.9" + lz-string: "npm:^1.5.0" + picocolors: "npm:1.1.1" + pretty-format: "npm:^27.0.2" + checksum: 10c0/19ce048012d395ad0468b0dbcc4d0911f6f9e39464d7a8464a587b29707eed5482000dad728f5acc4ed314d2f4d54f34982999a114d2404f36d048278db815b1 + languageName: node + linkType: hard + +"@testing-library/react@npm:^16.3.0": + version: 16.3.0 + resolution: "@testing-library/react@npm:16.3.0" dependencies: "@babel/runtime": "npm:^7.12.5" - react-error-boundary: "npm:^3.1.0" peerDependencies: - "@types/react": ^16.9.0 || ^17.0.0 - react: ^16.9.0 || ^17.0.0 - react-dom: ^16.9.0 || ^17.0.0 - react-test-renderer: ^16.9.0 || ^17.0.0 + "@testing-library/dom": ^10.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - react-dom: - optional: true - react-test-renderer: + "@types/react-dom": optional: true - checksum: 10c0/83bef2d4c437b84143213b5275ef00ef14e5bcd344f9ded12b162d253dc3c799138ead4428026b9c725e5a38dbebf611f2898aa43f3e43432bcaccbd7bf413e5 + checksum: 10c0/3a2cb1f87c9a67e1ebbbcfd99b94b01e496fc35147be8bc5d8bf07a699c7d523a09d57ef2f7b1d91afccd1a28e21eda3b00d80187fbb51b1de01e422592d845e languageName: node linkType: hard @@ -6929,6 +7199,13 @@ __metadata: languageName: node linkType: hard +"@types/aria-query@npm:^5.0.1": + version: 5.0.4 + resolution: "@types/aria-query@npm:5.0.4" + checksum: 10c0/dc667bc6a3acc7bba2bccf8c23d56cb1f2f4defaa704cfef595437107efaa972d3b3db9ec1d66bc2711bfc35086821edd32c302bffab36f2e79b97f312069f08 + languageName: node + linkType: hard + "@types/aws-lambda@npm:^8.10.83": version: 8.10.149 resolution: "@types/aws-lambda@npm:8.10.149" @@ -7273,13 +7550,6 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*": - version: 15.7.14 - resolution: "@types/prop-types@npm:15.7.14" - checksum: 10c0/1ec775160bfab90b67a782d735952158c7e702ca4502968aa82565bd8e452c2de8601c8dfe349733073c31179116cf7340710160d3836aa8a1ef76d1532893b1 - languageName: node - linkType: hard - "@types/psl@npm:^1.1.3": version: 1.1.3 resolution: "@types/psl@npm:1.1.3" @@ -7301,22 +7571,21 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18": - version: 18.3.5 - resolution: "@types/react-dom@npm:18.3.5" +"@types/react-dom@npm:19.1.7": + version: 19.1.7 + resolution: "@types/react-dom@npm:19.1.7" peerDependencies: - "@types/react": ^18.0.0 - checksum: 10c0/b163d35a6b32a79f5782574a7aeb12a31a647e248792bf437e6d596e2676961c394c5e3c6e91d1ce44ae90441dbaf93158efb4f051c0d61e2612f1cb04ce4faa + "@types/react": ^19.0.0 + checksum: 10c0/8db5751c1567552fe4e1ece9f5823b682f2994ec8d30ed34ba0ef984e3c8ace1435f8be93d02f55c350147e78ac8c4dbcd8ed2c3b6a60f575bc5374f588c51c9 languageName: node linkType: hard -"@types/react@npm:^18": - version: 18.3.19 - resolution: "@types/react@npm:18.3.19" +"@types/react@npm:19.1.10": + version: 19.1.10 + resolution: "@types/react@npm:19.1.10" dependencies: - "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/236bfe0c4748ada1a640f13573eca3e0fc7c9d847b442947adb352b0718d6d285357fd84c33336c8ffb8cbfabc0d58a43a647c7fd79857fecd61fb58ab6f7918 + checksum: 10c0/fb583deacd0a815e2775dc1b9f764532d8cacb748ddd2c2914805a46c257ce6c237b4078f44009692074db212ab61a390301c6470f07f5aa5bfdeb78a2acfda1 languageName: node linkType: hard @@ -7392,78 +7661,53 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.3.0": - version: 8.27.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.27.0" +"@typescript-eslint/eslint-plugin@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/eslint-plugin@npm:^8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.40.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.27.0" - "@typescript-eslint/type-utils": "npm:8.27.0" - "@typescript-eslint/utils": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" + "@typescript-eslint/scope-manager": "npm:8.40.0" + "@typescript-eslint/type-utils": "npm:8.40.0" + "@typescript-eslint/utils": "npm:8.40.0" + "@typescript-eslint/visitor-keys": "npm:8.40.0" graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" + ignore: "npm:^7.0.0" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: - "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + "@typescript-eslint/parser": ^8.40.0 eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/95bbab011bfe51ca657ff346e4c6cac25652c88e5188a5e74d14372dba45c3d7aa713f4c90f80ebc885d77a8be89e131e8b77c096145c90da6c251a475b125fc + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/dc8889c3255bce6956432f099059179dd13826ba29670f81ba9238ecde46764ee63459eb73a7d88f4f30e1144a2f000d79c9e3f256fa759689d9b3b74d423bda languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/parser@npm:7.2.0" +"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/parser@npm:^8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/parser@npm:8.40.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.2.0" - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/typescript-estree": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" + "@typescript-eslint/scope-manager": "npm:8.40.0" + "@typescript-eslint/types": "npm:8.40.0" + "@typescript-eslint/typescript-estree": "npm:8.40.0" + "@typescript-eslint/visitor-keys": "npm:8.40.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.56.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/11ce36c68212fdbf98fc6fd32ba0977d46b645fd669a3f4fdb8be2036225f86ad005b31a66f97097e90517c44c92cf9cc5fb1d6e9647ee2fa125c4af21cdb477 + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/43ca9589b8a1f3f4b30a214c0e2254fa0ad43458ef1258b1d62c5aad52710ad11b9315b124cda79163274147b82201a5d76fab7de413e34bfe8e377142b71e98 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.3.0": - version: 8.27.0 - resolution: "@typescript-eslint/parser@npm:8.27.0" +"@typescript-eslint/project-service@npm:8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/project-service@npm:8.40.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.27.0" - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/typescript-estree": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.40.0" + "@typescript-eslint/types": "npm:^8.40.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/2ada98167ca5a474544fada7658d7c8d54ea4dfdd692e3d30d18b5531e50d7308a5b09d23dca651f9fe841f96075ccd18643431f4b61d0e4e7e7ccde888258e8 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/scope-manager@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - checksum: 10c0/4d088c127e6ba1a7de8567f70684779083be24b48746c3b4a86a0ec7062bca58693ee08482349ad6572a17ada8aa6f26b74d1c7139c8fcf7101fa09a572e0ea6 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/scope-manager@npm:8.27.0" - dependencies: - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" - checksum: 10c0/d87daeffb81f4e70f168c38f01c667713bda71c4545e28fcdf0792378fb3df171894ef77854c5c1a5e5a22c784ee1ccea2dd856b5baf825840710a6a74c14ac9 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/23d62e9ada9750136d0251f268bbe1f9784442ef258bb340a2e1e866749d8076730a14749d9a320d94d7c76df2d108caf21fe35e5dc100385f04be846dc979cb languageName: node linkType: hard @@ -7477,32 +7721,38 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/type-utils@npm:8.27.0" +"@typescript-eslint/scope-manager@npm:8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/scope-manager@npm:8.40.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.27.0" - "@typescript-eslint/utils": "npm:8.27.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.0.1" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/f38cdc660ebcb3b71496182b9ea52301ab08a4f062558aa7061a5f0b759ae3e8f68ae250a29e74251cb52c6c56733d7dabed7002b993544cbe0933bb75d67a57 + "@typescript-eslint/types": "npm:8.40.0" + "@typescript-eslint/visitor-keys": "npm:8.40.0" + checksum: 10c0/48af81f9cdcec466994d290561e8d2fa3f6b156a898b71dd0e65633c896543b44729c5353596e84de2ae61bfd20e1398c3309cdfe86714a9663fd5aded4c9cd0 languageName: node linkType: hard -"@typescript-eslint/types@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/types@npm:7.2.0" - checksum: 10c0/135aae061720185855bea61ea6cfd33f4801d2de57f65e50079bbdb505100f844632aa4e4bdeec9e9e79d29aaddad949178d0e918e41867da6ab4b1390820e33 +"@typescript-eslint/tsconfig-utils@npm:8.40.0, @typescript-eslint/tsconfig-utils@npm:^8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.40.0" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/c2366dcd802901d5cd4f59fc4eab7a00ed119aa4591ba59c507fe495d9af4cfca19431a603602ea675e4c861962230d1c2f100896903750cd1fcfc134702a7d0 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/types@npm:8.27.0" - checksum: 10c0/9c5f2ba816a9baea5982feeadebe4d19f4df77ddb025a7b2307f9e1e6914076b63cbad81f7f915814e64b4d915052cf27bd79ce3e5a831340cb5ab244133941b +"@typescript-eslint/type-utils@npm:8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/type-utils@npm:8.40.0" + dependencies: + "@typescript-eslint/types": "npm:8.40.0" + "@typescript-eslint/typescript-estree": "npm:8.40.0" + "@typescript-eslint/utils": "npm:8.40.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^2.1.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/660b77d801b2538a4ccb65065269ad0e8370d0be985172b5ecb067f3eea22e64aa8af9e981b31bf2a34002339fe3253b09b55d181ce6d8242fc7daa80ac4aaca languageName: node linkType: hard @@ -7513,49 +7763,39 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - "@typescript-eslint/visitor-keys": "npm:7.2.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/2730bb17730e6f3ca4061f00688a70386a808f5d174fdeb757c3cfa92c455373f69080df33237c1a8970e818af0cea0ae5a083970ed8ba493f3b04458c6f9271 +"@typescript-eslint/types@npm:8.40.0, @typescript-eslint/types@npm:^8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/types@npm:8.40.0" + checksum: 10c0/225374fff36d59288a5780667a7a1316c75090d5d60b70a8035ac18786120333ccd08dfdf0e05e30d5a82217e44c57b8708b769dd1eed89f12f2ac4d3a769f76 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.27.0" +"@typescript-eslint/typescript-estree@npm:8.32.1": + version: 8.32.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.32.1" dependencies: - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" + "@typescript-eslint/types": "npm:8.32.1" + "@typescript-eslint/visitor-keys": "npm:8.32.1" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/c04d602825ff2a7b2a89746a68b32f7052fb4ce3d2355d1f4e6f43fd064f17c3b44fb974c98838a078fdebdc35152d2ab0af34663dfca99db7a790bd3fc5d8ac + checksum: 10c0/b5ae0d91ef1b46c9f3852741e26b7a14c28bb58ee8a283b9530ac484332ca58a7216b9d22eda23c5449b5fd69c6e4601ef3ebbd68e746816ae78269036c08cda languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.32.1": - version: 8.32.1 - resolution: "@typescript-eslint/typescript-estree@npm:8.32.1" +"@typescript-eslint/typescript-estree@npm:8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.40.0" dependencies: - "@typescript-eslint/types": "npm:8.32.1" - "@typescript-eslint/visitor-keys": "npm:8.32.1" + "@typescript-eslint/project-service": "npm:8.40.0" + "@typescript-eslint/tsconfig-utils": "npm:8.40.0" + "@typescript-eslint/types": "npm:8.40.0" + "@typescript-eslint/visitor-keys": "npm:8.40.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" @@ -7563,23 +7803,23 @@ __metadata: semver: "npm:^7.6.0" ts-api-utils: "npm:^2.1.0" peerDependencies: - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/b5ae0d91ef1b46c9f3852741e26b7a14c28bb58ee8a283b9530ac484332ca58a7216b9d22eda23c5449b5fd69c6e4601ef3ebbd68e746816ae78269036c08cda + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/6c1ffc17947cb36cbd987cf9705f85223ed1cce584b5244840e36a2b8480861f4dfdb0312f96afbc12e7d1ba586005f0d959042baa0a96a1913ac7ace8e8f6d4 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/utils@npm:8.27.0" +"@typescript-eslint/utils@npm:8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/utils@npm:8.40.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.27.0" - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/typescript-estree": "npm:8.27.0" + "@eslint-community/eslint-utils": "npm:^4.7.0" + "@typescript-eslint/scope-manager": "npm:8.40.0" + "@typescript-eslint/types": "npm:8.40.0" + "@typescript-eslint/typescript-estree": "npm:8.40.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/dcfd5f2c17f1a33061e3ec70d0946ff23a4238aabacae3d85087165beccedf84fb8506d30848f2470e3b60ab98b230aef79c6e8b4c5d39648a37ac559ac5b1e0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/6b3858b8725083fe7db7fb9bcbde930e758a6ba8ddedd1ed27d828fc1cbe04f54b774ef9144602f8eeaafeea9b19b4fd4c46fdad52a10ade99e6b282c7d0df92 languageName: node linkType: hard @@ -7598,26 +7838,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.2.0": - version: 7.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:7.2.0" - dependencies: - "@typescript-eslint/types": "npm:7.2.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/2d7467495b2b76f3edb1b3047e97076c2242e7eca6d50bbbdd88219f9ff754dbcb9334a0568fe0ceb4c562823980938bd278aa2ba53da6343e7d99a167924f24 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.27.0" - dependencies: - "@typescript-eslint/types": "npm:8.27.0" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10c0/d86fd4032db07123816aab3a6b8b53f840387385ab2a4d8f96b22fc76b5438fb27ac8dc42b63caf23f3d265c33e9075dbf1ce8d31f939df12f5cd077d3b10295 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.32.1": version: 8.32.1 resolution: "@typescript-eslint/visitor-keys@npm:8.32.1" @@ -7628,6 +7848,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.40.0": + version: 8.40.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.40.0" + dependencies: + "@typescript-eslint/types": "npm:8.40.0" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/592f1c8c2d3da43a7f74f8ead14f05fafc2e4609d5df36811cf92ead5dc94f6f669556a494048e4746cb3774c60bc52a8c83d75369d5e196778d935c70e7d3a1 + languageName: node + linkType: hard + "@uidotdev/usehooks@npm:^2.4.1": version: 2.4.1 resolution: "@uidotdev/usehooks@npm:2.4.1" @@ -7969,6 +8199,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.15.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" + bin: + acorn: bin/acorn + checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec + languageName: node + linkType: hard + "agent-base@npm:6": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -8064,6 +8303,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + "ansi-styles@npm:^6.1.0": version: 6.2.1 resolution: "ansi-styles@npm:6.2.1" @@ -8111,6 +8357,15 @@ __metadata: languageName: node linkType: hard +"aria-query@npm:5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" + dependencies: + dequal: "npm:^2.0.3" + checksum: 10c0/2bff0d4eba5852a9dd578ecf47eaef0e82cc52569b48469b0aac2db5145db0b17b7a58d9e01237706d1e14b7a1b0ac9b78e9c97027ad97679dd8f91b85da1469 + languageName: node + linkType: hard + "aria-query@npm:^5.3.2": version: 5.3.2 resolution: "aria-query@npm:5.3.2" @@ -8149,10 +8404,19 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 +"array-includes@npm:^3.1.9": + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" + dependencies: + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.24.0" + es-object-atoms: "npm:^1.1.1" + get-intrinsic: "npm:^1.3.0" + is-string: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856 languageName: node linkType: hard @@ -8170,7 +8434,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.5": +"array.prototype.findlastindex@npm:^1.2.6": version: 1.2.6 resolution: "array.prototype.findlastindex@npm:1.2.6" dependencies: @@ -8185,7 +8449,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.3": version: 1.3.3 resolution: "array.prototype.flat@npm:1.3.3" dependencies: @@ -9674,6 +9938,13 @@ __metadata: languageName: node linkType: hard +"detect-libc@npm:^2.0.4": + version: 2.0.4 + resolution: "detect-libc@npm:2.0.4" + checksum: 10c0/c15541f836eba4b1f521e4eecc28eefefdbc10a94d3b8cb4c507689f332cc111babb95deda66f2de050b22122113189986d5190be97d51b5a2b23b938415e67c + languageName: node + linkType: hard + "detect-node-es@npm:^1.1.0": version: 1.1.0 resolution: "detect-node-es@npm:1.1.0" @@ -9697,15 +9968,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - "direction@npm:^1.0.4": version: 1.0.4 resolution: "direction@npm:1.0.4" @@ -9747,6 +10009,13 @@ __metadata: languageName: node linkType: hard +"dom-accessibility-api@npm:^0.5.9": + version: 0.5.16 + resolution: "dom-accessibility-api@npm:0.5.16" + checksum: 10c0/b2c2eda4fae568977cdac27a9f0c001edf4f95a6a6191dfa611e3721db2478d1badc01db5bb4fa8a848aeee13e442a6c2a4386d65ec65a1436f24715a2f8d053 + languageName: node + linkType: hard + "dom-helpers@npm:^5.0.1": version: 5.2.1 resolution: "dom-helpers@npm:5.2.1" @@ -10088,6 +10357,68 @@ __metadata: languageName: node linkType: hard +"es-abstract@npm:^1.24.0": + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" + dependencies: + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.1.1" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.3.0" + get-proto: "npm:^1.0.1" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" + has-property-descriptors: "npm:^1.0.2" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" + is-callable: "npm:^1.2.7" + is-data-view: "npm:^1.0.2" + is-negative-zero: "npm:^2.0.3" + is-regex: "npm:^1.2.1" + is-set: "npm:^2.0.3" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.4" + object-keys: "npm:^1.1.1" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.4" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + stop-iteration-iterator: "npm:^1.1.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" + string.prototype.trimstart: "npm:^1.0.8" + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.19" + checksum: 10c0/b256e897be32df5d382786ce8cce29a1dd8c97efbab77a26609bd70f2ed29fbcfc7a31758cb07488d532e7ccccdfca76c1118f2afe5a424cdc05ca007867c318 + languageName: node + linkType: hard + "es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": version: 1.0.1 resolution: "es-define-property@npm:1.0.1" @@ -10466,26 +10797,27 @@ __metadata: languageName: node linkType: hard -"eslint-config-next@npm:14.2.6": - version: 14.2.6 - resolution: "eslint-config-next@npm:14.2.6" +"eslint-config-next@npm:15.5.0": + version: 15.5.0 + resolution: "eslint-config-next@npm:15.5.0" dependencies: - "@next/eslint-plugin-next": "npm:14.2.6" - "@rushstack/eslint-patch": "npm:^1.3.3" - "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0 || 7.0.0 - 7.2.0" + "@next/eslint-plugin-next": "npm:15.5.0" + "@rushstack/eslint-patch": "npm:^1.10.3" + "@typescript-eslint/eslint-plugin": "npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0" eslint-import-resolver-node: "npm:^0.3.6" eslint-import-resolver-typescript: "npm:^3.5.2" - eslint-plugin-import: "npm:^2.28.1" - eslint-plugin-jsx-a11y: "npm:^6.7.1" - eslint-plugin-react: "npm:^7.33.2" - eslint-plugin-react-hooks: "npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" + eslint-plugin-import: "npm:^2.31.0" + eslint-plugin-jsx-a11y: "npm:^6.10.0" + eslint-plugin-react: "npm:^7.37.0" + eslint-plugin-react-hooks: "npm:^5.0.0" peerDependencies: - eslint: ^7.23.0 || ^8.0.0 + eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 typescript: ">=3.3.1" peerDependenciesMeta: typescript: optional: true - checksum: 10c0/3a1b46696fa70a6a8b0dfdbb528ac30f324ad548d36736ebb08b2dd96d085224c59dafcac35dbcb0148173b8cd7519126abcacfbee1ad829184581ffb20b1b8d + checksum: 10c0/f7f021ea1b2aec4ca642abc1c1ad6d1961bd2581cf3f7e3b6bb6d17a208271a124489d213d3d21fc36221dc0190c8d8f5572470c00c6d353c0dc0b56a05b2a8a languageName: node linkType: hard @@ -10524,48 +10856,48 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.12.0": - version: 2.12.0 - resolution: "eslint-module-utils@npm:2.12.0" +"eslint-module-utils@npm:^2.12.1": + version: 2.12.1 + resolution: "eslint-module-utils@npm:2.12.1" dependencies: debug: "npm:^3.2.7" peerDependenciesMeta: eslint: optional: true - checksum: 10c0/4d8b46dcd525d71276f9be9ffac1d2be61c9d54cc53c992e6333cf957840dee09381842b1acbbb15fc6b255ebab99cd481c5007ab438e5455a14abe1a0468558 + checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40 languageName: node linkType: hard -"eslint-plugin-import@npm:^2.28.1": - version: 2.31.0 - resolution: "eslint-plugin-import@npm:2.31.0" +"eslint-plugin-import@npm:^2.31.0": + version: 2.32.0 + resolution: "eslint-plugin-import@npm:2.32.0" dependencies: "@rtsao/scc": "npm:^1.1.0" - array-includes: "npm:^3.1.8" - array.prototype.findlastindex: "npm:^1.2.5" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" + array-includes: "npm:^3.1.9" + array.prototype.findlastindex: "npm:^1.2.6" + array.prototype.flat: "npm:^1.3.3" + array.prototype.flatmap: "npm:^1.3.3" debug: "npm:^3.2.7" doctrine: "npm:^2.1.0" eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.12.0" + eslint-module-utils: "npm:^2.12.1" hasown: "npm:^2.0.2" - is-core-module: "npm:^2.15.1" + is-core-module: "npm:^2.16.1" is-glob: "npm:^4.0.3" minimatch: "npm:^3.1.2" object.fromentries: "npm:^2.0.8" object.groupby: "npm:^1.0.3" - object.values: "npm:^1.2.0" + object.values: "npm:^1.2.1" semver: "npm:^6.3.1" - string.prototype.trimend: "npm:^1.0.8" + string.prototype.trimend: "npm:^1.0.9" tsconfig-paths: "npm:^3.15.0" peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - checksum: 10c0/e21d116ddd1900e091ad120b3eb68c5dd5437fe2c930f1211781cd38b246f090a6b74d5f3800b8255a0ed29782591521ad44eb21c5534960a8f1fb4040fd913a + checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b languageName: node linkType: hard -"eslint-plugin-jsx-a11y@npm:^6.7.1": +"eslint-plugin-jsx-a11y@npm:^6.10.0": version: 6.10.2 resolution: "eslint-plugin-jsx-a11y@npm:6.10.2" dependencies: @@ -10590,27 +10922,18 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react-hooks@npm:^4.5.0 || 5.0.0-canary-7118f5dd7-20230705": - version: 5.0.0-canary-7118f5dd7-20230705 - resolution: "eslint-plugin-react-hooks@npm:5.0.0-canary-7118f5dd7-20230705" - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/554c4e426bfeb126155510dcba8345391426af147ee629f1c56c9ef6af08340d11008213e4e15b0138830af2c4439d7158da2091987f7efb01aeab662c44b274 - languageName: node - linkType: hard - -"eslint-plugin-react-hooks@npm:^4.6.2": - version: 4.6.2 - resolution: "eslint-plugin-react-hooks@npm:4.6.2" +"eslint-plugin-react-hooks@npm:^5.0.0, eslint-plugin-react-hooks@npm:^5.2.0": + version: 5.2.0 + resolution: "eslint-plugin-react-hooks@npm:5.2.0" peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + checksum: 10c0/1c8d50fa5984c6dea32470651807d2922cc3934cf3425e78f84a24c2dfd972e7f019bee84aefb27e0cf2c13fea0ac1d4473267727408feeb1c56333ca1489385 languageName: node linkType: hard -"eslint-plugin-react@npm:^7.33.2, eslint-plugin-react@npm:^7.35.0": - version: 7.37.4 - resolution: "eslint-plugin-react@npm:7.37.4" +"eslint-plugin-react@npm:^7.37.0, eslint-plugin-react@npm:^7.37.5": + version: 7.37.5 + resolution: "eslint-plugin-react@npm:7.37.5" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -10622,7 +10945,7 @@ __metadata: hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" + object.entries: "npm:^1.1.9" object.fromentries: "npm:^2.0.8" object.values: "npm:^1.2.1" prop-types: "npm:^15.8.1" @@ -10632,7 +10955,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/4acbbdb19669dfa9a162ed8847c3ad1918f6aea1ceb675ee320b5d903b4e463fdef25e15233295b6d0a726fef2ea8b015c527da769c7690932ddc52d5b82ba12 + checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57 languageName: node linkType: hard @@ -10660,6 +10983,13 @@ __metadata: languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43 + languageName: node + linkType: hard + "eslint@npm:^8": version: 8.57.1 resolution: "eslint@npm:8.57.1" @@ -10708,6 +11038,17 @@ __metadata: languageName: node linkType: hard +"espree@npm:^10.0.1": + version: 10.4.0 + resolution: "espree@npm:10.4.0" + dependencies: + acorn: "npm:^8.15.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b + languageName: node + linkType: hard + "espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -10972,7 +11313,20 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:3.3.1": + version: 3.3.1 + resolution: "fast-glob@npm:3.3.1" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/b68431128fb6ce4b804c5f9622628426d990b66c75b21c0d16e3d80e2d1398bf33f7e1724e66a2e3f299285dcf5b8d745b122d0304e7dd66f5231081f33ec67c + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -11458,21 +11812,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - "glob@npm:10.3.4": version: 10.3.4 resolution: "glob@npm:10.3.4" @@ -11562,6 +11901,13 @@ __metadata: languageName: node linkType: hard +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + "globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" @@ -11572,20 +11918,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "globrex@npm:^0.1.2": version: 0.1.2 resolution: "globrex@npm:0.1.2" @@ -12061,13 +12393,20 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.3.1": +"ignore@npm:^5.2.0": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard +"ignore@npm:^7.0.0": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d + languageName: node + linkType: hard + "immer@npm:^10.0.3": version: 10.1.1 resolution: "immer@npm:10.1.1" @@ -12289,7 +12628,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0, is-core-module@npm:^2.16.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -12398,6 +12737,13 @@ __metadata: languageName: node linkType: hard +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + languageName: node + linkType: hard + "is-number-object@npm:^1.1.1": version: 1.1.1 resolution: "is-number-object@npm:1.1.1" @@ -12547,7 +12893,7 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0, is-weakref@npm:^1.1.1": version: 1.1.1 resolution: "is-weakref@npm:1.1.1" dependencies: @@ -12601,7 +12947,7 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.0.3, jackspeak@npm:^2.3.5": +"jackspeak@npm:^2.0.3": version: 2.3.6 resolution: "jackspeak@npm:2.3.6" dependencies: @@ -12765,7 +13111,7 @@ __metadata: languageName: node linkType: hard -"json-schema-to-typescript@npm:^15.0.2, json-schema-to-typescript@npm:^15.0.4": +"json-schema-to-typescript@npm:^15.0.4": version: 15.0.4 resolution: "json-schema-to-typescript@npm:15.0.4" dependencies: @@ -13104,7 +13450,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -13170,6 +13516,15 @@ __metadata: languageName: node linkType: hard +"lz-string@npm:^1.5.0": + version: 1.5.0 + resolution: "lz-string@npm:1.5.0" + bin: + lz-string: bin/bin.js + checksum: 10c0/36128e4de34791838abe979b19927c26e67201ca5acf00880377af7d765b38d1c60847e01c5ec61b1a260c48029084ab3893a3925fd6e48a04011364b089991b + languageName: node + linkType: hard + "magic-string@npm:0.30.8": version: 0.30.8 resolution: "magic-string@npm:0.30.8" @@ -13516,7 +13871,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb @@ -13859,7 +14214,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -13917,15 +14272,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:9.0.3": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - "minimatch@npm:^10.0.0": version: 10.0.1 resolution: "minimatch@npm:10.0.1" @@ -14300,31 +14646,30 @@ __metadata: languageName: node linkType: hard -"next@npm:14.2.30": - version: 14.2.30 - resolution: "next@npm:14.2.30" +"next@npm:15.5.0": + version: 15.5.0 + resolution: "next@npm:15.5.0" dependencies: - "@next/env": "npm:14.2.30" - "@next/swc-darwin-arm64": "npm:14.2.30" - "@next/swc-darwin-x64": "npm:14.2.30" - "@next/swc-linux-arm64-gnu": "npm:14.2.30" - "@next/swc-linux-arm64-musl": "npm:14.2.30" - "@next/swc-linux-x64-gnu": "npm:14.2.30" - "@next/swc-linux-x64-musl": "npm:14.2.30" - "@next/swc-win32-arm64-msvc": "npm:14.2.30" - "@next/swc-win32-ia32-msvc": "npm:14.2.30" - "@next/swc-win32-x64-msvc": "npm:14.2.30" - "@swc/helpers": "npm:0.5.5" - busboy: "npm:1.6.0" + "@next/env": "npm:15.5.0" + "@next/swc-darwin-arm64": "npm:15.5.0" + "@next/swc-darwin-x64": "npm:15.5.0" + "@next/swc-linux-arm64-gnu": "npm:15.5.0" + "@next/swc-linux-arm64-musl": "npm:15.5.0" + "@next/swc-linux-x64-gnu": "npm:15.5.0" + "@next/swc-linux-x64-musl": "npm:15.5.0" + "@next/swc-win32-arm64-msvc": "npm:15.5.0" + "@next/swc-win32-x64-msvc": "npm:15.5.0" + "@swc/helpers": "npm:0.5.15" caniuse-lite: "npm:^1.0.30001579" - graceful-fs: "npm:^4.2.11" postcss: "npm:8.4.31" - styled-jsx: "npm:5.1.1" + sharp: "npm:^0.34.3" + styled-jsx: "npm:5.1.6" peerDependencies: "@opentelemetry/api": ^1.1.0 - "@playwright/test": ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 + "@playwright/test": ^1.51.1 + babel-plugin-react-compiler: "*" + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 sass: ^1.3.0 dependenciesMeta: "@next/swc-darwin-arm64": @@ -14341,20 +14686,22 @@ __metadata: optional: true "@next/swc-win32-arm64-msvc": optional: true - "@next/swc-win32-ia32-msvc": - optional: true "@next/swc-win32-x64-msvc": optional: true + sharp: + optional: true peerDependenciesMeta: "@opentelemetry/api": optional: true "@playwright/test": optional: true + babel-plugin-react-compiler: + optional: true sass: optional: true bin: next: dist/bin/next - checksum: 10c0/47b6a1e96d9263894da150bbb2c98c123b1630a0a88eb55c2129938557c51e8e55edf1d43364f7721b472fb4977e9567541f9c504a69ccf8138d0128cb682561 + checksum: 10c0/8691787562666713e9ee8bc3edad646328d9cea85d5c4c10bd05a978afa25bc9927bbfd50acc69ceb268296741b5f71e78fa0213fe65b731a55e73b0f5807c24 languageName: node linkType: hard @@ -14573,7 +14920,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.3": +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": version: 1.13.4 resolution: "object-inspect@npm:1.13.4" checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 @@ -14601,7 +14948,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.8": +"object.entries@npm:^1.1.9": version: 1.1.9 resolution: "object.entries@npm:1.1.9" dependencies: @@ -14636,7 +14983,7 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.2.0, object.values@npm:^1.2.1": +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": version: 1.2.1 resolution: "object.values@npm:1.2.1" dependencies: @@ -15008,13 +15355,6 @@ __metadata: languageName: node linkType: hard -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - "pathe@npm:^1.1.2": version: 1.1.2 resolution: "pathe@npm:1.1.2" @@ -15094,7 +15434,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": +"picocolors@npm:1.1.1, picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 @@ -15412,16 +15752,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.4.2": - version: 3.4.2 - resolution: "prettier@npm:3.4.2" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/99e076a26ed0aba4ebc043880d0f08bbb8c59a4c6641cdee6cdadf2205bdd87aa1d7823f50c3aea41e015e99878d37c58d7b5f0e663bba0ef047f94e36b96446 - languageName: node - linkType: hard - -"prettier@npm:^3.2.5": +"prettier@npm:3.5.3": version: 3.5.3 resolution: "prettier@npm:3.5.3" bin: @@ -15437,6 +15768,17 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^27.0.2": + version: 27.5.1 + resolution: "pretty-format@npm:27.5.1" + dependencies: + ansi-regex: "npm:^5.0.1" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^17.0.1" + checksum: 10c0/0cbda1031aa30c659e10921fa94e0dd3f903ecbbbe7184a729ad66f2b6e7f17891e8c7d7654c458fa4ccb1a411ffb695b4f17bbcd3fe075fabe181027c4040ed + languageName: node + linkType: hard + "pretty-format@npm:^3.8.0": version: 3.8.0 resolution: "pretty-format@npm:3.8.0" @@ -15688,15 +16030,14 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"react-dom@npm:19.1.1": + version: 19.1.1 + resolution: "react-dom@npm:19.1.1" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" + scheduler: "npm:^0.26.0" peerDependencies: - react: ^18.3.1 - checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + react: ^19.1.1 + checksum: 10c0/8c91198510521299c56e4e8d5e3a4508b2734fb5e52f29eeac33811de64e76fe586ad32c32182e2e84e070d98df67125da346c3360013357228172dbcd20bcdd languageName: node linkType: hard @@ -15724,17 +16065,6 @@ __metadata: languageName: node linkType: hard -"react-error-boundary@npm:^3.1.0": - version: 3.1.4 - resolution: "react-error-boundary@npm:3.1.4" - dependencies: - "@babel/runtime": "npm:^7.12.5" - peerDependencies: - react: ">=16.13.1" - checksum: 10c0/f977ca61823e43de2381d53dd7aa8b4d79ff6a984c9afdc88dc44f9973b99de7fd382d2f0f91f2688e24bb987c0185bf45d0b004f22afaaab0f990a830253bfb - languageName: node - linkType: hard - "react-hook-form@npm:^7.53.0": version: 7.54.2 resolution: "react-hook-form@npm:7.54.2" @@ -15770,6 +16100,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^17.0.1": + version: 17.0.2 + resolution: "react-is@npm:17.0.2" + checksum: 10c0/2bdb6b93fbb1820b024b496042cce405c57e2f85e777c9aabd55f9b26d145408f9f74f5934676ffdc46f3dcff656d78413a6e43968e7b3f92eea35b3052e9053 + languageName: node + linkType: hard + "react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" @@ -15917,12 +16254,10 @@ __metadata: languageName: node linkType: hard -"react@npm:^18": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 +"react@npm:19.1.1": + version: 19.1.1 + resolution: "react@npm:19.1.1" + checksum: 10c0/8c9769a2dfd02e603af6445058325e6c8a24b47b185d0e461f66a6454765ddcaecb3f0a90184836c68bb509f3c38248359edbc42f0d07c23eb500a5c30c87b4e languageName: node linkType: hard @@ -16073,7 +16408,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: @@ -16620,12 +16955,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 +"scheduler@npm:^0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: 10c0/5b8d5bfddaae3513410eda54f2268e98a376a429931921a81b5c3a2873aab7ca4d775a8caac5498f8cbc7d0daeab947cf923dbd8e215d61671f9f4e392d34356 languageName: node linkType: hard @@ -16674,6 +17007,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.2": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea + languageName: node + linkType: hard + "send@npm:0.19.0": version: 0.19.0 resolution: "send@npm:0.19.0" @@ -16867,6 +17209,84 @@ __metadata: languageName: node linkType: hard +"sharp@npm:^0.34.3": + version: 0.34.3 + resolution: "sharp@npm:0.34.3" + dependencies: + "@img/sharp-darwin-arm64": "npm:0.34.3" + "@img/sharp-darwin-x64": "npm:0.34.3" + "@img/sharp-libvips-darwin-arm64": "npm:1.2.0" + "@img/sharp-libvips-darwin-x64": "npm:1.2.0" + "@img/sharp-libvips-linux-arm": "npm:1.2.0" + "@img/sharp-libvips-linux-arm64": "npm:1.2.0" + "@img/sharp-libvips-linux-ppc64": "npm:1.2.0" + "@img/sharp-libvips-linux-s390x": "npm:1.2.0" + "@img/sharp-libvips-linux-x64": "npm:1.2.0" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.0" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.0" + "@img/sharp-linux-arm": "npm:0.34.3" + "@img/sharp-linux-arm64": "npm:0.34.3" + "@img/sharp-linux-ppc64": "npm:0.34.3" + "@img/sharp-linux-s390x": "npm:0.34.3" + "@img/sharp-linux-x64": "npm:0.34.3" + "@img/sharp-linuxmusl-arm64": "npm:0.34.3" + "@img/sharp-linuxmusl-x64": "npm:0.34.3" + "@img/sharp-wasm32": "npm:0.34.3" + "@img/sharp-win32-arm64": "npm:0.34.3" + "@img/sharp-win32-ia32": "npm:0.34.3" + "@img/sharp-win32-x64": "npm:0.34.3" + color: "npm:^4.2.3" + detect-libc: "npm:^2.0.4" + semver: "npm:^7.7.2" + dependenciesMeta: + "@img/sharp-darwin-arm64": + optional: true + "@img/sharp-darwin-x64": + optional: true + "@img/sharp-libvips-darwin-arm64": + optional: true + "@img/sharp-libvips-darwin-x64": + optional: true + "@img/sharp-libvips-linux-arm": + optional: true + "@img/sharp-libvips-linux-arm64": + optional: true + "@img/sharp-libvips-linux-ppc64": + optional: true + "@img/sharp-libvips-linux-s390x": + optional: true + "@img/sharp-libvips-linux-x64": + optional: true + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + "@img/sharp-libvips-linuxmusl-x64": + optional: true + "@img/sharp-linux-arm": + optional: true + "@img/sharp-linux-arm64": + optional: true + "@img/sharp-linux-ppc64": + optional: true + "@img/sharp-linux-s390x": + optional: true + "@img/sharp-linux-x64": + optional: true + "@img/sharp-linuxmusl-arm64": + optional: true + "@img/sharp-linuxmusl-x64": + optional: true + "@img/sharp-wasm32": + optional: true + "@img/sharp-win32-arm64": + optional: true + "@img/sharp-win32-ia32": + optional: true + "@img/sharp-win32-x64": + optional: true + checksum: 10c0/df9e6645e3db6ed298a0ac956ba74e468c367fc038b547936fbdddc6a29fce9af40413acbef73b3716291530760f311a20e45c8983f20ee5ea69dd2f21464a2b + languageName: node + linkType: hard + "shebang-command@npm:^1.2.0": version: 1.2.0 resolution: "shebang-command@npm:1.2.0" @@ -17027,13 +17447,6 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - "slate-dom@npm:^0.116.0": version: 0.116.0 resolution: "slate-dom@npm:0.116.0" @@ -17294,6 +17707,16 @@ __metadata: languageName: node linkType: hard +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + internal-slot: "npm:^1.1.0" + checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09 + languageName: node + linkType: hard + "stream-combiner@npm:~0.0.4": version: 0.0.4 resolution: "stream-combiner@npm:0.0.4" @@ -17408,7 +17831,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8, string.prototype.trimend@npm:^1.0.9": +"string.prototype.trimend@npm:^1.0.9": version: 1.0.9 resolution: "string.prototype.trimend@npm:1.0.9" dependencies: @@ -17540,6 +17963,22 @@ __metadata: languageName: node linkType: hard +"styled-jsx@npm:5.1.6": + version: 5.1.6 + resolution: "styled-jsx@npm:5.1.6" + dependencies: + client-only: "npm:0.0.1" + peerDependencies: + react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + peerDependenciesMeta: + "@babel/core": + optional: true + babel-plugin-macros: + optional: true + checksum: 10c0/ace50e7ea5ae5ae6a3b65a50994c51fca6ae7df9c7ecfd0104c36be0b4b3a9c5c1a2374d16e2a11e256d0b20be6d47256d768ecb4f91ab390f60752a075780f5 + languageName: node + linkType: hard + "sucrase@npm:^3.35.0": version: 3.35.0 resolution: "sucrase@npm:3.35.0" @@ -17889,16 +18328,7 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1": - version: 1.4.3 - resolution: "ts-api-utils@npm:1.4.3" - peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/e65dc6e7e8141140c23e1dc94984bf995d4f6801919c71d6dc27cf0cd51b100a91ffcfe5217626193e5bea9d46831e8586febdc7e172df3f1091a7384299e23a - languageName: node - linkType: hard - -"ts-api-utils@npm:^2.0.1, ts-api-utils@npm:^2.1.0": +"ts-api-utils@npm:^2.1.0": version: 2.1.0 resolution: "ts-api-utils@npm:2.1.0" peerDependencies: @@ -17972,7 +18402,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.1": +"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -18778,7 +19208,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18": +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.19": version: 1.1.19 resolution: "which-typed-array@npm:1.1.19" dependencies: