diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 00000000..24ed1c89 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,30 @@ +/** @type {import("eslint").Linter.Config} */ +const config = { + parser: "@typescript-eslint/parser", + parserOptions: { + project: true, + }, + ignorePatterns: [".eslintrc.js", "lib/db/types/**/*"], + extends: ["next/core-web-vitals", "prettier", "plugin:storybook/recommended"], + plugins: [ + "@typescript-eslint", + "eslint-plugin-unused-imports", + "eslint-plugin-react", + ], + rules: { + "@next/next/no-async-client-component": "error", + "@typescript-eslint/consistent-type-imports": [ + "warn", + { + prefer: "type-imports", + fixStyle: "inline-type-imports", + }, + ], + "@typescript-eslint/no-unused-vars": [ + "warn", + { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }, + ], + }, +}; + +module.exports = config; diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index ce25b246..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": [ - "next/core-web-vitals", - "prettier", - "plugin:storybook/recommended" - ], - "plugins": ["@typescript-eslint"], - "rules": { - "@next/next/no-async-client-component": "error" - } -} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..55c1943a --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "plugins": ["prettier-plugin-organize-imports"] +} diff --git a/.storybook/preview.ts b/.storybook/preview.ts index c1487f0f..a1c0c13a 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,6 +1,5 @@ -import type { Preview } from "@storybook/react"; - import { withThemeByClassName } from "@storybook/addon-styling"; +import type { Preview } from "@storybook/react"; /* TODO: update import to your tailwind styles file. If you're using Angular, inject this through your angular.json config instead */ import "../app/globals.css"; diff --git a/components/Breadcrumbs.tsx b/app/(authenticated)/_components/Breadcrumbs.tsx similarity index 97% rename from components/Breadcrumbs.tsx rename to app/(authenticated)/_components/Breadcrumbs.tsx index cc5fdc71..db351143 100644 --- a/components/Breadcrumbs.tsx +++ b/app/(authenticated)/_components/Breadcrumbs.tsx @@ -1,9 +1,9 @@ "use client"; + +import { Anchor, Breadcrumbs, Text } from "@mantine/core"; +import Link from "next/link"; import { usePathname } from "next/navigation"; import { useMemo } from "react"; -import Link from "next/link"; -import { Anchor, Breadcrumbs, Text } from "@mantine/core"; -import { LuHome } from "react-icons/lu"; const breadcrumbSegments: { [K: string]: string } = { calendar: "Calendar", diff --git a/components/FeedbackPrompt.tsx b/app/(authenticated)/_components/FeedbackPrompt.tsx similarity index 100% rename from components/FeedbackPrompt.tsx rename to app/(authenticated)/_components/FeedbackPrompt.tsx diff --git a/components/Nav.tsx b/app/(authenticated)/_components/Nav.tsx similarity index 94% rename from components/Nav.tsx rename to app/(authenticated)/_components/Nav.tsx index 3f588750..564c5bdb 100644 --- a/components/Nav.tsx +++ b/app/(authenticated)/_components/Nav.tsx @@ -1,12 +1,12 @@ "use client"; +import YSTVBreadcrumbs from "@/app/(authenticated)/_components/Breadcrumbs"; +import Logo from "@/app/_assets/logo.png"; +import { UserMenu } from "@/components/UserMenu"; +import styles from "@/styles/Nav.module.css"; import { AppShell, Group, rem } from "@mantine/core"; import { useHeadroom } from "@mantine/hooks"; import Image from "next/image"; import Link from "next/link"; -import Logo from "@/app/_assets/logo.png"; -import { UserMenu } from "@/components/UserMenu"; -import styles from "@/styles/Nav.module.css"; -import YSTVBreadcrumbs from "@/components/Breadcrumbs"; interface NavProps { children: React.ReactNode; diff --git a/app/(authenticated)/admin/layout.tsx b/app/(authenticated)/admin/layout.tsx index fd8cfb39..ce669043 100644 --- a/app/(authenticated)/admin/layout.tsx +++ b/app/(authenticated)/admin/layout.tsx @@ -1,6 +1,5 @@ -import ErrorPage from "@/components/ErrorPage"; +import ErrorPage from "@/components/helpers/ErrorPage"; import { hasPermission } from "@/lib/auth/server"; -import { notFound } from "next/navigation"; export default async function AuthenticatedLayout({ children, diff --git a/app/(authenticated)/admin/page.tsx b/app/(authenticated)/admin/page.tsx index 726b6c23..23485e8a 100644 --- a/app/(authenticated)/admin/page.tsx +++ b/app/(authenticated)/admin/page.tsx @@ -1,4 +1,4 @@ -import { PageInfo } from "@/components/PageInfo"; +import { PageInfo } from "@/components/helpers/PageInfo"; import { Button, Card, Stack } from "@mantine/core"; import Link from "next/link"; diff --git a/app/(authenticated)/admin/positions/PositionCard.tsx b/app/(authenticated)/admin/positions/PositionCard.tsx index 6616a381..29356494 100644 --- a/app/(authenticated)/admin/positions/PositionCard.tsx +++ b/app/(authenticated)/admin/positions/PositionCard.tsx @@ -1,12 +1,12 @@ -import { Card, Group, Stack, Menu, ActionIcon, Text } from "@mantine/core"; +import type { FormResponse } from "@/components/forms"; +import { ActionIcon, Card, Group, Menu, Stack, Text } from "@mantine/core"; import { modals } from "@mantine/modals"; import { notifications } from "@mantine/notifications"; -import { Position } from "@prisma/client"; +import type { Position } from "@prisma/client"; import { FaEdit } from "react-icons/fa"; -import { MdMoreHoriz, MdDeleteForever } from "react-icons/md"; -import { deletePositionSchema } from "./schema"; -import { z } from "zod"; -import { FormResponse } from "@/components/Form"; +import { MdDeleteForever, MdMoreHoriz } from "react-icons/md"; +import type { z } from "zod"; +import type { deletePositionSchema } from "./schema"; export function PositionCard(props: { position: Position; diff --git a/app/(authenticated)/admin/positions/PositionView.tsx b/app/(authenticated)/admin/positions/PositionView.tsx index c20322b0..866f784b 100644 --- a/app/(authenticated)/admin/positions/PositionView.tsx +++ b/app/(authenticated)/admin/positions/PositionView.tsx @@ -1,5 +1,13 @@ "use client"; +import { SearchBar } from "@/components/SearchBar"; +import { + CountControls, + PageControls, + PaginationProvider, +} from "@/components/navigation/Pagination"; +import { getSearchParamsString } from "@/lib/searchParams/util"; +import { useValidSearchParams } from "@/lib/searchParams/validate"; import { Button, Center, @@ -10,32 +18,23 @@ import { Stack, Text, } from "@mantine/core"; -import { Position } from "@prisma/client"; -import { usePathname, useSearchParams } from "next/navigation"; -import { searchParamsSchema } from "./schema"; -import { useRouter } from "next/navigation"; -import { FaPlus } from "react-icons/fa"; -import { z } from "zod"; -import { useEffect, useState } from "react"; -import { - CountControls, - PageControls, - PaginationProvider, -} from "@/components/Pagination"; import { useDisclosure } from "@mantine/hooks"; -import { SearchBar } from "@/components/SearchBar"; -import { CreatePositionForm, UpdatePositionForm } from "./form"; -import { useValidSearchParams } from "@/lib/searchParams/validate"; -import { getSearchParamsString } from "@/lib/searchParams/util"; +import type { Position } from "@prisma/client"; +import { useQuery } from "@tanstack/react-query"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useEffect, useState } from "react"; +import { FaPlus } from "react-icons/fa"; +import type { z } from "zod"; import { PositionCard } from "./PositionCard"; import { createPositionAction, deletePositionAction, fetchPositionsAction, - TFetchPositions, updatePositionAction, + type TFetchPositions, } from "./actions"; -import { useQuery } from "@tanstack/react-query"; +import { CreatePositionForm, UpdatePositionForm } from "./form"; +import { searchParamsSchema } from "./schema"; export function PositionView(props: { initialPositions: TFetchPositions }) { const pathname = usePathname(); @@ -74,6 +73,7 @@ export function PositionView(props: { initialPositions: TFetchPositions }) { ) { router.push(`${pathname}?${newSearchParamsString}`); } + // eslint-disable-next-line react-hooks/exhaustive-deps }, [searchParamsState]); // States for modals diff --git a/app/(authenticated)/admin/positions/actions.ts b/app/(authenticated)/admin/positions/actions.ts index d852fd2d..ad7f04c6 100644 --- a/app/(authenticated)/admin/positions/actions.ts +++ b/app/(authenticated)/admin/positions/actions.ts @@ -1,20 +1,19 @@ "use server"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; -import { - createPositionSchema, - deletePositionSchema, - searchParamsSchema, - updatePositionSchema, -} from "./schema"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; import { createPosition, deletePosition, fetchPositions, updatePosition, } from "@/features/positions"; -import { Position } from "@prisma/client"; -import { FormResponse } from "@/components/Form"; +import type { Position } from "@prisma/client"; +import { + createPositionSchema, + deletePositionSchema, + searchParamsSchema, + updatePositionSchema, +} from "./schema"; export type TFetchPositions = { positions: Position[]; diff --git a/app/(authenticated)/admin/positions/form.tsx b/app/(authenticated)/admin/positions/form.tsx index 1b1aa134..e6f3f748 100644 --- a/app/(authenticated)/admin/positions/form.tsx +++ b/app/(authenticated)/admin/positions/form.tsx @@ -1,9 +1,12 @@ -import Form, { FormResponse } from "@/components/Form"; -import { createPositionSchema, updatePositionSchema } from "./schema"; -import { z } from "zod"; -import { TextAreaField, TextField } from "@/components/FormFields"; -import { Position } from "@prisma/client"; +import Form, { + TextAreaField, + TextField, + type FormResponse, +} from "@/components/forms"; import { notifications } from "@mantine/notifications"; +import type { Position } from "@prisma/client"; +import type { z } from "zod"; +import { createPositionSchema, updatePositionSchema } from "./schema"; export function CreatePositionForm(props: { action: (data: z.infer) => Promise; diff --git a/app/(authenticated)/admin/positions/layout.tsx b/app/(authenticated)/admin/positions/layout.tsx index 4eb73cfb..74c0a8fc 100644 --- a/app/(authenticated)/admin/positions/layout.tsx +++ b/app/(authenticated)/admin/positions/layout.tsx @@ -1,4 +1,4 @@ -import ErrorPage from "@/components/ErrorPage"; +import ErrorPage from "@/components/helpers/ErrorPage"; import { hasPermission } from "@/lib/auth/server"; export default async function AuthenticatedLayout({ diff --git a/app/(authenticated)/admin/positions/page.tsx b/app/(authenticated)/admin/positions/page.tsx index 99fdf673..22c91048 100644 --- a/app/(authenticated)/admin/positions/page.tsx +++ b/app/(authenticated)/admin/positions/page.tsx @@ -1,10 +1,10 @@ -import { PositionView } from "./PositionView"; +import { PageInfo } from "@/components/helpers/PageInfo"; import { fetchPositions } from "@/features/positions"; -import { searchParamsSchema } from "./schema"; -import { redirect } from "next/navigation"; -import { validateSearchParams } from "@/lib/searchParams/validate"; import { getSearchParamsString } from "@/lib/searchParams/util"; -import { PageInfo } from "@/components/PageInfo"; +import { validateSearchParams } from "@/lib/searchParams/validate"; +import { redirect } from "next/navigation"; +import { PositionView } from "./PositionView"; +import { searchParamsSchema } from "./schema"; export const dynamic = "force-dynamic"; diff --git a/app/(authenticated)/admin/roles/RoleCard.tsx b/app/(authenticated)/admin/roles/RoleCard.tsx index 0de50b15..628647c7 100644 --- a/app/(authenticated)/admin/roles/RoleCard.tsx +++ b/app/(authenticated)/admin/roles/RoleCard.tsx @@ -1,20 +1,20 @@ -import { RoleWithPermissions } from "@/features/people"; +import type { FormResponse } from "@/components/forms"; +import type { RoleWithPermissions } from "@/features/people"; import { + ActionIcon, Card, - Stack, - Highlight, Group, - ActionIcon, - Tooltip, + Highlight, + Stack, Text, + Tooltip, } from "@mantine/core"; -import { FaEdit } from "react-icons/fa"; -import { z } from "zod"; -import { deleteRoleSchema } from "./schema"; -import { FormResponse } from "@/components/Form"; import { modals } from "@mantine/modals"; import { notifications } from "@mantine/notifications"; +import { FaEdit } from "react-icons/fa"; import { MdDeleteForever } from "react-icons/md"; +import type { z } from "zod"; +import type { deleteRoleSchema } from "./schema"; export function RoleCard(props: { role: RoleWithPermissions; diff --git a/app/(authenticated)/admin/roles/RoleView.tsx b/app/(authenticated)/admin/roles/RoleView.tsx index d4f8de53..a5d8d06d 100644 --- a/app/(authenticated)/admin/roles/RoleView.tsx +++ b/app/(authenticated)/admin/roles/RoleView.tsx @@ -1,5 +1,14 @@ "use client"; +import { SearchBar } from "@/components/SearchBar"; +import { + CountControls, + PageControls, + PaginationProvider, +} from "@/components/navigation/Pagination"; +import type { RoleWithPermissions } from "@/features/people"; +import { getSearchParamsString } from "@/lib/searchParams/util"; +import { useValidSearchParams } from "@/lib/searchParams/validate"; import { Button, Center, @@ -10,32 +19,22 @@ import { Stack, Text, } from "@mantine/core"; -import { usePathname, useSearchParams } from "next/navigation"; -import { searchParamsSchema } from "./schema"; -import { useRouter } from "next/navigation"; -import { z } from "zod"; -import { useEffect, useState } from "react"; -import { - CountControls, - PageControls, - PaginationProvider, -} from "@/components/Pagination"; import { useDisclosure } from "@mantine/hooks"; -import { SearchBar } from "@/components/SearchBar"; -import { useValidSearchParams } from "@/lib/searchParams/validate"; -import { getSearchParamsString } from "@/lib/searchParams/util"; -import { RoleCard } from "./RoleCard"; -import { CreateRoleForm, UpdateRoleForm } from "./form"; +import { useQuery } from "@tanstack/react-query"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useEffect, useState } from "react"; import { FaPlus } from "react-icons/fa"; -import { RoleWithPermissions } from "@/features/people"; +import type { z } from "zod"; +import { RoleCard } from "./RoleCard"; import { createRoleAction, deleteRoleAction, fetchRolesAction, - TFetchRoles, updateRoleAction, + type TFetchRoles, } from "./actions"; -import { useQuery } from "@tanstack/react-query"; +import { CreateRoleForm, UpdateRoleForm } from "./form"; +import { searchParamsSchema } from "./schema"; export function RoleView(props: { initialRoles: TFetchRoles }) { const pathname = usePathname(); @@ -74,6 +73,7 @@ export function RoleView(props: { initialRoles: TFetchRoles }) { ) { router.push(`${pathname}?${newSearchParamsString}`); } + // eslint-disable-next-line react-hooks/exhaustive-deps }, [searchParamsState]); // States for modals diff --git a/app/(authenticated)/admin/roles/actions.ts b/app/(authenticated)/admin/roles/actions.ts index 91b3abe9..67f49478 100644 --- a/app/(authenticated)/admin/roles/actions.ts +++ b/app/(authenticated)/admin/roles/actions.ts @@ -1,20 +1,19 @@ "use server"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; +import { + createRole, + deleteRole, + updateRole, + type RoleWithPermissions, +} from "@/features/people"; +import { fetchRoles } from "@/features/roles"; import { createRoleSchema, deleteRoleSchema, searchParamsSchema, updateRoleSchema, } from "./schema"; -import { fetchRoles } from "@/features/roles"; -import { - createRole, - deleteRole, - RoleWithPermissions, - updateRole, -} from "@/features/people"; -import { FormResponse } from "@/components/Form"; export type TFetchRoles = { roles: RoleWithPermissions[]; diff --git a/app/(authenticated)/admin/roles/form.tsx b/app/(authenticated)/admin/roles/form.tsx index 42ec8303..9fa5768c 100644 --- a/app/(authenticated)/admin/roles/form.tsx +++ b/app/(authenticated)/admin/roles/form.tsx @@ -1,14 +1,14 @@ -import Form, { FormResponse } from "@/components/Form"; -import { createRoleSchema, updateRoleSchema } from "./schema"; -import { z } from "zod"; -import { +import Form, { PermissionSelectField, TextAreaField, TextField, -} from "@/components/FormFields"; -import { Permission } from "@/lib/auth/permissions"; + type FormResponse, +} from "@/components/forms"; +import type { RoleWithPermissions } from "@/features/people"; +import type { Permission } from "@/lib/auth/permissions"; import { Space } from "@mantine/core"; -import { RoleWithPermissions } from "@/features/people"; +import type { z } from "zod"; +import { createRoleSchema, updateRoleSchema } from "./schema"; export function CreateRoleForm(props: { action: (data: z.infer) => Promise; diff --git a/app/(authenticated)/admin/roles/layout.tsx b/app/(authenticated)/admin/roles/layout.tsx index 4eb73cfb..74c0a8fc 100644 --- a/app/(authenticated)/admin/roles/layout.tsx +++ b/app/(authenticated)/admin/roles/layout.tsx @@ -1,4 +1,4 @@ -import ErrorPage from "@/components/ErrorPage"; +import ErrorPage from "@/components/helpers/ErrorPage"; import { hasPermission } from "@/lib/auth/server"; export default async function AuthenticatedLayout({ diff --git a/app/(authenticated)/admin/roles/page.tsx b/app/(authenticated)/admin/roles/page.tsx index 7482f306..84aa5690 100644 --- a/app/(authenticated)/admin/roles/page.tsx +++ b/app/(authenticated)/admin/roles/page.tsx @@ -1,11 +1,11 @@ -import { RoleView } from "./RoleView"; -import { searchParamsSchema } from "./schema"; -import { redirect } from "next/navigation"; -import { validateSearchParams } from "@/lib/searchParams/validate"; +import { PageInfo } from "@/components/helpers/PageInfo"; import { getSearchParamsString } from "@/lib/searchParams/util"; -import { fetchRolesAction } from "./actions"; +import { validateSearchParams } from "@/lib/searchParams/validate"; import { Stack, Text } from "@mantine/core"; -import { PageInfo } from "@/components/PageInfo"; +import { redirect } from "next/navigation"; +import { RoleView } from "./RoleView"; +import { fetchRolesAction } from "./actions"; +import { searchParamsSchema } from "./schema"; export const dynamic = "force-dynamic"; diff --git a/app/(authenticated)/admin/users/UserCard.tsx b/app/(authenticated)/admin/users/UserCard.tsx index f3ef7831..13636906 100644 --- a/app/(authenticated)/admin/users/UserCard.tsx +++ b/app/(authenticated)/admin/users/UserCard.tsx @@ -1,18 +1,18 @@ import GoogleIcon from "@/components/icons/GoogleIcon"; import SlackIcon from "@/components/icons/SlackIcon"; import { - Card, - Group, - Stack, ActionIcon, Avatar, + Card, + Group, Highlight, + Stack, Text, Tooltip, } from "@mantine/core"; import Link from "next/link"; import { FaEye } from "react-icons/fa"; -import { UserWithIdentitiesBasicRoles } from "./actions"; +import type { UserWithIdentitiesBasicRoles } from "./actions"; export function UserCard(props: { user: UserWithIdentitiesBasicRoles; diff --git a/app/(authenticated)/admin/users/UserView.tsx b/app/(authenticated)/admin/users/UserView.tsx index 7a690bcf..c86b926c 100644 --- a/app/(authenticated)/admin/users/UserView.tsx +++ b/app/(authenticated)/admin/users/UserView.tsx @@ -1,5 +1,13 @@ "use client"; +import { SearchBar } from "@/components/SearchBar"; +import { + CountControls, + PageControls, + PaginationProvider, +} from "@/components/navigation/Pagination"; +import { getSearchParamsString } from "@/lib/searchParams/util"; +import { useValidSearchParams } from "@/lib/searchParams/validate"; import { Center, Group, @@ -8,22 +16,13 @@ import { Stack, Text, } from "@mantine/core"; -import { usePathname, useSearchParams } from "next/navigation"; -import { searchParamsSchema } from "./schema"; -import { useRouter } from "next/navigation"; -import { z } from "zod"; +import { useQuery } from "@tanstack/react-query"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; import { useEffect, useState } from "react"; -import { - CountControls, - PageControls, - PaginationProvider, -} from "@/components/Pagination"; -import { SearchBar } from "@/components/SearchBar"; -import { useValidSearchParams } from "@/lib/searchParams/validate"; -import { getSearchParamsString } from "@/lib/searchParams/util"; +import type { z } from "zod"; import { UserCard } from "./UserCard"; -import { useQuery } from "@tanstack/react-query"; -import { fetchUsersAction, TFetchUsers } from "./actions"; +import { fetchUsersAction, type TFetchUsers } from "./actions"; +import { searchParamsSchema } from "./schema"; export function UserView(props: { initialUsers: TFetchUsers }) { const pathname = usePathname(); @@ -62,6 +61,7 @@ export function UserView(props: { initialUsers: TFetchUsers }) { ) { router.push(`${pathname}?${newSearchParamsString}`); } + // eslint-disable-next-line react-hooks/exhaustive-deps }, [searchParamsState]); function updateState(state: Partial>) { diff --git a/app/(authenticated)/admin/users/[userID]/AdminUserView.tsx b/app/(authenticated)/admin/users/[userID]/AdminUserView.tsx index bb464832..d9684673 100644 --- a/app/(authenticated)/admin/users/[userID]/AdminUserView.tsx +++ b/app/(authenticated)/admin/users/[userID]/AdminUserView.tsx @@ -1,32 +1,32 @@ "use client"; -import { FormResponse } from "@/components/Form"; -import { getUserName } from "@/components/UserHelpers"; -import { UserWithIdentitiesRoles } from "@/features/people"; +import type { FormResponse } from "@/components/forms"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import type { UserWithIdentitiesRoles } from "@/features/people"; +import type { giveUserRoleSchema } from "@/features/people/schema"; import { - Stack, + ActionIcon, + Avatar, + Button, Card, Group, - Avatar, + Modal, Space, + Stack, Text, - Modal, - Button, - ActionIcon, Tooltip, } from "@mantine/core"; import { useDisclosure } from "@mantine/hooks"; -import { Role } from "@prisma/client"; -import { Suspense } from "react"; -import { z } from "zod"; -import { GiveUserRoleForm } from "./GiveUserRoleForm"; -import { useRouter } from "next/navigation"; -import { FaEdit, FaMinus } from "react-icons/fa"; import { modals } from "@mantine/modals"; import { notifications } from "@mantine/notifications"; -import { editUserSchema } from "./schema"; +import type { Role } from "@prisma/client"; +import { useRouter } from "next/navigation"; +import { Suspense } from "react"; +import { FaEdit, FaMinus } from "react-icons/fa"; +import type { z } from "zod"; import { EditUserForm } from "./EditUserForm"; -import { giveUserRoleSchema } from "@/features/people/schema"; +import { GiveUserRoleForm } from "./GiveUserRoleForm"; +import type { editUserSchema } from "./schema"; export function AdminUserView(props: { user: UserWithIdentitiesRoles; diff --git a/app/(authenticated)/admin/users/[userID]/EditUserForm.tsx b/app/(authenticated)/admin/users/[userID]/EditUserForm.tsx index 68da7287..824f8c26 100644 --- a/app/(authenticated)/admin/users/[userID]/EditUserForm.tsx +++ b/app/(authenticated)/admin/users/[userID]/EditUserForm.tsx @@ -1,8 +1,7 @@ -import Form, { FormResponse } from "@/components/Form"; -import { User } from "@prisma/client"; +import Form, { TextField, type FormResponse } from "@/components/forms"; +import type { User } from "@prisma/client"; +import type { z } from "zod"; import { editUserSchema } from "./schema"; -import { TextField } from "@/components/FormFields"; -import { z } from "zod"; export function EditUserForm(props: { user: User; diff --git a/app/(authenticated)/admin/users/[userID]/GiveUserRoleForm.tsx b/app/(authenticated)/admin/users/[userID]/GiveUserRoleForm.tsx index c3600a18..3f7bed39 100644 --- a/app/(authenticated)/admin/users/[userID]/GiveUserRoleForm.tsx +++ b/app/(authenticated)/admin/users/[userID]/GiveUserRoleForm.tsx @@ -1,6 +1,6 @@ "use client"; -import { FormResponse } from "@/components/Form"; +import type { FormResponse } from "@/components/forms"; import { ActionIcon, Card, @@ -11,7 +11,7 @@ import { } from "@mantine/core"; import { useDisclosure } from "@mantine/hooks"; import { notifications } from "@mantine/notifications"; -import { Role } from "@prisma/client"; +import type { Role } from "@prisma/client"; import { use } from "react"; import { FaPlus } from "react-icons/fa"; diff --git a/app/(authenticated)/admin/users/[userID]/page.tsx b/app/(authenticated)/admin/users/[userID]/page.tsx index 15641ab4..ac0189d0 100644 --- a/app/(authenticated)/admin/users/[userID]/page.tsx +++ b/app/(authenticated)/admin/users/[userID]/page.tsx @@ -1,3 +1,5 @@ +import { PageInfo } from "@/components/helpers/PageInfo"; +import { getUserName } from "@/components/helpers/UserHelpers"; import { editUserAdmin, fetchUserForAdmin, @@ -7,8 +9,8 @@ import { } from "@/features/people"; import { z } from "zod"; import { AdminUserView } from "./AdminUserView"; -import { PageInfo } from "@/components/PageInfo"; -import { getUserName } from "@/components/UserHelpers"; + +export const dynamic = "force-dynamic"; export default async function SingleUserPage({ params, diff --git a/app/(authenticated)/admin/users/actions.ts b/app/(authenticated)/admin/users/actions.ts index 387c0d7d..d80b109e 100644 --- a/app/(authenticated)/admin/users/actions.ts +++ b/app/(authenticated)/admin/users/actions.ts @@ -1,11 +1,10 @@ "use server"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; -import { searchParamsSchema } from "./schema"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; import { fetchUsers } from "@/features/people"; -import { FormResponse } from "@/components/Form"; -import { UserWithIdentities } from "@/lib/auth/server"; -import { Role } from "@prisma/client"; +import type { UserWithIdentities } from "@/lib/auth/server"; +import type { Role } from "@prisma/client"; +import { searchParamsSchema } from "./schema"; export type UserWithIdentitiesBasicRoles = UserWithIdentities & { roles: Role[]; diff --git a/app/(authenticated)/admin/users/layout.tsx b/app/(authenticated)/admin/users/layout.tsx index 4eb73cfb..74c0a8fc 100644 --- a/app/(authenticated)/admin/users/layout.tsx +++ b/app/(authenticated)/admin/users/layout.tsx @@ -1,4 +1,4 @@ -import ErrorPage from "@/components/ErrorPage"; +import ErrorPage from "@/components/helpers/ErrorPage"; import { hasPermission } from "@/lib/auth/server"; export default async function AuthenticatedLayout({ diff --git a/app/(authenticated)/admin/users/page.tsx b/app/(authenticated)/admin/users/page.tsx index c7f1794e..a588f418 100644 --- a/app/(authenticated)/admin/users/page.tsx +++ b/app/(authenticated)/admin/users/page.tsx @@ -1,10 +1,12 @@ -import { UserView } from "./UserView"; +import { PageInfo } from "@/components/helpers/PageInfo"; import { fetchUsers } from "@/features/people"; -import { searchParamsSchema } from "./schema"; -import { redirect } from "next/navigation"; -import { validateSearchParams } from "@/lib/searchParams/validate"; import { getSearchParamsString } from "@/lib/searchParams/util"; -import { PageInfo } from "@/components/PageInfo"; +import { validateSearchParams } from "@/lib/searchParams/validate"; +import { redirect } from "next/navigation"; +import { UserView } from "./UserView"; +import { searchParamsSchema } from "./schema"; + +export const dynamic = "force-dynamic"; export default async function PositionPage({ searchParams, diff --git a/app/(authenticated)/calendar/[eventID]/AddEditSignUpSheetForm.tsx b/app/(authenticated)/calendar/[eventID]/AddEditSignUpSheetForm.tsx index 47355ae5..fe68a2dc 100644 --- a/app/(authenticated)/calendar/[eventID]/AddEditSignUpSheetForm.tsx +++ b/app/(authenticated)/calendar/[eventID]/AddEditSignUpSheetForm.tsx @@ -1,25 +1,23 @@ -import { z } from "zod"; import { - CrewSchema, SignupSheetSchema, + type CrewSchema, } from "@/app/(authenticated)/calendar/[eventID]/schema"; -import Form, { FormResponse } from "@/components/Form"; -import { +import Form, { ArrayField, CheckBoxField, DatePickerField, NullableCheckboxField, TextAreaField, TextField, -} from "@/components/FormFields"; -import { useCrewPositions, useMembers, -} from "@/components/FormFieldPreloadedData"; -import { Fragment, useEffect, useMemo, useRef, useState } from "react"; -import { useController, useFormContext } from "react-hook-form"; -import { getUserName } from "@/components/UserHelpers"; -import SelectWithCustomOption from "@/components/SelectWithCustomOption"; + type FormResponse, +} from "@/components/forms"; +import SelectWithCustomOption from "@/components/forms/SelectWithCustomOption"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import { Fragment, useMemo, useState } from "react"; +import { useController } from "react-hook-form"; +import type { z } from "zod"; function CrewPositionField(props: { parentName: string }) { const vals = useCrewPositions(); diff --git a/app/(authenticated)/calendar/[eventID]/AttendeeStatus.tsx b/app/(authenticated)/calendar/[eventID]/AttendeeStatus.tsx index f6ad102b..9a93ba74 100644 --- a/app/(authenticated)/calendar/[eventID]/AttendeeStatus.tsx +++ b/app/(authenticated)/calendar/[eventID]/AttendeeStatus.tsx @@ -1,12 +1,15 @@ "use client"; -import { useTransition } from "react"; -import { getUserName } from "@/components/UserHelpers"; import { updateAttendeeStatus } from "@/app/(authenticated)/calendar/[eventID]/actions"; -import { AttendStatus, AttendStatusLabels } from "@/features/calendar/statuses"; import Spinner from "@/components/Spinner"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import type { EventObjectType } from "@/features/calendar/events"; +import { + AttendStatusLabels, + type AttendStatus, +} from "@/features/calendar/statuses"; import type { UserType } from "@/lib/auth/server"; -import { EventObjectType } from "@/features/calendar/events"; import { NativeSelect } from "@mantine/core"; +import { useTransition } from "react"; export function CurrentUserAttendeeRow({ event, diff --git a/app/(authenticated)/calendar/[eventID]/CheckWithTech.tsx b/app/(authenticated)/calendar/[eventID]/CheckWithTech.tsx index 402b03a8..7ffca229 100644 --- a/app/(authenticated)/calendar/[eventID]/CheckWithTech.tsx +++ b/app/(authenticated)/calendar/[eventID]/CheckWithTech.tsx @@ -1,18 +1,22 @@ "use client"; +import Form, { HiddenField, TextAreaField } from "@/components/forms"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import SlackIcon from "@/components/icons/SlackIcon"; +import type { CheckWithTechType } from "@/features/calendar"; import { Alert, Button, ButtonGroup, Modal, ModalBody, - ModalContent, ModalHeader, ModalTitle, Space, Stack, Textarea, } from "@mantine/core"; +import { notifications } from "@mantine/notifications"; import { Suspense, cache, use, useState, useTransition } from "react"; import { TbTool } from "react-icons/tb"; import { @@ -20,14 +24,7 @@ import { doCheckWithTech, equipmentListTemplates, } from "./actions"; -import { notifications } from "@mantine/notifications"; -import { CheckWithTechType } from "@/features/calendar"; -import { getUserName } from "@/components/UserHelpers"; -import { useModals } from "@mantine/modals"; -import Form from "@/components/Form"; import { CheckWithTechActionSchema } from "./schema"; -import { HiddenField, TextAreaField } from "@/components/FormFields"; -import SlackIcon from "@/components/icons/SlackIcon"; const _getEquipmentListTemplates = cache(equipmentListTemplates); diff --git a/app/(authenticated)/calendar/[eventID]/EventActionsUI.tsx b/app/(authenticated)/calendar/[eventID]/EventActionsUI.tsx index 108443ee..e062841d 100644 --- a/app/(authenticated)/calendar/[eventID]/EventActionsUI.tsx +++ b/app/(authenticated)/calendar/[eventID]/EventActionsUI.tsx @@ -1,33 +1,32 @@ "use client"; -import Form from "@/components/Form"; -import { EventObjectType, EventType } from "@/features/calendar"; +import { PermissionGate } from "@/components/contexts/UserContext"; +import Form, { + CheckBoxField, + ConditionalField, + DatePickerField, + SearchedMemberSelect, + TextAreaField, + TextField, +} from "@/components/forms"; +import type { EventObjectType } from "@/features/calendar"; +import { Alert, Button, Menu, Modal, Select, Text } from "@mantine/core"; +import { useModals } from "@mantine/modals"; +import Image from "next/image"; +import { useRouter } from "next/navigation"; +import { useCallback, useState, useTransition } from "react"; +import AdamRMSLogo from "../../../_assets/adamrms-logo.png"; import { cancelEvent, createAdamRMSProject, deleteEvent, editEvent, - reinstateEvent, getAdamRMSLinkCandidates, linkAdamRMSProject, + reinstateEvent, unlinkAdamRMS, } from "./actions"; import { EditEventSchema } from "./schema"; -import { - CheckBoxField, - ConditionalField, - DatePickerField, - SearchedMemberSelect, - TextAreaField, - TextField, -} from "@/components/FormFields"; -import { useCallback, useState, useTransition } from "react"; -import Image from "next/image"; -import AdamRMSLogo from "../../../_assets/adamrms-logo.png"; -import { Alert, Button, Menu, Modal, Select, Text } from "@mantine/core"; -import { useModals } from "@mantine/modals"; -import { useRouter } from "next/navigation"; -import { PermissionGate } from "@/components/UserContext"; // eslint-disable-next-line @typescript-eslint/no-restricted-imports import type { Project } from "@/lib/adamrms"; import { TbAlertTriangle } from "react-icons/tb"; diff --git a/app/(authenticated)/calendar/[eventID]/SignupSheet.tsx b/app/(authenticated)/calendar/[eventID]/SignupSheet.tsx index 046ae973..a397710a 100644 --- a/app/(authenticated)/calendar/[eventID]/SignupSheet.tsx +++ b/app/(authenticated)/calendar/[eventID]/SignupSheet.tsx @@ -1,8 +1,29 @@ "use client"; -import { isBefore, isSameDay } from "date-fns"; -import { Suspense, useEffect, useMemo, useState, useTransition } from "react"; -import { getUserName } from "@/components/UserHelpers"; +import { AddEditSignUpSheetForm } from "@/app/(authenticated)/calendar/[eventID]/AddEditSignUpSheetForm"; +import { + checkRoleClashes, + createSignUpSheet, + deleteSignUpSheet, + editSignUpSheet, + fetchSignUpSheet, + removeSelfFromRole, + signUpToRole, +} from "@/app/(authenticated)/calendar/[eventID]/signUpSheetActions"; +import { DateTime } from "@/components/helpers/DateTimeHelpers"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import { useWebsocket } from "@/components/providers/WebsocketProvider"; +import type { EventObjectType } from "@/features/calendar/events"; +import { + canManage, + canManageSignUpSheet, +} from "@/features/calendar/permissions"; +import type { + CrewType, + SignUpSheetType, + SignUpSheetWithEvent, +} from "@/features/calendar/signup_sheets"; +import type { ExposedUser } from "@/features/people"; import type { UserType } from "@/lib/auth/server"; import invariant from "@/lib/invariant"; import { @@ -19,32 +40,11 @@ import { Stack, Text, } from "@mantine/core"; -import { - canManage, - canManageSignUpSheet, -} from "@/features/calendar/permissions"; -import { DateTime } from "@/components/DateTimeHelpers"; -import { AddEditSignUpSheetForm } from "@/app/(authenticated)/calendar/[eventID]/AddEditSignUpSheetForm"; -import { - CrewType, - SignUpSheetType, - SignUpSheetWithEvent, -} from "@/features/calendar/signup_sheets"; -import { EventObjectType } from "@/features/calendar/events"; -import { ExposedUser } from "@/features/people"; -import { - checkRoleClashes, - createSignUpSheet, - deleteSignUpSheet, - editSignUpSheet, - fetchSignUpSheet, - removeSelfFromRole, - signUpToRole, -} from "@/app/(authenticated)/calendar/[eventID]/signUpSheetActions"; -import { TbCalendarCheck } from "react-icons/tb"; -import dayjs from "dayjs"; import { useQuery, useQueryClient } from "@tanstack/react-query"; -import { useWebsocket } from "@/components/WebsocketProvider"; +import { isBefore, isSameDay } from "date-fns"; +import dayjs from "dayjs"; +import { Suspense, useEffect, useMemo, useState, useTransition } from "react"; +import { TbCalendarCheck } from "react-icons/tb"; function SignupSheet({ event, @@ -57,11 +57,11 @@ function SignupSheet({ }) { const [sheetState, setSheetState] = useState(sheet); - const { socket, isConnected, transport } = useWebsocket(); + const { socket } = useWebsocket(); const queryClient = useQueryClient(); useEffect(() => { - async function onSheetUpdate(value: any) { + async function onSheetUpdate(_value: any) { const res = await fetchSignUpSheet(sheet.signup_id); if (res) { @@ -141,7 +141,7 @@ function SignupSheet({ > {sheetState.crews .sort((a, b) => a.ordering - b.ordering) - .map((crew, index) => { + .map((crew, _index) => { const isProducer = crew.positions.admin; return ( @@ -460,7 +460,6 @@ export function SignupSheetsView({ me: UserType; }) { invariant(event.signup_sheets, "no signup_sheets for SignupSheetsView"); - const [isPending, startTransition] = useTransition(); const [isCreateOpen, setCreateOpen] = useState(false); return ( <> diff --git a/app/(authenticated)/calendar/[eventID]/actions.ts b/app/(authenticated)/calendar/[eventID]/actions.ts index 36f75db8..9947ed2e 100644 --- a/app/(authenticated)/calendar/[eventID]/actions.ts +++ b/app/(authenticated)/calendar/[eventID]/actions.ts @@ -1,27 +1,29 @@ "use server"; -import { - getCurrentUser, - mustGetCurrentUser, - requirePermission, -} from "@/lib/auth/server"; -import { revalidatePath } from "next/cache"; -import { z } from "zod"; -import { AttendStatus, AttendStatuses } from "@/features/calendar/statuses"; -import * as Calendar from "@/features/calendar"; -import { EventType, hasRSVP } from "@/features/calendar/types"; -import { canManage } from "@/features/calendar/permissions"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; import { CheckWithTechActionSchema, EditEventSchema, } from "@/app/(authenticated)/calendar/[eventID]/schema"; -import { FormResponse } from "@/components/Form"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; +import * as Calendar from "@/features/calendar"; import { updateEventAttendeeStatus } from "@/features/calendar/events"; +import { canManage } from "@/features/calendar/permissions"; +import { + AttendStatuses, + type AttendStatus, +} from "@/features/calendar/statuses"; +import { hasRSVP, type EventType } from "@/features/calendar/types"; +import { wrapServerAction } from "@/lib/actions"; +import { + getCurrentUser, + mustGetCurrentUser, + requirePermission, +} from "@/lib/auth/server"; import invariant from "@/lib/invariant"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; -import { wrapServerAction } from "@/lib/actions"; +import { revalidatePath } from "next/cache"; +import type { z } from "zod"; export const editEvent = wrapServerAction( "editEvent", diff --git a/app/(authenticated)/calendar/[eventID]/page.tsx b/app/(authenticated)/calendar/[eventID]/page.tsx index 1ee0f87f..d6df0704 100644 --- a/app/(authenticated)/calendar/[eventID]/page.tsx +++ b/app/(authenticated)/calendar/[eventID]/page.tsx @@ -1,41 +1,41 @@ -import { notFound } from "next/navigation"; -import invariant from "@/lib/invariant"; -import { getUserName } from "@/components/UserHelpers"; -import { hasPermission, mustGetCurrentUser, UserType } from "@/lib/auth/server"; import { CurrentUserAttendeeRow } from "@/app/(authenticated)/calendar/[eventID]/AttendeeStatus"; -import { AttendStatusLabels } from "@/features/calendar/statuses"; import { SignupSheetsView } from "@/app/(authenticated)/calendar/[eventID]/SignupSheet"; -import { DateTime } from "@/components/DateTimeHelpers"; -import { isSameDay } from "date-fns"; -import { twMerge } from "tailwind-merge"; -import { EventObjectType, getEvent } from "@/features/calendar/events"; +import { CrewPositionsProvider, MembersProvider } from "@/components/forms"; +import { DateTime } from "@/components/helpers/DateTimeHelpers"; +import { PageInfo } from "@/components/helpers/PageInfo"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import SlackChannelName from "@/components/slack/SlackChannelName"; +import SlackLoginButton from "@/components/slack/SlackLoginButton"; import { canManage, canManageAnySignupSheet, getAllCrewPositions, getLatestRequest, } from "@/features/calendar"; -import { - CrewPositionsProvider, - MembersProvider, -} from "@/components/FormFieldPreloadedData"; +import { getEvent, type EventObjectType } from "@/features/calendar/events"; +import { AttendStatusLabels } from "@/features/calendar/statuses"; import { getAllUsers } from "@/features/people"; -import { EventActionsUI } from "./EventActionsUI"; -import { Alert, Button, ButtonGroup, Space, Text } from "@mantine/core"; -import { TbInfoCircle, TbAlertTriangle, TbTool } from "react-icons/tb"; +import { + hasPermission, + mustGetCurrentUser, + type UserType, +} from "@/lib/auth/server"; +import invariant from "@/lib/invariant"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; +import { Alert, Space } from "@mantine/core"; +import { isSameDay } from "date-fns"; +import dayjs from "dayjs"; +import { notFound } from "next/navigation"; import { Suspense } from "react"; -import SlackChannelName from "@/components/slack/SlackChannelName"; -import SlackLoginButton from "@/components/slack/SlackLoginButton"; +import { TbAlertTriangle, TbInfoCircle, TbTool } from "react-icons/tb"; +import { twMerge } from "tailwind-merge"; import { CheckWithTechAdminBanner, CheckWithTechPromptContents, } from "./CheckWithTech"; -import { C } from "@fullcalendar/core/internal-common"; -import dayjs from "dayjs"; -import { PageInfo } from "@/components/PageInfo"; +import { EventActionsUI } from "./EventActionsUI"; async function AttendeesView({ event, diff --git a/app/(authenticated)/calendar/[eventID]/signUpSheetActions.ts b/app/(authenticated)/calendar/[eventID]/signUpSheetActions.ts index 8b12eb83..e5124275 100644 --- a/app/(authenticated)/calendar/[eventID]/signUpSheetActions.ts +++ b/app/(authenticated)/calendar/[eventID]/signUpSheetActions.ts @@ -1,23 +1,22 @@ "use server"; -import { getCurrentUser } from "@/lib/auth/server"; +import { SignupSheetSchema } from "@/app/(authenticated)/calendar/[eventID]/schema"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; import * as Calendar from "@/features/calendar"; import { canManage, canManageSignUpSheet, updateSignUpSheet, } from "@/features/calendar"; -import { isBefore } from "date-fns"; -import { revalidatePath } from "next/cache"; -import { z } from "zod"; -import { SignupSheetSchema } from "@/app/(authenticated)/calendar/[eventID]/schema"; -import { FormResponse } from "@/components/Form"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; +import { wrapServerAction } from "@/lib/actions"; +import { getCurrentUser } from "@/lib/auth/server"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; import { socket } from "@/lib/socket/server"; -import { wrapServerAction } from "@/lib/actions"; +import { isBefore } from "date-fns"; +import { revalidatePath } from "next/cache"; +import { z } from "zod"; export const createSignUpSheet = wrapServerAction( "createSignUpSheet", @@ -61,7 +60,7 @@ export const fetchSignUpSheet = wrapServerAction( async function fetchSignUpSheet( sheetID: number, ): Promise { - const me = await getCurrentUser(); + await getCurrentUser(); const sheet = await Calendar.getSignUpSheet(sheetID); if (!sheet) { diff --git a/app/(authenticated)/calendar/discover/DiscoverView.tsx b/app/(authenticated)/calendar/discover/DiscoverView.tsx index a0767042..e47589fc 100644 --- a/app/(authenticated)/calendar/discover/DiscoverView.tsx +++ b/app/(authenticated)/calendar/discover/DiscoverView.tsx @@ -1,5 +1,9 @@ "use client"; +import { MyRoleSignUpModal } from "@/app/(authenticated)/calendar/[eventID]/SignupSheet"; +import type { CrewPositionsTypeWithAvailability } from "@/app/(authenticated)/calendar/discover/page"; +import { DateTime } from "@/components/helpers/DateTimeHelpers"; +import type { CrewType, EventObjectType } from "@/features/calendar"; import { ActionIcon, Button, @@ -9,14 +13,10 @@ import { Select, Tooltip, } from "@mantine/core"; -import { DateTime } from "@/components/DateTimeHelpers"; import { isSameDay } from "date-fns"; import { useRouter } from "next/navigation"; -import { CrewType, EventObjectType } from "@/features/calendar"; import { useState } from "react"; import { TbArticle, TbFilter, TbInfoCircle } from "react-icons/tb"; -import { MyRoleSignUpModal } from "@/app/(authenticated)/calendar/[eventID]/SignupSheet"; -import { CrewPositionsTypeWithAvailability } from "@/app/(authenticated)/calendar/discover/page"; export function DiscoverView({ vacantRoles, diff --git a/app/(authenticated)/calendar/discover/page.tsx b/app/(authenticated)/calendar/discover/page.tsx index 381d0edf..eafda9ad 100644 --- a/app/(authenticated)/calendar/discover/page.tsx +++ b/app/(authenticated)/calendar/discover/page.tsx @@ -1,7 +1,10 @@ -import { listVacantEvents } from "@/features/calendar/events"; -import { CrewPositionType, getAllCrewPositions } from "@/features/calendar"; import { DiscoverView } from "@/app/(authenticated)/calendar/discover/DiscoverView"; -import { PageInfo } from "@/components/PageInfo"; +import { PageInfo } from "@/components/helpers/PageInfo"; +import { + getAllCrewPositions, + type CrewPositionType, +} from "@/features/calendar"; +import { listVacantEvents } from "@/features/calendar/events"; export default async function CalendarDiscoverPage({ searchParams, diff --git a/app/(authenticated)/calendar/new/actions.ts b/app/(authenticated)/calendar/new/actions.ts index 40935799..c17133c3 100644 --- a/app/(authenticated)/calendar/new/actions.ts +++ b/app/(authenticated)/calendar/new/actions.ts @@ -1,21 +1,20 @@ "use server"; -import { FormResponse } from "@/components/Form"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; +import * as Calendar from "@/features/calendar"; import { canCreate } from "@/features/calendar"; import { wrapServerAction } from "@/lib/actions"; import { Forbidden } from "@/lib/auth/errors"; -import { Permission } from "@/lib/auth/permissions"; +import type { Permission } from "@/lib/auth/permissions"; import { getCurrentUser } from "@/lib/auth/server"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; -import { ConversationsInfoResponse } from "@slack/web-api/dist/response/ConversationsInfoResponse"; -import * as Calendar from "@/features/calendar"; +import type { App } from "@slack/bolt"; +import type { ConversationsInfoResponse } from "@slack/web-api/dist/response/ConversationsInfoResponse"; import { revalidatePath } from "next/cache"; import { env } from "process"; import { schema } from "./schema"; -import { App } from "@slack/bolt"; export const createEvent = wrapServerAction( "createEvent", diff --git a/app/(authenticated)/calendar/new/form.tsx b/app/(authenticated)/calendar/new/form.tsx index 71abc80b..344b2607 100644 --- a/app/(authenticated)/calendar/new/form.tsx +++ b/app/(authenticated)/calendar/new/form.tsx @@ -1,24 +1,24 @@ "use client"; -import Form, { FormAction } from "@/components/Form"; -import { schema } from "./schema"; -import { + +import { useCurrentUser } from "@/components/contexts/UserContext"; +import Form, { CheckBoxField, ConditionalField, DatePickerField, - MemberSelect, SearchedMemberSelect, SegmentedField, + SlackChannelField, TextAreaField, TextField, -} from "@/components/FormFields"; -import { useRouter } from "next/navigation"; -import { EventType } from "@/features/calendar/types"; -import { identity } from "lodash"; -import { Alert, InputLabel } from "@mantine/core"; -import SlackChannelField from "@/components/SlackChannelField"; + type FormAction, +} from "@/components/forms"; import { useSlackEnabled } from "@/components/slack/SlackEnabledProvider"; -import { useCurrentUser } from "@/components/UserContext"; +import type { EventType } from "@/features/calendar/types"; +import { Alert, InputLabel } from "@mantine/core"; +import { identity } from "lodash"; +import { useRouter } from "next/navigation"; import { TbAlertTriangle } from "react-icons/tb"; +import { schema } from "./schema"; export function CreateEventForm(props: { action: FormAction<{ id: number }>; diff --git a/app/(authenticated)/calendar/new/page.tsx b/app/(authenticated)/calendar/new/page.tsx index 88150223..875c433b 100644 --- a/app/(authenticated)/calendar/new/page.tsx +++ b/app/(authenticated)/calendar/new/page.tsx @@ -1,19 +1,19 @@ -import { mustGetCurrentUser } from "@/lib/auth/server"; import { CreateEventForm } from "@/app/(authenticated)/calendar/new/form"; +import { MembersProvider } from "@/components/forms"; +import { PageInfo } from "@/components/helpers/PageInfo"; +import { SlackChannelsProvider } from "@/components/slack/SlackChannelsProvider"; +import { SlackEnabledProvider } from "@/components/slack/SlackEnabledProvider"; import { creatableEventTypes } from "@/features/calendar/permissions"; -import { Forbidden } from "@/lib/auth/errors"; import { getAllUsers } from "@/features/people"; -import { MembersProvider } from "@/components/FormFieldPreloadedData"; +import { Forbidden } from "@/lib/auth/errors"; +import { mustGetCurrentUser } from "@/lib/auth/server"; +import { env } from "@/lib/env"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; -import { SlackChannelsProvider } from "@/components/slack/SlackChannelsProvider"; -import { SlackEnabledProvider } from "@/components/slack/SlackEnabledProvider"; -import { App } from "@slack/bolt"; -import { Channel } from "@slack/web-api/dist/response/ConversationsListResponse"; -import { env } from "@/lib/env"; +import type { App } from "@slack/bolt"; +import type { Channel } from "@slack/web-api/dist/response/ConversationsListResponse"; import { createEvent } from "./actions"; -import { PageInfo } from "@/components/PageInfo"; async function getSlackChannels(): Promise { var fetchedSlackChannels: Channel[] = []; diff --git a/app/(authenticated)/calendar/new/schema.ts b/app/(authenticated)/calendar/new/schema.ts index 8a601e53..01c5535c 100644 --- a/app/(authenticated)/calendar/new/schema.ts +++ b/app/(authenticated)/calendar/new/schema.ts @@ -1,7 +1,7 @@ -import { zfd } from "zod-form-data"; -import { z } from "zod"; import { EventTypes } from "@/features/calendar/types"; import { isBefore } from "date-fns"; +import { z } from "zod"; +import { zfd } from "zod-form-data"; export const schema = zfd .formData({ diff --git a/app/(authenticated)/calendar/page.tsx b/app/(authenticated)/calendar/page.tsx index f3f9d94e..ce1b4ed8 100644 --- a/app/(authenticated)/calendar/page.tsx +++ b/app/(authenticated)/calendar/page.tsx @@ -1,14 +1,13 @@ +import { PermissionGate } from "@/components/contexts/UserContext"; import YSTVCalendar from "@/components/YSTVCalendar"; -import Link from "next/link"; -import { PermissionGate } from "@/components/UserContext"; import { listEvents, listVacantEvents } from "@/features/calendar/events"; -import { Alert, Button } from "@mantine/core"; -import { Permission } from "@/lib/auth/permissions"; +import type { Permission } from "@/lib/auth/permissions"; import { mustGetCurrentUser } from "@/lib/auth/server"; -import { TbArticle, TbCalendarEvent } from "react-icons/tb"; import invariant from "@/lib/invariant"; +import { Alert, Button } from "@mantine/core"; import { add, setDay } from "date-fns"; -import { Suspense } from "react"; +import Link from "next/link"; +import { TbArticle, TbCalendarEvent } from "react-icons/tb"; function dateRangeForView( year: number, diff --git a/app/(authenticated)/error.tsx b/app/(authenticated)/error.tsx index 9df70aa4..e207ddd9 100644 --- a/app/(authenticated)/error.tsx +++ b/app/(authenticated)/error.tsx @@ -1,9 +1,9 @@ "use client"; -import { usePathname, useRouter } from "next/navigation"; -import { useEffect } from "react"; import { isNotLoggedIn } from "@/lib/auth/errors"; import * as Sentry from "@sentry/nextjs"; +import { usePathname, useRouter } from "next/navigation"; +import { useEffect } from "react"; export default function Error({ error, diff --git a/app/(authenticated)/feedback/actions.ts b/app/(authenticated)/feedback/actions.ts index 609c300b..752d5930 100644 --- a/app/(authenticated)/feedback/actions.ts +++ b/app/(authenticated)/feedback/actions.ts @@ -1,11 +1,10 @@ "use server"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; -import { UserReportSchema } from "./schema"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; import * as Feedback from "@/features/userFeedback"; -import { getCurrentUser } from "@/lib/auth/server"; -import { FormResponse } from "@/components/Form"; import { wrapServerAction } from "@/lib/actions"; +import { getCurrentUser } from "@/lib/auth/server"; +import { UserReportSchema } from "./schema"; export const doHandleUserReport = wrapServerAction( "doHandleUserReport", diff --git a/app/(authenticated)/feedback/form.tsx b/app/(authenticated)/feedback/form.tsx index 715423d7..fd590730 100644 --- a/app/(authenticated)/feedback/form.tsx +++ b/app/(authenticated)/feedback/form.tsx @@ -1,15 +1,15 @@ "use client"; -import Form, { FormResponse } from "@/components/Form"; -import { UserReportSchema } from "./schema"; -import { +import Form, { HiddenField, SelectField, TextAreaField, -} from "@/components/FormFields"; + type FormResponse, +} from "@/components/forms"; +import { notifications } from "@mantine/notifications"; import { identity } from "lodash"; import { useRouter, useSearchParams } from "next/navigation"; -import { notifications } from "@mantine/notifications"; +import { UserReportSchema } from "./schema"; export function UserReportForm({ action, diff --git a/app/(authenticated)/feedback/page.tsx b/app/(authenticated)/feedback/page.tsx index 9eea6f44..5bfb89e8 100644 --- a/app/(authenticated)/feedback/page.tsx +++ b/app/(authenticated)/feedback/page.tsx @@ -1,8 +1,8 @@ +import { PageInfo } from "@/components/helpers/PageInfo"; +import { BackButton } from "@/components/navigation/BackButton"; import { isSlackEnabled } from "@/lib/slack/slackApiConnection"; import { doHandleUserReport } from "./actions"; import { UserReportForm } from "./form"; -import { PageInfo } from "@/components/PageInfo"; -import { BackButton } from "@/components/BackButton"; export default async function ReportPage({ searchParams, diff --git a/app/(authenticated)/layout.tsx b/app/(authenticated)/layout.tsx index 6b1240d7..48c8e272 100644 --- a/app/(authenticated)/layout.tsx +++ b/app/(authenticated)/layout.tsx @@ -1,17 +1,11 @@ -import Image from "next/image"; -import Logo from "@/app/_assets/logo.png"; -import Link from "next/link"; -import { UserProvider } from "@/components/UserContext"; +import { FeedbackPrompt } from "@/app/(authenticated)/_components/FeedbackPrompt"; +import Nav from "@/app/(authenticated)/_components/Nav"; +import { LoginPrompt } from "@/components/LoginPrompt"; +import { UserProvider } from "@/components/contexts/UserContext"; +import { QueryProvider } from "@/components/providers/QueryProvider"; +import { WebsocketProvider } from "@/components/providers/WebsocketProvider"; import { getCurrentUserOrNull } from "@/lib/auth/server"; -import YSTVBreadcrumbs from "@/components/Breadcrumbs"; import * as Sentry from "@sentry/nextjs"; -import { UserMenu } from "@/components/UserMenu"; -import { QueryProvider } from "@/components/QueryProvider"; -import { LoginPrompt } from "@/components/LoginPrompt"; -import { WebsocketProvider } from "@/components/WebsocketProvider"; -import { useCreateSocket } from "@/lib/socket"; -import { FeedbackPrompt } from "@/components/FeedbackPrompt"; -import Nav from "@/components/Nav"; export default async function AuthenticatedLayout({ children, diff --git a/app/(authenticated)/quotes/AddEditQuoteForm.tsx b/app/(authenticated)/quotes/AddEditQuoteForm.tsx index 34470ffc..f828f557 100644 --- a/app/(authenticated)/quotes/AddEditQuoteForm.tsx +++ b/app/(authenticated)/quotes/AddEditQuoteForm.tsx @@ -1,13 +1,16 @@ "use client"; -import { z } from "zod"; -import { AddQuoteSchema, EditQuoteSchema } from "./schema"; -import Form from "@/components/Form"; -import { addQuote, deletQuote, editQuote } from "./actions"; -import { HiddenField, TextAreaField, TextField } from "@/components/FormFields"; -import { useState, useTransition } from "react"; +import Form, { + HiddenField, + TextAreaField, + TextField, +} from "@/components/forms"; import { Button, Card, Group, Text } from "@mantine/core"; -import { Quote } from "@prisma/client"; +import type { Quote } from "@prisma/client"; +import { useState, useTransition } from "react"; +import type { z } from "zod"; +import { addQuote, deletQuote, editQuote } from "./actions"; +import { AddQuoteSchema, EditQuoteSchema } from "./schema"; export function AddEditQuoteForm(props: { initialData?: z.infer; diff --git a/app/(authenticated)/quotes/actions.ts b/app/(authenticated)/quotes/actions.ts index 97d193b3..0ca9bbf3 100644 --- a/app/(authenticated)/quotes/actions.ts +++ b/app/(authenticated)/quotes/actions.ts @@ -1,11 +1,10 @@ "use server"; -import { z } from "zod"; -import { AddQuoteSchema, EditQuoteSchema } from "./schema"; import * as Quotes from "@/features/quotes"; +import { wrapServerAction } from "@/lib/actions"; import { getCurrentUser, requirePermission } from "@/lib/auth/server"; import { revalidatePath } from "next/cache"; -import { wrapServerAction } from "@/lib/actions"; +import { AddQuoteSchema, EditQuoteSchema } from "./schema"; export const addQuote = wrapServerAction( "addQuote", diff --git a/app/(authenticated)/quotes/page.tsx b/app/(authenticated)/quotes/page.tsx index 145d56c0..6b207c92 100644 --- a/app/(authenticated)/quotes/page.tsx +++ b/app/(authenticated)/quotes/page.tsx @@ -1,9 +1,9 @@ +import { PageInfo } from "@/components/helpers/PageInfo"; import * as Quotes from "@/features/quotes"; import { requirePermission } from "@/lib/auth/server"; -import { AddQuote, QuoteView } from "./AddEditQuoteForm"; import { Stack } from "@mantine/core"; +import { AddQuote, QuoteView } from "./AddEditQuoteForm"; import { QuotesPagination } from "./pagination"; -import { PageInfo } from "@/components/PageInfo"; export const dynamic = "force-dynamic"; diff --git a/app/(authenticated)/quotes/schema.ts b/app/(authenticated)/quotes/schema.ts index a1021b3c..996fe0b2 100644 --- a/app/(authenticated)/quotes/schema.ts +++ b/app/(authenticated)/quotes/schema.ts @@ -1,5 +1,4 @@ import { z } from "zod"; -import { zfd } from "zod-form-data"; export const AddQuoteSchema = z.object({ text: z.string().nonempty(), diff --git a/app/(authenticated)/user/me/UserPreferences.tsx b/app/(authenticated)/user/me/UserPreferences.tsx index 9cabfb6d..b3288cfc 100644 --- a/app/(authenticated)/user/me/UserPreferences.tsx +++ b/app/(authenticated)/user/me/UserPreferences.tsx @@ -1,23 +1,16 @@ "use client"; import { - Stack, - InputWrapper, - SegmentedControl, - Group, Divider, + Group, InputLabel, + InputWrapper, + SegmentedControl, + Stack, } from "@mantine/core"; -import { - ReactNode, - useEffect, - useOptimistic, - useState, - useTransition, -} from "react"; -import { changePreference } from "./actions"; import { notifications } from "@mantine/notifications"; -import { useWebsocket } from "@/components/WebsocketProvider"; +import { useOptimistic, useTransition, type ReactNode } from "react"; +import { changePreference } from "./actions"; type ReqPrefs = Required; @@ -83,7 +76,7 @@ function SegmentedPreference( diff --git a/components/ICalCopyButton.tsx b/app/(authenticated)/user/me/_components/ICalCopyButton.tsx similarity index 100% rename from components/ICalCopyButton.tsx rename to app/(authenticated)/user/me/_components/ICalCopyButton.tsx diff --git a/components/SignoutButton/actions.ts b/app/(authenticated)/user/me/_components/SignoutButton/actions.ts similarity index 100% rename from components/SignoutButton/actions.ts rename to app/(authenticated)/user/me/_components/SignoutButton/actions.ts diff --git a/components/SignoutButton/index.tsx b/app/(authenticated)/user/me/_components/SignoutButton/index.tsx similarity index 100% rename from components/SignoutButton/index.tsx rename to app/(authenticated)/user/me/_components/SignoutButton/index.tsx diff --git a/app/(authenticated)/user/me/actions.ts b/app/(authenticated)/user/me/actions.ts index c64902be..1d6c2ae8 100644 --- a/app/(authenticated)/user/me/actions.ts +++ b/app/(authenticated)/user/me/actions.ts @@ -1,11 +1,11 @@ "use server"; -import { FormResponse } from "@/components/Form"; -import { getCurrentUser, requirePermission } from "@/lib/auth/server"; +import type { FormResponse } from "@/components/forms"; import * as People from "@/features/people"; -import { revalidatePath } from "next/cache"; -import { socket } from "@/lib/socket/server"; import { wrapServerAction } from "@/lib/actions"; +import { getCurrentUser } from "@/lib/auth/server"; +import { socket } from "@/lib/socket/server"; +import { revalidatePath } from "next/cache"; export const changePreference = wrapServerAction( "changePreference", diff --git a/app/(authenticated)/user/me/page.tsx b/app/(authenticated)/user/me/page.tsx index 2b66ea4d..45a20430 100644 --- a/app/(authenticated)/user/me/page.tsx +++ b/app/(authenticated)/user/me/page.tsx @@ -1,19 +1,19 @@ -import { mustGetCurrentUser, requirePermission } from "@/lib/auth/server"; -import * as People from "@/features/people"; -import * as Calendar from "@/features/calendar"; -import { getUserName } from "@/components/UserHelpers"; -import { Avatar, Card, Group, Skeleton, Space, Stack } from "@mantine/core"; -import { UserPreferences } from "./UserPreferences"; -import { ICalCopyButton } from "@/components/ICalCopyButton"; +import { ICalCopyButton } from "@/app/(authenticated)/user/me/_components/ICalCopyButton"; +import { SignoutButton } from "@/app/(authenticated)/user/me/_components/SignoutButton"; +import { PageInfo } from "@/components/helpers/PageInfo"; +import { getUserName } from "@/components/helpers/UserHelpers"; import SlackLoginButton from "@/components/slack/SlackLoginButton"; import SlackUserInfo from "@/components/slack/SlackUserInfo"; -import { Suspense } from "react"; +import * as Calendar from "@/features/calendar"; +import * as People from "@/features/people"; +import { mustGetCurrentUser } from "@/lib/auth/server"; +import { env } from "@/lib/env"; import { isSlackEnabled } from "@/lib/slack/slackApiConnection"; -import { hasWrapped } from "../../wrapped/util"; +import { Avatar, Card, Group, Skeleton, Space, Stack } from "@mantine/core"; import Link from "next/link"; -import { env } from "@/lib/env"; -import { SignoutButton } from "@/components/SignoutButton"; -import { PageInfo } from "@/components/PageInfo"; +import { Suspense } from "react"; +import { hasWrapped } from "../../wrapped/util"; +import { UserPreferences } from "./UserPreferences"; export default async function UserPage() { const user = People.SecureUserModel.parse(await mustGetCurrentUser()); diff --git a/app/(authenticated)/webcam/WebcamGrid.tsx b/app/(authenticated)/webcam/WebcamGrid.tsx index a06eef7a..ae0b81bb 100644 --- a/app/(authenticated)/webcam/WebcamGrid.tsx +++ b/app/(authenticated)/webcam/WebcamGrid.tsx @@ -1,13 +1,13 @@ "use client"; -import { WebcamView } from "@/components/WebcamView"; -import { WebcamFeed } from "@prisma/client"; -import { use } from "react"; -import { WebcamCreateForm, WebcamEditForm, WebcamRemoveForm } from "./form"; -import { addWebcam, editWebcam, removeWebcam } from "./actions"; +import { WebcamView } from "@/app/(authenticated)/webcam/WebcamView"; +import { PermissionGate } from "@/components/contexts/UserContext"; import { Card, Grid, Group, Stack, Text } from "@mantine/core"; import { useElementSize } from "@mantine/hooks"; -import { PermissionGate } from "@/components/UserContext"; +import type { WebcamFeed } from "@prisma/client"; +import { use } from "react"; +import { addWebcam, editWebcam, removeWebcam } from "./actions"; +import { WebcamCreateForm, WebcamEditForm, WebcamRemoveForm } from "./form"; export function WebcamGrid(props: { webcams: Promise }) { const webcamFeeds = use(props.webcams); diff --git a/components/WebcamView.tsx b/app/(authenticated)/webcam/WebcamView.tsx similarity index 100% rename from components/WebcamView.tsx rename to app/(authenticated)/webcam/WebcamView.tsx index c37361c9..bfae2c6f 100644 --- a/components/WebcamView.tsx +++ b/app/(authenticated)/webcam/WebcamView.tsx @@ -1,8 +1,8 @@ "use client"; -import { useEffect, useRef, useState } from "react"; -import MuxVideo from "@mux/mux-video-react"; import { Box, LoadingOverlay } from "@mantine/core"; +import MuxVideo from "@mux/mux-video-react"; +import { useEffect, useRef, useState } from "react"; export function WebcamView(props: { webcamUrl: string; diff --git a/app/(authenticated)/webcam/actions.ts b/app/(authenticated)/webcam/actions.ts index 766918d7..bff6f940 100644 --- a/app/(authenticated)/webcam/actions.ts +++ b/app/(authenticated)/webcam/actions.ts @@ -1,18 +1,17 @@ "use server"; -import { FormResponse } from "@/components/Form"; -import { - addWebcamSchema, - editWebcamSchema, - removeWebcamSchema, -} from "./schema"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; +import { zodErrorResponse, type FormResponse } from "@/components/forms"; import { addWebcamFeed, editWebcamFeed, removeWebcamFeed, } from "@/features/webcams"; import { revalidatePath } from "next/cache"; +import { + addWebcamSchema, + editWebcamSchema, + removeWebcamSchema, +} from "./schema"; export async function addWebcam(unsafeData: unknown): Promise { const parsedData = await addWebcamSchema.safeParseAsync(unsafeData); @@ -23,7 +22,7 @@ export async function addWebcam(unsafeData: unknown): Promise { const data = parsedData.data; - const addResult = await addWebcamFeed(data); + await addWebcamFeed(data); revalidatePath("webcam"); @@ -39,7 +38,7 @@ export async function editWebcam(unsafeData: unknown): Promise { const data = parsedData.data; - const addResult = await editWebcamFeed(data); + await editWebcamFeed(data); revalidatePath("webcam"); @@ -55,7 +54,7 @@ export async function removeWebcam(unsafeData: unknown): Promise { const data = parsedData.data; - const addResult = await removeWebcamFeed(data); + await removeWebcamFeed(data); revalidatePath("webcam"); diff --git a/app/(authenticated)/webcam/form.tsx b/app/(authenticated)/webcam/form.tsx index 52519d53..19e9ba50 100644 --- a/app/(authenticated)/webcam/form.tsx +++ b/app/(authenticated)/webcam/form.tsx @@ -1,19 +1,18 @@ "use client"; -import { z } from "zod"; +import Form, { TextField, type FormResponse } from "@/components/forms"; +import { ActionIcon, Button, Modal, Tooltip } from "@mantine/core"; +import { useDisclosure } from "@mantine/hooks"; +import { openConfirmModal } from "@mantine/modals"; +import { notifications } from "@mantine/notifications"; +import type { WebcamFeed } from "@prisma/client"; +import { FaEdit, FaTrash } from "react-icons/fa"; +import type { z } from "zod"; import { addWebcamSchema, editWebcamSchema, - removeWebcamSchema, + type removeWebcamSchema, } from "./schema"; -import Form, { FormResponse } from "@/components/Form"; -import { useDisclosure } from "@mantine/hooks"; -import { ActionIcon, Button, Modal, Tooltip } from "@mantine/core"; -import { notifications } from "@mantine/notifications"; -import { TextField } from "@/components/FormFields"; -import { WebcamFeed } from "@prisma/client"; -import { FaEdit, FaTrash } from "react-icons/fa"; -import { openConfirmModal } from "@mantine/modals"; export function WebcamCreateForm(props: { create: (data: z.infer) => Promise; diff --git a/app/(authenticated)/webcam/layout.tsx b/app/(authenticated)/webcam/layout.tsx index fa178a4a..7de67fcb 100644 --- a/app/(authenticated)/webcam/layout.tsx +++ b/app/(authenticated)/webcam/layout.tsx @@ -1,4 +1,4 @@ -import ErrorPage from "@/components/ErrorPage"; +import ErrorPage from "@/components/helpers/ErrorPage"; import { hasPermission } from "@/lib/auth/server"; export default async function AuthenticatedLayout({ diff --git a/app/(authenticated)/webcam/page.tsx b/app/(authenticated)/webcam/page.tsx index 2b9f8a10..9747557e 100644 --- a/app/(authenticated)/webcam/page.tsx +++ b/app/(authenticated)/webcam/page.tsx @@ -1,10 +1,8 @@ -import { WebcamView } from "@/components/WebcamView"; +import { PageInfo } from "@/components/helpers/PageInfo"; import { fetchWebcamFeeds } from "@/features/webcams"; -import { Center, Group, Loader, Stack } from "@mantine/core"; +import { Center, Loader, Stack } from "@mantine/core"; import { Suspense } from "react"; import { WebcamGrid } from "./WebcamGrid"; -import { addWebcam, editWebcam, removeWebcam } from "./actions"; -import { PageInfo } from "@/components/PageInfo"; export const dynamic = "force-dynamic"; diff --git a/app/(authenticated)/wrapped/page.tsx b/app/(authenticated)/wrapped/page.tsx index ca51fb50..1f7eae85 100644 --- a/app/(authenticated)/wrapped/page.tsx +++ b/app/(authenticated)/wrapped/page.tsx @@ -1,8 +1,8 @@ +import { PageInfo } from "@/components/helpers/PageInfo"; import { mustGetCurrentUser } from "@/lib/auth/server"; import { notFound } from "next/navigation"; import { createHash } from "node:crypto"; import { hasWrapped } from "./util"; -import { PageInfo } from "@/components/PageInfo"; export default async function WrappedPage({ searchParams, diff --git a/app/(authenticated)/wrapped/util.ts b/app/(authenticated)/wrapped/util.ts index fa8fd543..07ee4afd 100644 --- a/app/(authenticated)/wrapped/util.ts +++ b/app/(authenticated)/wrapped/util.ts @@ -1,6 +1,7 @@ -import { createHash } from "node:crypto"; import "server-only"; +import { createHash } from "node:crypto"; + export async function hasWrapped(email: string, year: number) { const emailHash = createHash("sha256").update(email).digest("hex"); const res = await fetch( diff --git a/components/DebugMode.tsx b/app/_components/DebugMode.tsx similarity index 99% rename from components/DebugMode.tsx rename to app/_components/DebugMode.tsx index c7022460..ac01c1e0 100644 --- a/components/DebugMode.tsx +++ b/app/_components/DebugMode.tsx @@ -1,6 +1,7 @@ "use client"; -import { createContext, useContext } from "react"; + import Link from "next/link"; +import { createContext, useContext } from "react"; const DebugContext = createContext(false); diff --git a/app/api/public/events/route.ts b/app/api/public/events/route.ts index 7fe1b0b1..e5c9b72d 100644 --- a/app/api/public/events/route.ts +++ b/app/api/public/events/route.ts @@ -1,9 +1,9 @@ import { listPublicEvents } from "@/features/calendar"; -import { NextRequest, NextResponse } from "next/server"; +import { NextResponse } from "next/server"; export const dynamic = "force-dynamic"; -export async function GET(req: NextRequest, res: NextResponse) { +export async function GET() { const events = await listPublicEvents(); return NextResponse.json(events); diff --git a/app/bios/CookiesView.tsx b/app/bios/CookiesView.tsx index 5ffdbe49..53b9ae72 100644 --- a/app/bios/CookiesView.tsx +++ b/app/bios/CookiesView.tsx @@ -1,9 +1,9 @@ "use client"; -import { Stack, Card, Group, Button, Text } from "@mantine/core"; -import { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies"; -import { deleteCookie } from "./actions"; +import { Button, Card, Group, Stack, Text } from "@mantine/core"; +import type { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies"; import { useRouter } from "next/navigation"; +import { deleteCookie } from "./actions"; export function CookieView(props: { cookies: RequestCookie[] }) { const router = useRouter(); diff --git a/app/enableDebugMode/route.ts b/app/enableDebugMode/route.ts index d98c0b21..bbe5760e 100644 --- a/app/enableDebugMode/route.ts +++ b/app/enableDebugMode/route.ts @@ -1,7 +1,7 @@ -import { NextRequest, NextResponse } from "next/server"; +import { env } from "@/lib/env"; import { cookies } from "next/headers"; +import { NextResponse, type NextRequest } from "next/server"; import { DEBUG_MODE_COOKIE } from "./common"; -import { env } from "@/lib/env"; export function GET(req: NextRequest): NextResponse { const val = req.nextUrl.searchParams.get("value") diff --git a/app/iCal/[token]/route.ts b/app/iCal/[token]/route.ts index df42e33a..d1d0395c 100644 --- a/app/iCal/[token]/route.ts +++ b/app/iCal/[token]/route.ts @@ -1,5 +1,5 @@ -import { NextRequest, NextResponse } from "next/server"; import * as Calendar from "@/features/calendar"; +import { NextResponse, type NextRequest } from "next/server"; export const dynamic = "force-dynamic"; diff --git a/app/layout.tsx b/app/layout.tsx index 8ecff87b..3d00635f 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,18 +1,17 @@ -import "./globals.css"; -import { Inter } from "next/font/google"; -import { cookies } from "next/headers"; -import { DebugIndicator, DebugModeProvider } from "@/components/DebugMode"; +import { DebugIndicator, DebugModeProvider } from "@/app/_components/DebugMode"; import { DEBUG_MODE_COOKIE } from "@/app/enableDebugMode/common"; -import { PublicURLProvider } from "@/components/PublicURLContext"; +import { PublicURLProvider } from "@/components/contexts/PublicURLContext"; +import { env } from "@/lib/env"; import { ColorSchemeScript, MantineProvider } from "@mantine/core"; -import { ModalsProvider } from "@mantine/modals"; -import { theme } from "./theme"; - import "@mantine/core/styles.css"; import "@mantine/dates/styles.css"; -import "@mantine/notifications/styles.css"; +import { ModalsProvider } from "@mantine/modals"; import { Notifications } from "@mantine/notifications"; -import { env } from "@/lib/env"; +import "@mantine/notifications/styles.css"; +import { Inter } from "next/font/google"; +import { cookies } from "next/headers"; +import "./globals.css"; +import { theme } from "./theme"; const inter = Inter({ subsets: ["latin"], diff --git a/app/login/google/callback/route.ts b/app/login/google/callback/route.ts index 7063e9de..a27c6ae9 100644 --- a/app/login/google/callback/route.ts +++ b/app/login/google/callback/route.ts @@ -1,6 +1,6 @@ import { loginOrCreateUserGoogle } from "@/lib/auth/server"; import { env } from "@/lib/env"; -import { NextRequest, NextResponse } from "next/server"; +import { NextResponse, type NextRequest } from "next/server"; export const dynamic = "force-dynamic"; diff --git a/app/login/page.tsx b/app/login/page.tsx index 5f6561b2..3315fabc 100644 --- a/app/login/page.tsx +++ b/app/login/page.tsx @@ -1,13 +1,13 @@ -import Image from "next/image"; -import BG from "./login-bg.png"; import { GoogleLoginButton } from "@/components/google/GoogleLoginButton"; -import invariant from "@/lib/invariant"; +import { PageInfo } from "@/components/helpers/PageInfo"; import SlackLoginButton from "@/components/slack/SlackLoginButton"; +import { ensureNoActiveSession } from "@/lib/auth/server"; +import { env } from "@/lib/env"; +import invariant from "@/lib/invariant"; import { isSlackEnabled } from "@/lib/slack/slackApiConnection"; import { Center, Stack } from "@mantine/core"; -import { env } from "@/lib/env"; -import { ensureNoActiveSession } from "@/lib/auth/server"; -import { PageInfo } from "@/components/PageInfo"; +import Image from "next/image"; +import BG from "./login-bg.png"; export default async function GoogleSignInPage(props: { searchParams: { error?: string; redirect?: string }; diff --git a/app/login/slack/callback/route.ts b/app/login/slack/callback/route.ts index 65d0e102..6a064e32 100644 --- a/app/login/slack/callback/route.ts +++ b/app/login/slack/callback/route.ts @@ -1,10 +1,7 @@ -import { NextRequest, NextResponse } from "next/server"; +import { loginOrCreateUserSlack } from "@/lib/auth/server"; import { getSlackUserInfo } from "@/lib/auth/slack"; -import { - getCurrentUserOrNull, - loginOrCreateUserSlack, -} from "@/lib/auth/server"; import { env } from "@/lib/env"; +import { NextResponse, type NextRequest } from "next/server"; export const dynamic = "force-dynamic"; @@ -23,8 +20,7 @@ export async function GET(req: NextRequest): Promise { } const slackUserInfo = await getSlackUserInfo(code, redirect); - let user = await getCurrentUserOrNull(req); - user = await loginOrCreateUserSlack(slackUserInfo); + await loginOrCreateUserSlack(slackUserInfo); var url = new URL(redirect ?? "/user/me", env.PUBLIC_URL!); diff --git a/components/Spinner.tsx b/components/Spinner.tsx index d1f41940..e3fa8cc8 100644 --- a/components/Spinner.tsx +++ b/components/Spinner.tsx @@ -1,6 +1,6 @@ -import Image from "next/image"; import spinnerImage from "@/app/_assets/spinner.svg"; import classNames from "classnames"; +import Image from "next/image"; export default function Spinner(props: { className?: string }) { return ( diff --git a/components/UserMenu.tsx b/components/UserMenu.tsx index eb390c79..1dd75d06 100644 --- a/components/UserMenu.tsx +++ b/components/UserMenu.tsx @@ -1,14 +1,13 @@ "use client"; -import Image from "next/image"; import { - Box, Center, Menu, SegmentedControl, useMantineColorScheme, VisuallyHidden, } from "@mantine/core"; +import Image from "next/image"; import { LuLaptop, LuMoon, LuSun } from "react-icons/lu"; export function UserMenu({ userAvatar }: { userAvatar: string }) { diff --git a/components/YSTVCalendar.tsx b/components/YSTVCalendar.tsx index ddaf6bfa..824722c8 100644 --- a/components/YSTVCalendar.tsx +++ b/components/YSTVCalendar.tsx @@ -1,26 +1,26 @@ "use client"; -import FullCalendar from "@fullcalendar/react"; +import { formatDate, type EventInput } from "@fullcalendar/core"; import dayGridPlugin from "@fullcalendar/daygrid"; -import timeGridPlugin from "@fullcalendar/timegrid"; import listPlugin from "@fullcalendar/list"; -import { EventInput, formatDate } from "@fullcalendar/core"; -import { useRouter } from "next/navigation"; +import FullCalendar from "@fullcalendar/react"; +import timeGridPlugin from "@fullcalendar/timegrid"; +import { ActionIcon, Loader, Menu, Select } from "@mantine/core"; import { useMediaQuery } from "@mantine/hooks"; +import * as Sentry from "@sentry/nextjs"; +import findLast from "core-js-pure/stable/array/find-last"; +import dayjs from "dayjs"; +import weekOfYear from "dayjs/plugin/weekOfYear"; +import { useRouter } from "next/navigation"; +import { useRef } from "react"; +import { TbCheck, TbFilter } from "react-icons/tb"; import { CalendarType, + Holiday, academicYears, getNextPeriod, - Holiday, } from "uoy-week-calendar/dist/calendar"; import "./YSTVCalendar.css"; -import dayjs from "dayjs"; -import weekOfYear from "dayjs/plugin/weekOfYear"; -import { ActionIcon, Menu, Select, Loader } from "@mantine/core"; -import { useRef } from "react"; -import * as Sentry from "@sentry/nextjs"; -import { TbCheck, TbFilter } from "react-icons/tb"; -import findLast from "core-js-pure/stable/array/find-last"; -import { useUserPreferences } from "./UserContext"; +import { useUserPreferences } from "./contexts/UserContext"; dayjs.extend(weekOfYear); diff --git a/components/PublicURLContext.tsx b/components/contexts/PublicURLContext.tsx similarity index 84% rename from components/PublicURLContext.tsx rename to components/contexts/PublicURLContext.tsx index a8c4b074..82cdee88 100644 --- a/components/PublicURLContext.tsx +++ b/components/contexts/PublicURLContext.tsx @@ -1,5 +1,5 @@ "use client"; -import { ReactNode, createContext, useContext } from "react"; +import { createContext, useContext, type ReactNode } from "react"; export const PublicURLContext = createContext(""); diff --git a/components/UserContext.tsx b/components/contexts/UserContext.tsx similarity index 93% rename from components/UserContext.tsx rename to components/contexts/UserContext.tsx index 0119ef24..cd1c1c47 100644 --- a/components/UserContext.tsx +++ b/components/contexts/UserContext.tsx @@ -1,10 +1,10 @@ "use client"; -import { createContext, useContext, useEffect, useMemo } from "react"; -import { Permission } from "@/lib/auth/permissions"; -import { UserType } from "@/lib/auth/server"; -import * as Sentry from "@sentry/nextjs"; import { preferenceDefaults } from "@/features/people/preferences"; +import type { Permission } from "@/lib/auth/permissions"; +import type { UserType } from "@/lib/auth/server"; +import * as Sentry from "@sentry/nextjs"; +import { createContext, useContext, useEffect, useMemo } from "react"; const UserContext = createContext( null as unknown as UserType /* Bit naughty, but getCurrentUser ensures there's a user signed in */, diff --git a/components/Form.tsx b/components/forms/Form.tsx similarity index 91% rename from components/Form.tsx rename to components/forms/Form.tsx index f38e3b89..3f4d2d68 100644 --- a/components/Form.tsx +++ b/components/forms/Form.tsx @@ -1,26 +1,26 @@ "use client"; -import { z, ZodEffects, ZodTypeAny } from "zod"; + +import { DebugOnly } from "@/app/_components/DebugMode"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { Button, type DefaultMantineColor } from "@mantine/core"; +import { useCallback, useState, useTransition } from "react"; import { - DeepPartial, - FieldValues, FormProvider, useForm, + type DeepPartial, + type FieldValues, } from "react-hook-form"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { useCallback, useState, useTransition } from "react"; -import classNames from "classnames"; -import { FieldPath } from "react-hook-form/dist/types/path"; -import { DebugOnly } from "@/components/DebugMode"; -import { Button, DefaultMantineColor } from "@mantine/core"; +import type { FieldPath } from "react-hook-form/dist/types/path"; +import type { ZodEffects, ZodTypeAny, z } from "zod"; export interface FormErrorResponse { ok: false; - errors: { [K in keyof Fields | "root"]?: string }; + errors: { [_K in keyof Fields | "root"]?: string }; } export type FormResponse< OK extends Record = {}, - Fields extends FieldValues = any, + _Fields extends FieldValues = any, > = ({ ok: true } & OK) | FormErrorResponse; export type FormAction< OK extends Record = {}, diff --git a/components/FormFieldPreloadedData.tsx b/components/forms/FormFieldPreloadedData.tsx similarity index 95% rename from components/FormFieldPreloadedData.tsx rename to components/forms/FormFieldPreloadedData.tsx index c24b9b05..0bde23a7 100644 --- a/components/FormFieldPreloadedData.tsx +++ b/components/forms/FormFieldPreloadedData.tsx @@ -1,9 +1,9 @@ "use client"; -import { createContext, useContext } from "react"; import type { CrewPositionType } from "@/features/calendar"; +import type { ExposedUser } from "@/features/people"; import invariant from "@/lib/invariant"; -import { ExposedUser } from "@/features/people"; +import { createContext, useContext } from "react"; const CrewPositionsContext = createContext(null); diff --git a/components/FormFields.tsx b/components/forms/FormFields.tsx similarity index 96% rename from components/FormFields.tsx rename to components/forms/FormFields.tsx index 875d2883..97fff137 100644 --- a/components/FormFields.tsx +++ b/components/forms/FormFields.tsx @@ -1,38 +1,40 @@ +"use client"; + +import { useMembers } from "@/components/forms"; +import { getUserName } from "@/components/helpers/UserHelpers"; +import { PermissionEnum, type Permission } from "@/lib/auth/permissions"; import { - ArrayPath, - Controller, - FieldArray, - FieldValues, - useController, - useFieldArray, - useFormContext, -} from "react-hook-form"; -import { ReactNode, useEffect, useMemo, useState } from "react"; -import { + ActionIcon, + Box, Button, + Card, Checkbox, - NativeSelect, - TextInput, - Textarea, - Box, - SegmentedControl, + Chip, Input, InputLabel, - Card, - ActionIcon, - Chip, + NativeSelect, + SegmentedControl, Space, Stack, + TextInput, + Textarea, } from "@mantine/core"; import { DateTimePicker } from "@mantine/dates"; -import { useMembers } from "@/components/FormFieldPreloadedData"; -import { getUserName } from "@/components/UserHelpers"; import dayjs from "dayjs"; +import { useEffect, useMemo, useState, type ReactNode } from "react"; +import { + Controller, + useController, + useFieldArray, + useFormContext, + type ArrayPath, + type FieldArray, + type FieldValues, +} from "react-hook-form"; +import type { FieldPath } from "react-hook-form/dist/types/path"; +import { IoClose } from "react-icons/io5"; import { twMerge } from "tailwind-merge"; -import { FieldPath } from "react-hook-form/dist/types/path"; import SelectOption from "./SelectOption"; -import { PermissionEnum, Permission } from "@/lib/auth/permissions"; -import { IoClose } from "react-icons/io5"; export function TextField(props: { name: string; diff --git a/components/FormServerHelpers.ts b/components/forms/FormServerHelpers.ts similarity index 69% rename from components/FormServerHelpers.ts rename to components/forms/FormServerHelpers.ts index 3a322be7..71379c3b 100644 --- a/components/FormServerHelpers.ts +++ b/components/forms/FormServerHelpers.ts @@ -1,5 +1,5 @@ -import { ZodError } from "zod"; -import { FormErrorResponse } from "@/components/Form"; +import type { FormErrorResponse } from "@/components/forms"; +import type { ZodError } from "zod"; export function zodErrorResponse(err: ZodError): FormErrorResponse { return { diff --git a/components/SelectOption.tsx b/components/forms/SelectOption.tsx similarity index 99% rename from components/SelectOption.tsx rename to components/forms/SelectOption.tsx index 3b34905a..adc7f9c9 100644 --- a/components/SelectOption.tsx +++ b/components/forms/SelectOption.tsx @@ -1,4 +1,5 @@ -import invariant from "@/lib/invariant"; +"use client"; + import { Combobox, ComboboxChevron, diff --git a/components/SelectWithCustomOption.tsx b/components/forms/SelectWithCustomOption.tsx similarity index 99% rename from components/SelectWithCustomOption.tsx rename to components/forms/SelectWithCustomOption.tsx index 93fd601f..679f9f0d 100644 --- a/components/SelectWithCustomOption.tsx +++ b/components/forms/SelectWithCustomOption.tsx @@ -1,3 +1,5 @@ +"use client"; + import invariant from "@/lib/invariant"; import { Combobox, diff --git a/components/SlackChannelField.tsx b/components/forms/SlackChannelField.tsx similarity index 94% rename from components/SlackChannelField.tsx rename to components/forms/SlackChannelField.tsx index 43163dad..f606bdd1 100644 --- a/components/SlackChannelField.tsx +++ b/components/forms/SlackChannelField.tsx @@ -1,13 +1,13 @@ "use client"; -import { use, useMemo } from "react"; -import { useController, useFormContext } from "react-hook-form"; +import SelectWithCustomOption from "@/components/forms/SelectWithCustomOption"; import { useSlackChannels } from "@/components/slack/SlackChannelsProvider"; -import SelectWithCustomOption from "@/components/SelectWithCustomOption"; -import { useForceUpdate } from "@mantine/hooks"; import { InputError } from "@mantine/core"; +import { useForceUpdate } from "@mantine/hooks"; +import { use, useMemo } from "react"; +import { useController, useFormContext } from "react-hook-form"; -export default function SlackChannelField(props: { parentName: string }) { +export function SlackChannelField(props: { parentName: string }) { const ctx = useFormContext(); const slackChannels = useSlackChannels(); const vals = use(slackChannels); diff --git a/components/forms/index.ts b/components/forms/index.ts new file mode 100644 index 00000000..62ec1b48 --- /dev/null +++ b/components/forms/index.ts @@ -0,0 +1,8 @@ +export * from "./Form"; +export { default } from "./Form"; +export * from "./FormFieldPreloadedData"; +export * from "./FormFields"; +export * from "./FormServerHelpers"; +export { default as SelectOption } from "./SelectOption"; +export { default as SelectWithCustomOption } from "./SelectWithCustomOption"; +export * from "./SlackChannelField"; diff --git a/components/google/GoogleLoginButton.tsx b/components/google/GoogleLoginButton.tsx index 9ebc2648..0f9a91ba 100644 --- a/components/google/GoogleLoginButton.tsx +++ b/components/google/GoogleLoginButton.tsx @@ -1,10 +1,10 @@ "use client"; -import { usePublicURL } from "@/components/PublicURLContext"; -import { useSearchParams, useRouter } from "next/navigation"; +import { usePublicURL } from "@/components/contexts/PublicURLContext"; +import { Button } from "@mantine/core"; +import { useRouter, useSearchParams } from "next/navigation"; import Script from "next/script"; import { setRedirectCookie } from "./actions"; -import { Button } from "@mantine/core"; export function GoogleLoginButton(props: { clientID: string; diff --git a/components/DateTimeHelpers.tsx b/components/helpers/DateTimeHelpers.tsx similarity index 100% rename from components/DateTimeHelpers.tsx rename to components/helpers/DateTimeHelpers.tsx diff --git a/components/ErrorPage.tsx b/components/helpers/ErrorPage.tsx similarity index 100% rename from components/ErrorPage.tsx rename to components/helpers/ErrorPage.tsx diff --git a/components/PageInfo.tsx b/components/helpers/PageInfo.tsx similarity index 100% rename from components/PageInfo.tsx rename to components/helpers/PageInfo.tsx diff --git a/components/UserHelpers.tsx b/components/helpers/UserHelpers.tsx similarity index 100% rename from components/UserHelpers.tsx rename to components/helpers/UserHelpers.tsx diff --git a/components/BackButton.tsx b/components/navigation/BackButton.tsx similarity index 100% rename from components/BackButton.tsx rename to components/navigation/BackButton.tsx diff --git a/components/Pagination.tsx b/components/navigation/Pagination.tsx similarity index 100% rename from components/Pagination.tsx rename to components/navigation/Pagination.tsx diff --git a/components/QueryProvider.tsx b/components/providers/QueryProvider.tsx similarity index 88% rename from components/QueryProvider.tsx rename to components/providers/QueryProvider.tsx index 78ecee38..1a95fcc4 100644 --- a/components/QueryProvider.tsx +++ b/components/providers/QueryProvider.tsx @@ -1,7 +1,7 @@ "use client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import { ReactNode } from "react"; +import type { ReactNode } from "react"; export function QueryProvider(props: { children: ReactNode }) { const queryClient = new QueryClient(); diff --git a/components/WebsocketProvider.tsx b/components/providers/WebsocketProvider.tsx similarity index 74% rename from components/WebsocketProvider.tsx rename to components/providers/WebsocketProvider.tsx index 80ca46ac..5ae532ed 100644 --- a/components/WebsocketProvider.tsx +++ b/components/providers/WebsocketProvider.tsx @@ -1,7 +1,7 @@ "use client"; -import { TSocket, useCreateSocket } from "@/lib/socket"; -import { ReactNode, createContext, useContext } from "react"; +import { useCreateSocket, type TSocket } from "@/lib/socket"; +import { createContext, useContext, type ReactNode } from "react"; export const WebsocketContext = createContext( null as unknown as TSocket, diff --git a/components/slack/SlackChannelName.tsx b/components/slack/SlackChannelName.tsx index cbda9f0a..1fadb4a3 100644 --- a/components/slack/SlackChannelName.tsx +++ b/components/slack/SlackChannelName.tsx @@ -2,7 +2,7 @@ import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; import { Text } from "@mantine/core"; -import { ConversationsInfoResponse } from "@slack/web-api/dist/response"; +import type { ConversationsInfoResponse } from "@slack/web-api/dist/response"; export default async function SlackChannelName({ slackChannelID, diff --git a/components/slack/SlackChannelsProvider.tsx b/components/slack/SlackChannelsProvider.tsx index 3abded45..f63c020e 100644 --- a/components/slack/SlackChannelsProvider.tsx +++ b/components/slack/SlackChannelsProvider.tsx @@ -1,7 +1,7 @@ "use client"; import invariant from "@/lib/invariant"; -import { Channel } from "@slack/web-api/dist/response/ConversationsListResponse"; +import type { Channel } from "@slack/web-api/dist/response/ConversationsListResponse"; import { createContext, useContext } from "react"; const SlackChannelContext = createContext | null>(null); diff --git a/components/slack/SlackLoginButton.tsx b/components/slack/SlackLoginButton.tsx index dc85fb97..4cd7d5b4 100644 --- a/components/slack/SlackLoginButton.tsx +++ b/components/slack/SlackLoginButton.tsx @@ -2,7 +2,7 @@ import Link from "next/link"; import { useSearchParams } from "next/navigation"; -import { usePublicURL } from "../PublicURLContext"; +import { usePublicURL } from "../contexts/PublicURLContext"; import SlackIcon from "../icons/SlackIcon"; export default function SlackLoginButton(props: { diff --git a/components/slack/SlackUserInfo.tsx b/components/slack/SlackUserInfo.tsx index 775f2498..fd3874c8 100644 --- a/components/slack/SlackUserInfo.tsx +++ b/components/slack/SlackUserInfo.tsx @@ -1,22 +1,13 @@ -import * as Sentry from "@sentry/nextjs"; import { removeSlackLink } from "@/features/people"; import { mustGetCurrentUser } from "@/lib/auth/server"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; -import { - Avatar, - Group, - Stack, - Text, - Button, - Card, - HoverCard, -} from "@mantine/core"; +import { Avatar, Card, Group, Stack, Text } from "@mantine/core"; +import * as Sentry from "@sentry/nextjs"; +import type { App } from "@slack/bolt"; import { redirect } from "next/navigation"; import SlackLogoutButton from "./SlackLogoutButton"; -import { App } from "@slack/bolt"; -import { notifications } from "@mantine/notifications"; export default async function SlackUserInfo({ slack_user_id, diff --git a/features/calendar/adamRMS.ts b/features/calendar/adamRMS.ts index d9a81a6e..3a5bd3a1 100644 --- a/features/calendar/adamRMS.ts +++ b/features/calendar/adamRMS.ts @@ -1,5 +1,5 @@ -import { prisma } from "@/lib/db"; import * as AdamRMS from "@/lib/adamrms"; +import { prisma } from "@/lib/db"; import { env } from "@/lib/env"; export async function addProjectToAdamRMS( diff --git a/features/calendar/check_with_tech.ts b/features/calendar/check_with_tech.ts index fae4b8d7..1f1320c3 100644 --- a/features/calendar/check_with_tech.ts +++ b/features/calendar/check_with_tech.ts @@ -1,18 +1,18 @@ -import slackApiConnection from "@/lib/slack/slackApiConnection"; -import { getEvent } from "./events"; -import dayjs from "dayjs"; -import utc from "dayjs/plugin/utc"; -import timezone from "dayjs/plugin/timezone"; -import { prisma } from "@/lib/db"; -import { env } from "@/lib/env"; import { getCurrentUser, mustGetCurrentUser, requirePermission, } from "@/lib/auth/server"; +import { prisma } from "@/lib/db"; +import { env } from "@/lib/env"; +import invariant from "@/lib/invariant"; +import slackApiConnection from "@/lib/slack/slackApiConnection"; +import dayjs from "dayjs"; +import timezone from "dayjs/plugin/timezone"; +import utc from "dayjs/plugin/utc"; import { ExposedUserModel } from "../people/users"; import { _sendCWTFollowUpAndUpdateMessage } from "./check_with_tech_actions"; -import invariant from "@/lib/invariant"; +import { getEvent } from "./events"; dayjs.extend(utc); dayjs.extend(timezone); diff --git a/features/calendar/check_with_tech_actions.ts b/features/calendar/check_with_tech_actions.ts index e57deafc..110360dc 100644 --- a/features/calendar/check_with_tech_actions.ts +++ b/features/calendar/check_with_tech_actions.ts @@ -1,6 +1,7 @@ -import { getUserName } from "../../components/UserHelpers"; +import * as AdamRMS from "@/lib/adamrms"; import { userHasPermission } from "@/lib/auth/core"; import { prisma } from "@/lib/db"; +import { env } from "@/lib/env"; import invariant from "@/lib/invariant"; import slackApiConnection from "@/lib/slack/slackApiConnection"; import { @@ -10,22 +11,19 @@ import { Identity, User, } from "@prisma/client"; -import * as AdamRMS from "@/lib/adamrms"; import { - SlackActionMiddlewareArgs, BlockAction, ButtonAction, + ContextBlock, + SlackActionMiddlewareArgs, SlackViewMiddlewareArgs, ViewSubmitAction, - ContextBlock, - Block, - SectionBlock, } from "@slack/bolt"; import dayjs from "dayjs"; -import { env } from "@/lib/env"; -import { z } from "zod"; -import utc from "dayjs/plugin/utc"; import timezone from "dayjs/plugin/timezone"; +import utc from "dayjs/plugin/utc"; +import { z } from "zod"; +import { getUserName } from "../../components/helpers/UserHelpers"; import { addProjectToAdamRMS } from "./adamRMS"; dayjs.extend(utc); diff --git a/features/calendar/events.ts b/features/calendar/events.ts index b23753c1..d0445dfb 100644 --- a/features/calendar/events.ts +++ b/features/calendar/events.ts @@ -1,9 +1,13 @@ import "server-only"; -import { produce } from "immer"; + +import type { SignUpSheetType } from "@/features/calendar/signup_sheets"; +import type { AttendStatus } from "@/features/calendar/statuses"; +import type { EventType } from "@/features/calendar/types"; +import { ExposedUserModel, type ExposedUser } from "@/features/people"; +import * as AdamRMS from "@/lib/adamrms"; import { prisma } from "@/lib/db"; -import { +import type { Attendee, - CheckWithTechStatus, Crew, Event, Position, @@ -11,12 +15,8 @@ import { SignupSheet, User, } from "@prisma/client"; -import { AttendStatus } from "@/features/calendar/statuses"; -import { ExposedUser, ExposedUserModel } from "@/features/people"; -import { SignUpSheetType } from "@/features/calendar/signup_sheets"; -import { EventType } from "@/features/calendar/types"; -import * as AdamRMS from "@/lib/adamrms"; import dayjs from "dayjs"; +import { produce } from "immer"; import { z } from "zod"; export interface EventAttendee { diff --git a/features/calendar/ical.ts b/features/calendar/ical.ts index 60a95d0f..3564320d 100644 --- a/features/calendar/ical.ts +++ b/features/calendar/ical.ts @@ -1,13 +1,12 @@ -import { getUserName } from "@/components/UserHelpers"; +import { getUserName } from "@/components/helpers/UserHelpers"; import { prisma } from "@/lib/db"; +import { env } from "@/lib/env"; +import invariant from "@/lib/invariant"; import { decode, encode } from "@/lib/sessionSecrets"; +import { add } from "date-fns"; import ical, { ICalEventStatus } from "ical-generator"; -import invariant from "@/lib/invariant"; -import { Prisma } from "@prisma/client"; import { preferenceDefaults } from "../people"; import { EventObjectType, listEvents } from "./events"; -import { add } from "date-fns"; -import { env } from "@/lib/env"; export function encodeUserID(userID: number) { return encode({ userID }); diff --git a/features/calendar/index.ts b/features/calendar/index.ts index f8665c33..8f7b6fcf 100644 --- a/features/calendar/index.ts +++ b/features/calendar/index.ts @@ -1,9 +1,9 @@ +export * from "./adamRMS"; +export * from "./check_with_tech"; +export * from "./crew_positions"; export * from "./events"; +export * from "./ical"; +export * from "./permissions"; export * from "./signup_sheets"; export * from "./statuses"; export * from "./types"; -export * from "./permissions"; -export * from "./crew_positions"; -export * from "./ical"; -export * from "./adamRMS"; -export * from "./check_with_tech"; diff --git a/features/calendar/permissions.ts b/features/calendar/permissions.ts index aa7dda44..7e43d2eb 100644 --- a/features/calendar/permissions.ts +++ b/features/calendar/permissions.ts @@ -1,9 +1,9 @@ +import { EventObjectType } from "@/features/calendar/events"; +import { SignUpSheetType } from "@/features/calendar/signup_sheets"; import { EventType } from "@/features/calendar/types"; import { Permission } from "@/lib/auth/permissions"; import { UserType } from "@/lib/auth/server"; import { Event } from "@prisma/client"; -import { SignUpSheetType } from "@/features/calendar/signup_sheets"; -import { EventObjectType } from "@/features/calendar/events"; /** * Which event types can a user with the given permissions administer, diff --git a/features/calendar/signup_sheets.ts b/features/calendar/signup_sheets.ts index 8b062476..0716900a 100644 --- a/features/calendar/signup_sheets.ts +++ b/features/calendar/signup_sheets.ts @@ -1,11 +1,11 @@ import SignupSheetUpdateInput = Prisma.SignupSheetUpdateInput; -import { prisma } from "@/lib/db"; -import { Event, Prisma, SignupSheet } from "@prisma/client"; import { CrewPositionType } from "@/features/calendar/crew_positions"; -import { omit } from "lodash"; import { ExposedUser } from "@/features/people"; -import invariant from "@/lib/invariant"; import { UserType } from "@/lib/auth/server"; +import { prisma } from "@/lib/db"; +import invariant from "@/lib/invariant"; +import { Event, Prisma, SignupSheet } from "@prisma/client"; +import { omit } from "lodash"; export interface CrewType { crew_id: number; diff --git a/features/people/index.ts b/features/people/index.ts index de4eeeb9..dbea7863 100644 --- a/features/people/index.ts +++ b/features/people/index.ts @@ -1,3 +1,3 @@ -export * from "./users"; export * from "./preferences"; export * from "./roles"; +export * from "./users"; diff --git a/features/people/roles.ts b/features/people/roles.ts index b86d4fee..e358219f 100644 --- a/features/people/roles.ts +++ b/features/people/roles.ts @@ -5,8 +5,7 @@ import { deleteRoleSchema, updateRoleSchema, } from "@/app/(authenticated)/admin/roles/schema"; -import { FormResponse } from "@/components/Form"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; +import { FormResponse, zodErrorResponse } from "@/components/forms"; import { mustGetCurrentUser, requirePermission } from "@/lib/auth/server"; import { prisma } from "@/lib/db"; import { Role } from "@prisma/client"; diff --git a/features/people/users.ts b/features/people/users.ts index 644f5dd2..14fee4fa 100644 --- a/features/people/users.ts +++ b/features/people/users.ts @@ -1,12 +1,11 @@ +import { editUserSchema } from "@/app/(authenticated)/admin/users/[userID]/schema"; +import { FormResponse, zodErrorResponse } from "@/components/forms"; +import { mustGetCurrentUser, requirePermission } from "@/lib/auth/server"; import { prisma } from "@/lib/db"; -import { z } from "zod"; import { UserPreferencesSchema } from "@/lib/db/preferences"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; -import { FormResponse } from "@/components/Form"; -import { Identity, Prisma, Role, RolePermission, User } from "@prisma/client"; import { getTsQuery } from "@/lib/search"; -import { editUserSchema } from "@/app/(authenticated)/admin/users/[userID]/schema"; -import { mustGetCurrentUser, requirePermission } from "@/lib/auth/server"; +import { Identity, Prisma, Role, RolePermission, User } from "@prisma/client"; +import { z } from "zod"; /** * Fields of a user object that we (usually) want to expose to the world. diff --git a/features/positions/index.ts b/features/positions/index.ts index c024f670..74ba5008 100644 --- a/features/positions/index.ts +++ b/features/positions/index.ts @@ -5,8 +5,7 @@ import { deletePositionSchema, updatePositionSchema, } from "@/app/(authenticated)/admin/positions/schema"; -import { FormResponse } from "@/components/Form"; -import { zodErrorResponse } from "@/components/FormServerHelpers"; +import { FormResponse } from "@/components/forms"; import { wrapServerAction } from "@/lib/actions"; import { requirePermission } from "@/lib/auth/server"; import { prisma } from "@/lib/db"; diff --git a/features/userFeedback/index.ts b/features/userFeedback/index.ts index a96ab117..7995eae8 100644 --- a/features/userFeedback/index.ts +++ b/features/userFeedback/index.ts @@ -1,8 +1,7 @@ -import { FormResponse } from "@/components/Form"; -import { getUserName } from "@/components/UserHelpers"; +import { FormResponse } from "@/components/forms"; +import { getUserName } from "@/components/helpers/UserHelpers"; import { getCurrentUser } from "@/lib/auth/server"; import { env } from "@/lib/env"; -import invariant from "@/lib/invariant"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; diff --git a/lib/adamrms/index.ts b/lib/adamrms/index.ts index d6526b31..b899f90f 100644 --- a/lib/adamrms/index.ts +++ b/lib/adamrms/index.ts @@ -1,6 +1,6 @@ import invariant from "@/lib/invariant"; -import { login, makeRequest } from "./client"; import { env } from "../env"; +import { makeRequest } from "./client"; async function findIDOfUser(email: string): Promise { const usersSearchResult = (await makeRequest("/instances/users.php", "GET", { diff --git a/lib/auth/core.ts b/lib/auth/core.ts index 72aad454..5ae2a3dd 100644 --- a/lib/auth/core.ts +++ b/lib/auth/core.ts @@ -1,7 +1,7 @@ -import { Identity, User } from "@prisma/client"; -import { Permission } from "./permissions"; -import { prisma } from "../db"; +import type { Identity, User } from "@prisma/client"; import { cache } from "react"; +import { prisma } from "../db"; +import type { Permission } from "./permissions"; export interface UserWithIdentities extends User { identities: Identity[]; diff --git a/lib/auth/google/index.ts b/lib/auth/google/index.ts index 9dad3c35..28d91ba1 100644 --- a/lib/auth/google/index.ts +++ b/lib/auth/google/index.ts @@ -1,7 +1,6 @@ import { prisma } from "@/lib/db"; -import { OAuth2Client } from "google-auth-library"; -import { SlackTokenJson } from "../slack"; import { env } from "@/lib/env"; +import { OAuth2Client } from "google-auth-library"; const Google = new OAuth2Client(); diff --git a/lib/auth/server.ts b/lib/auth/server.ts index 9ba23a0a..1d4eeda7 100644 --- a/lib/auth/server.ts +++ b/lib/auth/server.ts @@ -1,18 +1,23 @@ import "server-only"; + import { prisma } from "@/lib/db"; -import { Forbidden, NotLoggedIn } from "./errors"; -import { Permission } from "./permissions"; -import { Identity } from "@prisma/client"; -import { NextRequest } from "next/server"; -import { findOrCreateUserFromGoogleToken } from "./google"; +import type { Identity } from "@prisma/client"; +import type { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies"; import { redirect } from "next/navigation"; +import type { NextRequest } from "next/server"; +import { cache } from "react"; import { z } from "zod"; -import { decode, encode } from "../sessionSecrets"; -import { SlackTokenJson, findOrCreateUserFromSlackToken } from "./slack"; import { env } from "../env"; -import { RequestCookie } from "next/dist/compiled/@edge-runtime/cookies"; -import { cache } from "react"; -import { UserType, resolvePermissionsForUser, userHasPermission } from "./core"; +import { decode, encode } from "../sessionSecrets"; +import { + resolvePermissionsForUser, + userHasPermission, + type UserType, +} from "./core"; +import { Forbidden, NotLoggedIn } from "./errors"; +import { findOrCreateUserFromGoogleToken } from "./google"; +import type { Permission } from "./permissions"; +import { findOrCreateUserFromSlackToken, type SlackTokenJson } from "./slack"; export * from "./core"; diff --git a/lib/auth/slack/index.ts b/lib/auth/slack/index.ts index 6e81c6d0..753b258d 100644 --- a/lib/auth/slack/index.ts +++ b/lib/auth/slack/index.ts @@ -1,12 +1,10 @@ +import { prisma } from "@/lib/db"; +import { env } from "@/lib/env"; +import invariant from "@/lib/invariant"; import slackApiConnection, { isSlackEnabled, } from "@/lib/slack/slackApiConnection"; -import * as People from "@/features/people"; import { jwtDecode } from "jwt-decode"; -import { mustGetCurrentUser } from "../server"; -import invariant from "@/lib/invariant"; -import { prisma } from "@/lib/db"; -import { env } from "@/lib/env"; export type SlackTokenJson = { iss: string; diff --git a/lib/db/index.ts b/lib/db/index.ts index 444f9071..fcd1cc59 100644 --- a/lib/db/index.ts +++ b/lib/db/index.ts @@ -19,7 +19,7 @@ if (env.NODE_ENV !== "production") globalForPrisma.prisma = rawPrisma; export const prisma = rawPrisma.$extends({ query: { event: { - $allOperations({ model, operation, args, query }) { + $allOperations({ operation, args, query }) { switch (operation) { case "findMany": case "findUnique": diff --git a/lib/env.ts b/lib/env.ts index c4c4ef85..440c9edf 100644 --- a/lib/env.ts +++ b/lib/env.ts @@ -1,6 +1,9 @@ +import dotenv from "dotenv"; import { exit } from "process"; import { z } from "zod"; +dotenv.config(); + const slackEnvType = process.env.SLACK_ENABLED == "true" ? z.string({ diff --git a/lib/searchParams/util.ts b/lib/searchParams/util.ts index 0739e5fe..f88a8995 100644 --- a/lib/searchParams/util.ts +++ b/lib/searchParams/util.ts @@ -1,6 +1,6 @@ export function getSearchParamsString(paramsObject: Object) { return Object.entries(paramsObject) - .filter(([key, value]) => value !== undefined) + .filter(([_key, value]) => value !== undefined) .map(([key, value]) => `${key}=${encodeURIComponent(value)}`) .join("&"); } diff --git a/lib/searchParams/validate.ts b/lib/searchParams/validate.ts index 15769feb..05c7fe2d 100644 --- a/lib/searchParams/validate.ts +++ b/lib/searchParams/validate.ts @@ -1,3 +1,5 @@ +"use client"; + import { ReadonlyURLSearchParams, redirect, diff --git a/lib/sessionSecrets.ts b/lib/sessionSecrets.ts index 3f180c5f..1102bf5d 100644 --- a/lib/sessionSecrets.ts +++ b/lib/sessionSecrets.ts @@ -1,6 +1,6 @@ +import { decode as b64Decode, encode as b64Encode } from "base64-arraybuffer"; import { env } from "./env"; import invariant from "./invariant"; -import { encode as b64Encode, decode as b64Decode } from "base64-arraybuffer"; function urlbase64Unescape(str: string) { return (str + "===".slice((str.length + 3) % 4)) diff --git a/lib/slack/actions.ts b/lib/slack/actions.ts index 9b28f23d..d0ed7438 100644 --- a/lib/slack/actions.ts +++ b/lib/slack/actions.ts @@ -1,5 +1,5 @@ import * as CheckWithTech from "@/features/calendar/check_with_tech_actions"; -import { App } from "@slack/bolt"; +import type { App } from "@slack/bolt"; export async function setupActionHandlers(app: App) { // Check With Tech diff --git a/lib/socket/index.ts b/lib/socket/index.ts index 1c6511a4..dd049b81 100644 --- a/lib/socket/index.ts +++ b/lib/socket/index.ts @@ -1,9 +1,9 @@ "use client"; import { usePathname, useRouter } from "next/navigation"; -import { useState, useEffect } from "react"; -import { Socket, io } from "socket.io-client"; -import { DefaultEventsMap } from "socket.io/dist/typed-events"; +import { useEffect, useState } from "react"; +import { io, type Socket } from "socket.io-client"; +import type { DefaultEventsMap } from "socket.io/dist/typed-events"; export const socket = io(); @@ -53,6 +53,7 @@ export function useCreateSocket(): TSocket { socket.off("invalidSession", onInvalidSession); socket.off("disconnect", onDisconnect); }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return { socket, isConnected, transport }; diff --git a/lib/socket/server/authActions.ts b/lib/socket/server/authActions.ts deleted file mode 100644 index bdc8f2ae..00000000 --- a/lib/socket/server/authActions.ts +++ /dev/null @@ -1,3 +0,0 @@ -"use server"; - -export function authenticateSocketSession(socket_id: string) {} diff --git a/package.json b/package.json index f099956d..a143f9a4 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "crypto": "^1.0.1", "date-fns": "^2.30.0", "dayjs": "^1.11.10", + "dotenv": "^16.4.5", "eslint": "8.44.0", "eslint-config-next": "^14.1.0", "fast-xml-parser": "^4.2.5", @@ -72,10 +73,10 @@ "jwt-decode": "^4.0.0", "lodash": "^4.17.21", "lru-cache": "^10.0.0", - "next": "^14.1.0", + "next": "^14.2.15", "querystring": "^0.2.1", - "react": "18.3.0-canary-7118f5dd7-20230705", - "react-dom": "18.3.0-canary-7118f5dd7-20230705", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-hook-form": "^7.45.1", "react-icons": "^4.10.1", "server-only": "^0.0.1", @@ -100,9 +101,12 @@ "@tailwindcss/forms": "^0.5.3", "@types/ws": "^8.5.9", "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^8.8.1", "dotenv-cli": "^7.2.1", "eslint-config-prettier": "^8.8.0", + "eslint-plugin-react": "^7.37.1", "eslint-plugin-storybook": "^0.6.12", + "eslint-plugin-unused-imports": "^4.1.4", "husky": "^9.0.6", "lint-staged": "^15.2.0", "nodemon": "^3.1.4", @@ -110,6 +114,7 @@ "postcss-preset-mantine": "^1.7.0", "postcss-simple-vars": "^7.0.1", "prettier": "^3.0.3", + "prettier-plugin-organize-imports": "^4.1.0", "prettier-plugin-tailwindcss": "^0.4.0", "prisma": "^5.8.1", "prisma-json-types-generator": "^3.0.2", diff --git a/server/auth.ts b/server/auth.ts index 3a4d7c7b..2d342796 100644 --- a/server/auth.ts +++ b/server/auth.ts @@ -1,9 +1,9 @@ -import { prisma } from "../lib/db"; -import { decode } from "../lib/sessionSecrets"; +import { ExtendedError } from "socket.io/dist/namespace"; import { z } from "zod"; import { TSocket } from "."; -import { ExtendedError } from "socket.io/dist/namespace"; +import { prisma } from "../lib/db"; import { env } from "../lib/env"; +import { decode } from "../lib/sessionSecrets"; export async function authenticateSocket( socket: TSocket, diff --git a/server/index.ts b/server/index.ts index afe9ccf5..ebb86a08 100644 --- a/server/index.ts +++ b/server/index.ts @@ -1,13 +1,13 @@ +import { App } from "@slack/bolt"; import next from "next"; import { Server, Socket } from "socket.io"; import { z } from "zod"; -import { authenticateSocket, isServerSocket } from "./auth"; import { env, validateEnv } from "../lib/env.js"; +import { setupActionHandlers } from "../lib/slack/actions"; import slackApiConnection, { isSlackEnabled, } from "../lib/slack/slackApiConnection"; -import { App } from "@slack/bolt"; -import { setupActionHandlers } from "../lib/slack/actions"; +import { authenticateSocket, isServerSocket } from "./auth"; import { checkDatabaseConnection, prepareHttpServer } from "./lib"; const dev = env.NODE_ENV !== "production"; diff --git a/server/lib.ts b/server/lib.ts index a2f5a3b7..a7a8e988 100644 --- a/server/lib.ts +++ b/server/lib.ts @@ -1,13 +1,13 @@ import { Prisma } from "@prisma/client"; -import { prisma } from "../lib/db"; -import { exit } from "process"; -import { createServer as createHttpsServer } from "node:https"; +import { readFileSync } from "fs"; +import { RequestHandler } from "next/dist/server/next"; import { createServer as createHttpServer, Server as HttpServer, } from "node:http"; -import { readFileSync } from "fs"; -import { RequestHandler } from "next/dist/server/next"; +import { createServer as createHttpsServer } from "node:https"; +import { exit } from "process"; +import { prisma } from "../lib/db"; export async function checkDatabaseConnection() { return new Promise(async (resolve, reject) => { diff --git a/stories/Button.stories.ts b/stories/Button.stories.ts index e7464bb7..5c55d119 100644 --- a/stories/Button.stories.ts +++ b/stories/Button.stories.ts @@ -1,5 +1,4 @@ import type { Meta, StoryObj } from "@storybook/react"; - import { Button } from "./Button"; // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction diff --git a/stories/Button.tsx b/stories/Button.tsx index 19126519..041d3ea1 100644 --- a/stories/Button.tsx +++ b/stories/Button.tsx @@ -1,4 +1,4 @@ -import React, { useMemo } from "react"; +import { useMemo } from "react"; const getSizeClasses = (size: string) => { switch (size) { diff --git a/yarn.lock b/yarn.lock index d30908bd..1b6b283d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40,16 +40,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/code-frame@npm:7.22.5" - dependencies: - "@babel/highlight": ^7.22.5 - checksum: cfe804f518f53faaf9a1d3e0f9f74127ab9a004912c3a16fda07fb6a633393ecb9918a053cb71804204c1b7ec3d49e1699604715e2cfb0c9f7bc4933d324ebb6 - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.24.7": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.16.7, @babel/code-frame@npm:^7.21.4, @babel/code-frame@npm:^7.24.7": version: 7.24.7 resolution: "@babel/code-frame@npm:7.24.7" dependencies: @@ -59,44 +50,14 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.21.5, @babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/compat-data@npm:7.22.9" - checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 - languageName: node - linkType: hard - -"@babel/compat-data@npm:^7.25.2": +"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.21.5, @babel/compat-data@npm:^7.22.5, @babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.25.2": version: 7.25.2 resolution: "@babel/compat-data@npm:7.25.2" checksum: b61bc9da7cfe249f19d08da00f4f0c20550cd9ad5bffcde787c2bf61a8a6fa5b66d92bbd89031f3a6e5495a799a2a2499f2947b6cc7964be41979377473ab132 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.20.2, @babel/core@npm:^7.7.5": - version: 7.22.9 - resolution: "@babel/core@npm:7.22.9" - dependencies: - "@ampproject/remapping": ^2.2.0 - "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.9 - "@babel/helper-compilation-targets": ^7.22.9 - "@babel/helper-module-transforms": ^7.22.9 - "@babel/helpers": ^7.22.6 - "@babel/parser": ^7.22.7 - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.8 - "@babel/types": ^7.22.5 - convert-source-map: ^1.7.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.2 - semver: ^6.3.1 - checksum: 7bf069aeceb417902c4efdaefab1f7b94adb7dea694a9aed1bda2edf4135348a080820529b1a300c6f8605740a00ca00c19b2d5e74b5dd489d99d8c11d5e56d1 - languageName: node - linkType: hard - -"@babel/core@npm:^7.18.5": +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.18.5, @babel/core@npm:^7.20.2, @babel/core@npm:^7.7.5": version: 7.25.2 resolution: "@babel/core@npm:7.25.2" dependencies: @@ -142,19 +103,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.21.5, @babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/generator@npm:7.22.9" - dependencies: - "@babel/types": ^7.22.5 - "@jridgewell/gen-mapping": ^0.3.2 - "@jridgewell/trace-mapping": ^0.3.17 - jsesc: ^2.5.1 - checksum: 7c9d2c58b8d5ac5e047421a6ab03ec2ff5d9a5ff2c2212130a0055e063ac349e0b19d435537d6886c999771aef394832e4f54cd9fc810100a7f23d982f6af06b - languageName: node - linkType: hard - -"@babel/generator@npm:^7.25.0": +"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.21.5, @babel/generator@npm:^7.25.0": version: 7.25.0 resolution: "@babel/generator@npm:7.25.0" dependencies: @@ -196,22 +145,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.21.5, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-compilation-targets@npm:7.22.9" - dependencies: - "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.5 - browserslist: ^4.21.9 - lru-cache: ^5.1.1 - semver: ^6.3.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ea0006c6a93759025f4a35a25228ae260538c9f15023e8aac2a6d45ca68aef4cf86cfc429b19af9a402cbdd54d5de74ad3fbcf6baa7e48184dc079f1a791e178 - languageName: node - linkType: hard - -"@babel/helper-compilation-targets@npm:^7.25.2": +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.21.5, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.22.9, @babel/helper-compilation-targets@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-compilation-targets@npm:7.25.2" dependencies: @@ -322,16 +256,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-imports@npm:7.22.5" - dependencies: - "@babel/types": ^7.22.5 - checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.24.7": +"@babel/helper-module-imports@npm:^7.22.5, @babel/helper-module-imports@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-module-imports@npm:7.24.7" dependencies: @@ -341,22 +266,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.21.5, @babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-module-transforms@npm:7.22.9" - dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-module-imports": ^7.22.5 - "@babel/helper-simple-access": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.5 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 - languageName: node - linkType: hard - -"@babel/helper-module-transforms@npm:^7.25.2": +"@babel/helper-module-transforms@npm:^7.21.5, @babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.25.2": version: 7.25.2 resolution: "@babel/helper-module-transforms@npm:7.25.2" dependencies: @@ -412,16 +322,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": ^7.22.5 - checksum: fe9686714caf7d70aedb46c3cce090f8b915b206e09225f1e4dbc416786c2fdbbee40b38b23c268b7ccef749dd2db35f255338fb4f2444429874d900dede5ad2 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.24.7": +"@babel/helper-simple-access@npm:^7.22.5, @babel/helper-simple-access@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-simple-access@npm:7.24.7" dependencies: @@ -449,42 +350,21 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.21.5, @babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.24.8": +"@babel/helper-string-parser@npm:^7.21.5, @babel/helper-string-parser@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-string-parser@npm:7.24.8" checksum: 39b03c5119216883878655b149148dc4d2e284791e969b19467a9411fccaa33f7a713add98f4db5ed519535f70ad273cdadfd2eb54d47ebbdeac5083351328ce languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-identifier@npm:7.22.5" - checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.24.7": +"@babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.5, @babel/helper-validator-identifier@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-identifier@npm:7.24.7" checksum: 6799ab117cefc0ecd35cd0b40ead320c621a298ecac88686a14cffceaac89d80cdb3c178f969861bf5fa5e4f766648f9161ea0752ecfe080d8e89e3147270257 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.21.0, @babel/helper-validator-option@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-option@npm:7.22.5" - checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.24.8": +"@babel/helper-validator-option@npm:^7.21.0, @babel/helper-validator-option@npm:^7.22.5, @babel/helper-validator-option@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-validator-option@npm:7.24.8" checksum: a52442dfa74be6719c0608fee3225bd0493c4057459f3014681ea1a4643cd38b68ff477fe867c4b356da7330d085f247f0724d300582fa4ab9a02efaf34d107c @@ -502,18 +382,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.21.5, @babel/helpers@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helpers@npm:7.22.6" - dependencies: - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.6 - "@babel/types": ^7.22.5 - checksum: 5c1f33241fe7bf7709868c2105134a0a86dca26a0fbd508af10a89312b1f77ca38ebae43e50be3b208613c5eacca1559618af4ca236f0abc55d294800faeff30 - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.25.0": +"@babel/helpers@npm:^7.21.5, @babel/helpers@npm:^7.25.0": version: 7.25.0 resolution: "@babel/helpers@npm:7.25.0" dependencies: @@ -523,17 +392,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/highlight@npm:7.22.5" - dependencies: - "@babel/helper-validator-identifier": ^7.22.5 - chalk: ^2.0.0 - js-tokens: ^4.0.0 - checksum: f61ae6de6ee0ea8d9b5bcf2a532faec5ab0a1dc0f7c640e5047fc61630a0edb88b18d8c92eb06566d30da7a27db841aca11820ecd3ebe9ce514c9350fbed39c4 - languageName: node - linkType: hard - "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -546,16 +404,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.5, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7": - version: 7.22.7 - resolution: "@babel/parser@npm:7.22.7" - bin: - parser: ./bin/babel-parser.js - checksum: 02209ddbd445831ee8bf966fdf7c29d189ed4b14343a68eb2479d940e7e3846340d7cc6bd654a5f3d87d19dc84f49f50a58cf9363bee249dc5409ff3ba3dab54 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.5, @babel/parser@npm:^7.21.8, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3": version: 7.25.3 resolution: "@babel/parser@npm:7.25.3" dependencies: @@ -1968,25 +1817,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4": - version: 7.22.6 - resolution: "@babel/runtime@npm:7.22.6" - dependencies: - regenerator-runtime: ^0.13.11 - checksum: e585338287c4514a713babf4fdb8fc2a67adcebab3e7723a739fc62c79cfda875b314c90fd25f827afb150d781af97bc16c85bfdbfa2889f06053879a1ddb597 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.20.13": - version: 7.22.15 - resolution: "@babel/runtime@npm:7.22.15" - dependencies: - regenerator-runtime: ^0.14.0 - checksum: 793296df1e41599a935a3d77ec01eb6088410d3fd4dbe4e92f06c6b7bb2f8355024e6d78621a3a35f44e0e23b0b59107f23d585384df4f3123256a1e1492040e - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.7": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7": version: 7.23.2 resolution: "@babel/runtime@npm:7.23.2" dependencies: @@ -1995,18 +1826,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.20.7, @babel/template@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/template@npm:7.22.5" - dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/parser": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 - languageName: node - linkType: hard - -"@babel/template@npm:^7.25.0": +"@babel/template@npm:^7.20.7, @babel/template@npm:^7.22.5, @babel/template@npm:^7.25.0": version: 7.25.0 resolution: "@babel/template@npm:7.25.0" dependencies: @@ -2017,25 +1837,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8": - version: 7.22.8 - resolution: "@babel/traverse@npm:7.22.8" - dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.7 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.7 - "@babel/types": ^7.22.5 - debug: ^4.1.0 - globals: ^11.1.0 - checksum: a381369bc3eedfd13ed5fef7b884657f1c29024ea7388198149f0edc34bd69ce3966e9f40188d15f56490a5e12ba250ccc485f2882b53d41b054fccefb233e33 - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.2": +"@babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.21.5, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.2": version: 7.25.3 resolution: "@babel/traverse@npm:7.25.3" dependencies: @@ -2068,18 +1870,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.22.5 - resolution: "@babel/types@npm:7.22.5" - dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 - to-fast-properties: ^2.0.0 - checksum: c13a9c1dc7d2d1a241a2f8363540cb9af1d66e978e8984b400a20c4f38ba38ca29f06e26a0f2d49a70bad9e57615dac09c35accfddf1bb90d23cd3e0a0bab892 - languageName: node - linkType: hard - -"@babel/types@npm:^7.24.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.5, @babel/types@npm:^7.22.5, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.25.2 resolution: "@babel/types@npm:7.25.2" dependencies: @@ -2748,18 +2539,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" - dependencies: - "@jridgewell/set-array": ^1.0.1 - "@jridgewell/sourcemap-codec": ^1.4.10 - "@jridgewell/trace-mapping": ^0.3.9 - checksum: 4a74944bd31f22354fc01c3da32e83c19e519e3bbadafa114f6da4522ea77dd0c2842607e923a591d60a76699d819a2fbb6f3552e277efdb9b58b081390b60ab - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.5": +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" dependencies: @@ -2770,34 +2550,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.1 - resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.1.0": +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" checksum: 83b85f72c59d1c080b4cbec0fef84528963a1b5db34e4370fa4bd1e3ff64a0d80e0cee7369d11d73c704e0286fb2865b530acac7a871088fbe92b5edf1000870 languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e - languageName: node - linkType: hard - "@jridgewell/set-array@npm:^1.2.1": version: 1.2.1 resolution: "@jridgewell/set-array@npm:1.2.1" @@ -2815,21 +2574,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0": version: 1.5.0 resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" checksum: 05df4f2538b3b0f998ea4c1cd34574d0feba216fa5d4ccaef0187d12abf82eafe6021cec8b49f9bb4d90f2ba4582ccc581e72986a5fcf4176ae0cfeb04cf52ec @@ -2846,17 +2591,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.18 - resolution: "@jridgewell/trace-mapping@npm:0.3.18" - dependencies: - "@jridgewell/resolve-uri": 3.1.0 - "@jridgewell/sourcemap-codec": 1.4.14 - checksum: 0572669f855260808c16fe8f78f5f1b4356463b11d3f2c7c0b5580c8ba1cbf4ae53efe9f627595830856e57dbac2325ac17eb0c3dd0ec42102e6f227cc289c02 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -3015,10 +2750,10 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.1.0": - version: 14.1.0 - resolution: "@next/env@npm:14.1.0" - checksum: ecec03a3e9745996ed1c7fc218fc9a1a4345a0cf368afb50f38a3b6fbf6f966a36dba174c90b5f90b568188dbd0eba48a2c5448b6742298417df4ff3351c6d40 +"@next/env@npm:14.2.15": + version: 14.2.15 + resolution: "@next/env@npm:14.2.15" + checksum: bf794604ee62e86ca092120c790815c0caf367009966baa14e75dbd8454a59df524327539d5febc7da42841c3bf6a10443ae0f95280599352a8def56291857fd languageName: node linkType: hard @@ -3031,65 +2766,65 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-darwin-arm64@npm:14.1.0" +"@next/swc-darwin-arm64@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-darwin-arm64@npm:14.2.15" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-darwin-x64@npm:14.1.0" +"@next/swc-darwin-x64@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-darwin-x64@npm:14.2.15" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-linux-arm64-gnu@npm:14.1.0" +"@next/swc-linux-arm64-gnu@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-linux-arm64-gnu@npm:14.2.15" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-linux-arm64-musl@npm:14.1.0" +"@next/swc-linux-arm64-musl@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-linux-arm64-musl@npm:14.2.15" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-linux-x64-gnu@npm:14.1.0" +"@next/swc-linux-x64-gnu@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-linux-x64-gnu@npm:14.2.15" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-linux-x64-musl@npm:14.1.0" +"@next/swc-linux-x64-musl@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-linux-x64-musl@npm:14.2.15" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-win32-arm64-msvc@npm:14.1.0" +"@next/swc-win32-arm64-msvc@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-win32-arm64-msvc@npm:14.2.15" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-win32-ia32-msvc@npm:14.1.0" +"@next/swc-win32-ia32-msvc@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-win32-ia32-msvc@npm:14.2.15" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:14.1.0": - version: 14.1.0 - resolution: "@next/swc-win32-x64-msvc@npm:14.1.0" +"@next/swc-win32-x64-msvc@npm:14.2.15": + version: 14.2.15 + resolution: "@next/swc-win32-x64-msvc@npm:14.2.15" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -5272,12 +5007,20 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:0.5.2": - version: 0.5.2 - resolution: "@swc/helpers@npm:0.5.2" +"@swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: df8f9cfba9904d3d60f511664c70d23bb323b3a0803ec9890f60133954173047ba9bdeabce28cd70ba89ccd3fd6c71c7b0bd58be85f611e1ffbe5d5c18616598 + languageName: node + linkType: hard + +"@swc/helpers@npm:0.5.5": + version: 0.5.5 + resolution: "@swc/helpers@npm:0.5.5" dependencies: + "@swc/counter": ^0.1.3 tslib: ^2.4.0 - checksum: 51d7e3d8bd56818c49d6bfbd715f0dbeedc13cf723af41166e45c03e37f109336bbcb57a1f2020f4015957721aeb21e1a7fff281233d797ff7d3dd1f447fa258 + checksum: d4f207b191e54b29460804ddf2984ba6ece1d679a0b2f6a9c765dcf27bba92c5769e7965668a4546fb9f1021eaf0ff9be4bf5c235ce12adcd65acdfe77187d11 languageName: node linkType: hard @@ -5456,16 +5199,7 @@ __metadata: languageName: node linkType: hard -"@types/connect@npm:*": - version: 3.4.35 - resolution: "@types/connect@npm:3.4.35" - dependencies: - "@types/node": "*" - checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 - languageName: node - linkType: hard - -"@types/connect@npm:3.4.36": +"@types/connect@npm:*, @types/connect@npm:3.4.36": version: 3.4.36 resolution: "@types/connect@npm:3.4.36" dependencies: @@ -5600,7 +5334,7 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:^4.16.1": +"@types/express@npm:^4.16.1, @types/express@npm:^4.7.0": version: 4.17.21 resolution: "@types/express@npm:4.17.21" dependencies: @@ -5612,18 +5346,6 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:^4.7.0": - version: 4.17.17 - resolution: "@types/express@npm:4.17.17" - dependencies: - "@types/body-parser": "*" - "@types/express-serve-static-core": ^4.17.33 - "@types/qs": "*" - "@types/serve-static": "*" - checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da - languageName: node - linkType: hard - "@types/find-cache-dir@npm:^3.2.1": version: 3.2.1 resolution: "@types/find-cache-dir@npm:3.2.1" @@ -5789,21 +5511,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 20.4.0 - resolution: "@types/node@npm:20.4.0" - checksum: 8ad632ee131611651fc5f4ac3a47427640e2492ab314fe1c4d0c3b97af71784ef48c53221d5f9922aab4724375dcb4f33137b3107ba2c356d9366216a31678aa - languageName: node - linkType: hard - -"@types/node@npm:20.3.3": - version: 20.3.3 - resolution: "@types/node@npm:20.3.3" - checksum: 7a0d00800451ca8cd8df63a8cc218c697edadb3143bf46cd6afeb974542a6a1665c3679459be0016c29216ccfed6616b7e55851747527dfa71c5608d9157528c - languageName: node - linkType: hard - -"@types/node@npm:>=10.0.0": +"@types/node@npm:*, @types/node@npm:>=10.0.0, @types/node@npm:>=12, @types/node@npm:>=12.0.0, @types/node@npm:>=18.0.0": version: 20.14.9 resolution: "@types/node@npm:20.14.9" dependencies: @@ -5812,12 +5520,10 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:>=12, @types/node@npm:>=12.0.0, @types/node@npm:>=18.0.0": - version: 20.9.0 - resolution: "@types/node@npm:20.9.0" - dependencies: - undici-types: ~5.26.4 - checksum: bfd927da6bff8a32051fa44bb47ca32a56d2c8bc8ba0170770f181cc1fa3c0b05863c9b930f0ba8604a48d5eb0d319166601709ca53bf2deae0025d8b6c6b8a3 +"@types/node@npm:20.3.3": + version: 20.3.3 + resolution: "@types/node@npm:20.3.3" + checksum: 7a0d00800451ca8cd8df63a8cc218c697edadb3143bf46cd6afeb974542a6a1665c3679459be0016c29216ccfed6616b7e55851747527dfa71c5608d9157528c languageName: node linkType: hard @@ -5924,18 +5630,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:>=16": - version: 18.2.14 - resolution: "@types/react@npm:18.2.14" - dependencies: - "@types/prop-types": "*" - "@types/scheduler": "*" - csstype: ^3.0.2 - checksum: a6a5e8cc78f486b9020d1ad009aa6c56943c68c7c6376e0f8399e9cbcd950b7b8f5d73f00200f5379f5e58d31d57d8aed24357f301d8e86108cd438ce6c8b3dd - languageName: node - linkType: hard - -"@types/react@npm:^18.2.34": +"@types/react@npm:*, @types/react@npm:>=16, @types/react@npm:^18.2.34": version: 18.2.34 resolution: "@types/react@npm:18.2.34" dependencies: @@ -6097,6 +5792,24 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/parser@npm:^8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/parser@npm:8.8.1" + dependencies: + "@typescript-eslint/scope-manager": 8.8.1 + "@typescript-eslint/types": 8.8.1 + "@typescript-eslint/typescript-estree": 8.8.1 + "@typescript-eslint/visitor-keys": 8.8.1 + debug: ^4.3.4 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: d3b6d5549533a09826a1b13be281c9af2d222bd41087d9bdafffe6db0cd65c74dba2a799486cb4d42b39c114eee734f989b13966a1d84a42c453701ed4da5095 + languageName: node + linkType: hard + "@typescript-eslint/scope-manager@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/scope-manager@npm:5.62.0" @@ -6127,6 +5840,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/scope-manager@npm:8.8.1" + dependencies: + "@typescript-eslint/types": 8.8.1 + "@typescript-eslint/visitor-keys": 8.8.1 + checksum: 08527c75ac99192d86e4c93bf3c0628f0ec63f2337a4f7e7f9fab17a6a37b396dc1a3589ea291fcdd0f2c7c0874b4d18e16ace977e16234b4bcc27926796ea4d + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:6.0.0": version: 6.0.0 resolution: "@typescript-eslint/type-utils@npm:6.0.0" @@ -6165,6 +5888,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/types@npm:8.8.1" + checksum: 271d0dc55743d63e038c1476b47aee28db96029138bd1ace5cd16a12e1c32819b3fa0e53a9a26fd548e463ed6cdb3caf4dfd643cb7c7fc2004a624efd6e9d17e + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:5.62.0": version: 5.62.0 resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" @@ -6219,6 +5949,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.8.1" + dependencies: + "@typescript-eslint/types": 8.8.1 + "@typescript-eslint/visitor-keys": 8.8.1 + debug: ^4.3.4 + fast-glob: ^3.3.2 + is-glob: ^4.0.3 + minimatch: ^9.0.4 + semver: ^7.6.0 + ts-api-utils: ^1.3.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 893795fd562da8babcf6eca36e1ea1a39920200dbd15e826120a3482458be6648f0d138c71c4c840aded0feb7528272c0b9033d57fba978756a6d2730cec5ca6 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:6.0.0": version: 6.0.0 resolution: "@typescript-eslint/utils@npm:6.0.0" @@ -6285,6 +6034,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.8.1": + version: 8.8.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.8.1" + dependencies: + "@typescript-eslint/types": 8.8.1 + eslint-visitor-keys: ^3.4.3 + checksum: c5861ae79fb3f190e7882dcdf7735799249c73804f0e52e2ac5a5000bc33cbc44c4e3a0800db7aa8d5ee5c43393495eec7a7c7c963ceafc122e8472b479b32f5 + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5": version: 1.11.6 resolution: "@webassemblyjs/ast@npm:1.11.6" @@ -6537,16 +6296,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.2": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d - languageName: node - linkType: hard - -"acorn@npm:^8.8.1": +"acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -6555,15 +6305,6 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.9.0": - version: 8.9.0 - resolution: "acorn@npm:8.9.0" - bin: - acorn: bin/acorn - checksum: 25dfb94952386ecfb847e61934de04a4e7c2dc21c2e700fc4e2ef27ce78cb717700c4c4f279cd630bb4774948633c3859fc16063ec8573bda4568e0a312e6744 - languageName: node - linkType: hard - "address@npm:^1.0.1": version: 1.2.2 resolution: "address@npm:1.2.2" @@ -6857,13 +6598,13 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "array-buffer-byte-length@npm:1.0.0" +"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "array-buffer-byte-length@npm:1.0.1" dependencies: - call-bind: ^1.0.2 - is-array-buffer: ^3.0.1 - checksum: 044e101ce150f4804ad19c51d6c4d4cfa505c5b2577bd179256e4aa3f3f6a0a5e9874c78cd428ee566ac574c8a04d7ce21af9fe52e844abfdccb82b33035a7c3 + call-bind: ^1.0.5 + is-array-buffer: ^3.0.4 + checksum: 53524e08f40867f6a9f35318fafe467c32e45e9c682ba67b11943e167344d2febc0f6977a17e699b05699e805c3e8f073d876f8bbf1b559ed494ad2cd0fae09e languageName: node linkType: hard @@ -6874,16 +6615,17 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.6": - version: 3.1.6 - resolution: "array-includes@npm:3.1.6" +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": + version: 3.1.8 + resolution: "array-includes@npm:3.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.3 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.4 is-string: ^1.0.7 - checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 + checksum: eb39ba5530f64e4d8acab39297c11c1c5be2a4ea188ab2b34aba5fb7224d918f77717a9d57a3e2900caaa8440e59431bdaf5c974d5212ef65d97f132e38e2d91 languageName: node linkType: hard @@ -6894,6 +6636,20 @@ __metadata: languageName: node linkType: hard +"array.prototype.findlast@npm:^1.2.5": + version: 1.2.5 + resolution: "array.prototype.findlast@npm:1.2.5" + dependencies: + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + es-shim-unscopables: ^1.0.2 + checksum: 83ce4ad95bae07f136d316f5a7c3a5b911ac3296c3476abe60225bc4a17938bf37541972fcc37dd5adbc99cbb9c928c70bbbfc1c1ce549d41a415144030bb446 + languageName: node + linkType: hard + "array.prototype.findlastindex@npm:^1.2.2": version: 1.2.3 resolution: "array.prototype.findlastindex@npm:1.2.3" @@ -6919,15 +6675,15 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flatmap@npm:1.3.1" +"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 es-shim-unscopables: ^1.0.0 - checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 + checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 languageName: node linkType: hard @@ -6944,31 +6700,32 @@ __metadata: languageName: node linkType: hard -"array.prototype.tosorted@npm:^1.1.1": - version: 1.1.1 - resolution: "array.prototype.tosorted@npm:1.1.1" +"array.prototype.tosorted@npm:^1.1.4": + version: 1.1.4 + resolution: "array.prototype.tosorted@npm:1.1.4" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - es-shim-unscopables: ^1.0.0 - get-intrinsic: ^1.1.3 - checksum: 7923324a67e70a2fc0a6e40237405d92395e45ebd76f5cb89c2a5cf1e66b47aca6baacd0cd628ffd88830b90d47fff268071493d09c9ae123645613dac2c2ca3 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.3 + es-errors: ^1.3.0 + es-shim-unscopables: ^1.0.2 + checksum: e4142d6f556bcbb4f393c02e7dbaea9af8f620c040450c2be137c9cbbd1a17f216b9c688c5f2c08fbb038ab83f55993fa6efdd9a05881d84693c7bcb5422127a languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.2": - version: 1.0.2 - resolution: "arraybuffer.prototype.slice@npm:1.0.2" +"arraybuffer.prototype.slice@npm:^1.0.3": + version: 1.0.3 + resolution: "arraybuffer.prototype.slice@npm:1.0.3" dependencies: - array-buffer-byte-length: ^1.0.0 - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - get-intrinsic: ^1.2.1 - is-array-buffer: ^3.0.2 + array-buffer-byte-length: ^1.0.1 + call-bind: ^1.0.5 + define-properties: ^1.2.1 + es-abstract: ^1.22.3 + es-errors: ^1.2.1 + get-intrinsic: ^1.2.3 + is-array-buffer: ^3.0.4 is-shared-array-buffer: ^1.0.2 - checksum: c200faf437786f5b2c80d4564ff5481c886a16dee642ef02abdc7306c7edd523d1f01d1dd12b769c7eb42ac9bc53874510db19a92a2c035c0f6696172aafa5d3 + checksum: 352259cba534dcdd969c92ab002efd2ba5025b2e3b9bead3973150edbdf0696c629d7f4b3f061c5931511e8207bdc2306da614703c820b45dabce39e3daf7e3e languageName: node linkType: hard @@ -7044,15 +6801,6 @@ __metadata: languageName: node linkType: hard -"asynciterator.prototype@npm:^1.0.0": - version: 1.0.0 - resolution: "asynciterator.prototype@npm:1.0.0" - dependencies: - has-symbols: ^1.0.3 - checksum: e8ebfd9493ac651cf9b4165e9d64030b3da1d17181bb1963627b59e240cdaf021d9b59d44b827dc1dde4e22387ec04c2d0f8720cf58a1c282e34e40cc12721b3 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -7078,10 +6826,12 @@ __metadata: languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.5": - version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" + dependencies: + possible-typed-array-names: ^1.0.0 + checksum: 1aa3ffbfe6578276996de660848b6e95669d9a95ad149e3dd0c0cda77db6ee1dbd9d1dd723b65b6d277b882dd0c4b91a654ae9d3cf9e1254b7e93e4908d78fd3 languageName: node linkType: hard @@ -7501,21 +7251,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.5, browserslist@npm:^4.21.9": - version: 4.21.9 - resolution: "browserslist@npm:4.21.9" - dependencies: - caniuse-lite: ^1.0.30001503 - electron-to-chromium: ^1.4.431 - node-releases: ^2.0.12 - update-browserslist-db: ^1.0.11 - bin: - browserslist: cli.js - checksum: 80d3820584e211484ad1b1a5cfdeca1dd00442f47be87e117e1dda34b628c87e18b81ae7986fa5977b3e6a03154f6d13cd763baa6b8bf5dd9dd19f4926603698 - languageName: node - linkType: hard - -"browserslist@npm:^4.23.1": +"browserslist@npm:^4.14.5, browserslist@npm:^4.21.5, browserslist@npm:^4.21.9, browserslist@npm:^4.23.1": version: 4.23.3 resolution: "browserslist@npm:4.23.3" dependencies: @@ -7677,13 +7413,16 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + set-function-length: ^1.2.1 + checksum: 295c0c62b90dd6522e6db3b0ab1ce26bdf9e7404215bda13cfee25b626b5ff1a7761324d58d38b1ef1607fc65aca2d06e44d2e18d0dfc6c14b465b00d8660029 languageName: node linkType: hard @@ -7718,7 +7457,7 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001503, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646": +"caniuse-lite@npm:^1.0.30001464, caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001646": version: 1.0.30001655 resolution: "caniuse-lite@npm:1.0.30001655" checksum: 3739c8f6d0fb55cff3c631d28c4fdafc81ab28756ce17a373428042c06f84a5877288d89fbe41be5ac494dd5092dca38ab91c9304e81935b9f2938419d2c23b3 @@ -7759,7 +7498,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.0.0, chalk@npm:^2.4.2": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -8212,14 +7951,7 @@ __metadata: languageName: node linkType: hard -"core-js-pure@npm:^3.23.3": - version: 3.31.1 - resolution: "core-js-pure@npm:3.31.1" - checksum: 93c3dd28471755cb81ec4828f5617bd32a7c682295d88671534a6733a0d41dae9e28f8f8000ddd1f1e597a3bec4602db5f906a03c9ba1a360534f7ae2519db7c - languageName: node - linkType: hard - -"core-js-pure@npm:^3.33.0": +"core-js-pure@npm:^3.23.3, core-js-pure@npm:^3.33.0": version: 3.33.0 resolution: "core-js-pure@npm:3.33.0" checksum: d47084a4de9a0cef9779eccd3ac9f435cf9fd7aa71794150cd4c6b305036bcc392d94766d4a7b6456bdd08faba7752d55c2ec40185bda161c3563081c9fa1e17 @@ -8417,6 +8149,39 @@ __metadata: languageName: node linkType: hard +"data-view-buffer@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-buffer@npm:1.0.1" + dependencies: + call-bind: ^1.0.6 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: ce24348f3c6231223b216da92e7e6a57a12b4af81a23f27eff8feabdf06acfb16c00639c8b705ca4d167f761cfc756e27e5f065d0a1f840c10b907fdaf8b988c + languageName: node + linkType: hard + +"data-view-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-length@npm:1.0.1" + dependencies: + call-bind: ^1.0.7 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: dbb3200edcb7c1ef0d68979834f81d64fd8cab2f7691b3a4c6b97e67f22182f3ec2c8602efd7b76997b55af6ff8bce485829c1feda4fa2165a6b71fb7baa4269 + languageName: node + linkType: hard + +"data-view-byte-offset@npm:^1.0.0": + version: 1.0.0 + resolution: "data-view-byte-offset@npm:1.0.0" + dependencies: + call-bind: ^1.0.6 + es-errors: ^1.3.0 + is-data-view: ^1.0.1 + checksum: 7f0bf8720b7414ca719eedf1846aeec392f2054d7af707c5dc9a753cc77eb8625f067fa901e0b5127e831f9da9056138d894b9c2be79c27a21f6db5824f009c2 + languageName: node + linkType: hard + "date-fns@npm:^2.30.0": version: 2.30.0 resolution: "date-fns@npm:2.30.0" @@ -8442,48 +8207,36 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" +"debug@npm:4, debug@npm:^4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": + version: 4.3.6 + resolution: "debug@npm:4.3.6" dependencies: ms: 2.1.2 peerDependenciesMeta: supports-color: optional: true - checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: ^2.1.1 - checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + checksum: 1630b748dea3c581295e02137a9f5cbe2c1d85fea35c1e6597a65ca2b16a6fce68cec61b299d480787ef310ba927dc8c92d3061faba0ad06c6a724672f66be7f languageName: node linkType: hard -"debug@npm:^4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": - version: 4.3.5 - resolution: "debug@npm:4.3.5" +"debug@npm:4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" dependencies: ms: 2.1.2 peerDependenciesMeta: supports-color: optional: true - checksum: 7c002b51e256257f936dda09eb37167df952758c57badf6bf44bdc40b89a4bcb8e5a0a2e4c7b53f97c69e2970dd5272d33a757378a12c8f8e64ea7bf99e8e86e + checksum: 3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708 languageName: node linkType: hard -"debug@npm:^4.3.1, debug@npm:^4.3.5": - version: 4.3.6 - resolution: "debug@npm:4.3.6" +"debug@npm:^3.2.7": + version: 3.2.7 + resolution: "debug@npm:3.2.7" dependencies: - ms: 2.1.2 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 1630b748dea3c581295e02137a9f5cbe2c1d85fea35c1e6597a65ca2b16a6fce68cec61b299d480787ef310ba927dc8c92d3061faba0ad06c6a724672f66be7f + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c languageName: node linkType: hard @@ -8581,14 +8334,14 @@ __metadata: languageName: node linkType: hard -"define-data-property@npm:^1.0.1": - version: 1.1.0 - resolution: "define-data-property@npm:1.1.0" +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" dependencies: - get-intrinsic: ^1.2.1 + es-define-property: ^1.0.0 + es-errors: ^1.3.0 gopd: ^1.0.1 - has-property-descriptors: ^1.0.0 - checksum: 7ad4ee84cca8ad427a4831f5693526804b62ce9dfd4efac77214e95a4382aed930072251d4075dc8dc9fc949a353ed51f19f5285a84a788ba9216cc51472a093 + checksum: 8068ee6cab694d409ac25936eb861eea704b7763f7f342adbdfe337fc27c78d7ae0eff2364b2917b58c508d723c7a074326d068eef2e45c4edcd85cf94d0313b languageName: node linkType: hard @@ -8606,17 +8359,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" - dependencies: - has-property-descriptors: ^1.0.0 - object-keys: ^1.1.1 - checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 - languageName: node - linkType: hard - -"define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -8899,14 +8642,7 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^16.0.0": - version: 16.3.1 - resolution: "dotenv@npm:16.3.1" - checksum: 15d75e7279018f4bafd0ee9706593dd14455ddb71b3bcba9c52574460b7ccaf67d5cf8b2c08a5af1a9da6db36c956a04a1192b101ee102a3e0cf8817bbcf3dfd - languageName: node - linkType: hard - -"dotenv@npm:^16.3.1": +"dotenv@npm:^16.0.0, dotenv@npm:^16.3.1, dotenv@npm:^16.4.5": version: 16.4.5 resolution: "dotenv@npm:16.4.5" checksum: 301a12c3d44fd49888b74eb9ccf9f07a1f5df43f489e7fcb89647a2edcd84c42d6bc349dc8df099cd18f07c35c7b04685c1a4f3e6a6a9e6b30f8d48c15b7f49c @@ -8959,13 +8695,6 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.431": - version: 1.4.457 - resolution: "electron-to-chromium@npm:1.4.457" - checksum: 5840a25776e77f3769cfdb2e5250e5f5a27d350c373efd323e38ff4763a0375e512447da4477dd887d56df7b12e360d91484af592ac3e61c969ee52d9aaf7249 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.5.4": version: 1.5.7 resolution: "electron-to-chromium@npm:1.5.7" @@ -9148,92 +8877,57 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4": - version: 1.21.2 - resolution: "es-abstract@npm:1.21.2" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.20.4, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": + version: 1.23.3 + resolution: "es-abstract@npm:1.23.3" dependencies: - array-buffer-byte-length: ^1.0.0 - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - es-set-tostringtag: ^2.0.1 - es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.2.0 - get-symbol-description: ^1.0.0 - globalthis: ^1.0.3 - gopd: ^1.0.1 - has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 - has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - is-array-buffer: ^3.0.2 - is-callable: ^1.2.7 - is-negative-zero: ^2.0.2 - is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 - is-string: ^1.0.7 - is-typed-array: ^1.1.10 - is-weakref: ^1.0.2 - object-inspect: ^1.12.3 - object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.4.3 - safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.7 - string.prototype.trimend: ^1.0.6 - string.prototype.trimstart: ^1.0.6 - typed-array-length: ^1.0.4 - unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.9 - checksum: 037f55ee5e1cdf2e5edbab5524095a4f97144d95b94ea29e3611b77d852fd8c8a40e7ae7101fa6a759a9b9b1405f188c3c70928f2d3cd88d543a07fc0d5ad41a - languageName: node - linkType: hard - -"es-abstract@npm:^1.22.1": - version: 1.22.2 - resolution: "es-abstract@npm:1.22.2" - dependencies: - array-buffer-byte-length: ^1.0.0 - arraybuffer.prototype.slice: ^1.0.2 - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - es-set-tostringtag: ^2.0.1 + array-buffer-byte-length: ^1.0.1 + arraybuffer.prototype.slice: ^1.0.3 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.7 + data-view-buffer: ^1.0.1 + data-view-byte-length: ^1.0.1 + data-view-byte-offset: ^1.0.0 + es-define-property: ^1.0.0 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + es-set-tostringtag: ^2.0.3 es-to-primitive: ^1.2.1 function.prototype.name: ^1.1.6 - get-intrinsic: ^1.2.1 - get-symbol-description: ^1.0.0 + get-intrinsic: ^1.2.4 + get-symbol-description: ^1.0.2 globalthis: ^1.0.3 gopd: ^1.0.1 - has: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 + has-property-descriptors: ^1.0.2 + has-proto: ^1.0.3 has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - is-array-buffer: ^3.0.2 + hasown: ^2.0.2 + internal-slot: ^1.0.7 + is-array-buffer: ^3.0.4 is-callable: ^1.2.7 - is-negative-zero: ^2.0.2 + is-data-view: ^1.0.1 + is-negative-zero: ^2.0.3 is-regex: ^1.1.4 - is-shared-array-buffer: ^1.0.2 + is-shared-array-buffer: ^1.0.3 is-string: ^1.0.7 - is-typed-array: ^1.1.12 + is-typed-array: ^1.1.13 is-weakref: ^1.0.2 - object-inspect: ^1.12.3 + object-inspect: ^1.13.1 object-keys: ^1.1.1 - object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.1 - safe-array-concat: ^1.0.1 - safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.8 - string.prototype.trimend: ^1.0.7 - string.prototype.trimstart: ^1.0.7 - typed-array-buffer: ^1.0.0 - typed-array-byte-length: ^1.0.0 - typed-array-byte-offset: ^1.0.0 - typed-array-length: ^1.0.4 + object.assign: ^4.1.5 + regexp.prototype.flags: ^1.5.2 + safe-array-concat: ^1.1.2 + safe-regex-test: ^1.0.3 + string.prototype.trim: ^1.2.9 + string.prototype.trimend: ^1.0.8 + string.prototype.trimstart: ^1.0.8 + typed-array-buffer: ^1.0.2 + typed-array-byte-length: ^1.0.1 + typed-array-byte-offset: ^1.0.2 + typed-array-length: ^1.0.6 unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.11 - checksum: cc70e592d360d7d729859013dee7a610c6b27ed8630df0547c16b0d16d9fe6505a70ee14d1af08d970fdd132b3f88c9ca7815ce72c9011608abf8ab0e55fc515 + which-typed-array: ^1.1.15 + checksum: f840cf161224252512f9527306b57117192696571e07920f777cb893454e32999206198b4f075516112af6459daca282826d1735c450528470356d09eff3a9ae languageName: node linkType: hard @@ -9244,6 +8938,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: ^1.2.4 + checksum: f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: ec1414527a0ccacd7f15f4a3bc66e215f04f595ba23ca75cdae0927af099b5ec865f9f4d33e9d7e86f512f252876ac77d4281a7871531a50678132429b1271b5 + languageName: node + linkType: hard + "es-get-iterator@npm:^1.0.2, es-get-iterator@npm:^1.1.3": version: 1.1.3 resolution: "es-get-iterator@npm:1.1.3" @@ -9261,25 +8971,25 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.12": - version: 1.0.15 - resolution: "es-iterator-helpers@npm:1.0.15" +"es-iterator-helpers@npm:^1.0.19": + version: 1.1.0 + resolution: "es-iterator-helpers@npm:1.1.0" dependencies: - asynciterator.prototype: ^1.0.0 - call-bind: ^1.0.2 + call-bind: ^1.0.7 define-properties: ^1.2.1 - es-abstract: ^1.22.1 - es-set-tostringtag: ^2.0.1 - function-bind: ^1.1.1 - get-intrinsic: ^1.2.1 - globalthis: ^1.0.3 - has-property-descriptors: ^1.0.0 - has-proto: ^1.0.1 + es-abstract: ^1.23.3 + es-errors: ^1.3.0 + es-set-tostringtag: ^2.0.3 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + globalthis: ^1.0.4 + has-property-descriptors: ^1.0.2 + has-proto: ^1.0.3 has-symbols: ^1.0.3 - internal-slot: ^1.0.5 - iterator.prototype: ^1.1.2 - safe-array-concat: ^1.0.1 - checksum: 50081ae5c549efe62e5c1d244df0194b40b075f7897fc2116b7e1aa437eb3c41f946d2afda18c33f9b31266ec544765932542765af839f76fa6d7b7855d1e0e1 + internal-slot: ^1.0.7 + iterator.prototype: ^1.1.3 + safe-array-concat: ^1.1.2 + checksum: 4ba3a32ab7ba05b85f0ae30604feeb8ffd801fe762e9df9577bd220a96b9eaa2e90af8e6bdc498e523051f293955e2f7d2bddd34de71e1428a1b8ff3fd961016 languageName: node linkType: hard @@ -9290,23 +9000,32 @@ __metadata: languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.1": - version: 2.0.1 - resolution: "es-set-tostringtag@npm:2.0.1" +"es-object-atoms@npm:^1.0.0": + version: 1.0.0 + resolution: "es-object-atoms@npm:1.0.0" dependencies: - get-intrinsic: ^1.1.3 - has: ^1.0.3 - has-tostringtag: ^1.0.0 - checksum: ec416a12948cefb4b2a5932e62093a7cf36ddc3efd58d6c58ca7ae7064475ace556434b869b0bbeb0c365f1032a8ccd577211101234b69837ad83ad204fff884 + es-errors: ^1.3.0 + checksum: 26f0ff78ab93b63394e8403c353842b2272836968de4eafe97656adfb8a7c84b9099bf0fe96ed58f4a4cddc860f6e34c77f91649a58a5daa4a9c40b902744e3c languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0": - version: 1.0.0 - resolution: "es-shim-unscopables@npm:1.0.0" +"es-set-tostringtag@npm:^2.0.3": + version: 2.0.3 + resolution: "es-set-tostringtag@npm:2.0.3" dependencies: - has: ^1.0.3 - checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1 + get-intrinsic: ^1.2.4 + has-tostringtag: ^1.0.2 + hasown: ^2.0.1 + checksum: 7227fa48a41c0ce83e0377b11130d324ac797390688135b8da5c28994c0165be8b252e15cd1de41e1325e5a5412511586960213e88f9ab4a5e7d028895db5129 + languageName: node + linkType: hard + +"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": + version: 1.0.2 + resolution: "es-shim-unscopables@npm:1.0.2" + dependencies: + hasown: ^2.0.0 + checksum: 432bd527c62065da09ed1d37a3f8e623c423683285e6188108286f4a1e8e164a5bcbfbc0051557c7d14633cd2a41ce24c7048e6bbb66a985413fd32f1be72626 languageName: node linkType: hard @@ -9503,14 +9222,7 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.1.1 - resolution: "escalade@npm:3.1.1" - checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 - languageName: node - linkType: hard - -"escalade@npm:^3.1.2": +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": version: 3.1.2 resolution: "escalade@npm:3.1.2" checksum: 1ec0977aa2772075493002bdbd549d595ff6e9393b1cb0d7d6fcaf78c750da0c158f180938365486f75cb69fba20294351caddfce1b46552a7b6c3cde52eaa02 @@ -9694,29 +9406,31 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.33.2": - version: 7.33.2 - resolution: "eslint-plugin-react@npm:7.33.2" +"eslint-plugin-react@npm:^7.33.2, eslint-plugin-react@npm:^7.37.1": + version: 7.37.1 + resolution: "eslint-plugin-react@npm:7.37.1" dependencies: - array-includes: ^3.1.6 - array.prototype.flatmap: ^1.3.1 - array.prototype.tosorted: ^1.1.1 + array-includes: ^3.1.8 + array.prototype.findlast: ^1.2.5 + array.prototype.flatmap: ^1.3.2 + array.prototype.tosorted: ^1.1.4 doctrine: ^2.1.0 - es-iterator-helpers: ^1.0.12 + es-iterator-helpers: ^1.0.19 estraverse: ^5.3.0 + hasown: ^2.0.2 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.6 - object.fromentries: ^2.0.6 - object.hasown: ^1.1.2 - object.values: ^1.1.6 + object.entries: ^1.1.8 + object.fromentries: ^2.0.8 + object.values: ^1.2.0 prop-types: ^15.8.1 - resolve: ^2.0.0-next.4 + resolve: ^2.0.0-next.5 semver: ^6.3.1 - string.prototype.matchall: ^4.0.8 + string.prototype.matchall: ^4.0.11 + string.prototype.repeat: ^1.0.0 peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: b4c3d76390b0ae6b6f9fed78170604cc2c04b48e6778a637db339e8e3911ec9ef22510b0ae77c429698151d0f1b245f282177f384105b6830e7b29b9c9b26610 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + checksum: 22d1bdf0dd4cdbf8c57ce563c58d43c5f5e1da0b08d27d0a69d7126d9e8afcb74a5befae97dab4019b4c6029ae617b6a0af1709cb9e0439d5757b01b392d2ca7 languageName: node linkType: hard @@ -9734,6 +9448,19 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-unused-imports@npm:^4.1.4": + version: 4.1.4 + resolution: "eslint-plugin-unused-imports@npm:4.1.4" + peerDependencies: + "@typescript-eslint/eslint-plugin": ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + checksum: 1f4ce3e3972699345513840f3af1b783033dbc3a3e85b62ce12b3f6a89fd8c92afe46d0c00af40bacb14465445983ba0ccc326a6fd5132553061fb0e47bcba19 + languageName: node + linkType: hard + "eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" @@ -9754,10 +9481,10 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1": - version: 3.4.1 - resolution: "eslint-visitor-keys@npm:3.4.1" - checksum: f05121d868202736b97de7d750847a328fcfa8593b031c95ea89425333db59676ac087fa905eba438d0a3c5769632f828187e0c1a0d271832a2153c1d3661c2c +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60 languageName: node linkType: hard @@ -10080,16 +9807,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9": - version: 3.3.0 - resolution: "fast-glob@npm:3.3.0" +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" dependencies: "@nodelib/fs.stat": ^2.0.2 "@nodelib/fs.walk": ^1.2.3 glob-parent: ^5.1.2 merge2: ^1.3.0 micromatch: ^4.0.4 - checksum: 20df62be28eb5426fe8e40e0d05601a63b1daceb7c3d87534afcad91bdcf1e4b1743cf2d5247d6e225b120b46df0b9053a032b2691ba34ee121e033acd81f547 + checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 languageName: node linkType: hard @@ -10518,17 +10245,7 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" - dependencies: - node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@npm:~2.3.3": +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -10538,16 +10255,7 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" - dependencies: - node-gyp: latest - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@~2.3.3#~builtin": +"fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin, fsevents@patch:fsevents@~2.3.3#~builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -10556,26 +10264,14 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a - languageName: node - linkType: hard - -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": version: 1.1.6 resolution: "function.prototype.name@npm:1.1.6" dependencies: @@ -10587,7 +10283,7 @@ __metadata: languageName: node linkType: hard -"functions-have-names@npm:^1.2.2, functions-have-names@npm:^1.2.3": +"functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 @@ -10670,15 +10366,16 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": - version: 1.2.1 - resolution: "get-intrinsic@npm:1.2.1" +"get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + es-errors: ^1.3.0 + function-bind: ^1.1.2 has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 5b61d88552c24b0cf6fa2d1b3bc5459d7306f699de060d76442cce49a4721f52b8c560a33ab392cf5575b7810277d54ded9d4d39a1ea61855619ebc005aa7e5f + hasown: ^2.0.0 + checksum: 414e3cdf2c203d1b9d7d33111df746a4512a1aa622770b361dadddf8ed0b5aeb26c560f49ca077e24bfafb0acb55ca908d1f709216ccba33ffc548ec8a79a951 languageName: node linkType: hard @@ -10724,26 +10421,18 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.0": - version: 1.0.0 - resolution: "get-symbol-description@npm:1.0.0" - dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.1 - checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247 - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.5.0": - version: 4.6.2 - resolution: "get-tsconfig@npm:4.6.2" +"get-symbol-description@npm:^1.0.2": + version: 1.0.2 + resolution: "get-symbol-description@npm:1.0.2" dependencies: - resolve-pkg-maps: ^1.0.0 - checksum: e791e671a9b55e91efea3ca819ecd7a25beae679e31c83234bf3dd62ddd93df070c1b95ae7e29d206358ebb6408f6f79ac6d83a32a3bbd6a6d217babe23de077 + call-bind: ^1.0.5 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + checksum: e1cb53bc211f9dbe9691a4f97a46837a553c4e7caadd0488dc24ac694db8a390b93edd412b48dcdd0b4bbb4c595de1709effc75fc87c0839deedc6968f5bd973 languageName: node linkType: hard -"get-tsconfig@npm:^4.7.5": +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.5": version: 4.7.5 resolution: "get-tsconfig@npm:4.7.5" dependencies: @@ -10848,22 +10537,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2": - version: 10.3.3 - resolution: "glob@npm:10.3.3" - dependencies: - foreground-child: ^3.1.0 - jackspeak: ^2.0.3 - minimatch: ^9.0.1 - minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - path-scurry: ^1.10.1 - bin: - glob: dist/cjs/src/bin.js - checksum: 29190d3291f422da0cb40b77a72fc8d2c51a36524e99b8bf412548b7676a6627489528b57250429612b6eec2e6fe7826d328451d3e694a9d15e575389308ec53 - languageName: node - linkType: hard - -"glob@npm:^10.4.1": +"glob@npm:^10.2.2, glob@npm:^10.4.1": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -10934,12 +10608,13 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" +"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - define-properties: ^1.1.3 - checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998 + define-properties: ^1.2.1 + gopd: ^1.0.1 + checksum: 39ad667ad9f01476474633a1834a70842041f70a55571e8dcef5fb957980a92da5022db5430fca8aecc5d47704ae30618c0bc877a579c70710c904e9ef06108a languageName: node linkType: hard @@ -11080,19 +10755,19 @@ __metadata: languageName: node linkType: hard -"has-property-descriptors@npm:^1.0.0": - version: 1.0.0 - resolution: "has-property-descriptors@npm:1.0.0" +"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" dependencies: - get-intrinsic: ^1.1.1 - checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb + es-define-property: ^1.0.0 + checksum: fcbb246ea2838058be39887935231c6d5788babed499d0e9d0cc5737494c48aba4fe17ba1449e0d0fbbb1e36175442faa37f9c427ae357d6ccb1d895fbcd3de3 languageName: node linkType: hard -"has-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "has-proto@npm:1.0.1" - checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e +"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: fe7c3d50b33f50f3933a04413ed1f69441d21d2d2944f81036276d30635cad9279f6b43bc8f32036c31ebdfcf6e731150f46c1907ad90c669ffe9b066c3ba5c4 languageName: node linkType: hard @@ -11103,12 +10778,12 @@ __metadata: languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0": - version: 1.0.0 - resolution: "has-tostringtag@npm:1.0.0" +"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" dependencies: - has-symbols: ^1.0.2 - checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c + has-symbols: ^1.0.3 + checksum: 999d60bb753ad714356b2c6c87b7fb74f32463b8426e159397da4bde5bca7e598ab1073f4d8d4deafac297f2eb311484cd177af242776bf05f0d11565680468d languageName: node linkType: hard @@ -11149,6 +10824,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: ^1.1.2 + checksum: e8516f776a15149ca6c6ed2ae3110c417a00b62260e222590e54aa367cbcd6ed99122020b37b7fbdf05748df57b265e70095d7bf35a47660587619b15ffb93db + languageName: node + linkType: hard + "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -11402,6 +11086,7 @@ __metadata: "@types/react-dom": ^18.2.14 "@types/ws": ^8.5.9 "@typescript-eslint/eslint-plugin": ^6.0.0 + "@typescript-eslint/parser": ^8.8.1 async: ^3.2.4 autoprefixer: ^10.4.14 base64-arraybuffer: ^1.0.2 @@ -11411,11 +11096,14 @@ __metadata: crypto: ^1.0.1 date-fns: ^2.30.0 dayjs: ^1.11.10 + dotenv: ^16.4.5 dotenv-cli: ^7.2.1 eslint: 8.44.0 eslint-config-next: ^14.1.0 eslint-config-prettier: ^8.8.0 + eslint-plugin-react: ^7.37.1 eslint-plugin-storybook: ^0.6.12 + eslint-plugin-unused-imports: ^4.1.4 fast-xml-parser: ^4.2.5 fetch-cookie: ^2.1.0 fs: ^0.0.1-security @@ -11427,18 +11115,19 @@ __metadata: lint-staged: ^15.2.0 lodash: ^4.17.21 lru-cache: ^10.0.0 - next: ^14.1.0 + next: ^14.2.15 nodemon: ^3.1.4 postcss: ^8.4.30 postcss-preset-mantine: ^1.7.0 postcss-simple-vars: ^7.0.1 prettier: ^3.0.3 + prettier-plugin-organize-imports: ^4.1.0 prettier-plugin-tailwindcss: ^0.4.0 prisma: ^5.8.1 prisma-json-types-generator: ^3.0.2 querystring: ^0.2.1 - react: 18.3.0-canary-7118f5dd7-20230705 - react-dom: 18.3.0-canary-7118f5dd7-20230705 + react: ^18.3.1 + react-dom: ^18.3.1 react-hook-form: ^7.45.1 react-icons: ^4.10.1 server-only: ^0.0.1 @@ -11674,14 +11363,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.3, internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.5": - version: 1.0.5 - resolution: "internal-slot@npm:1.0.5" +"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7": + version: 1.0.7 + resolution: "internal-slot@npm:1.0.7" dependencies: - get-intrinsic: ^1.2.0 - has: ^1.0.3 + es-errors: ^1.3.0 + hasown: ^2.0.0 side-channel: ^1.0.4 - checksum: 97e84046bf9e7574d0956bd98d7162313ce7057883b6db6c5c7b5e5f05688864b0978ba07610c726d15d66544ffe4b1050107d93f8a39ebc59b15d8b429b497a + checksum: cadc5eea5d7d9bc2342e93aae9f31f04c196afebb11bde97448327049f492cd7081e18623ae71388aac9cd237b692ca3a105be9c68ac39c1dec679d7409e33eb languageName: node linkType: hard @@ -11732,14 +11421,13 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2": - version: 3.0.2 - resolution: "is-array-buffer@npm:3.0.2" +"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4": + version: 3.0.4 + resolution: "is-array-buffer@npm:3.0.4" dependencies: call-bind: ^1.0.2 - get-intrinsic: ^1.2.0 - is-typed-array: ^1.1.10 - checksum: dcac9dda66ff17df9cabdc58214172bf41082f956eab30bb0d86bc0fab1e44b690fc8e1f855cf2481245caf4e8a5a006a982a71ddccec84032ed41f9d8da8c14 + get-intrinsic: ^1.2.1 + checksum: e4e3e6ef0ff2239e75371d221f74bc3c26a03564a22efb39f6bb02609b598917ddeecef4e8c877df2a25888f247a98198959842a5e73236bc7f22cabdf6351a7 languageName: node linkType: hard @@ -11801,21 +11489,21 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0, is-core-module@npm:^2.12.0, is-core-module@npm:^2.9.0": - version: 2.12.1 - resolution: "is-core-module@npm:2.12.1" +"is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0": + version: 2.13.0 + resolution: "is-core-module@npm:2.13.0" dependencies: has: ^1.0.3 - checksum: f04ea30533b5e62764e7b2e049d3157dc0abd95ef44275b32489ea2081176ac9746ffb1cdb107445cf1ff0e0dfcad522726ca27c27ece64dadf3795428b8e468 + checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 languageName: node linkType: hard -"is-core-module@npm:^2.13.0": - version: 2.13.0 - resolution: "is-core-module@npm:2.13.0" +"is-data-view@npm:^1.0.1": + version: 1.0.1 + resolution: "is-data-view@npm:1.0.1" dependencies: - has: ^1.0.3 - checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 + is-typed-array: ^1.1.13 + checksum: 4ba4562ac2b2ec005fefe48269d6bd0152785458cd253c746154ffb8a8ab506a29d0cfb3b74af87513843776a88e4981ae25c89457bf640a33748eab1a7216b5 languageName: node linkType: hard @@ -11966,10 +11654,10 @@ __metadata: languageName: node linkType: hard -"is-negative-zero@npm:^2.0.2": - version: 2.0.2 - resolution: "is-negative-zero@npm:2.0.2" - checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: c1e6b23d2070c0539d7b36022d5a94407132411d01aba39ec549af824231f3804b1aea90b5e4e58e807a65d23ceb538ed6e355ce76b267bdd86edb757ffcbdcd languageName: node linkType: hard @@ -12045,12 +11733,12 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "is-shared-array-buffer@npm:1.0.2" +"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "is-shared-array-buffer@npm:1.0.3" dependencies: - call-bind: ^1.0.2 - checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a + call-bind: ^1.0.7 + checksum: a4fff602c309e64ccaa83b859255a43bb011145a42d3f56f67d9268b55bc7e6d98a5981a1d834186ad3105d6739d21547083fe7259c76c0468483fc538e716d8 languageName: node linkType: hard @@ -12093,25 +11781,12 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": - version: 1.1.10 - resolution: "is-typed-array@npm:1.1.10" +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: aac6ecb59d4c56a1cdeb69b1f129154ef462bbffe434cb8a8235ca89b42f258b7ae94073c41b3cb7bce37f6a1733ad4499f07882d5d5093a7ba84dfc4ebb8017 - languageName: node - linkType: hard - -"is-typed-array@npm:^1.1.12": - version: 1.1.12 - resolution: "is-typed-array@npm:1.1.12" - dependencies: - which-typed-array: ^1.1.11 - checksum: 4c89c4a3be07186caddadf92197b17fda663a9d259ea0d44a85f171558270d36059d1c386d34a12cba22dfade5aba497ce22778e866adc9406098c8fc4771796 + which-typed-array: ^1.1.14 + checksum: 150f9ada183a61554c91e1c4290086d2c100b0dff45f60b028519be72a8db964da403c48760723bf5253979b8dffe7b544246e0e5351dcd05c5fdb1dcc1dc0f0 languageName: node linkType: hard @@ -12253,29 +11928,16 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.3": + version: 1.1.3 + resolution: "iterator.prototype@npm:1.1.3" dependencies: define-properties: ^1.2.1 get-intrinsic: ^1.2.1 has-symbols: ^1.0.3 reflect.getprototypeof: ^1.0.4 set-function-name: ^2.0.1 - checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 - languageName: node - linkType: hard - -"jackspeak@npm:^2.0.3": - version: 2.2.1 - resolution: "jackspeak@npm:2.2.1" - dependencies: - "@isaacs/cliui": ^8.0.2 - "@pkgjs/parseargs": ^0.11.0 - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: e29291c0d0f280a063fa18fbd1e891ab8c2d7519fd34052c0ebde38538a15c603140d60c2c7f432375ff7ee4c5f1c10daa8b2ae19a97c3d4affe308c8360c1df + checksum: 7d2a1f8bcbba7b76f72e956faaf7b25405f4de54430c9d099992e6fb9d571717c3044604e8cdfb8e624cb881337d648030ee8b1541d544af8b338835e3f47ebe languageName: node linkType: hard @@ -12945,14 +12607,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.0, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.0.0 - resolution: "lru-cache@npm:10.0.0" - checksum: 18f101675fe283bc09cda0ef1e3cc83781aeb8373b439f086f758d1d91b28730950db785999cd060d3c825a8571c03073e8c14512b6655af2188d623031baf50 - languageName: node - linkType: hard - -"lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.0.0, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 6476138d2125387a6d20f100608c2583d415a4f64a0fecf30c9e2dda976614f09cad4baa0842447bd37dd459a7bd27f57d9d8f8ce558805abd487c583f3d774a @@ -13299,16 +12954,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: ^2.0.1 - checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.1, minimatch@npm:^9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -13398,14 +13044,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0": - version: 7.0.2 - resolution: "minipass@npm:7.0.2" - checksum: 46776de732eb7cef2c7404a15fb28c41f5c54a22be50d47b03c605bf21f5c18d61a173c0a20b49a97e7a65f78d887245066410642551e45fffe04e9ac9e325bc - languageName: node - linkType: hard - -"minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 2bfd325b95c555f2b4d2814d49325691c7bee937d753814861b0b49d5edcda55cbbf22b6b6a60bb91eddac8668771f03c5ff647dcd9d0f798e9548b9cdc46ee3 @@ -13560,21 +13199,21 @@ __metadata: languageName: node linkType: hard -"next@npm:^14.1.0": - version: 14.1.0 - resolution: "next@npm:14.1.0" - dependencies: - "@next/env": 14.1.0 - "@next/swc-darwin-arm64": 14.1.0 - "@next/swc-darwin-x64": 14.1.0 - "@next/swc-linux-arm64-gnu": 14.1.0 - "@next/swc-linux-arm64-musl": 14.1.0 - "@next/swc-linux-x64-gnu": 14.1.0 - "@next/swc-linux-x64-musl": 14.1.0 - "@next/swc-win32-arm64-msvc": 14.1.0 - "@next/swc-win32-ia32-msvc": 14.1.0 - "@next/swc-win32-x64-msvc": 14.1.0 - "@swc/helpers": 0.5.2 +"next@npm:^14.2.15": + version: 14.2.15 + resolution: "next@npm:14.2.15" + dependencies: + "@next/env": 14.2.15 + "@next/swc-darwin-arm64": 14.2.15 + "@next/swc-darwin-x64": 14.2.15 + "@next/swc-linux-arm64-gnu": 14.2.15 + "@next/swc-linux-arm64-musl": 14.2.15 + "@next/swc-linux-x64-gnu": 14.2.15 + "@next/swc-linux-x64-musl": 14.2.15 + "@next/swc-win32-arm64-msvc": 14.2.15 + "@next/swc-win32-ia32-msvc": 14.2.15 + "@next/swc-win32-x64-msvc": 14.2.15 + "@swc/helpers": 0.5.5 busboy: 1.6.0 caniuse-lite: ^1.0.30001579 graceful-fs: ^4.2.11 @@ -13582,6 +13221,7 @@ __metadata: styled-jsx: 5.1.1 peerDependencies: "@opentelemetry/api": ^1.1.0 + "@playwright/test": ^1.41.2 react: ^18.2.0 react-dom: ^18.2.0 sass: ^1.3.0 @@ -13607,11 +13247,13 @@ __metadata: peerDependenciesMeta: "@opentelemetry/api": optional: true + "@playwright/test": + optional: true sass: optional: true bin: next: dist/bin/next - checksum: 077fd76a6fe7127a8be3d11035dcefb2c829f304aaa85144e0d1b531a1549b6c9bb99459af1ef0782c1f1110ca08f6f33efd293a2dc51672dd9dc45ede608ecf + checksum: bed22817ea82c679e78c1f1e6530991ae89f3c51d547a876dddcda4a3b34cbb970af7c714793e1a1f0a1974859ccc97e10b5aceb61e9807ea94318116e8e7dd6 languageName: node linkType: hard @@ -13666,21 +13308,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7": - version: 2.6.12 - resolution: "node-fetch@npm:2.6.12" - dependencies: - whatwg-url: ^5.0.0 - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 3bc1655203d47ee8e313c0d96664b9673a3d4dd8002740318e9d27d14ef306693a4b2ef8d6525775056fd912a19e23f3ac0d7111ad8925877b7567b29a625592 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.9": +"node-fetch@npm:^2.0.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -13768,13 +13396,6 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.12": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 - languageName: node - linkType: hard - "node-releases@npm:^2.0.18": version: 2.0.18 resolution: "node-releases@npm:2.0.18" @@ -13935,10 +13556,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db +"object-inspect@npm:^1.13.1": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 9f850b3c045db60e0e97746e809ee4090d6ce62195af17dd1e9438ac761394a7d8ec4f7906559aea5424eaf61e35d3e53feded2ccd5f62fcc7d9670d3c8eb353 languageName: node linkType: hard @@ -13959,37 +13580,38 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4": - version: 4.1.4 - resolution: "object.assign@npm:4.1.4" +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": + version: 4.1.5 + resolution: "object.assign@npm:4.1.5" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 + call-bind: ^1.0.5 + define-properties: ^1.2.1 has-symbols: ^1.0.3 object-keys: ^1.1.1 - checksum: 76cab513a5999acbfe0ff355f15a6a125e71805fcf53de4e9d4e082e1989bdb81d1e329291e1e4e0ae7719f0e4ef80e88fb2d367ae60500d79d25a6224ac8864 + checksum: f9aeac0541661370a1fc86e6a8065eb1668d3e771f7dbb33ee54578201336c057b21ee61207a186dd42db0c62201d91aac703d20d12a79fc79c353eed44d4e25 languageName: node linkType: hard -"object.entries@npm:^1.1.6": - version: 1.1.6 - resolution: "object.entries@npm:1.1.6" +"object.entries@npm:^1.1.6, object.entries@npm:^1.1.8": + version: 1.1.8 + resolution: "object.entries@npm:1.1.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0f8c47517e6a9a980241eafe3b73de11e59511883173c2b93d67424a008e47e11b77c80e431ad1d8a806f6108b225a1cab9223e53e555776c612a24297117d28 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: 5314877cb637ef3437a30bba61d9bacdb3ce74bf73ac101518be0633c37840c8cc67407edb341f766e8093b3d7516d5c3358f25adfee4a2c697c0ec4c8491907 languageName: node linkType: hard -"object.fromentries@npm:^2.0.6": - version: 2.0.6 - resolution: "object.fromentries@npm:2.0.6" +"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.8": + version: 2.0.8 + resolution: "object.fromentries@npm:2.0.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-object-atoms: ^1.0.0 + checksum: 29b2207a2db2782d7ced83f93b3ff5d425f901945f3665ffda1821e30a7253cd1fd6b891a64279976098137ddfa883d748787a6fea53ecdb51f8df8b8cec0ae1 languageName: node linkType: hard @@ -14005,24 +13627,14 @@ __metadata: languageName: node linkType: hard -"object.hasown@npm:^1.1.2": - version: 1.1.2 - resolution: "object.hasown@npm:1.1.2" - dependencies: - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: b936572536db0cdf38eb30afd2f1026a8b6f2cc5d2c4497c9d9bbb01eaf3e980dead4fd07580cfdd098e6383e5a9db8212d3ea0c6bdd2b5e68c60aa7e3b45566 - languageName: node - linkType: hard - -"object.values@npm:^1.1.6": - version: 1.1.6 - resolution: "object.values@npm:1.1.6" +"object.values@npm:^1.1.6, object.values@npm:^1.2.0": + version: 1.2.0 + resolution: "object.values@npm:1.2.0" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: 51fef456c2a544275cb1766897f34ded968b22adfc13ba13b5e4815fdaf4304a90d42a3aee114b1f1ede048a4890381d47a5594d84296f2767c6a0364b9da8fa languageName: node linkType: hard @@ -14426,17 +14038,7 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: ^9.1.1 || ^10.0.0 - minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 - checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": +"path-scurry@npm:^1.10.1, path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": version: 1.11.1 resolution: "path-scurry@npm:1.11.1" dependencies: @@ -14554,14 +14156,7 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981 - languageName: node - linkType: hard - -"picocolors@npm:^1.0.1": +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": version: 1.0.1 resolution: "picocolors@npm:1.0.1" checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 @@ -14668,6 +14263,13 @@ __metadata: languageName: node linkType: hard +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: b32d403ece71e042385cc7856385cecf1cd8e144fa74d2f1de40d1e16035dba097bc189715925e79b67bdd1472796ff168d3a90d296356c9c94d272d5b95f3ae + languageName: node + linkType: hard + "postcss-import@npm:^15.1.0": version: 15.1.0 resolution: "postcss-import@npm:15.1.0" @@ -14831,7 +14433,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.31": +"postcss@npm:8.4.31, postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23, postcss@npm:^8.4.30": version: 8.4.31 resolution: "postcss@npm:8.4.31" dependencies: @@ -14842,28 +14444,6 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.23": - version: 8.4.25 - resolution: "postcss@npm:8.4.25" - dependencies: - nanoid: ^3.3.6 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: 9ed3ab8af43ad5210c28f56f916fd9b8c9f94fbeaebbf645dcf579bc28bdd8056c2a7ecc934668d399b81fedb6128f0c4b299f931e50454964bc911c25a3a0a2 - languageName: node - linkType: hard - -"postcss@npm:^8.4.30": - version: 8.4.30 - resolution: "postcss@npm:8.4.30" - dependencies: - nanoid: ^3.3.6 - picocolors: ^1.0.0 - source-map-js: ^1.0.2 - checksum: 6c810c10c9bd3e03ca016e0b6b6756261e640aba1a9a7b1200b55502bc34b9165e38f590aef3493afc2f30ab55cdfcd43fd0f8408d69a77318ddbcf2a8ad164b - languageName: node - linkType: hard - "postgres-array@npm:~2.0.0": version: 2.0.0 resolution: "postgres-array@npm:2.0.0" @@ -14967,6 +14547,20 @@ __metadata: languageName: node linkType: hard +"prettier-plugin-organize-imports@npm:^4.1.0": + version: 4.1.0 + resolution: "prettier-plugin-organize-imports@npm:4.1.0" + peerDependencies: + prettier: ">=2.0" + typescript: ">=2.9" + vue-tsc: ^2.1.0 + peerDependenciesMeta: + vue-tsc: + optional: true + checksum: 43c917959170fa3e30e41f9b3bd314a31462ae34e5568b4dba6b1c8b8da758adf900fdf4999333ab2b60b3d1af541f9521396a5e19df03ab5400a50edc9a75f6 + languageName: node + linkType: hard + "prettier-plugin-tailwindcss@npm:^0.4.0": version: 0.4.0 resolution: "prettier-plugin-tailwindcss@npm:0.4.0" @@ -15447,15 +15041,15 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.3.0-canary-7118f5dd7-20230705": - version: 18.3.0-canary-7118f5dd7-20230705 - resolution: "react-dom@npm:18.3.0-canary-7118f5dd7-20230705" +"react-dom@npm:^18.3.1": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" dependencies: loose-envify: ^1.1.0 - scheduler: 0.24.0-canary-7118f5dd7-20230705 + scheduler: ^0.23.2 peerDependencies: - react: 18.3.0-canary-7118f5dd7-20230705 - checksum: a33f49a92df0234358461c2c5fb1fb270267b06e7090b4a7c2c4a5082bb088496b4eec67feb2a1ddf22c797b57004b00017be402d94fcd81e7a08826d1f2155b + react: ^18.3.1 + checksum: 298954ecd8f78288dcaece05e88b570014d8f6dce5db6f66e6ee91448debeb59dcd31561dddb354eee47e6c1bb234669459060deb238ed0213497146e555a0b9 languageName: node linkType: hard @@ -15620,12 +15214,12 @@ __metadata: languageName: node linkType: hard -"react@npm:18.3.0-canary-7118f5dd7-20230705": - version: 18.3.0-canary-7118f5dd7-20230705 - resolution: "react@npm:18.3.0-canary-7118f5dd7-20230705" +"react@npm:^18.3.1": + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: ^1.1.0 - checksum: f8d6c697aa57afbd28faae4c7f82a1b38180fa6e2ac9e45fdd9eedddf65753742eb744e7b9d30a1e173f45510f2b38a29e61786a1d3254a46f39f9172a85ace5 + checksum: a27bcfa8ff7c15a1e50244ad0d0c1cb2ad4375eeffefd266a64889beea6f6b64c4966c9b37d14ee32d6c9fcd5aa6ba183b6988167ab4d127d13e7cb5b386a376 languageName: node linkType: hard @@ -15773,13 +15367,6 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11": - version: 0.13.11 - resolution: "regenerator-runtime@npm:0.13.11" - checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 - languageName: node - linkType: hard - "regenerator-runtime@npm:^0.14.0": version: 0.14.0 resolution: "regenerator-runtime@npm:0.14.0" @@ -15803,25 +15390,15 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.0": - version: 1.5.0 - resolution: "regexp.prototype.flags@npm:1.5.0" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - functions-have-names: ^1.2.3 - checksum: c541687cdbdfff1b9a07f6e44879f82c66bbf07665f9a7544c5fd16acdb3ec8d1436caab01662d2fbcad403f3499d49ab0b77fbc7ef29ef961d98cc4bc9755b4 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.1": - version: 1.5.1 - resolution: "regexp.prototype.flags@npm:1.5.1" +"regexp.prototype.flags@npm:^1.5.0, regexp.prototype.flags@npm:^1.5.2": + version: 1.5.3 + resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - set-function-name: ^2.0.0 - checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-errors: ^1.3.0 + set-function-name: ^2.0.2 + checksum: 83ff0705b837f7cb6d664010a11642250f36d3f642263dd0f3bdfe8f150261aa7b26b50ee97f21c1da30ef82a580bb5afedbef5f45639d69edaafbeac9bbb0ed languageName: node linkType: hard @@ -15967,7 +15544,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.8, resolve@npm:^1.22.8": +"resolve@npm:1.22.8, resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -15980,46 +15557,20 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.22.2": - version: 1.22.3 - resolution: "resolve@npm:1.22.3" - dependencies: - is-core-module: ^2.12.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: fb834b81348428cb545ff1b828a72ea28feb5a97c026a1cf40aa1008352c72811ff4d4e71f2035273dc536dcfcae20c13604ba6283c612d70fa0b6e44519c374 - languageName: node - linkType: hard - -"resolve@npm:^1.22.1": - version: 1.22.2 - resolution: "resolve@npm:1.22.2" - dependencies: - is-core-module: ^2.11.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 7e5df75796ebd429445d102d5824482ee7e567f0070b2b45897b29bb4f613dcbc262e0257b8aeedb3089330ccaea0d6a0464df1a77b2992cf331dcda0f4cb549 - languageName: node - linkType: hard - -"resolve@npm:^2.0.0-next.4": - version: 2.0.0-next.4 - resolution: "resolve@npm:2.0.0-next.4" +"resolve@npm:^2.0.0-next.5": + version: 2.0.0-next.5 + resolution: "resolve@npm:2.0.0-next.5" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: c438ac9a650f2030fd074219d7f12ceb983b475da2d89ad3d6dd05fbf6b7a0a8cd37d4d10b43cb1f632bc19f22246ab7f36ebda54d84a29bfb2910a0680906d3 + checksum: a73ac69a1c4bd34c56b213d91f5b17ce390688fdb4a1a96ed3025cc7e08e7bfb90b3a06fcce461780cb0b589c958afcb0080ab802c71c01a7ecc8c64feafc89f languageName: node linkType: hard -"resolve@patch:resolve@1.22.8#~builtin, resolve@patch:resolve@^1.22.8#~builtin": +"resolve@patch:resolve@1.22.8#~builtin, resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@^1.22.2#~builtin, resolve@patch:resolve@^1.22.8#~builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -16032,42 +15583,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.22.2#~builtin": - version: 1.22.3 - resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" - dependencies: - is-core-module: ^2.12.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: ad59734723b596d0891321c951592ed9015a77ce84907f89c9d9307dd0c06e11a67906a3e628c4cae143d3e44898603478af0ddeb2bba3f229a9373efe342665 - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.22.1#~builtin": - version: 1.22.2 - resolution: "resolve@patch:resolve@npm%3A1.22.2#~builtin::version=1.22.2&hash=c3c19d" - dependencies: - is-core-module: ^2.11.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 66cc788f13b8398de18eb4abb3aed90435c84bb8935953feafcf7231ba4cd191b2c10b4a87b1e9681afc34fb138c705f91f7330ff90bfa36f457e5584076a2b8 - languageName: node - linkType: hard - -"resolve@patch:resolve@^2.0.0-next.4#~builtin": - version: 2.0.0-next.4 - resolution: "resolve@patch:resolve@npm%3A2.0.0-next.4#~builtin::version=2.0.0-next.4&hash=c3c19d" +"resolve@patch:resolve@^2.0.0-next.5#~builtin": + version: 2.0.0-next.5 + resolution: "resolve@patch:resolve@npm%3A2.0.0-next.5#~builtin::version=2.0.0-next.5&hash=c3c19d" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 4bf9f4f8a458607af90518ff73c67a4bc1a38b5a23fef2bb0ccbd45e8be89820a1639b637b0ba377eb2be9eedfb1739a84cde24fe4cd670c8207d8fea922b011 + checksum: 064d09c1808d0c51b3d90b5d27e198e6d0c5dad0eb57065fd40803d6a20553e5398b07f76739d69cbabc12547058bec6b32106ea66622375fb0d7e8fca6a846c languageName: node linkType: hard @@ -16194,15 +15719,15 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.0.1": - version: 1.0.1 - resolution: "safe-array-concat@npm:1.0.1" +"safe-array-concat@npm:^1.1.2": + version: 1.1.2 + resolution: "safe-array-concat@npm:1.1.2" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 + call-bind: ^1.0.7 + get-intrinsic: ^1.2.4 has-symbols: ^1.0.3 isarray: ^2.0.5 - checksum: 001ecf1d8af398251cbfabaf30ed66e3855127fbceee178179524b24160b49d15442f94ed6c0db0b2e796da76bb05b73bf3cc241490ec9c2b741b41d33058581 + checksum: a3b259694754ddfb73ae0663829e396977b99ff21cbe8607f35a469655656da8e271753497e59da8a7575baa94d2e684bea3e10ddd74ba046c0c9b4418ffa0c4 languageName: node linkType: hard @@ -16227,14 +15752,14 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-regex-test@npm:1.0.0" +"safe-regex-test@npm:^1.0.3": + version: 1.0.3 + resolution: "safe-regex-test@npm:1.0.3" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.1.3 + call-bind: ^1.0.6 + es-errors: ^1.3.0 is-regex: ^1.1.4 - checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + checksum: 6c7d392ff1ae7a3ae85273450ed02d1d131f1d2c76e177d6b03eb88e6df8fa062639070e7d311802c1615f351f18dc58f9454501c58e28d5ffd9b8f502ba6489 languageName: node linkType: hard @@ -16294,12 +15819,12 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.24.0-canary-7118f5dd7-20230705": - version: 0.24.0-canary-7118f5dd7-20230705 - resolution: "scheduler@npm:0.24.0-canary-7118f5dd7-20230705" +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" dependencies: loose-envify: ^1.1.0 - checksum: ee56c760d8ae1250d06532fa67c6a24273614924b0d3b6129bc112050b2016f96aaa439f84a4a370f39615e280e888466471eaf7624a304da42ff197d555f844 + checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4 languageName: node linkType: hard @@ -16326,7 +15851,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.7.1": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0, semver@npm:^5.7.1": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: @@ -16335,16 +15860,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^5.6.0": - version: 5.7.1 - resolution: "semver@npm:5.7.1" - bin: - semver: ./bin/semver - checksum: 57fd0acfd0bac382ee87cd52cd0aaa5af086a7dc8d60379dfe65fea491fb2489b6016400813930ecd61fd0952dae75c115287a1b16c234b1550887117744dfaf - languageName: node - linkType: hard - -"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -16353,38 +15869,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.3.0": - version: 6.3.0 - resolution: "semver@npm:6.3.0" - bin: - semver: ./bin/semver.js - checksum: 1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9 - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.3.7": - version: 7.5.3 - resolution: "semver@npm:7.5.3" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: 9d58db16525e9f749ad0a696a1f27deabaa51f66e91d2fa2b0db3de3e9644e8677de3b7d7a03f4c15bc81521e0c3916d7369e0572dbde250d9bedf5194e2a8a7 - languageName: node - linkType: hard - -"semver@npm:^7.3.8, semver@npm:^7.5.0, semver@npm:^7.5.4": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: ^6.0.0 - bin: - semver: bin/semver.js - checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 - languageName: node - linkType: hard - -"semver@npm:^7.5.2": +"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.0, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -16393,15 +15878,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.5.3": - version: 7.6.2 - resolution: "semver@npm:7.6.2" - bin: - semver: bin/semver.js - checksum: 40f6a95101e8d854357a644da1b8dd9d93ce786d5c6a77227bc69dbb17bea83d0d1d1d7c4cd5920a6df909f48e8bd8a5909869535007f90278289f2451d0292d - languageName: node - linkType: hard - "semver@npm:~7.0.0": version: 7.0.0 resolution: "semver@npm:7.0.0" @@ -16487,14 +15963,29 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": - version: 2.0.1 - resolution: "set-function-name@npm:2.0.1" +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" dependencies: - define-data-property: ^1.0.1 + define-data-property: ^1.1.4 + es-errors: ^1.3.0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.2 + checksum: a8248bdacdf84cb0fab4637774d9fb3c7a8e6089866d04c817583ff48e14149c87044ce683d7f50759a8c50fb87c7a7e173535b06169c87ef76f5fb276dfff72 + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": + version: 2.0.2 + resolution: "set-function-name@npm:2.0.2" + dependencies: + define-data-property: ^1.1.4 + es-errors: ^1.3.0 functions-have-names: ^1.2.3 - has-property-descriptors: ^1.0.0 - checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 + has-property-descriptors: ^1.0.2 + checksum: d6229a71527fd0404399fc6227e0ff0652800362510822a291925c9d7b48a1ca1a468b11b281471c34cd5a2da0db4f5d7ff315a61d26655e77f6e971e6d0c80f languageName: node linkType: hard @@ -16586,14 +16077,15 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" +"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" dependencies: - call-bind: ^1.0.0 - get-intrinsic: ^1.0.2 - object-inspect: ^1.9.0 - checksum: 351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245 + call-bind: ^1.0.7 + es-errors: ^1.3.0 + get-intrinsic: ^1.2.4 + object-inspect: ^1.13.1 + checksum: bfc1afc1827d712271453e91b7cd3878ac0efd767495fd4e594c4c2afaa7963b7b510e249572bfd54b0527e66e4a12b61b80c061389e129755f34c493aad9b97 languageName: node linkType: hard @@ -16604,14 +16096,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": - version: 4.0.2 - resolution: "signal-exit@npm:4.0.2" - checksum: 41f5928431cc6e91087bf0343db786a6313dd7c6fd7e551dbc141c95bb5fb26663444fd9df8ea47c5d7fc202f60aa7468c3162a9365cbb0615fc5e1b1328fe31 - languageName: node - linkType: hard - -"signal-exit@npm:^4.1.0": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 @@ -17004,85 +16489,67 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.8": - version: 4.0.8 - resolution: "string.prototype.matchall@npm:4.0.8" +"string.prototype.matchall@npm:^4.0.11": + version: 4.0.11 + resolution: "string.prototype.matchall@npm:4.0.11" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.3 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.2 + es-errors: ^1.3.0 + es-object-atoms: ^1.0.0 + get-intrinsic: ^1.2.4 + gopd: ^1.0.1 has-symbols: ^1.0.3 - internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.4.3 - side-channel: ^1.0.4 - checksum: 952da3a818de42ad1c10b576140a5e05b4de7b34b8d9dbf00c3ac8c1293e9c0f533613a39c5cda53e0a8221f2e710bc2150e730b1c2278d60004a8a35726efb6 - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.7": - version: 1.2.7 - resolution: "string.prototype.trim@npm:1.2.7" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 05b7b2d6af63648e70e44c4a8d10d8cc457536df78b55b9d6230918bde75c5987f6b8604438c4c8652eb55e4fc9725d2912789eb4ec457d6995f3495af190c09 - languageName: node - linkType: hard - -"string.prototype.trim@npm:^1.2.8": - version: 1.2.8 - resolution: "string.prototype.trim@npm:1.2.8" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 + internal-slot: ^1.0.7 + regexp.prototype.flags: ^1.5.2 + set-function-name: ^2.0.2 + side-channel: ^1.0.6 + checksum: 6ac6566ed065c0c8489c91156078ca077db8ff64d683fda97ae652d00c52dfa5f39aaab0a710d8243031a857fd2c7c511e38b45524796764d25472d10d7075ae languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimend@npm:1.0.6" +"string.prototype.repeat@npm:^1.0.0": + version: 1.0.0 + resolution: "string.prototype.repeat@npm:1.0.0" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 95dfc514ed7f328d80a066dabbfbbb1615c3e51490351085409db2eb7cbfed7ea29fdadaf277647fbf9f4a1e10e6dd9e95e78c0fd2c4e6bb6723ea6e59401004 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimend@npm:1.0.7" +"string.prototype.trim@npm:^1.2.9": + version: 1.2.9 + resolution: "string.prototype.trim@npm:1.2.9" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-abstract: ^1.23.0 + es-object-atoms: ^1.0.0 + checksum: ea2df6ec1e914c9d4e2dc856fa08228e8b1be59b59e50b17578c94a66a176888f417264bb763d4aac638ad3b3dad56e7a03d9317086a178078d131aa293ba193 languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimstart@npm:1.0.6" +"string.prototype.trimend@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimend@npm:1.0.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: cc3bd2de08d8968a28787deba9a3cb3f17ca5f9f770c91e7e8fa3e7d47f079bad70fadce16f05dda9f261788be2c6e84a942f618c3bed31e42abc5c1084f8dfd languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.7": - version: 1.0.7 - resolution: "string.prototype.trimstart@npm:1.0.7" +"string.prototype.trimstart@npm:^1.0.8": + version: 1.0.8 + resolution: "string.prototype.trimstart@npm:1.0.8" dependencies: - call-bind: ^1.0.2 - define-properties: ^1.2.0 - es-abstract: ^1.22.1 - checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 + call-bind: ^1.0.7 + define-properties: ^1.2.1 + es-object-atoms: ^1.0.0 + checksum: df1007a7f580a49d692375d996521dc14fd103acda7f3034b3c558a60b82beeed3a64fa91e494e164581793a8ab0ae2f59578a49896a7af6583c1f20472bce96 languageName: node linkType: hard @@ -17597,12 +17064,12 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "ts-api-utils@npm:1.0.1" +"ts-api-utils@npm:^1.0.1, ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" peerDependencies: typescript: ">=4.2.0" - checksum: 78794fc7270d295b36c1ac613465b5dc7e7226907a533125b30f177efef9dd630d4e503b00be31b44335eb2ebf9e136ebe97353f8fc5d383885d5fead9d54c09 + checksum: c746ddabfdffbf16cb0b0db32bb287236a19e583057f8649ee7c49995bb776e1d3ef384685181c11a1a480369e022ca97512cb08c517b2d2bd82c83754c97012 languageName: node linkType: hard @@ -17728,7 +17195,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.6.2, tslib@npm:^2.1.0": +"tslib@npm:2.6.2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.5.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad @@ -17742,13 +17209,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.5.0": - version: 2.6.0 - resolution: "tslib@npm:2.6.0" - checksum: c01066038f950016a18106ddeca4649b4d76caa76ec5a31e2a26e10586a59fceb4ee45e96719bf6c715648e7c14085a81fee5c62f7e9ebee68e77a5396e5538f - languageName: node - linkType: hard - "tsscmp@npm:^1.0.6": version: 1.0.6 resolution: "tsscmp@npm:1.0.6" @@ -17867,50 +17327,55 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-buffer@npm:1.0.0" +"typed-array-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-buffer@npm:1.0.2" dependencies: - call-bind: ^1.0.2 - get-intrinsic: ^1.2.1 - is-typed-array: ^1.1.10 - checksum: 3e0281c79b2a40cd97fe715db803884301993f4e8c18e8d79d75fd18f796e8cd203310fec8c7fdb5e6c09bedf0af4f6ab8b75eb3d3a85da69328f28a80456bd3 + call-bind: ^1.0.7 + es-errors: ^1.3.0 + is-typed-array: ^1.1.13 + checksum: 02ffc185d29c6df07968272b15d5319a1610817916ec8d4cd670ded5d1efe72901541ff2202fcc622730d8a549c76e198a2f74e312eabbfb712ed907d45cbb0b languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-length@npm:1.0.0" +"typed-array-byte-length@npm:^1.0.1": + version: 1.0.1 + resolution: "typed-array-byte-length@npm:1.0.1" dependencies: - call-bind: ^1.0.2 + call-bind: ^1.0.7 for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: b03db16458322b263d87a702ff25388293f1356326c8a678d7515767ef563ef80e1e67ce648b821ec13178dd628eb2afdc19f97001ceae7a31acf674c849af94 + gopd: ^1.0.1 + has-proto: ^1.0.3 + is-typed-array: ^1.1.13 + checksum: f65e5ecd1cf76b1a2d0d6f631f3ea3cdb5e08da106c6703ffe687d583e49954d570cc80434816d3746e18be889ffe53c58bf3e538081ea4077c26a41055b216d languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "typed-array-byte-offset@npm:1.0.0" +"typed-array-byte-offset@npm:^1.0.2": + version: 1.0.2 + resolution: "typed-array-byte-offset@npm:1.0.2" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.7 for-each: ^0.3.3 - has-proto: ^1.0.1 - is-typed-array: ^1.1.10 - checksum: 04f6f02d0e9a948a95fbfe0d5a70b002191fae0b8fe0fe3130a9b2336f043daf7a3dda56a31333c35a067a97e13f539949ab261ca0f3692c41603a46a94e960b + gopd: ^1.0.1 + has-proto: ^1.0.3 + is-typed-array: ^1.1.13 + checksum: c8645c8794a621a0adcc142e0e2c57b1823bbfa4d590ad2c76b266aa3823895cf7afb9a893bf6685e18454ab1b0241e1a8d885a2d1340948efa4b56add4b5f67 languageName: node linkType: hard -"typed-array-length@npm:^1.0.4": - version: 1.0.4 - resolution: "typed-array-length@npm:1.0.4" +"typed-array-length@npm:^1.0.6": + version: 1.0.6 + resolution: "typed-array-length@npm:1.0.6" dependencies: - call-bind: ^1.0.2 + call-bind: ^1.0.7 for-each: ^0.3.3 - is-typed-array: ^1.1.9 - checksum: 2228febc93c7feff142b8c96a58d4a0d7623ecde6c7a24b2b98eb3170e99f7c7eff8c114f9b283085cd59dcd2bd43aadf20e25bba4b034a53c5bb292f71f8956 + gopd: ^1.0.1 + has-proto: ^1.0.3 + is-typed-array: ^1.1.13 + possible-typed-array-names: ^1.0.0 + checksum: f0315e5b8f0168c29d390ff410ad13e4d511c78e6006df4a104576844812ee447fcc32daab1f3a76c9ef4f64eff808e134528b5b2439de335586b392e9750e5c languageName: node linkType: hard @@ -18155,20 +17620,6 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.11": - version: 1.0.11 - resolution: "update-browserslist-db@npm:1.0.11" - dependencies: - escalade: ^3.1.1 - picocolors: ^1.0.0 - peerDependencies: - browserslist: ">= 4.21.0" - bin: - update-browserslist-db: cli.js - checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.1.0": version: 1.1.0 resolution: "update-browserslist-db@npm:1.1.0" @@ -18556,44 +18007,16 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.11": - version: 1.1.11 - resolution: "which-typed-array@npm:1.1.11" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - checksum: 711ffc8ef891ca6597b19539075ec3e08bb9b4c2ca1f78887e3c07a977ab91ac1421940505a197758fb5939aa9524976d0a5bbcac34d07ed6faa75cedbb17206 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.2": - version: 1.1.10 - resolution: "which-typed-array@npm:1.1.10" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - for-each: ^0.3.3 - gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.10 - checksum: 149f54f5d11773ce938c60a2c36306720a1824eccb62bda0620170932c2783fa50ad0226254c5741a962e35c7ccba5f4e4c402b8618cb3b4f2cf47bf5e6ade31 - languageName: node - linkType: hard - -"which-typed-array@npm:^1.1.9": - version: 1.1.9 - resolution: "which-typed-array@npm:1.1.9" +"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": + version: 1.1.15 + resolution: "which-typed-array@npm:1.1.15" dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + available-typed-arrays: ^1.0.7 + call-bind: ^1.0.7 for-each: ^0.3.3 gopd: ^1.0.1 - has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.10 - checksum: fe0178ca44c57699ca2c0e657b64eaa8d2db2372a4e2851184f568f98c478ae3dc3fdb5f7e46c384487046b0cf9e23241423242b277e03e8ba3dabc7c84c98ef + has-tostringtag: ^1.0.2 + checksum: 65227dcbfadf5677aacc43ec84356d17b5500cb8b8753059bb4397de5cd0c2de681d24e1a7bd575633f976a95f88233abfd6549c2105ef4ebd58af8aa1807c75 languageName: node linkType: hard @@ -18709,22 +18132,7 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.2.3": - version: 8.13.0 - resolution: "ws@npm:8.13.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c - languageName: node - linkType: hard - -"ws@npm:~8.17.1": +"ws@npm:^8.2.3, ws@npm:~8.17.1": version: 8.17.1 resolution: "ws@npm:8.17.1" peerDependencies: @@ -18774,7 +18182,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.3.4": +"yaml@npm:2.3.4, yaml@npm:^2.1.1": version: 2.3.4 resolution: "yaml@npm:2.3.4" checksum: e6d1dae1c6383bcc8ba11796eef3b8c02d5082911c6723efeeb5ba50fc8e881df18d645e64de68e421b577296000bea9c75d6d9097c2f6699da3ae0406c030d8 @@ -18788,13 +18196,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.1.1": - version: 2.3.1 - resolution: "yaml@npm:2.3.1" - checksum: 2c7bc9a7cd4c9f40d3b0b0a98e370781b68b8b7c4515720869aced2b00d92f5da1762b4ffa947f9e795d6cd6b19f410bd4d15fdd38aca7bd96df59bd9486fb54 - languageName: node - linkType: hard - "yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9"