Create your Link in Bio for Bluesky

react-router v7に移行 (#21)

authored by mkizka.dev and committed by

GitHub 82b39297 0f6b6fe1

+298 -1973
+3
.gitignore
··· 15 15 # playwright 16 16 playwright-report/ 17 17 e2e/state.json 18 + 19 + # react-router 20 + .react-router/
+1 -1
app/components/error-boundary/index.tsx
··· 1 - import { isRouteErrorResponse, Link, useRouteError } from "@remix-run/react"; 2 1 import { useEffect } from "react"; 3 2 import { useTranslation } from "react-i18next"; 3 + import { isRouteErrorResponse, Link, useRouteError } from "react-router"; 4 4 5 5 import { Card } from "~/components/card"; 6 6 import { Main, RootLayout } from "~/components/layout";
+1 -1
app/components/layout.tsx
··· 1 1 import { LanguageIcon } from "@heroicons/react/24/outline"; 2 - import { Form, Link } from "@remix-run/react"; 3 2 import { type ReactNode, useRef } from "react"; 4 3 import GitHubButton from "react-github-btn"; 5 4 import { useTranslation } from "react-i18next"; 5 + import { Form, Link } from "react-router"; 6 6 7 7 import { cn } from "~/utils/cn"; 8 8
+2 -2
app/components/logout-button.tsx
··· 1 - import { Form, useSubmit } from "@remix-run/react"; 2 1 import { useTranslation } from "react-i18next"; 2 + import { Form, useSubmit } from "react-router"; 3 3 4 4 import { Button } from "./button"; 5 5 ··· 11 11 event.preventDefault(); 12 12 const ok = confirm(t("logout-button.confirm-message")); 13 13 if (ok) { 14 - submit(event.currentTarget); 14 + void submit(event.currentTarget); 15 15 } 16 16 void umami.track("handle-logout", { 17 17 action: ok ? "confirm" : "cancel",
+2 -2
app/entry.client.tsx
··· 1 - import { RemixBrowser } from "@remix-run/react"; 2 1 import i18next from "i18next"; 3 2 import I18nextBrowserLanguageDetector from "i18next-browser-languagedetector"; 4 3 import { startTransition, StrictMode } from "react"; 5 4 import { hydrateRoot } from "react-dom/client"; 6 5 import { I18nextProvider, initReactI18next } from "react-i18next"; 6 + import { HydratedRouter } from "react-router/dom"; 7 7 import { getInitialNamespaces } from "remix-i18next/client"; 8 8 9 9 import { i18nConfig } from "./i18n/config"; ··· 23 23 document, 24 24 <I18nextProvider i18n={i18next}> 25 25 <StrictMode> 26 - <RemixBrowser /> 26 + <HydratedRouter /> 27 27 </StrictMode> 28 28 </I18nextProvider>, 29 29 );
+18 -18
app/entry.server.tsx
··· 7 7 8 8 import { PassThrough } from "node:stream"; 9 9 10 + import { createReadableStreamFromReadable } from "@react-router/node"; 11 + import { createInstance } from "i18next"; 12 + import { isbot } from "isbot"; 13 + import { renderToPipeableStream } from "react-dom/server"; 14 + import { I18nextProvider, initReactI18next } from "react-i18next"; 10 15 import type { 11 16 ActionFunctionArgs, 12 17 AppLoadContext, 13 18 EntryContext, 14 19 LoaderFunctionArgs, 15 - } from "@remix-run/node"; 16 - import { createReadableStreamFromReadable } from "@remix-run/node"; 17 - import { isRouteErrorResponse, RemixServer } from "@remix-run/react"; 18 - import { createInstance } from "i18next"; 19 - import { isbot } from "isbot"; 20 - import { renderToPipeableStream } from "react-dom/server"; 21 - import { I18nextProvider, initReactI18next } from "react-i18next"; 20 + } from "react-router"; 21 + import { isRouteErrorResponse, ServerRouter } from "react-router"; 22 22 23 23 import { i18nConfig } from "./i18n/config"; 24 24 import { i18nServer } from "./i18n/i18n"; ··· 29 29 request: Request, 30 30 responseStatusCode: number, 31 31 responseHeaders: Headers, 32 - remixContext: EntryContext, 32 + reactRouterContext: EntryContext, 33 33 // This is ignored so we can keep it in the template for visibility. Feel 34 34 // free to delete this parameter in your app if you're not using it! 35 35 ··· 40 40 request, 41 41 responseStatusCode, 42 42 responseHeaders, 43 - remixContext, 43 + reactRouterContext, 44 44 ) 45 45 : handleBrowserRequest( 46 46 request, 47 47 responseStatusCode, 48 48 responseHeaders, 49 - remixContext, 49 + reactRouterContext, 50 50 ); 51 51 } 52 52 ··· 54 54 request: Request, 55 55 responseStatusCode: number, 56 56 responseHeaders: Headers, 57 - remixContext: EntryContext, 57 + reactRouterContext: EntryContext, 58 58 ) { 59 59 const instance = createInstance(); 60 60 const lng = await i18nServer.getLocale(request); 61 - const ns = i18nServer.getRouteNamespaces(remixContext); 61 + const ns = i18nServer.getRouteNamespaces(reactRouterContext); 62 62 await instance.use(initReactI18next).init({ 63 63 ...i18nConfig, 64 64 lng, ··· 68 68 let shellRendered = false; 69 69 const { pipe, abort } = renderToPipeableStream( 70 70 <I18nextProvider i18n={instance}> 71 - <RemixServer 72 - context={remixContext} 71 + <ServerRouter 72 + context={reactRouterContext} 73 73 url={request.url} 74 74 abortDelay={ABORT_DELAY} 75 75 /> ··· 115 115 request: Request, 116 116 responseStatusCode: number, 117 117 responseHeaders: Headers, 118 - remixContext: EntryContext, 118 + reactRouterContext: EntryContext, 119 119 ) { 120 120 const instance = createInstance(); 121 121 const lng = await i18nServer.getLocale(request); 122 - const ns = i18nServer.getRouteNamespaces(remixContext); 122 + const ns = i18nServer.getRouteNamespaces(reactRouterContext); 123 123 await instance.use(initReactI18next).init({ 124 124 ...i18nConfig, 125 125 lng, ··· 129 129 let shellRendered = false; 130 130 const { pipe, abort } = renderToPipeableStream( 131 131 <I18nextProvider i18n={instance}> 132 - <RemixServer 133 - context={remixContext} 132 + <ServerRouter 133 + context={reactRouterContext} 134 134 url={request.url} 135 135 abortDelay={ABORT_DELAY} 136 136 />
+1 -1
app/features/board/board-viewer.tsx
··· 1 1 import { PencilSquareIcon } from "@heroicons/react/24/outline"; 2 - import { Form, useNavigation } from "@remix-run/react"; 3 2 import { useState } from "react"; 4 3 import { useTranslation } from "react-i18next"; 4 + import { Form, useNavigation } from "react-router"; 5 5 6 6 import { Button } from "~/components/button"; 7 7 import type { ValidBoard } from "~/models/board";
+1 -1
app/features/board/card/profile-card.tsx
··· 1 1 import { PencilSquareIcon, ShareIcon } from "@heroicons/react/24/outline"; 2 2 import { UserIcon } from "@heroicons/react/24/solid"; 3 3 import type { User } from "@prisma/client"; 4 - import { Link } from "@remix-run/react"; 5 4 import { useState } from "react"; 6 5 import { useTranslation } from "react-i18next"; 6 + import { Link } from "react-router"; 7 7 8 8 import { Button } from "~/components/button"; 9 9 import { Card } from "~/components/card";
+1 -1
app/features/board/form/card-form.tsx
··· 5 5 } from "@conform-to/react"; 6 6 import Picker from "@emoji-mart/react"; 7 7 import { XMarkIcon } from "@heroicons/react/24/outline"; 8 - import { Form } from "@remix-run/react"; 9 8 import { useState } from "react"; 10 9 import { useTranslation } from "react-i18next"; 10 + import { Form } from "react-router"; 11 11 12 12 import { Button } from "~/components/button"; 13 13 import { Input } from "~/components/input";
+1 -1
app/features/board/share-modal.tsx
··· 2 2 ClipboardDocumentCheckIcon, 3 3 ClipboardIcon, 4 4 } from "@heroicons/react/24/outline"; 5 - import { useSearchParams } from "@remix-run/react"; 6 5 import { useEffect, useRef, useState } from "react"; 7 6 import { useTranslation } from "react-i18next"; 7 + import { useSearchParams } from "react-router"; 8 8 9 9 import { Button } from "~/components/button"; 10 10 import { BlueskyIcon } from "~/components/icons/bluesky";
+1 -1
app/features/login/login-form.tsx
··· 1 1 import { getFormProps, getInputProps, useForm } from "@conform-to/react"; 2 2 import { getZodConstraint, parseWithZod } from "@conform-to/zod"; 3 3 import { AtSymbolIcon } from "@heroicons/react/24/outline"; 4 - import { Form, useNavigation } from "@remix-run/react"; 5 4 import { useTranslation } from "react-i18next"; 5 + import { Form, useNavigation } from "react-router"; 6 6 import { z } from "zod"; 7 7 8 8 import { Button } from "~/components/button";
+1 -1
app/features/toast/route.tsx
··· 1 - import { useActionData } from "@remix-run/react"; 2 1 import { useEffect } from "react"; 2 + import { useActionData } from "react-router"; 3 3 4 4 import { useToast } from "~/atoms/toast/hooks"; 5 5
+1 -1
app/i18n/i18n.ts
··· 1 - import { createCookie } from "@remix-run/node"; 1 + import { createCookie } from "react-router"; 2 2 import { RemixI18Next } from "remix-i18next/server"; 3 3 4 4 import { i18nConfig } from "./config";
+4 -4
app/root.tsx
··· 1 1 import "./tailwind.css"; 2 2 3 - import type { LoaderFunctionArgs } from "@remix-run/node"; 3 + import type { LoaderFunctionArgs } from "react-router"; 4 4 import { 5 - json, 5 + data, 6 6 Links, 7 7 Meta, 8 8 Outlet, ··· 10 10 ScrollRestoration, 11 11 useLoaderData, 12 12 useRouteLoaderData, 13 - } from "@remix-run/react"; 13 + } from "react-router"; 14 14 import { useChangeLanguage } from "remix-i18next/react"; 15 15 16 16 import { Toaster } from "./features/toast/toaster"; ··· 24 24 25 25 export async function loader({ request }: LoaderFunctionArgs) { 26 26 const locale = await i18nServer.getLocale(request); 27 - return json( 27 + return data( 28 28 { 29 29 locale, 30 30 umami: {
+4
app/routes.ts
··· 1 + import { type RouteConfig } from "@react-router/dev/routes"; 2 + import { flatRoutes } from "@react-router/fs-routes"; 3 + 4 + export default flatRoutes() satisfies RouteConfig;
+3 -3
app/routes/$handle.og.tsx
··· 1 1 import type { User } from "@prisma/client"; 2 - import type { LoaderFunctionArgs } from "@remix-run/node"; 3 2 import { Resvg } from "@resvg/resvg-js"; 4 3 import fs from "fs"; 5 4 import { LRUCache } from "lru-cache"; ··· 7 6 8 7 import { userService } from "~/server/service/userService"; 9 8 import { required } from "~/utils/required"; 9 + 10 + import type { Route } from "./+types/$handle.og"; 10 11 11 12 const cache = new LRUCache<string, Buffer>({ 12 13 max: 100, ··· 133 134 return image; 134 135 }; 135 136 136 - export async function loader({ params }: LoaderFunctionArgs) { 137 + export async function loader({ params }: Route.LoaderArgs) { 137 138 const user = await userService.findOrFetchUser({ 138 139 handleOrDid: required(params.handle), 139 140 }); 140 141 if (!user) { 141 - // eslint-disable-next-line @typescript-eslint/only-throw-error 142 142 throw new Response(null, { status: 404 }); 143 143 } 144 144 const image = cache.get(user.did) ?? (await createImage(user));
+6 -8
app/routes/$handle.tsx
··· 1 - import type { LoaderFunctionArgs, MetaFunction } from "@remix-run/node"; 2 - import { useLoaderData } from "@remix-run/react"; 3 - 4 1 import { Footer, Main } from "~/components/layout"; 5 2 import { BoardViewer } from "~/features/board/board-viewer"; 6 3 import { ShareModal } from "~/features/board/share-modal"; ··· 12 9 import { createMeta } from "~/utils/meta"; 13 10 import { required } from "~/utils/required"; 14 11 12 + import type { Route } from "./+types/$handle"; 13 + 15 14 const notFound = () => { 16 - // eslint-disable-next-line @typescript-eslint/only-throw-error 17 15 throw new Response("Not Found", { status: 404 }); 18 16 }; 19 17 20 - export async function loader({ request, params }: LoaderFunctionArgs) { 18 + export async function loader({ request, params }: Route.LoaderArgs) { 21 19 const maybeHandle = params.handle; 22 20 if (!maybeHandle || !maybeHandle.includes(".")) { 23 21 return notFound(); ··· 48 46 }; 49 47 } 50 48 51 - export const meta: MetaFunction<typeof loader> = ({ data }) => { 49 + export const meta = ({ data }: Route.MetaArgs) => { 52 50 const { title, url } = required(data); 53 51 return createMeta({ 54 52 title, ··· 57 55 }); 58 56 }; 59 57 60 - export default function Index() { 61 - const { user, board, url, isMine } = useLoaderData<typeof loader>(); 58 + export default function Index({ loaderData }: Route.ComponentProps) { 59 + const { user, board, url, isMine } = loaderData; 62 60 return ( 63 61 <> 64 62 <Main>
+7 -6
app/routes/_index.tsx
··· 3 3 AtSymbolIcon, 4 4 PencilSquareIcon, 5 5 } from "@heroicons/react/24/outline"; 6 - import type { LoaderFunctionArgs, MetaFunction } from "@remix-run/node"; 7 - import { Link, useLoaderData } from "@remix-run/react"; 8 6 import { useTranslation } from "react-i18next"; 7 + import { Link } from "react-router"; 9 8 10 9 import { Main, RootLayout } from "~/components/layout"; 11 10 import { LogoutButton } from "~/components/logout-button"; ··· 16 15 import { createMeta } from "~/utils/meta"; 17 16 import { required } from "~/utils/required"; 18 17 19 - export const loader = async ({ request }: LoaderFunctionArgs) => { 18 + import type { Route } from "./+types/_index"; 19 + 20 + export const loader = async ({ request }: Route.LoaderArgs) => { 20 21 const userDid = await getSessionUserDid(request); 21 22 const t = await i18nServer.getFixedT(request); 22 23 return { ··· 27 28 }; 28 29 }; 29 30 30 - export const meta: MetaFunction<typeof loader> = ({ data }) => { 31 + export const meta = ({ data }: Route.MetaArgs) => { 31 32 const { title, description, url } = required(data); 32 33 return createMeta({ title, description, url }); 33 34 }; 34 35 35 - export default function Index() { 36 - const { isLogin } = useLoaderData<typeof loader>(); 36 + export default function Index({ loaderData }: Route.ComponentProps) { 37 + const { isLogin } = loaderData; 37 38 const { t, i18n } = useTranslation(); 38 39 return ( 39 40 <RootLayout>
+4 -3
app/routes/board.$handle.tsx
··· 1 - import type { LoaderFunctionArgs } from "@remix-run/node"; 2 - import { redirect } from "@remix-run/node"; 1 + import { redirect } from "react-router"; 2 + 3 + import type { Route } from "./+types/board.$handle"; 3 4 4 - export function loader({ params }: LoaderFunctionArgs) { 5 + export function loader({ params }: Route.LoaderArgs) { 5 6 return redirect(`/${params.handle}`); 6 7 }
+1 -3
app/routes/client-metadata[.json].tsx
··· 1 - import { json } from "@remix-run/node"; 2 - 3 1 import { createOAuthClient } from "~/server/oauth/client"; 4 2 5 3 export async function loader() { 6 4 const oauthClient = await createOAuthClient(); 7 - return json(oauthClient.clientMetadata); 5 + return Response.json(oauthClient.clientMetadata); 8 6 }
+8 -12
app/routes/edit.tsx
··· 1 - import type { ActionFunctionArgs, LoaderFunctionArgs } from "@remix-run/node"; 2 - import { 3 - redirect, 4 - useBeforeUnload, 5 - useBlocker, 6 - useLoaderData, 7 - } from "@remix-run/react"; 8 1 import { useEffect } from "react"; 9 2 import { useTranslation } from "react-i18next"; 3 + import { redirect, useBeforeUnload, useBlocker } from "react-router"; 10 4 11 5 import { Main } from "~/components/layout"; 12 6 import { BoardViewer } from "~/features/board/board-viewer"; ··· 17 11 import { boardService } from "~/server/service/boardService"; 18 12 import { env } from "~/utils/env"; 19 13 import { createLogger } from "~/utils/logger"; 14 + 15 + import type { Route } from "./+types/edit"; 20 16 21 17 const logger = createLogger("edit"); 22 18 23 - export async function action({ request }: ActionFunctionArgs) { 19 + export async function action({ request }: Route.ActionArgs) { 24 20 const t = await i18nServer.getFixedT(request); 25 21 const [user, agent] = await Promise.all([ 26 22 getSessionUser(request), ··· 50 46 return redirect(`/${user.handle}?success`); 51 47 } 52 48 53 - export async function loader({ request }: LoaderFunctionArgs) { 49 + export async function loader({ request }: Route.LoaderArgs) { 54 50 const user = await getSessionUser(request); 55 51 if (!user) { 56 - return redirect("/login"); 52 + throw redirect("/login"); 57 53 } 58 54 const board = await boardService.findOrFetchBoard(user.did); 59 55 return { user, board, url: `${env.PUBLIC_URL}/${user.handle}` }; 60 56 } 61 57 62 - export default function Index() { 63 - const { user, board, url } = useLoaderData<typeof loader>(); 58 + export default function Index({ loaderData }: Route.ComponentProps) { 59 + const { user, board, url } = loaderData; 64 60 const { t } = useTranslation(); 65 61 66 62 // 更新ボタンを押したりしたときに確認ダイアログを出す
+1 -3
app/routes/health.tsx
··· 1 - import { json } from "@remix-run/node"; 2 - 3 1 export const loader = () => { 4 - return json({ status: "OK" }); 2 + return Response.json({ status: "OK" }); 5 3 };
+1 -3
app/routes/jwks[.json].tsx
··· 1 - import { json } from "@remix-run/node"; 2 - 3 1 import { createOAuthClient } from "~/server/oauth/client"; 4 2 5 3 export async function loader() { 6 4 const oauthClient = await createOAuthClient(); 7 - return json(oauthClient.jwks); 5 + return Response.json(oauthClient.jwks); 8 6 }
+4 -3
app/routes/login.tsx
··· 1 1 import { OAuthResolverError } from "@atproto/oauth-client-node"; 2 - import type { ActionFunctionArgs } from "@remix-run/node"; 3 - import { redirect } from "@remix-run/node"; 2 + import { redirect } from "react-router"; 4 3 5 4 import { Main, RootLayout } from "~/components/layout"; 6 5 import { LoginForm } from "~/features/login/login-form"; ··· 9 8 import { createOAuthClient } from "~/server/oauth/client"; 10 9 import { createLogger } from "~/utils/logger"; 11 10 11 + import type { Route } from "./+types/login"; 12 + 12 13 const logger = createLogger("login"); 13 14 14 - export async function action({ request }: ActionFunctionArgs) { 15 + export async function action({ request }: Route.ActionArgs) { 15 16 const t = await i18nServer.getFixedT(request); 16 17 const form = await request.formData(); 17 18 const handle = form.get("identifier");
+4 -3
app/routes/logout.tsx
··· 1 - import type { ActionFunctionArgs } from "@remix-run/node"; 2 - import { redirect } from "@remix-run/node"; 1 + import { redirect } from "react-router"; 3 2 4 3 import { destroySession, getSession } from "~/server/oauth/session"; 5 4 6 - export const action = async ({ request }: ActionFunctionArgs) => { 5 + import type { Route } from "./+types/logout"; 6 + 7 + export const action = async ({ request }: Route.ActionArgs) => { 7 8 const session = await getSession(request); 8 9 return redirect("/", { 9 10 headers: {
+4 -2
app/routes/oauth.callback.tsx
··· 1 - import { type LoaderFunctionArgs, redirect } from "@remix-run/node"; 1 + import { redirect } from "react-router"; 2 2 3 3 import { createOAuthClient } from "~/server/oauth/client"; 4 4 import { commitSession, getSession } from "~/server/oauth/session"; 5 5 import { createLogger } from "~/utils/logger"; 6 6 7 + import type { Route } from "./+types/oauth.callback"; 8 + 7 9 const logger = createLogger("oauth.callback"); 8 10 9 - export async function loader({ request }: LoaderFunctionArgs) { 11 + export async function loader({ request }: Route.LoaderArgs) { 10 12 const remixSession = await getSession(request); 11 13 try { 12 14 const oauthClient = await createOAuthClient();
+3 -3
app/routes/sample.tsx
··· 1 - import { useLoaderData } from "@remix-run/react"; 2 1 import { useTranslation } from "react-i18next"; 3 2 4 3 import { Footer, Main } from "~/components/layout"; 5 4 import { BoardViewer } from "~/features/board/board-viewer"; 6 5 import { env } from "~/utils/env"; 6 + 7 + import type { Route } from "./+types/sample"; 7 8 8 9 export function loader() { 9 10 return { ··· 11 12 }; 12 13 } 13 14 14 - export default function Index() { 15 - const { url } = useLoaderData<typeof loader>(); 15 + export default function Index({ loaderData: { url } }: Route.ComponentProps) { 16 16 const { t } = useTranslation(); 17 17 return ( 18 18 <>
+3 -3
app/server.ts
··· 1 - import { createRequestHandler } from "@remix-run/express"; 2 - import type { ServerBuild } from "@remix-run/node"; 1 + import { createRequestHandler } from "@react-router/express"; 3 2 import express from "express"; 4 3 import morgan from "morgan"; 4 + import type { ServerBuild } from "react-router"; 5 5 6 6 import { jetstream } from "./server/jetstream/subscription.js"; 7 7 import { env } from "./utils/env.js"; ··· 64 64 const build = viteDevServer 65 65 ? () => 66 66 viteDevServer.ssrLoadModule( 67 - "virtual:remix/server-build", 67 + "virtual:react-router/server-build", 68 68 ) as Promise<ServerBuild> 69 69 : // eslint-disable-next-line 70 70 // @ts-ignore: ビルド成果物はあったりなかったりするのでts-expect-errorを使わない
+1 -1
app/server/oauth/session.ts
··· 1 - import { createCookieSessionStorage } from "@remix-run/node"; // or cloudflare/deno 1 + import { createCookieSessionStorage } from "react-router"; // or cloudflare/deno 2 2 3 3 import { LinkatAgent } from "~/libs/agent"; 4 4 import { userService } from "~/server/service/userService";
+1 -3
app/utils/env.ts
··· 12 12 "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR0hBZ0VBTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEJHMHdhd0lCQVFRZ1hoS1ZMc2pwVSszSm9wd2kKcjhUcjBBVXVMNTNyRzR6V2duQkNSZUNRQjdTaFJBTkNBQVRaNzlHaGQxYnphVVpHb1lzcitLRVJxNnIyUXZJZApRQXZ4ZUpqRkdMbDJ0TDRmZUhSWmVkc3NxZjdDNUpjdGZWN2hKd2hYOG5ackxjYXU3OWtEQ25PTQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg=="; 13 13 14 14 const server = { 15 - NODE_ENV: z 16 - .enum(["development", "production", "test"]) 17 - .default(process.env.NODE_ENV), 15 + NODE_ENV: z.enum(["development", "production", "test"]), 18 16 LOG_LEVEL: z 19 17 .enum(["debug", "info", "warn", "error"]) 20 18 .default(match({ prod: "info", dev: "debug" })),
+1 -1
app/utils/meta.ts
··· 1 - import type { MetaFunction } from "@remix-run/node"; 1 + import type { MetaFunction } from "react-router"; 2 2 3 3 export const createMeta = ({ 4 4 title,
+5
eslint.config.js
··· 6 6 ...configs.react(), 7 7 ...configs.tailwind(), 8 8 { 9 + rules: { 10 + "@typescript-eslint/only-throw-error": "off", 11 + }, 12 + }, 13 + { 9 14 files: ["**/*.spec.ts"], 10 15 ignores: ["e2e/**/*.spec.ts"], 11 16 ...arrangeActAssert,
+10 -9
package.json
··· 8 8 }, 9 9 "scripts": { 10 10 "_eslint": "eslint --cache --cache-location ./node_modules/.cache/eslint", 11 - "all": "run-s build format test", 11 + "all": "run-s typecheck format test", 12 12 "build": "run-p -s build:*", 13 - "build:remix": "remix vite:build", 13 + "build:remix": "react-router build", 14 14 "build:server": "node ./scripts/build-server.js", 15 15 "dev": "./scripts/dev.sh", 16 16 "dev-atproto": "cd atproto && make run-dev-env", ··· 22 22 "setup-dev": "./scripts/setup-dev.sh", 23 23 "start": "NODE_ENV=production node ./dist/server.js", 24 24 "start:local": "NODE_ENV=development E2E=1 node --env-file .env ./dist/server.js", 25 - "test": "vitest", 26 - "typecheck": "tsc" 25 + "test": "vitest run", 26 + "typecheck": "react-router typegen && tsc" 27 27 }, 28 28 "dependencies": { 29 29 "@atproto/api": "0.13.14", ··· 40 40 "@emoji-mart/react": "1.1.1", 41 41 "@heroicons/react": "2.1.5", 42 42 "@prisma/client": "5.22.0", 43 - "@remix-run/express": "2.13.1", 44 - "@remix-run/node": "2.13.1", 45 - "@remix-run/react": "2.13.1", 43 + "@react-router/express": "^7.0.0", 44 + "@react-router/fs-routes": "7.0.1", 45 + "@react-router/node": "^7.0.0", 46 46 "@resvg/resvg-js": "2.6.2", 47 47 "@skyware/jetstream": "0.2.0", 48 48 "@t3-oss/env-core": "0.11.1", ··· 62 62 "react-github-btn": "1.4.0", 63 63 "react-i18next": "15.1.0", 64 64 "react-movable": "3.3.1", 65 - "remix-i18next": "6.4.1", 65 + "react-router": "^7.0.0", 66 + "remix-i18next": "7.0.0", 66 67 "remix-utils": "7.7.0", 67 68 "satori": "0.11.3", 68 69 "tailwind-merge": "2.5.4", ··· 77 78 "@mkizka/eslint-plugin-aaa": "1.0.2", 78 79 "@playwright/test": "1.48.2", 79 80 "@quramy/prisma-fabbrica": "2.2.1", 80 - "@remix-run/dev": "2.13.1", 81 + "@react-router/dev": "^7.0.0", 81 82 "@types/express": "5.0.0", 82 83 "@types/morgan": "1.9.9", 83 84 "@types/node": "22.9.0",
+177 -1852
pnpm-lock.yaml
··· 50 50 '@prisma/client': 51 51 specifier: 5.22.0 52 52 version: 5.22.0(prisma@5.22.0) 53 - '@remix-run/express': 54 - specifier: 2.13.1 55 - version: 2.13.1(express@4.21.1)(typescript@5.6.3) 56 - '@remix-run/node': 57 - specifier: 2.13.1 58 - version: 2.13.1(typescript@5.6.3) 59 - '@remix-run/react': 60 - specifier: 2.13.1 61 - version: 2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) 53 + '@react-router/express': 54 + specifier: ^7.0.0 55 + version: 7.0.1(express@4.21.1)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) 56 + '@react-router/fs-routes': 57 + specifier: 7.0.1 58 + version: 7.0.1(@react-router/dev@7.0.1(@types/node@22.9.0)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)))(typescript@5.6.3) 59 + '@react-router/node': 60 + specifier: ^7.0.0 61 + version: 7.0.1(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) 62 62 '@resvg/resvg-js': 63 63 specifier: 2.6.2 64 64 version: 2.6.2 ··· 116 116 react-movable: 117 117 specifier: 3.3.1 118 118 version: 3.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 119 + react-router: 120 + specifier: ^7.0.0 121 + version: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 119 122 remix-i18next: 120 - specifier: 6.4.1 121 - version: 6.4.1(@remix-run/node@2.13.1(typescript@5.6.3))(@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(i18next@23.16.4)(react-i18next@15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) 123 + specifier: 7.0.0 124 + version: 7.0.0(i18next@23.16.4)(react-i18next@15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) 122 125 remix-utils: 123 126 specifier: 7.7.0 124 127 version: 7.7.0(@remix-run/node@2.13.1(typescript@5.6.3))(@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/router@1.20.0)(react@18.3.1)(zod@3.23.8) ··· 156 159 '@quramy/prisma-fabbrica': 157 160 specifier: 2.2.1 158 161 version: 2.2.1(@prisma/client@5.22.0(prisma@5.22.0))(typescript@5.6.3) 159 - '@remix-run/dev': 160 - specifier: 2.13.1 161 - version: 2.13.1(@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@types/node@22.9.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)) 162 + '@react-router/dev': 163 + specifier: ^7.0.0 164 + version: 7.0.1(@types/node@22.9.0)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)) 162 165 '@types/express': 163 166 specifier: 5.0.0 164 167 version: 5.0.0 ··· 646 649 emoji-mart: ^5.2 647 650 react: ^16.8 || ^17 || ^18 648 651 649 - '@emotion/hash@0.9.2': 650 - resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} 651 - 652 652 '@esbuild/aix-ppc64@0.21.5': 653 653 resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 654 654 engines: {node: '>=12'} ··· 666 666 engines: {node: '>=18'} 667 667 cpu: [ppc64] 668 668 os: [aix] 669 - 670 - '@esbuild/android-arm64@0.17.6': 671 - resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} 672 - engines: {node: '>=12'} 673 - cpu: [arm64] 674 - os: [android] 675 669 676 670 '@esbuild/android-arm64@0.21.5': 677 671 resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} ··· 691 685 cpu: [arm64] 692 686 os: [android] 693 687 694 - '@esbuild/android-arm@0.17.6': 695 - resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} 696 - engines: {node: '>=12'} 697 - cpu: [arm] 698 - os: [android] 699 - 700 688 '@esbuild/android-arm@0.21.5': 701 689 resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 702 690 engines: {node: '>=12'} ··· 715 703 cpu: [arm] 716 704 os: [android] 717 705 718 - '@esbuild/android-x64@0.17.6': 719 - resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==} 720 - engines: {node: '>=12'} 721 - cpu: [x64] 722 - os: [android] 723 - 724 706 '@esbuild/android-x64@0.21.5': 725 707 resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 726 708 engines: {node: '>=12'} ··· 739 721 cpu: [x64] 740 722 os: [android] 741 723 742 - '@esbuild/darwin-arm64@0.17.6': 743 - resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==} 744 - engines: {node: '>=12'} 745 - cpu: [arm64] 746 - os: [darwin] 747 - 748 724 '@esbuild/darwin-arm64@0.21.5': 749 725 resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 750 726 engines: {node: '>=12'} ··· 761 737 resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} 762 738 engines: {node: '>=18'} 763 739 cpu: [arm64] 764 - os: [darwin] 765 - 766 - '@esbuild/darwin-x64@0.17.6': 767 - resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==} 768 - engines: {node: '>=12'} 769 - cpu: [x64] 770 740 os: [darwin] 771 741 772 742 '@esbuild/darwin-x64@0.21.5': ··· 787 757 cpu: [x64] 788 758 os: [darwin] 789 759 790 - '@esbuild/freebsd-arm64@0.17.6': 791 - resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==} 792 - engines: {node: '>=12'} 793 - cpu: [arm64] 794 - os: [freebsd] 795 - 796 760 '@esbuild/freebsd-arm64@0.21.5': 797 761 resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 798 762 engines: {node: '>=12'} ··· 811 775 cpu: [arm64] 812 776 os: [freebsd] 813 777 814 - '@esbuild/freebsd-x64@0.17.6': 815 - resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==} 816 - engines: {node: '>=12'} 817 - cpu: [x64] 818 - os: [freebsd] 819 - 820 778 '@esbuild/freebsd-x64@0.21.5': 821 779 resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 822 780 engines: {node: '>=12'} ··· 835 793 cpu: [x64] 836 794 os: [freebsd] 837 795 838 - '@esbuild/linux-arm64@0.17.6': 839 - resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} 840 - engines: {node: '>=12'} 841 - cpu: [arm64] 842 - os: [linux] 843 - 844 796 '@esbuild/linux-arm64@0.21.5': 845 797 resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 846 798 engines: {node: '>=12'} ··· 857 809 resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} 858 810 engines: {node: '>=18'} 859 811 cpu: [arm64] 860 - os: [linux] 861 - 862 - '@esbuild/linux-arm@0.17.6': 863 - resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} 864 - engines: {node: '>=12'} 865 - cpu: [arm] 866 812 os: [linux] 867 813 868 814 '@esbuild/linux-arm@0.21.5': ··· 883 829 cpu: [arm] 884 830 os: [linux] 885 831 886 - '@esbuild/linux-ia32@0.17.6': 887 - resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==} 888 - engines: {node: '>=12'} 889 - cpu: [ia32] 890 - os: [linux] 891 - 892 832 '@esbuild/linux-ia32@0.21.5': 893 833 resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 894 834 engines: {node: '>=12'} ··· 907 847 cpu: [ia32] 908 848 os: [linux] 909 849 910 - '@esbuild/linux-loong64@0.17.6': 911 - resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==} 912 - engines: {node: '>=12'} 913 - cpu: [loong64] 914 - os: [linux] 915 - 916 850 '@esbuild/linux-loong64@0.21.5': 917 851 resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 918 852 engines: {node: '>=12'} ··· 931 865 cpu: [loong64] 932 866 os: [linux] 933 867 934 - '@esbuild/linux-mips64el@0.17.6': 935 - resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==} 936 - engines: {node: '>=12'} 937 - cpu: [mips64el] 938 - os: [linux] 939 - 940 868 '@esbuild/linux-mips64el@0.21.5': 941 869 resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 942 870 engines: {node: '>=12'} ··· 953 881 resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} 954 882 engines: {node: '>=18'} 955 883 cpu: [mips64el] 956 - os: [linux] 957 - 958 - '@esbuild/linux-ppc64@0.17.6': 959 - resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==} 960 - engines: {node: '>=12'} 961 - cpu: [ppc64] 962 884 os: [linux] 963 885 964 886 '@esbuild/linux-ppc64@0.21.5': ··· 979 901 cpu: [ppc64] 980 902 os: [linux] 981 903 982 - '@esbuild/linux-riscv64@0.17.6': 983 - resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==} 984 - engines: {node: '>=12'} 985 - cpu: [riscv64] 986 - os: [linux] 987 - 988 904 '@esbuild/linux-riscv64@0.21.5': 989 905 resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 990 906 engines: {node: '>=12'} ··· 1003 919 cpu: [riscv64] 1004 920 os: [linux] 1005 921 1006 - '@esbuild/linux-s390x@0.17.6': 1007 - resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==} 1008 - engines: {node: '>=12'} 1009 - cpu: [s390x] 1010 - os: [linux] 1011 - 1012 922 '@esbuild/linux-s390x@0.21.5': 1013 923 resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 1014 924 engines: {node: '>=12'} ··· 1027 937 cpu: [s390x] 1028 938 os: [linux] 1029 939 1030 - '@esbuild/linux-x64@0.17.6': 1031 - resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==} 1032 - engines: {node: '>=12'} 1033 - cpu: [x64] 1034 - os: [linux] 1035 - 1036 940 '@esbuild/linux-x64@0.21.5': 1037 941 resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 1038 942 engines: {node: '>=12'} ··· 1051 955 cpu: [x64] 1052 956 os: [linux] 1053 957 1054 - '@esbuild/netbsd-x64@0.17.6': 1055 - resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==} 1056 - engines: {node: '>=12'} 1057 - cpu: [x64] 1058 - os: [netbsd] 1059 - 1060 958 '@esbuild/netbsd-x64@0.21.5': 1061 959 resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 1062 960 engines: {node: '>=12'} ··· 1087 985 cpu: [arm64] 1088 986 os: [openbsd] 1089 987 1090 - '@esbuild/openbsd-x64@0.17.6': 1091 - resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==} 1092 - engines: {node: '>=12'} 1093 - cpu: [x64] 1094 - os: [openbsd] 1095 - 1096 988 '@esbuild/openbsd-x64@0.21.5': 1097 989 resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 1098 990 engines: {node: '>=12'} ··· 1111 1003 cpu: [x64] 1112 1004 os: [openbsd] 1113 1005 1114 - '@esbuild/sunos-x64@0.17.6': 1115 - resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==} 1116 - engines: {node: '>=12'} 1117 - cpu: [x64] 1118 - os: [sunos] 1119 - 1120 1006 '@esbuild/sunos-x64@0.21.5': 1121 1007 resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 1122 1008 engines: {node: '>=12'} ··· 1135 1021 cpu: [x64] 1136 1022 os: [sunos] 1137 1023 1138 - '@esbuild/win32-arm64@0.17.6': 1139 - resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==} 1140 - engines: {node: '>=12'} 1141 - cpu: [arm64] 1142 - os: [win32] 1143 - 1144 1024 '@esbuild/win32-arm64@0.21.5': 1145 1025 resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 1146 1026 engines: {node: '>=12'} ··· 1159 1039 cpu: [arm64] 1160 1040 os: [win32] 1161 1041 1162 - '@esbuild/win32-ia32@0.17.6': 1163 - resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==} 1164 - engines: {node: '>=12'} 1165 - cpu: [ia32] 1166 - os: [win32] 1167 - 1168 1042 '@esbuild/win32-ia32@0.21.5': 1169 1043 resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 1170 1044 engines: {node: '>=12'} ··· 1181 1055 resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} 1182 1056 engines: {node: '>=18'} 1183 1057 cpu: [ia32] 1184 - os: [win32] 1185 - 1186 - '@esbuild/win32-x64@0.17.6': 1187 - resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==} 1188 - engines: {node: '>=12'} 1189 - cpu: [x64] 1190 1058 os: [win32] 1191 1059 1192 1060 '@esbuild/win32-x64@0.21.5': ··· 1408 1276 '@jridgewell/trace-mapping@0.3.25': 1409 1277 resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 1410 1278 1411 - '@jspm/core@2.1.0': 1412 - resolution: {integrity: sha512-3sRl+pkyFY/kLmHl0cgHiFp2xEqErA8N3ECjMs7serSUBmoJ70lBa0PG5t0IM6WJgdZNyyI0R8YFfi5wM8+mzg==} 1413 - 1414 - '@mdx-js/mdx@2.3.0': 1415 - resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} 1279 + '@mjackson/node-fetch-server@0.2.0': 1280 + resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==} 1416 1281 1417 1282 '@mkizka/eslint-config@5.3.4': 1418 1283 resolution: {integrity: sha512-cqc3gKXcrN0ltSBny+lagggpki4SyVent3LL1Yk9cJSbB5Aez9VSRI1fm+AxYjQ5vEUrqPVzPHhiYOEk3WnY0w==} ··· 1445 1310 '@nodelib/fs.walk@1.2.8': 1446 1311 resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 1447 1312 engines: {node: '>= 8'} 1448 - 1449 - '@npmcli/fs@3.1.1': 1450 - resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} 1451 - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1452 1313 1453 1314 '@npmcli/git@4.1.0': 1454 1315 resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} ··· 1529 1390 '@prisma/client': ^5.0.0 1530 1391 typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 1531 1392 1532 - '@remix-run/dev@2.13.1': 1533 - resolution: {integrity: sha512-7+06Dail6zMyRlRvgrZ4cmQjs2gUb+M24iP4jbmql+0B7VAAPwzCRU0x+BF5z8GSef13kDrH3iXv/BQ2O2yOgw==} 1534 - engines: {node: '>=18.0.0'} 1393 + '@react-router/dev@7.0.1': 1394 + resolution: {integrity: sha512-7B9xUb/5um3Pe/zqpObQP/Yhypw49q6CFxn7NWWS78DJnuO7axXuH4IerrMLIiqv+8Ft0uo3UQVj+ztTr0T2+w==} 1395 + engines: {node: '>=20.0.0'} 1535 1396 hasBin: true 1536 1397 peerDependencies: 1537 - '@remix-run/react': ^2.13.1 1538 - '@remix-run/serve': ^2.13.1 1398 + '@react-router/serve': ^7.0.1 1399 + react-router: ^7.0.1 1539 1400 typescript: ^5.1.0 1540 1401 vite: ^5.1.0 1541 1402 wrangler: ^3.28.2 1542 1403 peerDependenciesMeta: 1543 - '@remix-run/serve': 1404 + '@react-router/serve': 1544 1405 optional: true 1545 1406 typescript: 1546 1407 optional: true 1547 - vite: 1408 + wrangler: 1409 + optional: true 1410 + 1411 + '@react-router/express@7.0.1': 1412 + resolution: {integrity: sha512-zAw65RMiF5TshPVvmoCpUjjpNwC7vmpp38lqP2xX6Rfp+K99LhMaNyhsIeG9pKNIXQ7EuMwp3zG7kjr5suQAiA==} 1413 + engines: {node: '>=20.0.0'} 1414 + peerDependencies: 1415 + express: ^4.17.1 1416 + react-router: 7.0.1 1417 + typescript: ^5.1.0 1418 + peerDependenciesMeta: 1419 + typescript: 1548 1420 optional: true 1549 - wrangler: 1421 + 1422 + '@react-router/fs-routes@7.0.1': 1423 + resolution: {integrity: sha512-ibg8w3gwe+3u9hBE9LfMKUu+32u5nPaD0j197XZ+9esKtKTFEW2QsWXCQroQ/8NjIKSCFxxw1Bl56UAotKYAvA==} 1424 + engines: {node: '>=20.0.0'} 1425 + peerDependencies: 1426 + '@react-router/dev': ^7.0.1 1427 + typescript: ^5.1.0 1428 + peerDependenciesMeta: 1429 + typescript: 1550 1430 optional: true 1551 1431 1552 - '@remix-run/express@2.13.1': 1553 - resolution: {integrity: sha512-yl3/BSJ8eyvwUyWCLDq3NlS81mZFll9hnADNuSCCBrQgkMhEx7stk5JUmWdvmcmGqHw04Ahkq07ZqJeD4F1FMA==} 1554 - engines: {node: '>=18.0.0'} 1432 + '@react-router/node@7.0.1': 1433 + resolution: {integrity: sha512-09AkG1jobbMApTx4Wx8lf1u+nZeYG2ZOBAhxTLz7dgnr7sQpUVD3ewe9gizedXpJrCfP4Sx272aGywX1gEqoSQ==} 1434 + engines: {node: '>=20.0.0'} 1555 1435 peerDependencies: 1556 - express: ^4.20.0 1436 + react-router: 7.0.1 1557 1437 typescript: ^5.1.0 1558 1438 peerDependenciesMeta: 1559 1439 typescript: ··· 1816 1696 '@ts-morph/common@0.17.0': 1817 1697 resolution: {integrity: sha512-RMSSvSfs9kb0VzkvQ2NWobwnj7TxCA9vI/IjR9bDHqgAyVbu2T0DN4wiKVqomyDWqO7dPr/tErSfq7urQ1Q37g==} 1818 1698 1819 - '@types/acorn@4.0.6': 1820 - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} 1821 - 1822 1699 '@types/babel__core@7.20.5': 1823 1700 resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 1824 1701 ··· 1839 1716 1840 1717 '@types/cookie@0.6.0': 1841 1718 resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 1842 - 1843 - '@types/debug@4.1.12': 1844 - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 1845 - 1846 - '@types/estree-jsx@1.0.5': 1847 - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} 1848 1719 1849 1720 '@types/estree@1.0.6': 1850 1721 resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} ··· 1858 1729 '@types/graceful-fs@4.1.9': 1859 1730 resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} 1860 1731 1861 - '@types/hast@2.3.10': 1862 - resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==} 1863 - 1864 1732 '@types/http-errors@2.0.4': 1865 1733 resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} 1866 1734 ··· 1876 1744 '@types/json-schema@7.0.15': 1877 1745 resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 1878 1746 1879 - '@types/mdast@3.0.15': 1880 - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} 1881 - 1882 - '@types/mdx@2.0.13': 1883 - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} 1884 - 1885 1747 '@types/mime@1.3.5': 1886 1748 resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} 1887 1749 1888 1750 '@types/morgan@1.9.9': 1889 1751 resolution: {integrity: sha512-iRYSDKVaC6FkGSpEVVIvrRGw0DfJMiQzIn3qr2G5B3C//AWkulhXgaBd7tS9/J79GWSYMTHGs7PfI5b3Y8m+RQ==} 1890 - 1891 - '@types/ms@0.7.34': 1892 - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} 1893 1752 1894 1753 '@types/node@22.9.0': 1895 1754 resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} ··· 1926 1785 1927 1786 '@types/umami@2.10.0': 1928 1787 resolution: {integrity: sha512-iWcs1KkcO3ooIi2rR9M5drmpQzlsT+sFiyWElIGmVwjdGlp+vQmy/VYIChYnF5ETqx7KrL80JfSkroS6dm37Hg==} 1929 - 1930 - '@types/unist@2.0.11': 1931 - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} 1932 1788 1933 1789 '@types/ws@8.5.13': 1934 1790 resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} ··· 1996 1852 resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} 1997 1853 engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1998 1854 1999 - '@vanilla-extract/babel-plugin-debug-ids@1.1.0': 2000 - resolution: {integrity: sha512-Zy9bKjaL2P5zsrFYQJ8IjWGlFODmZrpvFmjFE0Zv8om55Pz1JtpJtL6DvlxlWUxbVaP1HKCqsmEfFOZN8fX/ZQ==} 2001 - 2002 - '@vanilla-extract/css@1.16.0': 2003 - resolution: {integrity: sha512-05JTbvG1E0IrSZKZ5el2EM9CmAX0XSdsNY+d4aRZxDvYf3/hwxomvFFEz2b/awjgg9yTVHW83Wq19wE4OoTEMg==} 2004 - 2005 - '@vanilla-extract/integration@6.5.0': 2006 - resolution: {integrity: sha512-E2YcfO8vA+vs+ua+gpvy1HRqvgWbI+MTlUpxA8FvatOvybuNcWAY0CKwQ/Gpj7rswYKtC6C7+xw33emM6/ImdQ==} 2007 - 2008 - '@vanilla-extract/private@1.0.6': 2009 - resolution: {integrity: sha512-ytsG/JLweEjw7DBuZ/0JCN4WAQgM9erfSTdS1NQY778hFQSZ6cfCDEZZ0sgVm4k54uNz6ImKB33AYvSR//fjxw==} 2010 - 2011 1855 '@vercel/og@0.6.3': 2012 1856 resolution: {integrity: sha512-aoCrC9FqkeA+WEEb9CwSmjD0rGlFeNqbUsI41JPmKWR9Hx6FFn86tvH96O5HZMF6VAXTGHxa3nPH3BokROpdgA==} 2013 1857 engines: {node: '>=16'} ··· 2073 1917 resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 2074 1918 engines: {node: '>=0.4.0'} 2075 1919 hasBin: true 2076 - 2077 - aggregate-error@3.1.0: 2078 - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 2079 - engines: {node: '>=8'} 2080 1920 2081 1921 ajv@6.12.6: 2082 1922 resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ··· 2167 2007 resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 2168 2008 engines: {node: '>=12'} 2169 2009 2170 - astring@1.9.0: 2171 - resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} 2172 - hasBin: true 2173 - 2174 2010 async@3.2.6: 2175 2011 resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} 2176 2012 ··· 2201 2037 axios@1.7.7: 2202 2038 resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} 2203 2039 2040 + babel-dead-code-elimination@1.0.6: 2041 + resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} 2042 + 2204 2043 babel-jest@29.7.0: 2205 2044 resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} 2206 2045 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} ··· 2231 2070 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2232 2071 peerDependencies: 2233 2072 '@babel/core': ^7.0.0 2234 - 2235 - bail@2.0.2: 2236 - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 2237 2073 2238 2074 balanced-match@1.0.2: 2239 2075 resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} ··· 2253 2089 resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 2254 2090 engines: {node: '>=8'} 2255 2091 2256 - bl@4.1.0: 2257 - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 2258 - 2259 2092 body-parser@1.20.3: 2260 2093 resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} 2261 2094 engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} ··· 2284 2117 buffer-from@1.1.2: 2285 2118 resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 2286 2119 2287 - buffer@5.7.1: 2288 - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 2289 - 2290 2120 buffer@6.0.3: 2291 2121 resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 2292 2122 ··· 2298 2128 resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 2299 2129 engines: {node: '>=8'} 2300 2130 2301 - cacache@17.1.4: 2302 - resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==} 2303 - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 2304 - 2305 2131 call-bind@1.0.7: 2306 2132 resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 2307 2133 engines: {node: '>= 0.4'} ··· 2339 2165 resolution: {integrity: sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==} 2340 2166 hasBin: true 2341 2167 2342 - ccount@2.0.1: 2343 - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 2344 - 2345 2168 chai@5.1.2: 2346 2169 resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} 2347 2170 engines: {node: '>=12'} ··· 2362 2185 resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 2363 2186 engines: {node: '>=10'} 2364 2187 2365 - character-entities-html4@2.1.0: 2366 - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 2367 - 2368 - character-entities-legacy@3.0.0: 2369 - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 2370 - 2371 - character-entities@2.0.2: 2372 - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 2373 - 2374 - character-reference-invalid@2.0.1: 2375 - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} 2376 - 2377 2188 check-error@2.1.1: 2378 2189 resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 2379 2190 engines: {node: '>= 16'} ··· 2382 2193 resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 2383 2194 engines: {node: '>= 8.10.0'} 2384 2195 2385 - chownr@1.1.4: 2386 - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 2196 + chokidar@4.0.1: 2197 + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} 2198 + engines: {node: '>= 14.16.0'} 2387 2199 2388 2200 chownr@2.0.0: 2389 2201 resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} ··· 2399 2211 cjs-module-lexer@1.4.1: 2400 2212 resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} 2401 2213 2402 - clean-stack@2.2.0: 2403 - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 2404 - engines: {node: '>=6'} 2405 - 2406 - cli-cursor@3.1.0: 2407 - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 2408 - engines: {node: '>=8'} 2409 - 2410 2214 cli-cursor@5.0.0: 2411 2215 resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} 2412 2216 engines: {node: '>=18'} 2413 2217 2414 - cli-spinners@2.9.2: 2415 - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 2416 - engines: {node: '>=6'} 2417 - 2418 2218 cli-truncate@4.0.0: 2419 2219 resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} 2420 2220 engines: {node: '>=18'} ··· 2426 2226 cliui@8.0.1: 2427 2227 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 2428 2228 engines: {node: '>=12'} 2429 - 2430 - clone@1.0.4: 2431 - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 2432 - engines: {node: '>=0.8'} 2433 2229 2434 2230 clsx@2.1.1: 2435 2231 resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} ··· 2465 2261 resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 2466 2262 engines: {node: '>= 0.8'} 2467 2263 2468 - comma-separated-tokens@2.0.3: 2469 - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 2470 - 2471 2264 commander@12.1.0: 2472 2265 resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} 2473 2266 engines: {node: '>=18'} ··· 2520 2313 resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 2521 2314 engines: {node: '>= 0.6'} 2522 2315 2316 + cookie@1.0.2: 2317 + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} 2318 + engines: {node: '>=18'} 2319 + 2523 2320 core-util-is@1.0.3: 2524 2321 resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 2525 2322 ··· 2556 2353 css-to-react-native@3.2.0: 2557 2354 resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} 2558 2355 2559 - css-what@6.1.0: 2560 - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 2561 - engines: {node: '>= 6'} 2562 - 2563 2356 cssesc@3.0.0: 2564 2357 resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 2565 2358 engines: {node: '>=4'} ··· 2609 2402 supports-color: 2610 2403 optional: true 2611 2404 2612 - decode-named-character-reference@1.0.2: 2613 - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 2614 - 2615 2405 dedent@1.5.3: 2616 2406 resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} 2617 2407 peerDependencies: ··· 2627 2417 deep-is@0.1.4: 2628 2418 resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 2629 2419 2630 - deep-object-diff@1.1.9: 2631 - resolution: {integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==} 2632 - 2633 2420 deepmerge@4.3.1: 2634 2421 resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 2635 2422 engines: {node: '>=0.10.0'} 2636 2423 2637 - defaults@1.0.4: 2638 - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 2639 - 2640 2424 define-data-property@1.1.4: 2641 2425 resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 2642 2426 engines: {node: '>= 0.4'} ··· 2660 2444 resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 2661 2445 engines: {node: '>= 0.8'} 2662 2446 2663 - dequal@2.0.3: 2664 - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 2665 - engines: {node: '>=6'} 2666 - 2667 2447 destroy@1.2.0: 2668 2448 resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 2669 2449 engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} ··· 2693 2473 doctrine@2.1.0: 2694 2474 resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 2695 2475 engines: {node: '>=0.10.0'} 2696 - 2697 - dotenv@16.4.5: 2698 - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} 2699 - engines: {node: '>=12'} 2700 2476 2701 2477 duplexify@3.7.1: 2702 2478 resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} ··· 2786 2562 resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 2787 2563 engines: {node: '>= 0.4'} 2788 2564 2789 - esbuild-plugins-node-modules-polyfill@1.6.7: 2790 - resolution: {integrity: sha512-1lzsVFT/6OO1ZATHKZqSP+qYzyFo2d+QF9QzMKsyJR7GMRScYizYb1uEEE4NxTsBSxWviY3xnmN9dEOTaKFbJA==} 2791 - engines: {node: '>=14.0.0'} 2792 - peerDependencies: 2793 - esbuild: '>=0.14.0 <=0.23.x' 2794 - 2795 - esbuild@0.17.6: 2796 - resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==} 2797 - engines: {node: '>=12'} 2798 - hasBin: true 2799 - 2800 2565 esbuild@0.21.5: 2801 2566 resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 2802 2567 engines: {node: '>=12'} ··· 2914 2679 resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 2915 2680 engines: {node: '>=4.0'} 2916 2681 2917 - estree-util-attach-comments@2.1.1: 2918 - resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} 2919 - 2920 - estree-util-build-jsx@2.2.2: 2921 - resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} 2922 - 2923 - estree-util-is-identifier-name@1.1.0: 2924 - resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==} 2925 - 2926 - estree-util-is-identifier-name@2.1.0: 2927 - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} 2928 - 2929 - estree-util-to-js@1.2.0: 2930 - resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} 2931 - 2932 - estree-util-value-to-estree@1.3.0: 2933 - resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} 2934 - engines: {node: '>=12.0.0'} 2935 - 2936 - estree-util-visit@1.2.1: 2937 - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} 2938 - 2939 2682 estree-walker@3.0.3: 2940 2683 resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 2941 2684 ··· 2946 2689 etag@1.8.1: 2947 2690 resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 2948 2691 engines: {node: '>= 0.6'} 2949 - 2950 - eval@0.1.8: 2951 - resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} 2952 - engines: {node: '>= 0.8'} 2953 2692 2954 2693 event-target-shim@5.0.1: 2955 2694 resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} ··· 2994 2733 resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} 2995 2734 engines: {node: '>= 0.10.0'} 2996 2735 2997 - extend@3.0.2: 2998 - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 2999 - 3000 2736 fast-deep-equal@3.1.3: 3001 2737 resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 3002 2738 ··· 3022 2758 3023 2759 fastq@1.17.1: 3024 2760 resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 3025 - 3026 - fault@2.0.1: 3027 - resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} 3028 2761 3029 2762 fb-watchman@2.0.2: 3030 2763 resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} ··· 3093 2826 resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} 3094 2827 engines: {node: '>= 6'} 3095 2828 3096 - format@0.2.2: 3097 - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} 3098 - engines: {node: '>=0.4.x'} 3099 - 3100 2829 forwarded@0.2.0: 3101 2830 resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 3102 2831 engines: {node: '>= 0.6'} ··· 3108 2837 resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 3109 2838 engines: {node: '>= 0.6'} 3110 2839 3111 - fs-constants@1.0.0: 3112 - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 3113 - 3114 2840 fs-extra@10.1.0: 3115 2841 resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 3116 2842 engines: {node: '>=12'} ··· 3123 2849 resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 3124 2850 engines: {node: '>= 8'} 3125 2851 3126 - fs-minipass@3.0.3: 3127 - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} 3128 - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 3129 - 3130 2852 fs.realpath@1.0.0: 3131 2853 resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 3132 2854 ··· 3149 2871 3150 2872 functions-have-names@1.2.3: 3151 2873 resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 3152 - 3153 - generic-names@4.0.0: 3154 - resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} 3155 2874 3156 2875 gensync@1.0.0-beta.2: 3157 2876 resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} ··· 3172 2891 get-package-type@0.1.0: 3173 2892 resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 3174 2893 engines: {node: '>=8.0.0'} 3175 - 3176 - get-port@5.1.1: 3177 - resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} 3178 - engines: {node: '>=8'} 3179 2894 3180 2895 get-stream@6.0.1: 3181 2896 resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} ··· 3285 3000 resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 3286 3001 engines: {node: '>= 0.4'} 3287 3002 3288 - hast-util-to-estree@2.3.3: 3289 - resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} 3290 - 3291 - hast-util-whitespace@2.0.1: 3292 - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} 3293 - 3294 3003 headers-polyfill@4.0.3: 3295 3004 resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} 3296 3005 ··· 3338 3047 resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 3339 3048 engines: {node: '>=0.10.0'} 3340 3049 3341 - icss-utils@5.1.0: 3342 - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} 3343 - engines: {node: ^10 || ^12 || >= 14} 3344 - peerDependencies: 3345 - postcss: ^8.1.0 3346 - 3347 3050 ieee754@1.2.1: 3348 3051 resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 3349 3052 ··· 3363 3066 imurmurhash@0.1.4: 3364 3067 resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 3365 3068 engines: {node: '>=0.8.19'} 3366 - 3367 - indent-string@4.0.0: 3368 - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 3369 - engines: {node: '>=8'} 3370 3069 3371 3070 inflight@1.0.6: 3372 3071 resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} ··· 3375 3074 inherits@2.0.4: 3376 3075 resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 3377 3076 3378 - inline-style-parser@0.1.1: 3379 - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} 3380 - 3381 3077 internal-slot@1.0.7: 3382 3078 resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 3383 3079 engines: {node: '>= 0.4'} ··· 3390 3086 resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} 3391 3087 engines: {node: '>= 10'} 3392 3088 3393 - is-alphabetical@2.0.1: 3394 - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} 3395 - 3396 - is-alphanumerical@2.0.1: 3397 - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} 3398 - 3399 3089 is-arguments@1.1.1: 3400 3090 resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} 3401 3091 engines: {node: '>= 0.4'} ··· 3422 3112 resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 3423 3113 engines: {node: '>= 0.4'} 3424 3114 3425 - is-buffer@2.0.5: 3426 - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} 3427 - engines: {node: '>=4'} 3428 - 3429 3115 is-callable@1.2.7: 3430 3116 resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 3431 3117 engines: {node: '>= 0.4'} ··· 3441 3127 is-date-object@1.0.5: 3442 3128 resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 3443 3129 engines: {node: '>= 0.4'} 3444 - 3445 - is-decimal@2.0.1: 3446 - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} 3447 3130 3448 3131 is-deflate@1.0.0: 3449 3132 resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} ··· 3483 3166 resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} 3484 3167 engines: {node: '>=0.10.0'} 3485 3168 3486 - is-hexadecimal@2.0.1: 3487 - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} 3488 - 3489 - is-interactive@1.0.0: 3490 - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} 3491 - engines: {node: '>=8'} 3492 - 3493 3169 is-map@2.0.3: 3494 3170 resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} 3495 3171 engines: {node: '>= 0.4'} ··· 3509 3185 resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 3510 3186 engines: {node: '>=0.12.0'} 3511 3187 3512 - is-plain-obj@3.0.0: 3513 - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} 3514 - engines: {node: '>=10'} 3515 - 3516 - is-plain-obj@4.1.0: 3517 - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 3518 - engines: {node: '>=12'} 3519 - 3520 - is-reference@3.0.2: 3521 - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} 3522 - 3523 3188 is-regex@1.1.4: 3524 3189 resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 3525 3190 engines: {node: '>= 0.4'} ··· 3551 3216 is-typed-array@1.1.13: 3552 3217 resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 3553 3218 engines: {node: '>= 0.4'} 3554 - 3555 - is-unicode-supported@0.1.0: 3556 - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 3557 - engines: {node: '>=10'} 3558 3219 3559 3220 is-weakmap@2.0.2: 3560 3221 resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} ··· 3622 3283 resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} 3623 3284 engines: {node: '>=10'} 3624 3285 hasBin: true 3625 - 3626 - javascript-stringify@2.1.0: 3627 - resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} 3628 3286 3629 3287 jest-changed-files@29.7.0: 3630 3288 resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} ··· 3834 3492 resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 3835 3493 engines: {node: '>=6'} 3836 3494 3837 - kleur@4.1.5: 3838 - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 3839 - engines: {node: '>=6'} 3840 - 3841 3495 leven@3.1.0: 3842 3496 resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} 3843 3497 engines: {node: '>=6'} ··· 3873 3527 resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 3874 3528 engines: {node: '>=4'} 3875 3529 3876 - loader-utils@3.3.1: 3877 - resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} 3878 - engines: {node: '>= 12.13.0'} 3879 - 3880 - local-pkg@0.5.0: 3881 - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} 3882 - engines: {node: '>=14'} 3883 - 3884 3530 locate-path@3.0.0: 3885 3531 resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} 3886 3532 engines: {node: '>=6'} ··· 3893 3539 resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 3894 3540 engines: {node: '>=10'} 3895 3541 3896 - lodash.camelcase@4.3.0: 3897 - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} 3898 - 3899 - lodash.debounce@4.0.8: 3900 - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} 3901 - 3902 3542 lodash.merge@4.6.2: 3903 3543 resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 3904 3544 3905 3545 lodash@4.17.21: 3906 3546 resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 3907 3547 3908 - log-symbols@4.1.0: 3909 - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 3910 - engines: {node: '>=10'} 3911 - 3912 3548 log-update@6.1.0: 3913 3549 resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} 3914 3550 engines: {node: '>=18'} 3915 - 3916 - longest-streak@3.1.0: 3917 - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 3918 3551 3919 3552 loose-envify@1.4.0: 3920 3553 resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} ··· 3950 3583 makeerror@1.0.12: 3951 3584 resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 3952 3585 3953 - markdown-extensions@1.1.1: 3954 - resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} 3955 - engines: {node: '>=0.10.0'} 3956 - 3957 - mdast-util-definitions@5.1.2: 3958 - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} 3959 - 3960 - mdast-util-from-markdown@1.3.1: 3961 - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} 3962 - 3963 - mdast-util-frontmatter@1.0.1: 3964 - resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==} 3965 - 3966 - mdast-util-mdx-expression@1.3.2: 3967 - resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} 3968 - 3969 - mdast-util-mdx-jsx@2.1.4: 3970 - resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} 3971 - 3972 - mdast-util-mdx@2.0.1: 3973 - resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} 3974 - 3975 - mdast-util-mdxjs-esm@1.3.1: 3976 - resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} 3977 - 3978 - mdast-util-phrasing@3.0.1: 3979 - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} 3980 - 3981 - mdast-util-to-hast@12.3.0: 3982 - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} 3983 - 3984 - mdast-util-to-markdown@1.5.0: 3985 - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} 3986 - 3987 - mdast-util-to-string@3.2.0: 3988 - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} 3989 - 3990 - media-query-parser@2.0.2: 3991 - resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==} 3992 - 3993 3586 media-typer@0.3.0: 3994 3587 resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 3995 3588 engines: {node: '>= 0.6'} ··· 4012 3605 resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 4013 3606 engines: {node: '>= 0.6'} 4014 3607 4015 - micromark-core-commonmark@1.1.0: 4016 - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} 4017 - 4018 - micromark-extension-frontmatter@1.1.1: 4019 - resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==} 4020 - 4021 - micromark-extension-mdx-expression@1.0.8: 4022 - resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} 4023 - 4024 - micromark-extension-mdx-jsx@1.0.5: 4025 - resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} 4026 - 4027 - micromark-extension-mdx-md@1.0.1: 4028 - resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} 4029 - 4030 - micromark-extension-mdxjs-esm@1.0.5: 4031 - resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} 4032 - 4033 - micromark-extension-mdxjs@1.0.1: 4034 - resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} 4035 - 4036 - micromark-factory-destination@1.1.0: 4037 - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} 4038 - 4039 - micromark-factory-label@1.1.0: 4040 - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} 4041 - 4042 - micromark-factory-mdx-expression@1.0.9: 4043 - resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} 4044 - 4045 - micromark-factory-space@1.1.0: 4046 - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} 4047 - 4048 - micromark-factory-title@1.1.0: 4049 - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} 4050 - 4051 - micromark-factory-whitespace@1.1.0: 4052 - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} 4053 - 4054 - micromark-util-character@1.2.0: 4055 - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} 4056 - 4057 - micromark-util-chunked@1.1.0: 4058 - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} 4059 - 4060 - micromark-util-classify-character@1.1.0: 4061 - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} 4062 - 4063 - micromark-util-combine-extensions@1.1.0: 4064 - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} 4065 - 4066 - micromark-util-decode-numeric-character-reference@1.1.0: 4067 - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} 4068 - 4069 - micromark-util-decode-string@1.1.0: 4070 - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} 4071 - 4072 - micromark-util-encode@1.1.0: 4073 - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} 4074 - 4075 - micromark-util-events-to-acorn@1.2.3: 4076 - resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} 4077 - 4078 - micromark-util-html-tag-name@1.2.0: 4079 - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} 4080 - 4081 - micromark-util-normalize-identifier@1.1.0: 4082 - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} 4083 - 4084 - micromark-util-resolve-all@1.1.0: 4085 - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} 4086 - 4087 - micromark-util-sanitize-uri@1.2.0: 4088 - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} 4089 - 4090 - micromark-util-subtokenize@1.1.0: 4091 - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} 4092 - 4093 - micromark-util-symbol@1.1.0: 4094 - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} 4095 - 4096 - micromark-util-types@1.1.0: 4097 - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} 4098 - 4099 - micromark@3.2.0: 4100 - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} 4101 - 4102 3608 micromatch@4.0.8: 4103 3609 resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 4104 3610 engines: {node: '>=8.6'} ··· 4146 3652 minimist@1.2.8: 4147 3653 resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 4148 3654 4149 - minipass-collect@1.0.2: 4150 - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} 4151 - engines: {node: '>= 8'} 4152 - 4153 - minipass-flush@1.0.5: 4154 - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} 4155 - engines: {node: '>= 8'} 4156 - 4157 - minipass-pipeline@1.2.4: 4158 - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} 4159 - engines: {node: '>=8'} 4160 - 4161 3655 minipass@3.3.6: 4162 3656 resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} 4163 3657 engines: {node: '>=8'} ··· 4178 3672 resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 4179 3673 engines: {node: '>= 8'} 4180 3674 4181 - mkdirp-classic@0.5.3: 4182 - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 4183 - 4184 3675 mkdirp@1.0.4: 4185 3676 resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 4186 3677 engines: {node: '>=10'} ··· 4188 3679 4189 3680 mlly@1.7.2: 4190 3681 resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} 4191 - 4192 - modern-ahocorasick@1.0.1: 4193 - resolution: {integrity: sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==} 4194 3682 4195 3683 morgan@1.10.0: 4196 3684 resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==} 4197 3685 engines: {node: '>= 0.8.0'} 4198 3686 4199 - mri@1.2.0: 4200 - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 4201 - engines: {node: '>=4'} 4202 - 4203 3687 mrmime@1.0.1: 4204 3688 resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} 4205 3689 engines: {node: '>=10'} ··· 4380 3864 resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 4381 3865 engines: {node: '>= 0.8.0'} 4382 3866 4383 - ora@5.4.1: 4384 - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} 4385 - engines: {node: '>=10'} 4386 - 4387 - outdent@0.8.0: 4388 - resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} 4389 - 4390 3867 outvariant@1.4.3: 4391 3868 resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} 4392 3869 ··· 4410 3887 resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 4411 3888 engines: {node: '>=10'} 4412 3889 4413 - p-map@4.0.0: 4414 - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 4415 - engines: {node: '>=10'} 4416 - 4417 3890 p-try@2.2.0: 4418 3891 resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 4419 3892 engines: {node: '>=6'} ··· 4431 3904 parse-css-color@0.2.1: 4432 3905 resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==} 4433 3906 4434 - parse-entities@4.0.1: 4435 - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} 4436 - 4437 3907 parse-json@4.0.0: 4438 3908 resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 4439 3909 engines: {node: '>=4'} ··· 4442 3912 resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 4443 3913 engines: {node: '>=8'} 4444 3914 4445 - parse-ms@2.1.0: 4446 - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} 4447 - engines: {node: '>=6'} 4448 - 4449 3915 parseurl@1.3.3: 4450 3916 resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 4451 3917 engines: {node: '>= 0.8'} ··· 4507 3973 peek-stream@1.1.3: 4508 3974 resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} 4509 3975 4510 - periscopic@3.1.0: 4511 - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} 4512 - 4513 3976 picocolors@1.1.1: 4514 3977 resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 4515 3978 ··· 4574 4037 resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 4575 4038 engines: {node: '>= 0.4'} 4576 4039 4577 - postcss-discard-duplicates@5.1.0: 4578 - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} 4579 - engines: {node: ^10 || ^12 || >=14.0} 4580 - peerDependencies: 4581 - postcss: ^8.2.15 4582 - 4583 4040 postcss-import@15.1.0: 4584 4041 resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 4585 4042 engines: {node: '>=14.0.0'} ··· 4604 4061 ts-node: 4605 4062 optional: true 4606 4063 4607 - postcss-modules-extract-imports@3.1.0: 4608 - resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} 4609 - engines: {node: ^10 || ^12 || >= 14} 4610 - peerDependencies: 4611 - postcss: ^8.1.0 4612 - 4613 - postcss-modules-local-by-default@4.0.5: 4614 - resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} 4615 - engines: {node: ^10 || ^12 || >= 14} 4616 - peerDependencies: 4617 - postcss: ^8.1.0 4618 - 4619 - postcss-modules-scope@3.2.0: 4620 - resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} 4621 - engines: {node: ^10 || ^12 || >= 14} 4622 - peerDependencies: 4623 - postcss: ^8.1.0 4624 - 4625 - postcss-modules-values@4.0.0: 4626 - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} 4627 - engines: {node: ^10 || ^12 || >= 14} 4628 - peerDependencies: 4629 - postcss: ^8.1.0 4630 - 4631 - postcss-modules@6.0.0: 4632 - resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} 4633 - peerDependencies: 4634 - postcss: ^8.0.0 4635 - 4636 4064 postcss-nested@6.2.0: 4637 4065 resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} 4638 4066 engines: {node: '>=12.0'} ··· 4674 4102 resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 4675 4103 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 4676 4104 4677 - pretty-ms@7.0.1: 4678 - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} 4679 - engines: {node: '>=10'} 4680 - 4681 4105 prisma@5.22.0: 4682 4106 resolution: {integrity: sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A==} 4683 4107 engines: {node: '>=16.13'} ··· 4715 4139 4716 4140 prop-types@15.8.1: 4717 4141 resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 4718 - 4719 - property-information@6.5.0: 4720 - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} 4721 4142 4722 4143 proxy-addr@2.0.7: 4723 4144 resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} ··· 4732 4153 pump@2.0.1: 4733 4154 resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} 4734 4155 4735 - pump@3.0.2: 4736 - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} 4737 - 4738 4156 pumpify@1.5.1: 4739 4157 resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} 4740 4158 ··· 4821 4239 peerDependencies: 4822 4240 react: '>=16.8' 4823 4241 4242 + react-router@7.0.1: 4243 + resolution: {integrity: sha512-WVAhv9oWCNsja5AkK6KLpXJDSJCQizOIyOd4vvB/+eHGbYx5vkhcmcmwWjQ9yqkRClogi+xjEg9fNEOd5EX/tw==} 4244 + engines: {node: '>=20.0.0'} 4245 + peerDependencies: 4246 + react: '>=18' 4247 + react-dom: '>=18' 4248 + peerDependenciesMeta: 4249 + react-dom: 4250 + optional: true 4251 + 4824 4252 react@18.3.1: 4825 4253 resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} 4826 4254 engines: {node: '>=0.10.0'} ··· 4835 4263 readable-stream@2.3.8: 4836 4264 resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 4837 4265 4838 - readable-stream@3.6.2: 4839 - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 4840 - engines: {node: '>= 6'} 4841 - 4842 4266 readable-stream@4.5.2: 4843 4267 resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} 4844 4268 engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} ··· 4847 4271 resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 4848 4272 engines: {node: '>=8.10.0'} 4849 4273 4274 + readdirp@4.0.2: 4275 + resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} 4276 + engines: {node: '>= 14.16.0'} 4277 + 4850 4278 real-require@0.2.0: 4851 4279 resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} 4852 4280 engines: {node: '>= 12.13.0'} ··· 4862 4290 resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} 4863 4291 engines: {node: '>= 0.4'} 4864 4292 4865 - remark-frontmatter@4.0.1: 4866 - resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} 4867 - 4868 - remark-mdx-frontmatter@1.1.1: 4869 - resolution: {integrity: sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==} 4870 - engines: {node: '>=12.2.0'} 4871 - 4872 - remark-mdx@2.3.0: 4873 - resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} 4874 - 4875 - remark-parse@10.0.2: 4876 - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} 4877 - 4878 - remark-rehype@10.1.0: 4879 - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} 4880 - 4881 - remix-i18next@6.4.1: 4882 - resolution: {integrity: sha512-Ma4ESNj8uZmm/Fjq2ZHEbsGvYYO2rV1BtqwIFPAYUeitBaED+r0pNXktUzvsHEanvbFOZPAhEcp5f17vDslmeA==} 4293 + remix-i18next@7.0.0: 4294 + resolution: {integrity: sha512-UnOQc8lEAPAOwA124D2ZL3r3NwLqUbODx4pEDCyWUrpCfX98xYUVZArwJNoACfATGIh2oqlwooBr7BfhTEO+Fg==} 4883 4295 engines: {node: '>=20.0.0'} 4884 4296 peerDependencies: 4885 - '@remix-run/cloudflare': ^2.0.0 4886 - '@remix-run/deno': ^2.0.0 4887 - '@remix-run/node': ^2.0.0 4888 - '@remix-run/react': ^2.0.0 4889 4297 i18next: ^23.1.0 4890 4298 react: ^16.8.0 || ^17.0.0 || ^18.0.0 4891 4299 react-i18next: ^13.0.0 || ^14.0.0 || ^15.0.0 4892 - peerDependenciesMeta: 4893 - '@remix-run/cloudflare': 4894 - optional: true 4895 - '@remix-run/deno': 4896 - optional: true 4897 - '@remix-run/node': 4898 - optional: true 4300 + react-router: ^7.0.0 4899 4301 4900 4302 remix-utils@7.7.0: 4901 4303 resolution: {integrity: sha512-J8NhP044nrNIam/xOT1L9a4RQ9FSaA2wyrUwmN8ZT+c/+CdAAf70yfaLnvMyKcV5U+8BcURQ/aVbth77sT6jGA==} ··· 4933 4335 require-directory@2.1.1: 4934 4336 resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 4935 4337 engines: {node: '>=0.10.0'} 4936 - 4937 - require-like@0.1.2: 4938 - resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} 4939 4338 4940 4339 requires-port@1.0.0: 4941 4340 resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} ··· 4970 4369 resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} 4971 4370 hasBin: true 4972 4371 4973 - restore-cursor@3.1.0: 4974 - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 4975 - engines: {node: '>=8'} 4976 - 4977 4372 restore-cursor@5.1.0: 4978 4373 resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 4979 4374 engines: {node: '>=18'} ··· 5000 4395 rxjs@7.8.1: 5001 4396 resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 5002 4397 5003 - sade@1.8.1: 5004 - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 5005 - engines: {node: '>=6'} 5006 - 5007 4398 safe-array-concat@1.1.2: 5008 4399 resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 5009 4400 engines: {node: '>=0.4'} ··· 5144 4535 resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 5145 4536 engines: {node: '>= 8'} 5146 4537 5147 - space-separated-tokens@2.0.2: 5148 - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 5149 - 5150 4538 spdx-correct@3.2.0: 5151 4539 resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 5152 4540 ··· 5165 4553 5166 4554 sprintf-js@1.0.3: 5167 4555 resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 5168 - 5169 - ssri@10.0.6: 5170 - resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} 5171 - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 5172 4556 5173 4557 stack-utils@2.0.6: 5174 4558 resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} ··· 5197 4581 resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 5198 4582 engines: {node: '>=0.6.19'} 5199 4583 5200 - string-hash@1.1.3: 5201 - resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} 5202 - 5203 4584 string-length@4.0.2: 5204 4585 resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} 5205 4586 engines: {node: '>=10'} ··· 5247 4628 string_decoder@1.3.0: 5248 4629 resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 5249 4630 5250 - stringify-entities@4.0.4: 5251 - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} 5252 - 5253 4631 strip-ansi@6.0.1: 5254 4632 resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 5255 4633 engines: {node: '>=8'} ··· 5278 4656 resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 5279 4657 engines: {node: '>=8'} 5280 4658 5281 - style-to-object@0.4.4: 5282 - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} 5283 - 5284 4659 sucrase@3.35.0: 5285 4660 resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 5286 4661 engines: {node: '>=16 || 14 >=14.17'} ··· 5319 4694 resolution: {integrity: sha512-wyvc4IVzBbgWPqXqQMJNHJvm2shq6t/KoYkeC/qEAtVGxXyFq0y+acRKe5P6M/oJbb+Cp9ol+EK4WDqKiGLNog==} 5320 4695 peerDependencies: 5321 4696 typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 5322 - 5323 - tar-fs@2.1.1: 5324 - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 5325 - 5326 - tar-stream@2.2.0: 5327 - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 5328 - engines: {node: '>=6'} 5329 4697 5330 4698 tar@6.2.1: 5331 4699 resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} ··· 5394 4762 resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 5395 4763 engines: {node: '>=0.6'} 5396 4764 5397 - toml@3.0.0: 5398 - resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} 5399 - 5400 4765 tough-cookie@4.1.4: 5401 4766 resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} 5402 4767 engines: {node: '>=6'} 5403 4768 5404 - trim-lines@3.0.1: 5405 - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 5406 - 5407 - trough@2.2.0: 5408 - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} 5409 - 5410 4769 ts-api-utils@1.4.0: 5411 4770 resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==} 5412 4771 engines: {node: '>=16'} ··· 5436 4795 peerDependenciesMeta: 5437 4796 typescript: 5438 4797 optional: true 5439 - 5440 - tsconfig-paths@4.2.0: 5441 - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} 5442 - engines: {node: '>=6'} 5443 4798 5444 4799 tslib@2.8.1: 5445 4800 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} ··· 5521 4876 unicode-trie@2.0.0: 5522 4877 resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} 5523 4878 5524 - unified@10.1.2: 5525 - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} 5526 - 5527 - unique-filename@3.0.0: 5528 - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} 5529 - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 5530 - 5531 - unique-slug@4.0.0: 5532 - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} 5533 - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 5534 - 5535 - unist-util-generated@2.0.1: 5536 - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} 5537 - 5538 - unist-util-is@5.2.1: 5539 - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} 5540 - 5541 - unist-util-position-from-estree@1.1.2: 5542 - resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} 5543 - 5544 - unist-util-position@4.0.4: 5545 - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} 5546 - 5547 - unist-util-remove-position@4.0.2: 5548 - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} 5549 - 5550 - unist-util-stringify-position@3.0.3: 5551 - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} 5552 - 5553 - unist-util-visit-parents@5.1.3: 5554 - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} 5555 - 5556 - unist-util-visit@4.1.2: 5557 - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} 5558 - 5559 4879 universalify@0.2.0: 5560 4880 resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} 5561 4881 engines: {node: '>= 4.0.0'} ··· 5594 4914 resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} 5595 4915 hasBin: true 5596 4916 5597 - uvu@0.5.6: 5598 - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} 5599 - engines: {node: '>=8'} 5600 - hasBin: true 5601 - 5602 4917 v8-to-istanbul@9.3.0: 5603 4918 resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} 5604 4919 engines: {node: '>=10.12.0'} 4920 + 4921 + valibot@0.41.0: 4922 + resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==} 4923 + peerDependencies: 4924 + typescript: '>=5' 4925 + peerDependenciesMeta: 4926 + typescript: 4927 + optional: true 5605 4928 5606 4929 validate-npm-package-license@3.0.4: 5607 4930 resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} ··· 5617 4940 resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 5618 4941 engines: {node: '>= 0.8'} 5619 4942 5620 - vfile-message@3.1.4: 5621 - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} 5622 - 5623 - vfile@5.3.7: 5624 - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} 5625 - 5626 4943 vite-node@1.6.0: 5627 4944 resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} 5628 4945 engines: {node: ^18.0.0 || >=20.0.0} ··· 5721 5038 walker@1.0.8: 5722 5039 resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 5723 5040 5724 - wcwidth@1.0.1: 5725 - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 5726 - 5727 5041 web-encoding@1.1.5: 5728 5042 resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} 5729 5043 ··· 5792 5106 resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} 5793 5107 engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 5794 5108 5795 - ws@7.5.10: 5796 - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} 5797 - engines: {node: '>=8.3.0'} 5798 - peerDependencies: 5799 - bufferutil: ^4.0.1 5800 - utf-8-validate: ^5.0.2 5801 - peerDependenciesMeta: 5802 - bufferutil: 5803 - optional: true 5804 - utf-8-validate: 5805 - optional: true 5806 - 5807 5109 ws@8.18.0: 5808 5110 resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} 5809 5111 engines: {node: '>=10.0.0'} ··· 5870 5172 5871 5173 zod@3.23.8: 5872 5174 resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 5873 - 5874 - zwitch@2.0.4: 5875 - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 5876 5175 5877 5176 snapshots: 5878 5177 ··· 6444 5743 emoji-mart: 5.6.0 6445 5744 react: 18.3.1 6446 5745 6447 - '@emotion/hash@0.9.2': {} 6448 - 6449 5746 '@esbuild/aix-ppc64@0.21.5': 6450 5747 optional: true 6451 5748 ··· 6453 5750 optional: true 6454 5751 6455 5752 '@esbuild/aix-ppc64@0.24.0': 6456 - optional: true 6457 - 6458 - '@esbuild/android-arm64@0.17.6': 6459 5753 optional: true 6460 5754 6461 5755 '@esbuild/android-arm64@0.21.5': ··· 6467 5761 '@esbuild/android-arm64@0.24.0': 6468 5762 optional: true 6469 5763 6470 - '@esbuild/android-arm@0.17.6': 6471 - optional: true 6472 - 6473 5764 '@esbuild/android-arm@0.21.5': 6474 5765 optional: true 6475 5766 ··· 6479 5770 '@esbuild/android-arm@0.24.0': 6480 5771 optional: true 6481 5772 6482 - '@esbuild/android-x64@0.17.6': 6483 - optional: true 6484 - 6485 5773 '@esbuild/android-x64@0.21.5': 6486 5774 optional: true 6487 5775 ··· 6489 5777 optional: true 6490 5778 6491 5779 '@esbuild/android-x64@0.24.0': 6492 - optional: true 6493 - 6494 - '@esbuild/darwin-arm64@0.17.6': 6495 5780 optional: true 6496 5781 6497 5782 '@esbuild/darwin-arm64@0.21.5': ··· 6503 5788 '@esbuild/darwin-arm64@0.24.0': 6504 5789 optional: true 6505 5790 6506 - '@esbuild/darwin-x64@0.17.6': 6507 - optional: true 6508 - 6509 5791 '@esbuild/darwin-x64@0.21.5': 6510 5792 optional: true 6511 5793 ··· 6515 5797 '@esbuild/darwin-x64@0.24.0': 6516 5798 optional: true 6517 5799 6518 - '@esbuild/freebsd-arm64@0.17.6': 6519 - optional: true 6520 - 6521 5800 '@esbuild/freebsd-arm64@0.21.5': 6522 5801 optional: true 6523 5802 ··· 6527 5806 '@esbuild/freebsd-arm64@0.24.0': 6528 5807 optional: true 6529 5808 6530 - '@esbuild/freebsd-x64@0.17.6': 6531 - optional: true 6532 - 6533 5809 '@esbuild/freebsd-x64@0.21.5': 6534 5810 optional: true 6535 5811 ··· 6539 5815 '@esbuild/freebsd-x64@0.24.0': 6540 5816 optional: true 6541 5817 6542 - '@esbuild/linux-arm64@0.17.6': 6543 - optional: true 6544 - 6545 5818 '@esbuild/linux-arm64@0.21.5': 6546 5819 optional: true 6547 5820 ··· 6551 5824 '@esbuild/linux-arm64@0.24.0': 6552 5825 optional: true 6553 5826 6554 - '@esbuild/linux-arm@0.17.6': 6555 - optional: true 6556 - 6557 5827 '@esbuild/linux-arm@0.21.5': 6558 5828 optional: true 6559 5829 ··· 6563 5833 '@esbuild/linux-arm@0.24.0': 6564 5834 optional: true 6565 5835 6566 - '@esbuild/linux-ia32@0.17.6': 6567 - optional: true 6568 - 6569 5836 '@esbuild/linux-ia32@0.21.5': 6570 5837 optional: true 6571 5838 ··· 6575 5842 '@esbuild/linux-ia32@0.24.0': 6576 5843 optional: true 6577 5844 6578 - '@esbuild/linux-loong64@0.17.6': 6579 - optional: true 6580 - 6581 5845 '@esbuild/linux-loong64@0.21.5': 6582 5846 optional: true 6583 5847 ··· 6587 5851 '@esbuild/linux-loong64@0.24.0': 6588 5852 optional: true 6589 5853 6590 - '@esbuild/linux-mips64el@0.17.6': 6591 - optional: true 6592 - 6593 5854 '@esbuild/linux-mips64el@0.21.5': 6594 5855 optional: true 6595 5856 ··· 6599 5860 '@esbuild/linux-mips64el@0.24.0': 6600 5861 optional: true 6601 5862 6602 - '@esbuild/linux-ppc64@0.17.6': 6603 - optional: true 6604 - 6605 5863 '@esbuild/linux-ppc64@0.21.5': 6606 5864 optional: true 6607 5865 ··· 6611 5869 '@esbuild/linux-ppc64@0.24.0': 6612 5870 optional: true 6613 5871 6614 - '@esbuild/linux-riscv64@0.17.6': 6615 - optional: true 6616 - 6617 5872 '@esbuild/linux-riscv64@0.21.5': 6618 5873 optional: true 6619 5874 ··· 6621 5876 optional: true 6622 5877 6623 5878 '@esbuild/linux-riscv64@0.24.0': 6624 - optional: true 6625 - 6626 - '@esbuild/linux-s390x@0.17.6': 6627 5879 optional: true 6628 5880 6629 5881 '@esbuild/linux-s390x@0.21.5': ··· 6633 5885 optional: true 6634 5886 6635 5887 '@esbuild/linux-s390x@0.24.0': 6636 - optional: true 6637 - 6638 - '@esbuild/linux-x64@0.17.6': 6639 5888 optional: true 6640 5889 6641 5890 '@esbuild/linux-x64@0.21.5': ··· 6647 5896 '@esbuild/linux-x64@0.24.0': 6648 5897 optional: true 6649 5898 6650 - '@esbuild/netbsd-x64@0.17.6': 6651 - optional: true 6652 - 6653 5899 '@esbuild/netbsd-x64@0.21.5': 6654 5900 optional: true 6655 5901 ··· 6663 5909 optional: true 6664 5910 6665 5911 '@esbuild/openbsd-arm64@0.24.0': 6666 - optional: true 6667 - 6668 - '@esbuild/openbsd-x64@0.17.6': 6669 5912 optional: true 6670 5913 6671 5914 '@esbuild/openbsd-x64@0.21.5': ··· 6677 5920 '@esbuild/openbsd-x64@0.24.0': 6678 5921 optional: true 6679 5922 6680 - '@esbuild/sunos-x64@0.17.6': 6681 - optional: true 6682 - 6683 5923 '@esbuild/sunos-x64@0.21.5': 6684 5924 optional: true 6685 5925 ··· 6687 5927 optional: true 6688 5928 6689 5929 '@esbuild/sunos-x64@0.24.0': 6690 - optional: true 6691 - 6692 - '@esbuild/win32-arm64@0.17.6': 6693 5930 optional: true 6694 5931 6695 5932 '@esbuild/win32-arm64@0.21.5': ··· 6701 5938 '@esbuild/win32-arm64@0.24.0': 6702 5939 optional: true 6703 5940 6704 - '@esbuild/win32-ia32@0.17.6': 6705 - optional: true 6706 - 6707 5941 '@esbuild/win32-ia32@0.21.5': 6708 5942 optional: true 6709 5943 ··· 6711 5945 optional: true 6712 5946 6713 5947 '@esbuild/win32-ia32@0.24.0': 6714 - optional: true 6715 - 6716 - '@esbuild/win32-x64@0.17.6': 6717 5948 optional: true 6718 5949 6719 5950 '@esbuild/win32-x64@0.21.5': ··· 7034 6265 '@jridgewell/resolve-uri': 3.1.2 7035 6266 '@jridgewell/sourcemap-codec': 1.5.0 7036 6267 7037 - '@jspm/core@2.1.0': {} 7038 - 7039 - '@mdx-js/mdx@2.3.0': 7040 - dependencies: 7041 - '@types/estree-jsx': 1.0.5 7042 - '@types/mdx': 2.0.13 7043 - estree-util-build-jsx: 2.2.2 7044 - estree-util-is-identifier-name: 2.1.0 7045 - estree-util-to-js: 1.2.0 7046 - estree-walker: 3.0.3 7047 - hast-util-to-estree: 2.3.3 7048 - markdown-extensions: 1.1.1 7049 - periscopic: 3.1.0 7050 - remark-mdx: 2.3.0 7051 - remark-parse: 10.0.2 7052 - remark-rehype: 10.1.0 7053 - unified: 10.1.2 7054 - unist-util-position-from-estree: 1.1.2 7055 - unist-util-stringify-position: 3.0.3 7056 - unist-util-visit: 4.1.2 7057 - vfile: 5.3.7 7058 - transitivePeerDependencies: 7059 - - supports-color 6268 + '@mjackson/node-fetch-server@0.2.0': {} 7060 6269 7061 6270 '@mkizka/eslint-config@5.3.4(@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(tailwindcss@3.4.14)(typescript@5.6.3)': 7062 6271 dependencies: ··· 7107 6316 dependencies: 7108 6317 '@nodelib/fs.scandir': 2.1.5 7109 6318 fastq: 1.17.1 7110 - 7111 - '@npmcli/fs@3.1.1': 7112 - dependencies: 7113 - semver: 7.6.3 7114 6319 7115 6320 '@npmcli/git@4.1.0': 7116 6321 dependencies: ··· 7219 6424 talt: 2.4.4(typescript@5.6.3) 7220 6425 typescript: 5.6.3 7221 6426 7222 - '@remix-run/dev@2.13.1(@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@types/node@22.9.0)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0))': 6427 + '@react-router/dev@7.0.1(@types/node@22.9.0)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0))': 7223 6428 dependencies: 7224 6429 '@babel/core': 7.26.0 7225 6430 '@babel/generator': 7.26.2 ··· 7229 6434 '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) 7230 6435 '@babel/traverse': 7.25.9 7231 6436 '@babel/types': 7.26.0 7232 - '@mdx-js/mdx': 2.3.0 7233 6437 '@npmcli/package-json': 4.0.1 7234 - '@remix-run/node': 2.13.1(typescript@5.6.3) 7235 - '@remix-run/react': 2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) 7236 - '@remix-run/router': 1.20.0 7237 - '@remix-run/server-runtime': 2.13.1(typescript@5.6.3) 7238 - '@types/mdx': 2.0.13 7239 - '@vanilla-extract/integration': 6.5.0(@types/node@22.9.0) 6438 + '@react-router/node': 7.0.1(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) 7240 6439 arg: 5.0.2 7241 - cacache: 17.1.4 7242 - chalk: 4.1.2 7243 - chokidar: 3.6.0 7244 - cross-spawn: 7.0.3 7245 - dotenv: 16.4.5 6440 + babel-dead-code-elimination: 1.0.6 6441 + chokidar: 4.0.1 6442 + dedent: 1.5.3 7246 6443 es-module-lexer: 1.5.4 7247 - esbuild: 0.17.6 7248 - esbuild-plugins-node-modules-polyfill: 1.6.7(esbuild@0.17.6) 7249 - execa: 5.1.1 7250 6444 exit-hook: 2.2.1 7251 - express: 4.21.1 7252 6445 fs-extra: 10.1.0 7253 - get-port: 5.1.1 7254 6446 gunzip-maybe: 1.4.2 7255 6447 jsesc: 3.0.2 7256 - json5: 2.2.3 7257 6448 lodash: 4.17.21 7258 - lodash.debounce: 4.0.8 7259 - minimatch: 9.0.5 7260 - ora: 5.4.1 6449 + pathe: 1.1.2 7261 6450 picocolors: 1.1.1 7262 6451 picomatch: 2.3.1 7263 - pidtree: 0.6.0 7264 - postcss: 8.4.47 7265 - postcss-discard-duplicates: 5.1.0(postcss@8.4.47) 7266 - postcss-load-config: 4.0.2(postcss@8.4.47) 7267 - postcss-modules: 6.0.0(postcss@8.4.47) 7268 6452 prettier: 2.8.8 7269 - pretty-ms: 7.0.1 7270 6453 react-refresh: 0.14.2 7271 - remark-frontmatter: 4.0.1 7272 - remark-mdx-frontmatter: 1.1.1 6454 + react-router: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 7273 6455 semver: 7.6.3 7274 6456 set-cookie-parser: 2.7.1 7275 - tar-fs: 2.1.1 7276 - tsconfig-paths: 4.2.0 7277 - ws: 7.5.10 6457 + valibot: 0.41.0(typescript@5.6.3) 6458 + vite: 5.4.10(@types/node@22.9.0) 6459 + vite-node: 1.6.0(@types/node@22.9.0) 7278 6460 optionalDependencies: 7279 6461 typescript: 5.6.3 7280 - vite: 5.4.10(@types/node@22.9.0) 7281 6462 transitivePeerDependencies: 7282 6463 - '@types/node' 7283 6464 - babel-plugin-macros 7284 6465 - bluebird 7285 - - bufferutil 7286 6466 - less 7287 6467 - lightningcss 7288 6468 - sass ··· 7291 6471 - sugarss 7292 6472 - supports-color 7293 6473 - terser 7294 - - ts-node 7295 - - utf-8-validate 7296 6474 7297 - '@remix-run/express@2.13.1(express@4.21.1)(typescript@5.6.3)': 6475 + '@react-router/express@7.0.1(express@4.21.1)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': 7298 6476 dependencies: 7299 - '@remix-run/node': 2.13.1(typescript@5.6.3) 6477 + '@react-router/node': 7.0.1(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) 7300 6478 express: 4.21.1 6479 + react-router: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 6480 + optionalDependencies: 6481 + typescript: 5.6.3 6482 + 6483 + '@react-router/fs-routes@7.0.1(@react-router/dev@7.0.1(@types/node@22.9.0)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)))(typescript@5.6.3)': 6484 + dependencies: 6485 + '@react-router/dev': 7.0.1(@types/node@22.9.0)(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)) 6486 + minimatch: 9.0.5 6487 + optionalDependencies: 6488 + typescript: 5.6.3 6489 + 6490 + '@react-router/node@7.0.1(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': 6491 + dependencies: 6492 + '@mjackson/node-fetch-server': 0.2.0 6493 + react-router: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 6494 + source-map-support: 0.5.21 6495 + stream-slice: 0.1.2 6496 + undici: 6.20.1 7301 6497 optionalDependencies: 7302 6498 typescript: 5.6.3 7303 6499 ··· 7312 6508 undici: 6.20.1 7313 6509 optionalDependencies: 7314 6510 typescript: 5.6.3 6511 + optional: true 7315 6512 7316 6513 '@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': 7317 6514 dependencies: ··· 7324 6521 turbo-stream: 2.4.0 7325 6522 optionalDependencies: 7326 6523 typescript: 5.6.3 6524 + optional: true 7327 6525 7328 - '@remix-run/router@1.20.0': {} 6526 + '@remix-run/router@1.20.0': 6527 + optional: true 7329 6528 7330 6529 '@remix-run/server-runtime@2.13.1(typescript@5.6.3)': 7331 6530 dependencies: ··· 7338 6537 turbo-stream: 2.4.0 7339 6538 optionalDependencies: 7340 6539 typescript: 5.6.3 6540 + optional: true 7341 6541 7342 6542 '@remix-run/web-blob@3.1.0': 7343 6543 dependencies: 7344 6544 '@remix-run/web-stream': 1.1.0 7345 6545 web-encoding: 1.1.5 6546 + optional: true 7346 6547 7347 6548 '@remix-run/web-fetch@4.4.2': 7348 6549 dependencies: ··· 7354 6555 abort-controller: 3.0.0 7355 6556 data-uri-to-buffer: 3.0.1 7356 6557 mrmime: 1.0.1 6558 + optional: true 7357 6559 7358 6560 '@remix-run/web-file@3.1.0': 7359 6561 dependencies: 7360 6562 '@remix-run/web-blob': 3.1.0 6563 + optional: true 7361 6564 7362 6565 '@remix-run/web-form-data@3.1.0': 7363 6566 dependencies: 7364 6567 web-encoding: 1.1.5 6568 + optional: true 7365 6569 7366 6570 '@remix-run/web-stream@1.1.0': 7367 6571 dependencies: 7368 6572 web-streams-polyfill: 3.3.3 6573 + optional: true 7369 6574 7370 6575 '@resvg/resvg-js-android-arm-eabi@2.6.2': 7371 6576 optional: true ··· 7517 6722 mkdirp: 1.0.4 7518 6723 path-browserify: 1.0.1 7519 6724 7520 - '@types/acorn@4.0.6': 7521 - dependencies: 7522 - '@types/estree': 1.0.6 7523 - 7524 6725 '@types/babel__core@7.20.5': 7525 6726 dependencies: 7526 6727 '@babel/parser': 7.26.2 ··· 7553 6754 7554 6755 '@types/cookie@0.6.0': {} 7555 6756 7556 - '@types/debug@4.1.12': 7557 - dependencies: 7558 - '@types/ms': 0.7.34 7559 - 7560 - '@types/estree-jsx@1.0.5': 7561 - dependencies: 7562 - '@types/estree': 1.0.6 7563 - 7564 6757 '@types/estree@1.0.6': {} 7565 6758 7566 6759 '@types/express-serve-static-core@5.0.1': ··· 7580 6773 '@types/graceful-fs@4.1.9': 7581 6774 dependencies: 7582 6775 '@types/node': 22.9.0 7583 - 7584 - '@types/hast@2.3.10': 7585 - dependencies: 7586 - '@types/unist': 2.0.11 7587 6776 7588 6777 '@types/http-errors@2.0.4': {} 7589 6778 ··· 7599 6788 7600 6789 '@types/json-schema@7.0.15': {} 7601 6790 7602 - '@types/mdast@3.0.15': 7603 - dependencies: 7604 - '@types/unist': 2.0.11 7605 - 7606 - '@types/mdx@2.0.13': {} 7607 - 7608 6791 '@types/mime@1.3.5': {} 7609 6792 7610 6793 '@types/morgan@1.9.9': 7611 6794 dependencies: 7612 6795 '@types/node': 22.9.0 7613 - 7614 - '@types/ms@0.7.34': {} 7615 6796 7616 6797 '@types/node@22.9.0': 7617 6798 dependencies: ··· 7650 6831 '@types/tough-cookie@4.0.5': {} 7651 6832 7652 6833 '@types/umami@2.10.0': {} 7653 - 7654 - '@types/unist@2.0.11': {} 7655 6834 7656 6835 '@types/ws@8.5.13': 7657 6836 dependencies: ··· 7744 6923 '@typescript-eslint/types': 8.13.0 7745 6924 eslint-visitor-keys: 3.4.3 7746 6925 7747 - '@vanilla-extract/babel-plugin-debug-ids@1.1.0': 7748 - dependencies: 7749 - '@babel/core': 7.26.0 7750 - transitivePeerDependencies: 7751 - - supports-color 7752 - 7753 - '@vanilla-extract/css@1.16.0': 7754 - dependencies: 7755 - '@emotion/hash': 0.9.2 7756 - '@vanilla-extract/private': 1.0.6 7757 - css-what: 6.1.0 7758 - cssesc: 3.0.0 7759 - csstype: 3.1.3 7760 - dedent: 1.5.3 7761 - deep-object-diff: 1.1.9 7762 - deepmerge: 4.3.1 7763 - lru-cache: 10.4.3 7764 - media-query-parser: 2.0.2 7765 - modern-ahocorasick: 1.0.1 7766 - picocolors: 1.1.1 7767 - transitivePeerDependencies: 7768 - - babel-plugin-macros 7769 - 7770 - '@vanilla-extract/integration@6.5.0(@types/node@22.9.0)': 7771 - dependencies: 7772 - '@babel/core': 7.26.0 7773 - '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) 7774 - '@vanilla-extract/babel-plugin-debug-ids': 1.1.0 7775 - '@vanilla-extract/css': 1.16.0 7776 - esbuild: 0.17.6 7777 - eval: 0.1.8 7778 - find-up: 5.0.0 7779 - javascript-stringify: 2.1.0 7780 - lodash: 4.17.21 7781 - mlly: 1.7.2 7782 - outdent: 0.8.0 7783 - vite: 5.4.10(@types/node@22.9.0) 7784 - vite-node: 1.6.0(@types/node@22.9.0) 7785 - transitivePeerDependencies: 7786 - - '@types/node' 7787 - - babel-plugin-macros 7788 - - less 7789 - - lightningcss 7790 - - sass 7791 - - sass-embedded 7792 - - stylus 7793 - - sugarss 7794 - - supports-color 7795 - - terser 7796 - 7797 - '@vanilla-extract/private@1.0.6': {} 7798 - 7799 6926 '@vercel/og@0.6.3': 7800 6927 dependencies: 7801 6928 '@resvg/resvg-wasm': 2.4.0 ··· 7861 6988 loupe: 3.1.2 7862 6989 tinyrainbow: 1.2.0 7863 6990 7864 - '@web3-storage/multipart-parser@1.0.0': {} 6991 + '@web3-storage/multipart-parser@1.0.0': 6992 + optional: true 7865 6993 7866 6994 '@zxing/text-encoding@0.9.0': 7867 6995 optional: true ··· 7880 7008 acorn: 8.14.0 7881 7009 7882 7010 acorn@8.14.0: {} 7883 - 7884 - aggregate-error@3.1.0: 7885 - dependencies: 7886 - clean-stack: 2.2.0 7887 - indent-string: 4.0.0 7888 7011 7889 7012 ajv@6.12.6: 7890 7013 dependencies: ··· 7994 7117 7995 7118 assertion-error@2.0.1: {} 7996 7119 7997 - astring@1.9.0: {} 7998 - 7999 7120 async@3.2.6: {} 8000 7121 8001 7122 asynckit@0.4.0: {} ··· 8033 7154 transitivePeerDependencies: 8034 7155 - debug 8035 7156 7157 + babel-dead-code-elimination@1.0.6: 7158 + dependencies: 7159 + '@babel/core': 7.26.0 7160 + '@babel/parser': 7.26.2 7161 + '@babel/traverse': 7.25.9 7162 + '@babel/types': 7.26.0 7163 + transitivePeerDependencies: 7164 + - supports-color 7165 + 8036 7166 babel-jest@29.7.0(@babel/core@7.26.0): 8037 7167 dependencies: 8038 7168 '@babel/core': 7.26.0 ··· 8098 7228 babel-plugin-jest-hoist: 29.6.3 8099 7229 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) 8100 7230 8101 - bail@2.0.2: {} 8102 - 8103 7231 balanced-match@1.0.2: {} 8104 7232 8105 7233 base64-js@0.0.8: {} ··· 8112 7240 8113 7241 binary-extensions@2.3.0: {} 8114 7242 8115 - bl@4.1.0: 8116 - dependencies: 8117 - buffer: 5.7.1 8118 - inherits: 2.0.4 8119 - readable-stream: 3.6.2 8120 - 8121 7243 body-parser@1.20.3: 8122 7244 dependencies: 8123 7245 bytes: 3.1.2 ··· 8165 7287 8166 7288 buffer-from@1.1.2: {} 8167 7289 8168 - buffer@5.7.1: 8169 - dependencies: 8170 - base64-js: 1.5.1 8171 - ieee754: 1.2.1 8172 - 8173 7290 buffer@6.0.3: 8174 7291 dependencies: 8175 7292 base64-js: 1.5.1 ··· 8179 7296 8180 7297 cac@6.7.14: {} 8181 7298 8182 - cacache@17.1.4: 8183 - dependencies: 8184 - '@npmcli/fs': 3.1.1 8185 - fs-minipass: 3.0.3 8186 - glob: 10.4.5 8187 - lru-cache: 7.18.3 8188 - minipass: 7.1.2 8189 - minipass-collect: 1.0.2 8190 - minipass-flush: 1.0.5 8191 - minipass-pipeline: 1.2.4 8192 - p-map: 4.0.0 8193 - ssri: 10.0.6 8194 - tar: 6.2.1 8195 - unique-filename: 3.0.0 8196 - 8197 7299 call-bind@1.0.7: 8198 7300 dependencies: 8199 7301 es-define-property: 1.0.0 ··· 8231 7333 cbor-extract: 2.2.0 8232 7334 8233 7335 cborg@1.10.2: {} 8234 - 8235 - ccount@2.0.1: {} 8236 7336 8237 7337 chai@5.1.2: 8238 7338 dependencies: ··· 8257 7357 8258 7358 char-regex@1.0.2: {} 8259 7359 8260 - character-entities-html4@2.1.0: {} 8261 - 8262 - character-entities-legacy@3.0.0: {} 8263 - 8264 - character-entities@2.0.2: {} 8265 - 8266 - character-reference-invalid@2.0.1: {} 8267 - 8268 7360 check-error@2.1.1: {} 8269 7361 8270 7362 chokidar@3.6.0: ··· 8279 7371 optionalDependencies: 8280 7372 fsevents: 2.3.3 8281 7373 8282 - chownr@1.1.4: {} 7374 + chokidar@4.0.1: 7375 + dependencies: 7376 + readdirp: 4.0.2 8283 7377 8284 7378 chownr@2.0.0: {} 8285 7379 ··· 8291 7385 8292 7386 cjs-module-lexer@1.4.1: {} 8293 7387 8294 - clean-stack@2.2.0: {} 8295 - 8296 - cli-cursor@3.1.0: 8297 - dependencies: 8298 - restore-cursor: 3.1.0 8299 - 8300 7388 cli-cursor@5.0.0: 8301 7389 dependencies: 8302 7390 restore-cursor: 5.1.0 8303 - 8304 - cli-spinners@2.9.2: {} 8305 7391 8306 7392 cli-truncate@4.0.0: 8307 7393 dependencies: ··· 8315 7401 string-width: 4.2.3 8316 7402 strip-ansi: 6.0.1 8317 7403 wrap-ansi: 7.0.0 8318 - 8319 - clone@1.0.4: {} 8320 7404 8321 7405 clsx@2.1.1: {} 8322 7406 ··· 8343 7427 combined-stream@1.0.8: 8344 7428 dependencies: 8345 7429 delayed-stream: 1.0.0 8346 - 8347 - comma-separated-tokens@2.0.3: {} 8348 7430 8349 7431 commander@12.1.0: {} 8350 7432 ··· 8368 7450 8369 7451 cookie-signature@1.0.6: {} 8370 7452 8371 - cookie-signature@1.2.2: {} 7453 + cookie-signature@1.2.2: 7454 + optional: true 8372 7455 8373 - cookie@0.6.0: {} 7456 + cookie@0.6.0: 7457 + optional: true 8374 7458 8375 7459 cookie@0.7.1: {} 8376 7460 8377 7461 cookie@0.7.2: {} 7462 + 7463 + cookie@1.0.2: {} 8378 7464 8379 7465 core-util-is@1.0.3: {} 8380 7466 ··· 8426 7512 css-color-keywords: 1.0.0 8427 7513 postcss-value-parser: 4.2.0 8428 7514 8429 - css-what@6.1.0: {} 8430 - 8431 7515 cssesc@3.0.0: {} 8432 7516 8433 7517 csstype@3.1.3: {} ··· 8443 7527 transitivePeerDependencies: 8444 7528 - postcss 8445 7529 8446 - data-uri-to-buffer@3.0.1: {} 7530 + data-uri-to-buffer@3.0.1: 7531 + optional: true 8447 7532 8448 7533 data-view-buffer@1.0.1: 8449 7534 dependencies: ··· 8471 7556 dependencies: 8472 7557 ms: 2.1.3 8473 7558 8474 - decode-named-character-reference@1.0.2: 8475 - dependencies: 8476 - character-entities: 2.0.2 8477 - 8478 7559 dedent@1.5.3: {} 8479 7560 8480 7561 deep-eql@5.0.2: {} 8481 7562 8482 7563 deep-is@0.1.4: {} 8483 7564 8484 - deep-object-diff@1.1.9: {} 8485 - 8486 7565 deepmerge@4.3.1: {} 8487 - 8488 - defaults@1.0.4: 8489 - dependencies: 8490 - clone: 1.0.4 8491 7566 8492 7567 define-data-property@1.1.4: 8493 7568 dependencies: ··· 8509 7584 8510 7585 depd@2.0.0: {} 8511 7586 8512 - dequal@2.0.3: {} 8513 - 8514 7587 destroy@1.2.0: {} 8515 7588 8516 7589 detect-libc@2.0.3: ··· 8529 7602 doctrine@2.1.0: 8530 7603 dependencies: 8531 7604 esutils: 2.0.3 8532 - 8533 - dotenv@16.4.5: {} 8534 7605 8535 7606 duplexify@3.7.1: 8536 7607 dependencies: ··· 8670 7741 is-date-object: 1.0.5 8671 7742 is-symbol: 1.0.4 8672 7743 8673 - esbuild-plugins-node-modules-polyfill@1.6.7(esbuild@0.17.6): 8674 - dependencies: 8675 - '@jspm/core': 2.1.0 8676 - esbuild: 0.17.6 8677 - local-pkg: 0.5.0 8678 - resolve.exports: 2.0.2 8679 - 8680 - esbuild@0.17.6: 8681 - optionalDependencies: 8682 - '@esbuild/android-arm': 0.17.6 8683 - '@esbuild/android-arm64': 0.17.6 8684 - '@esbuild/android-x64': 0.17.6 8685 - '@esbuild/darwin-arm64': 0.17.6 8686 - '@esbuild/darwin-x64': 0.17.6 8687 - '@esbuild/freebsd-arm64': 0.17.6 8688 - '@esbuild/freebsd-x64': 0.17.6 8689 - '@esbuild/linux-arm': 0.17.6 8690 - '@esbuild/linux-arm64': 0.17.6 8691 - '@esbuild/linux-ia32': 0.17.6 8692 - '@esbuild/linux-loong64': 0.17.6 8693 - '@esbuild/linux-mips64el': 0.17.6 8694 - '@esbuild/linux-ppc64': 0.17.6 8695 - '@esbuild/linux-riscv64': 0.17.6 8696 - '@esbuild/linux-s390x': 0.17.6 8697 - '@esbuild/linux-x64': 0.17.6 8698 - '@esbuild/netbsd-x64': 0.17.6 8699 - '@esbuild/openbsd-x64': 0.17.6 8700 - '@esbuild/sunos-x64': 0.17.6 8701 - '@esbuild/win32-arm64': 0.17.6 8702 - '@esbuild/win32-ia32': 0.17.6 8703 - '@esbuild/win32-x64': 0.17.6 8704 - 8705 7744 esbuild@0.21.5: 8706 7745 optionalDependencies: 8707 7746 '@esbuild/aix-ppc64': 0.21.5 ··· 8911 7950 8912 7951 estraverse@5.3.0: {} 8913 7952 8914 - estree-util-attach-comments@2.1.1: 8915 - dependencies: 8916 - '@types/estree': 1.0.6 8917 - 8918 - estree-util-build-jsx@2.2.2: 8919 - dependencies: 8920 - '@types/estree-jsx': 1.0.5 8921 - estree-util-is-identifier-name: 2.1.0 8922 - estree-walker: 3.0.3 8923 - 8924 - estree-util-is-identifier-name@1.1.0: {} 8925 - 8926 - estree-util-is-identifier-name@2.1.0: {} 8927 - 8928 - estree-util-to-js@1.2.0: 8929 - dependencies: 8930 - '@types/estree-jsx': 1.0.5 8931 - astring: 1.9.0 8932 - source-map: 0.7.4 8933 - 8934 - estree-util-value-to-estree@1.3.0: 8935 - dependencies: 8936 - is-plain-obj: 3.0.0 8937 - 8938 - estree-util-visit@1.2.1: 8939 - dependencies: 8940 - '@types/estree-jsx': 1.0.5 8941 - '@types/unist': 2.0.11 8942 - 8943 7953 estree-walker@3.0.3: 8944 7954 dependencies: 8945 7955 '@types/estree': 1.0.6 ··· 8947 7957 esutils@2.0.3: {} 8948 7958 8949 7959 etag@1.8.1: {} 8950 - 8951 - eval@0.1.8: 8952 - dependencies: 8953 - '@types/node': 22.9.0 8954 - require-like: 0.1.2 8955 7960 8956 7961 event-target-shim@5.0.1: {} 8957 7962 ··· 9034 8039 vary: 1.1.2 9035 8040 transitivePeerDependencies: 9036 8041 - supports-color 9037 - 9038 - extend@3.0.2: {} 9039 8042 9040 8043 fast-deep-equal@3.1.3: {} 9041 8044 ··· 9061 8064 dependencies: 9062 8065 reusify: 1.0.4 9063 8066 9064 - fault@2.0.1: 9065 - dependencies: 9066 - format: 0.2.2 9067 - 9068 8067 fb-watchman@2.0.2: 9069 8068 dependencies: 9070 8069 bser: 2.1.1 ··· 9139 8138 combined-stream: 1.0.8 9140 8139 mime-types: 2.1.35 9141 8140 9142 - format@0.2.2: {} 9143 - 9144 8141 forwarded@0.2.0: {} 9145 8142 9146 8143 fraction.js@4.3.7: {} 9147 8144 9148 8145 fresh@0.5.2: {} 9149 - 9150 - fs-constants@1.0.0: {} 9151 8146 9152 8147 fs-extra@10.1.0: 9153 8148 dependencies: ··· 9165 8160 dependencies: 9166 8161 minipass: 3.3.6 9167 8162 9168 - fs-minipass@3.0.3: 9169 - dependencies: 9170 - minipass: 7.1.2 9171 - 9172 8163 fs.realpath@1.0.0: {} 9173 8164 9174 8165 fsevents@2.3.2: ··· 9188 8179 9189 8180 functions-have-names@1.2.3: {} 9190 8181 9191 - generic-names@4.0.0: 9192 - dependencies: 9193 - loader-utils: 3.3.1 9194 - 9195 8182 gensync@1.0.0-beta.2: {} 9196 8183 9197 8184 get-caller-file@2.0.5: {} ··· 9207 8194 hasown: 2.0.2 9208 8195 9209 8196 get-package-type@0.1.0: {} 9210 - 9211 - get-port@5.1.1: {} 9212 8197 9213 8198 get-stream@6.0.1: {} 9214 8199 ··· 9323 8308 hasown@2.0.2: 9324 8309 dependencies: 9325 8310 function-bind: 1.1.2 9326 - 9327 - hast-util-to-estree@2.3.3: 9328 - dependencies: 9329 - '@types/estree': 1.0.6 9330 - '@types/estree-jsx': 1.0.5 9331 - '@types/hast': 2.3.10 9332 - '@types/unist': 2.0.11 9333 - comma-separated-tokens: 2.0.3 9334 - estree-util-attach-comments: 2.1.1 9335 - estree-util-is-identifier-name: 2.1.0 9336 - hast-util-whitespace: 2.0.1 9337 - mdast-util-mdx-expression: 1.3.2 9338 - mdast-util-mdxjs-esm: 1.3.1 9339 - property-information: 6.5.0 9340 - space-separated-tokens: 2.0.2 9341 - style-to-object: 0.4.4 9342 - unist-util-position: 4.0.4 9343 - zwitch: 2.0.4 9344 - transitivePeerDependencies: 9345 - - supports-color 9346 - 9347 - hast-util-whitespace@2.0.1: {} 9348 8311 9349 8312 headers-polyfill@4.0.3: {} 9350 8313 ··· 9388 8351 dependencies: 9389 8352 safer-buffer: 2.1.2 9390 8353 9391 - icss-utils@5.1.0(postcss@8.4.47): 9392 - dependencies: 9393 - postcss: 8.4.47 9394 - 9395 8354 ieee754@1.2.1: {} 9396 8355 9397 8356 ignore@5.3.2: {} ··· 9408 8367 9409 8368 imurmurhash@0.1.4: {} 9410 8369 9411 - indent-string@4.0.0: {} 9412 - 9413 8370 inflight@1.0.6: 9414 8371 dependencies: 9415 8372 once: 1.4.0 9416 8373 wrappy: 1.0.2 9417 8374 9418 8375 inherits@2.0.4: {} 9419 - 9420 - inline-style-parser@0.1.1: {} 9421 8376 9422 8377 internal-slot@1.0.7: 9423 8378 dependencies: ··· 9429 8384 9430 8385 ipaddr.js@2.2.0: {} 9431 8386 9432 - is-alphabetical@2.0.1: {} 9433 - 9434 - is-alphanumerical@2.0.1: 9435 - dependencies: 9436 - is-alphabetical: 2.0.1 9437 - is-decimal: 2.0.1 9438 - 9439 8387 is-arguments@1.1.1: 9440 8388 dependencies: 9441 8389 call-bind: 1.0.7 9442 8390 has-tostringtag: 1.0.2 8391 + optional: true 9443 8392 9444 8393 is-array-buffer@3.0.4: 9445 8394 dependencies: ··· 9465 8414 call-bind: 1.0.7 9466 8415 has-tostringtag: 1.0.2 9467 8416 9468 - is-buffer@2.0.5: {} 9469 - 9470 8417 is-callable@1.2.7: {} 9471 8418 9472 8419 is-core-module@2.15.1: ··· 9480 8427 is-date-object@1.0.5: 9481 8428 dependencies: 9482 8429 has-tostringtag: 1.0.2 9483 - 9484 - is-decimal@2.0.1: {} 9485 8430 9486 8431 is-deflate@1.0.0: {} 9487 8432 ··· 9510 8455 is-extglob: 2.1.1 9511 8456 9512 8457 is-gzip@1.0.0: {} 9513 - 9514 - is-hexadecimal@2.0.1: {} 9515 - 9516 - is-interactive@1.0.0: {} 9517 8458 9518 8459 is-map@2.0.3: {} 9519 8460 ··· 9526 8467 has-tostringtag: 1.0.2 9527 8468 9528 8469 is-number@7.0.0: {} 9529 - 9530 - is-plain-obj@3.0.0: {} 9531 - 9532 - is-plain-obj@4.1.0: {} 9533 - 9534 - is-reference@3.0.2: 9535 - dependencies: 9536 - '@types/estree': 1.0.6 9537 8470 9538 8471 is-regex@1.1.4: 9539 8472 dependencies: ··· 9562 8495 dependencies: 9563 8496 which-typed-array: 1.1.15 9564 8497 9565 - is-unicode-supported@0.1.0: {} 9566 - 9567 8498 is-weakmap@2.0.2: {} 9568 8499 9569 8500 is-weakref@1.0.2: ··· 9654 8585 chalk: 4.1.2 9655 8586 filelist: 1.0.4 9656 8587 minimatch: 3.1.2 9657 - 9658 - javascript-stringify@2.1.0: {} 9659 8588 9660 8589 jest-changed-files@29.7.0: 9661 8590 dependencies: ··· 10030 8959 10031 8960 kleur@3.0.3: {} 10032 8961 10033 - kleur@4.1.5: {} 10034 - 10035 8962 leven@3.1.0: {} 10036 8963 10037 8964 levn@0.4.1: ··· 10081 9008 pify: 3.0.0 10082 9009 strip-bom: 3.0.0 10083 9010 10084 - loader-utils@3.3.1: {} 10085 - 10086 - local-pkg@0.5.0: 10087 - dependencies: 10088 - mlly: 1.7.2 10089 - pkg-types: 1.2.1 10090 - 10091 9011 locate-path@3.0.0: 10092 9012 dependencies: 10093 9013 p-locate: 3.0.0 ··· 10101 9021 dependencies: 10102 9022 p-locate: 5.0.0 10103 9023 10104 - lodash.camelcase@4.3.0: {} 10105 - 10106 - lodash.debounce@4.0.8: {} 10107 - 10108 9024 lodash.merge@4.6.2: {} 10109 9025 10110 9026 lodash@4.17.21: {} 10111 9027 10112 - log-symbols@4.1.0: 10113 - dependencies: 10114 - chalk: 4.1.2 10115 - is-unicode-supported: 0.1.0 10116 - 10117 9028 log-update@6.1.0: 10118 9029 dependencies: 10119 9030 ansi-escapes: 7.0.0 ··· 10121 9032 slice-ansi: 7.1.0 10122 9033 strip-ansi: 7.1.0 10123 9034 wrap-ansi: 9.0.0 10124 - 10125 - longest-streak@3.1.0: {} 10126 9035 10127 9036 loose-envify@1.4.0: 10128 9037 dependencies: ··· 10158 9067 dependencies: 10159 9068 tmpl: 1.0.5 10160 9069 10161 - markdown-extensions@1.1.1: {} 10162 - 10163 - mdast-util-definitions@5.1.2: 10164 - dependencies: 10165 - '@types/mdast': 3.0.15 10166 - '@types/unist': 2.0.11 10167 - unist-util-visit: 4.1.2 10168 - 10169 - mdast-util-from-markdown@1.3.1: 10170 - dependencies: 10171 - '@types/mdast': 3.0.15 10172 - '@types/unist': 2.0.11 10173 - decode-named-character-reference: 1.0.2 10174 - mdast-util-to-string: 3.2.0 10175 - micromark: 3.2.0 10176 - micromark-util-decode-numeric-character-reference: 1.1.0 10177 - micromark-util-decode-string: 1.1.0 10178 - micromark-util-normalize-identifier: 1.1.0 10179 - micromark-util-symbol: 1.1.0 10180 - micromark-util-types: 1.1.0 10181 - unist-util-stringify-position: 3.0.3 10182 - uvu: 0.5.6 10183 - transitivePeerDependencies: 10184 - - supports-color 10185 - 10186 - mdast-util-frontmatter@1.0.1: 10187 - dependencies: 10188 - '@types/mdast': 3.0.15 10189 - mdast-util-to-markdown: 1.5.0 10190 - micromark-extension-frontmatter: 1.1.1 10191 - 10192 - mdast-util-mdx-expression@1.3.2: 10193 - dependencies: 10194 - '@types/estree-jsx': 1.0.5 10195 - '@types/hast': 2.3.10 10196 - '@types/mdast': 3.0.15 10197 - mdast-util-from-markdown: 1.3.1 10198 - mdast-util-to-markdown: 1.5.0 10199 - transitivePeerDependencies: 10200 - - supports-color 10201 - 10202 - mdast-util-mdx-jsx@2.1.4: 10203 - dependencies: 10204 - '@types/estree-jsx': 1.0.5 10205 - '@types/hast': 2.3.10 10206 - '@types/mdast': 3.0.15 10207 - '@types/unist': 2.0.11 10208 - ccount: 2.0.1 10209 - mdast-util-from-markdown: 1.3.1 10210 - mdast-util-to-markdown: 1.5.0 10211 - parse-entities: 4.0.1 10212 - stringify-entities: 4.0.4 10213 - unist-util-remove-position: 4.0.2 10214 - unist-util-stringify-position: 3.0.3 10215 - vfile-message: 3.1.4 10216 - transitivePeerDependencies: 10217 - - supports-color 10218 - 10219 - mdast-util-mdx@2.0.1: 10220 - dependencies: 10221 - mdast-util-from-markdown: 1.3.1 10222 - mdast-util-mdx-expression: 1.3.2 10223 - mdast-util-mdx-jsx: 2.1.4 10224 - mdast-util-mdxjs-esm: 1.3.1 10225 - mdast-util-to-markdown: 1.5.0 10226 - transitivePeerDependencies: 10227 - - supports-color 10228 - 10229 - mdast-util-mdxjs-esm@1.3.1: 10230 - dependencies: 10231 - '@types/estree-jsx': 1.0.5 10232 - '@types/hast': 2.3.10 10233 - '@types/mdast': 3.0.15 10234 - mdast-util-from-markdown: 1.3.1 10235 - mdast-util-to-markdown: 1.5.0 10236 - transitivePeerDependencies: 10237 - - supports-color 10238 - 10239 - mdast-util-phrasing@3.0.1: 10240 - dependencies: 10241 - '@types/mdast': 3.0.15 10242 - unist-util-is: 5.2.1 10243 - 10244 - mdast-util-to-hast@12.3.0: 10245 - dependencies: 10246 - '@types/hast': 2.3.10 10247 - '@types/mdast': 3.0.15 10248 - mdast-util-definitions: 5.1.2 10249 - micromark-util-sanitize-uri: 1.2.0 10250 - trim-lines: 3.0.1 10251 - unist-util-generated: 2.0.1 10252 - unist-util-position: 4.0.4 10253 - unist-util-visit: 4.1.2 10254 - 10255 - mdast-util-to-markdown@1.5.0: 10256 - dependencies: 10257 - '@types/mdast': 3.0.15 10258 - '@types/unist': 2.0.11 10259 - longest-streak: 3.1.0 10260 - mdast-util-phrasing: 3.0.1 10261 - mdast-util-to-string: 3.2.0 10262 - micromark-util-decode-string: 1.1.0 10263 - unist-util-visit: 4.1.2 10264 - zwitch: 2.0.4 10265 - 10266 - mdast-util-to-string@3.2.0: 10267 - dependencies: 10268 - '@types/mdast': 3.0.15 10269 - 10270 - media-query-parser@2.0.2: 10271 - dependencies: 10272 - '@babel/runtime': 7.26.0 10273 - 10274 9070 media-typer@0.3.0: {} 10275 9071 10276 9072 memorystream@0.3.1: {} ··· 10283 9079 10284 9080 methods@1.1.2: {} 10285 9081 10286 - micromark-core-commonmark@1.1.0: 10287 - dependencies: 10288 - decode-named-character-reference: 1.0.2 10289 - micromark-factory-destination: 1.1.0 10290 - micromark-factory-label: 1.1.0 10291 - micromark-factory-space: 1.1.0 10292 - micromark-factory-title: 1.1.0 10293 - micromark-factory-whitespace: 1.1.0 10294 - micromark-util-character: 1.2.0 10295 - micromark-util-chunked: 1.1.0 10296 - micromark-util-classify-character: 1.1.0 10297 - micromark-util-html-tag-name: 1.2.0 10298 - micromark-util-normalize-identifier: 1.1.0 10299 - micromark-util-resolve-all: 1.1.0 10300 - micromark-util-subtokenize: 1.1.0 10301 - micromark-util-symbol: 1.1.0 10302 - micromark-util-types: 1.1.0 10303 - uvu: 0.5.6 10304 - 10305 - micromark-extension-frontmatter@1.1.1: 10306 - dependencies: 10307 - fault: 2.0.1 10308 - micromark-util-character: 1.2.0 10309 - micromark-util-symbol: 1.1.0 10310 - micromark-util-types: 1.1.0 10311 - 10312 - micromark-extension-mdx-expression@1.0.8: 10313 - dependencies: 10314 - '@types/estree': 1.0.6 10315 - micromark-factory-mdx-expression: 1.0.9 10316 - micromark-factory-space: 1.1.0 10317 - micromark-util-character: 1.2.0 10318 - micromark-util-events-to-acorn: 1.2.3 10319 - micromark-util-symbol: 1.1.0 10320 - micromark-util-types: 1.1.0 10321 - uvu: 0.5.6 10322 - 10323 - micromark-extension-mdx-jsx@1.0.5: 10324 - dependencies: 10325 - '@types/acorn': 4.0.6 10326 - '@types/estree': 1.0.6 10327 - estree-util-is-identifier-name: 2.1.0 10328 - micromark-factory-mdx-expression: 1.0.9 10329 - micromark-factory-space: 1.1.0 10330 - micromark-util-character: 1.2.0 10331 - micromark-util-symbol: 1.1.0 10332 - micromark-util-types: 1.1.0 10333 - uvu: 0.5.6 10334 - vfile-message: 3.1.4 10335 - 10336 - micromark-extension-mdx-md@1.0.1: 10337 - dependencies: 10338 - micromark-util-types: 1.1.0 10339 - 10340 - micromark-extension-mdxjs-esm@1.0.5: 10341 - dependencies: 10342 - '@types/estree': 1.0.6 10343 - micromark-core-commonmark: 1.1.0 10344 - micromark-util-character: 1.2.0 10345 - micromark-util-events-to-acorn: 1.2.3 10346 - micromark-util-symbol: 1.1.0 10347 - micromark-util-types: 1.1.0 10348 - unist-util-position-from-estree: 1.1.2 10349 - uvu: 0.5.6 10350 - vfile-message: 3.1.4 10351 - 10352 - micromark-extension-mdxjs@1.0.1: 10353 - dependencies: 10354 - acorn: 8.14.0 10355 - acorn-jsx: 5.3.2(acorn@8.14.0) 10356 - micromark-extension-mdx-expression: 1.0.8 10357 - micromark-extension-mdx-jsx: 1.0.5 10358 - micromark-extension-mdx-md: 1.0.1 10359 - micromark-extension-mdxjs-esm: 1.0.5 10360 - micromark-util-combine-extensions: 1.1.0 10361 - micromark-util-types: 1.1.0 10362 - 10363 - micromark-factory-destination@1.1.0: 10364 - dependencies: 10365 - micromark-util-character: 1.2.0 10366 - micromark-util-symbol: 1.1.0 10367 - micromark-util-types: 1.1.0 10368 - 10369 - micromark-factory-label@1.1.0: 10370 - dependencies: 10371 - micromark-util-character: 1.2.0 10372 - micromark-util-symbol: 1.1.0 10373 - micromark-util-types: 1.1.0 10374 - uvu: 0.5.6 10375 - 10376 - micromark-factory-mdx-expression@1.0.9: 10377 - dependencies: 10378 - '@types/estree': 1.0.6 10379 - micromark-util-character: 1.2.0 10380 - micromark-util-events-to-acorn: 1.2.3 10381 - micromark-util-symbol: 1.1.0 10382 - micromark-util-types: 1.1.0 10383 - unist-util-position-from-estree: 1.1.2 10384 - uvu: 0.5.6 10385 - vfile-message: 3.1.4 10386 - 10387 - micromark-factory-space@1.1.0: 10388 - dependencies: 10389 - micromark-util-character: 1.2.0 10390 - micromark-util-types: 1.1.0 10391 - 10392 - micromark-factory-title@1.1.0: 10393 - dependencies: 10394 - micromark-factory-space: 1.1.0 10395 - micromark-util-character: 1.2.0 10396 - micromark-util-symbol: 1.1.0 10397 - micromark-util-types: 1.1.0 10398 - 10399 - micromark-factory-whitespace@1.1.0: 10400 - dependencies: 10401 - micromark-factory-space: 1.1.0 10402 - micromark-util-character: 1.2.0 10403 - micromark-util-symbol: 1.1.0 10404 - micromark-util-types: 1.1.0 10405 - 10406 - micromark-util-character@1.2.0: 10407 - dependencies: 10408 - micromark-util-symbol: 1.1.0 10409 - micromark-util-types: 1.1.0 10410 - 10411 - micromark-util-chunked@1.1.0: 10412 - dependencies: 10413 - micromark-util-symbol: 1.1.0 10414 - 10415 - micromark-util-classify-character@1.1.0: 10416 - dependencies: 10417 - micromark-util-character: 1.2.0 10418 - micromark-util-symbol: 1.1.0 10419 - micromark-util-types: 1.1.0 10420 - 10421 - micromark-util-combine-extensions@1.1.0: 10422 - dependencies: 10423 - micromark-util-chunked: 1.1.0 10424 - micromark-util-types: 1.1.0 10425 - 10426 - micromark-util-decode-numeric-character-reference@1.1.0: 10427 - dependencies: 10428 - micromark-util-symbol: 1.1.0 10429 - 10430 - micromark-util-decode-string@1.1.0: 10431 - dependencies: 10432 - decode-named-character-reference: 1.0.2 10433 - micromark-util-character: 1.2.0 10434 - micromark-util-decode-numeric-character-reference: 1.1.0 10435 - micromark-util-symbol: 1.1.0 10436 - 10437 - micromark-util-encode@1.1.0: {} 10438 - 10439 - micromark-util-events-to-acorn@1.2.3: 10440 - dependencies: 10441 - '@types/acorn': 4.0.6 10442 - '@types/estree': 1.0.6 10443 - '@types/unist': 2.0.11 10444 - estree-util-visit: 1.2.1 10445 - micromark-util-symbol: 1.1.0 10446 - micromark-util-types: 1.1.0 10447 - uvu: 0.5.6 10448 - vfile-message: 3.1.4 10449 - 10450 - micromark-util-html-tag-name@1.2.0: {} 10451 - 10452 - micromark-util-normalize-identifier@1.1.0: 10453 - dependencies: 10454 - micromark-util-symbol: 1.1.0 10455 - 10456 - micromark-util-resolve-all@1.1.0: 10457 - dependencies: 10458 - micromark-util-types: 1.1.0 10459 - 10460 - micromark-util-sanitize-uri@1.2.0: 10461 - dependencies: 10462 - micromark-util-character: 1.2.0 10463 - micromark-util-encode: 1.1.0 10464 - micromark-util-symbol: 1.1.0 10465 - 10466 - micromark-util-subtokenize@1.1.0: 10467 - dependencies: 10468 - micromark-util-chunked: 1.1.0 10469 - micromark-util-symbol: 1.1.0 10470 - micromark-util-types: 1.1.0 10471 - uvu: 0.5.6 10472 - 10473 - micromark-util-symbol@1.1.0: {} 10474 - 10475 - micromark-util-types@1.1.0: {} 10476 - 10477 - micromark@3.2.0: 10478 - dependencies: 10479 - '@types/debug': 4.1.12 10480 - debug: 4.3.7 10481 - decode-named-character-reference: 1.0.2 10482 - micromark-core-commonmark: 1.1.0 10483 - micromark-factory-space: 1.1.0 10484 - micromark-util-character: 1.2.0 10485 - micromark-util-chunked: 1.1.0 10486 - micromark-util-combine-extensions: 1.1.0 10487 - micromark-util-decode-numeric-character-reference: 1.1.0 10488 - micromark-util-encode: 1.1.0 10489 - micromark-util-normalize-identifier: 1.1.0 10490 - micromark-util-resolve-all: 1.1.0 10491 - micromark-util-sanitize-uri: 1.2.0 10492 - micromark-util-subtokenize: 1.1.0 10493 - micromark-util-symbol: 1.1.0 10494 - micromark-util-types: 1.1.0 10495 - uvu: 0.5.6 10496 - transitivePeerDependencies: 10497 - - supports-color 10498 - 10499 9082 micromatch@4.0.8: 10500 9083 dependencies: 10501 9084 braces: 3.0.3 ··· 10533 9116 10534 9117 minimist@1.2.8: {} 10535 9118 10536 - minipass-collect@1.0.2: 10537 - dependencies: 10538 - minipass: 3.3.6 10539 - 10540 - minipass-flush@1.0.5: 10541 - dependencies: 10542 - minipass: 3.3.6 10543 - 10544 - minipass-pipeline@1.2.4: 10545 - dependencies: 10546 - minipass: 3.3.6 10547 - 10548 9119 minipass@3.3.6: 10549 9120 dependencies: 10550 9121 yallist: 4.0.0 ··· 10560 9131 minipass: 3.3.6 10561 9132 yallist: 4.0.0 10562 9133 10563 - mkdirp-classic@0.5.3: {} 10564 - 10565 9134 mkdirp@1.0.4: {} 10566 9135 10567 9136 mlly@1.7.2: ··· 10570 9139 pathe: 1.1.2 10571 9140 pkg-types: 1.2.1 10572 9141 ufo: 1.5.4 10573 - 10574 - modern-ahocorasick@1.0.1: {} 10575 9142 10576 9143 morgan@1.10.0: 10577 9144 dependencies: ··· 10583 9150 transitivePeerDependencies: 10584 9151 - supports-color 10585 9152 10586 - mri@1.2.0: {} 10587 - 10588 - mrmime@1.0.1: {} 9153 + mrmime@1.0.1: 9154 + optional: true 10589 9155 10590 9156 ms@2.0.0: {} 10591 9157 ··· 10787 9353 type-check: 0.4.0 10788 9354 word-wrap: 1.2.5 10789 9355 10790 - ora@5.4.1: 10791 - dependencies: 10792 - bl: 4.1.0 10793 - chalk: 4.1.2 10794 - cli-cursor: 3.1.0 10795 - cli-spinners: 2.9.2 10796 - is-interactive: 1.0.0 10797 - is-unicode-supported: 0.1.0 10798 - log-symbols: 4.1.0 10799 - strip-ansi: 6.0.1 10800 - wcwidth: 1.0.1 10801 - 10802 - outdent@0.8.0: {} 10803 - 10804 9356 outvariant@1.4.3: {} 10805 9357 10806 9358 p-limit@2.3.0: ··· 10823 9375 dependencies: 10824 9376 p-limit: 3.1.0 10825 9377 10826 - p-map@4.0.0: 10827 - dependencies: 10828 - aggregate-error: 3.1.0 10829 - 10830 9378 p-try@2.2.0: {} 10831 9379 10832 9380 package-json-from-dist@1.0.1: {} ··· 10842 9390 color-name: 1.1.4 10843 9391 hex-rgb: 4.3.0 10844 9392 10845 - parse-entities@4.0.1: 10846 - dependencies: 10847 - '@types/unist': 2.0.11 10848 - character-entities: 2.0.2 10849 - character-entities-legacy: 3.0.0 10850 - character-reference-invalid: 2.0.1 10851 - decode-named-character-reference: 1.0.2 10852 - is-alphanumerical: 2.0.1 10853 - is-decimal: 2.0.1 10854 - is-hexadecimal: 2.0.1 10855 - 10856 9393 parse-json@4.0.0: 10857 9394 dependencies: 10858 9395 error-ex: 1.3.2 ··· 10864 9401 error-ex: 1.3.2 10865 9402 json-parse-even-better-errors: 2.3.1 10866 9403 lines-and-columns: 1.2.4 10867 - 10868 - parse-ms@2.1.0: {} 10869 9404 10870 9405 parseurl@1.3.3: {} 10871 9406 ··· 10912 9447 duplexify: 3.7.1 10913 9448 through2: 2.0.5 10914 9449 10915 - periscopic@3.1.0: 10916 - dependencies: 10917 - '@types/estree': 1.0.6 10918 - estree-walker: 3.0.3 10919 - is-reference: 3.0.2 10920 - 10921 9450 picocolors@1.1.1: {} 10922 9451 10923 9452 picomatch@2.3.1: {} ··· 10977 9506 10978 9507 possible-typed-array-names@1.0.0: {} 10979 9508 10980 - postcss-discard-duplicates@5.1.0(postcss@8.4.47): 10981 - dependencies: 10982 - postcss: 8.4.47 10983 - 10984 9509 postcss-import@15.1.0(postcss@8.4.47): 10985 9510 dependencies: 10986 9511 postcss: 8.4.47 ··· 11000 9525 optionalDependencies: 11001 9526 postcss: 8.4.47 11002 9527 11003 - postcss-modules-extract-imports@3.1.0(postcss@8.4.47): 11004 - dependencies: 11005 - postcss: 8.4.47 11006 - 11007 - postcss-modules-local-by-default@4.0.5(postcss@8.4.47): 11008 - dependencies: 11009 - icss-utils: 5.1.0(postcss@8.4.47) 11010 - postcss: 8.4.47 11011 - postcss-selector-parser: 6.1.2 11012 - postcss-value-parser: 4.2.0 11013 - 11014 - postcss-modules-scope@3.2.0(postcss@8.4.47): 11015 - dependencies: 11016 - postcss: 8.4.47 11017 - postcss-selector-parser: 6.1.2 11018 - 11019 - postcss-modules-values@4.0.0(postcss@8.4.47): 11020 - dependencies: 11021 - icss-utils: 5.1.0(postcss@8.4.47) 11022 - postcss: 8.4.47 11023 - 11024 - postcss-modules@6.0.0(postcss@8.4.47): 11025 - dependencies: 11026 - generic-names: 4.0.0 11027 - icss-utils: 5.1.0(postcss@8.4.47) 11028 - lodash.camelcase: 4.3.0 11029 - postcss: 8.4.47 11030 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) 11031 - postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) 11032 - postcss-modules-scope: 3.2.0(postcss@8.4.47) 11033 - postcss-modules-values: 4.0.0(postcss@8.4.47) 11034 - string-hash: 1.1.3 11035 - 11036 9528 postcss-nested@6.2.0(postcss@8.4.47): 11037 9529 dependencies: 11038 9530 postcss: 8.4.47 ··· 11067 9559 ansi-styles: 5.2.0 11068 9560 react-is: 18.3.1 11069 9561 11070 - pretty-ms@7.0.1: 11071 - dependencies: 11072 - parse-ms: 2.1.0 11073 - 11074 9562 prisma@5.22.0: 11075 9563 dependencies: 11076 9564 '@prisma/engines': 5.22.0 ··· 11102 9590 loose-envify: 1.4.0 11103 9591 object-assign: 4.1.1 11104 9592 react-is: 16.13.1 11105 - 11106 - property-information@6.5.0: {} 11107 9593 11108 9594 proxy-addr@2.0.7: 11109 9595 dependencies: ··· 11119 9605 end-of-stream: 1.4.4 11120 9606 once: 1.4.0 11121 9607 11122 - pump@3.0.2: 11123 - dependencies: 11124 - end-of-stream: 1.4.4 11125 - once: 1.4.0 11126 - 11127 9608 pumpify@1.5.1: 11128 9609 dependencies: 11129 9610 duplexify: 3.7.1 ··· 11192 9673 react: 18.3.1 11193 9674 react-dom: 18.3.1(react@18.3.1) 11194 9675 react-router: 6.27.0(react@18.3.1) 9676 + optional: true 11195 9677 11196 9678 react-router@6.27.0(react@18.3.1): 11197 9679 dependencies: 11198 9680 '@remix-run/router': 1.20.0 11199 9681 react: 18.3.1 9682 + optional: true 9683 + 9684 + react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): 9685 + dependencies: 9686 + '@types/cookie': 0.6.0 9687 + cookie: 1.0.2 9688 + react: 18.3.1 9689 + set-cookie-parser: 2.7.1 9690 + turbo-stream: 2.4.0 9691 + optionalDependencies: 9692 + react-dom: 18.3.1(react@18.3.1) 11200 9693 11201 9694 react@18.3.1: 11202 9695 dependencies: ··· 11222 9715 string_decoder: 1.1.1 11223 9716 util-deprecate: 1.0.2 11224 9717 11225 - readable-stream@3.6.2: 11226 - dependencies: 11227 - inherits: 2.0.4 11228 - string_decoder: 1.3.0 11229 - util-deprecate: 1.0.2 11230 - 11231 9718 readable-stream@4.5.2: 11232 9719 dependencies: 11233 9720 abort-controller: 3.0.0 ··· 11240 9727 dependencies: 11241 9728 picomatch: 2.3.1 11242 9729 9730 + readdirp@4.0.2: {} 9731 + 11243 9732 real-require@0.2.0: {} 11244 9733 11245 9734 reflect.getprototypeof@1.0.6: ··· 11261 9750 es-errors: 1.3.0 11262 9751 set-function-name: 2.0.2 11263 9752 11264 - remark-frontmatter@4.0.1: 11265 - dependencies: 11266 - '@types/mdast': 3.0.15 11267 - mdast-util-frontmatter: 1.0.1 11268 - micromark-extension-frontmatter: 1.1.1 11269 - unified: 10.1.2 11270 - 11271 - remark-mdx-frontmatter@1.1.1: 11272 - dependencies: 11273 - estree-util-is-identifier-name: 1.1.0 11274 - estree-util-value-to-estree: 1.3.0 11275 - js-yaml: 4.1.0 11276 - toml: 3.0.0 11277 - 11278 - remark-mdx@2.3.0: 11279 - dependencies: 11280 - mdast-util-mdx: 2.0.1 11281 - micromark-extension-mdxjs: 1.0.1 11282 - transitivePeerDependencies: 11283 - - supports-color 11284 - 11285 - remark-parse@10.0.2: 11286 - dependencies: 11287 - '@types/mdast': 3.0.15 11288 - mdast-util-from-markdown: 1.3.1 11289 - unified: 10.1.2 11290 - transitivePeerDependencies: 11291 - - supports-color 11292 - 11293 - remark-rehype@10.1.0: 9753 + remix-i18next@7.0.0(i18next@23.16.4)(react-i18next@15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-router@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): 11294 9754 dependencies: 11295 - '@types/hast': 2.3.10 11296 - '@types/mdast': 3.0.15 11297 - mdast-util-to-hast: 12.3.0 11298 - unified: 10.1.2 11299 - 11300 - remix-i18next@6.4.1(@remix-run/node@2.13.1(typescript@5.6.3))(@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(i18next@23.16.4)(react-i18next@15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1): 11301 - dependencies: 11302 - '@remix-run/react': 2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) 11303 9755 i18next: 23.16.4 11304 9756 react: 18.3.1 11305 9757 react-i18next: 15.1.0(i18next@23.16.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 11306 - optionalDependencies: 11307 - '@remix-run/node': 2.13.1(typescript@5.6.3) 9758 + react-router: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) 11308 9759 11309 9760 remix-utils@7.7.0(@remix-run/node@2.13.1(typescript@5.6.3))(@remix-run/react@2.13.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@remix-run/router@1.20.0)(react@18.3.1)(zod@3.23.8): 11310 9761 dependencies: ··· 11318 9769 11319 9770 require-directory@2.1.1: {} 11320 9771 11321 - require-like@0.1.2: {} 11322 - 11323 9772 requires-port@1.0.0: {} 11324 9773 11325 9774 reselect@4.1.8: {} ··· 11347 9796 is-core-module: 2.15.1 11348 9797 path-parse: 1.0.7 11349 9798 supports-preserve-symlinks-flag: 1.0.0 11350 - 11351 - restore-cursor@3.1.0: 11352 - dependencies: 11353 - onetime: 5.1.2 11354 - signal-exit: 3.0.7 11355 9799 11356 9800 restore-cursor@5.1.0: 11357 9801 dependencies: ··· 11395 9839 rxjs@7.8.1: 11396 9840 dependencies: 11397 9841 tslib: 2.8.1 11398 - 11399 - sade@1.8.1: 11400 - dependencies: 11401 - mri: 1.2.0 11402 9842 11403 9843 safe-array-concat@1.1.2: 11404 9844 dependencies: ··· 11569 10009 11570 10010 source-map@0.6.1: {} 11571 10011 11572 - source-map@0.7.4: {} 11573 - 11574 - space-separated-tokens@2.0.2: {} 10012 + source-map@0.7.4: 10013 + optional: true 11575 10014 11576 10015 spdx-correct@3.2.0: 11577 10016 dependencies: ··· 11590 10029 split2@4.2.0: {} 11591 10030 11592 10031 sprintf-js@1.0.3: {} 11593 - 11594 - ssri@10.0.6: 11595 - dependencies: 11596 - minipass: 7.1.2 11597 10032 11598 10033 stack-utils@2.0.6: 11599 10034 dependencies: ··· 11613 10048 11614 10049 string-argv@0.3.2: {} 11615 10050 11616 - string-hash@1.1.3: {} 11617 - 11618 10051 string-length@4.0.2: 11619 10052 dependencies: 11620 10053 char-regex: 1.0.2 ··· 11694 10127 dependencies: 11695 10128 safe-buffer: 5.2.1 11696 10129 11697 - stringify-entities@4.0.4: 11698 - dependencies: 11699 - character-entities-html4: 2.1.0 11700 - character-entities-legacy: 3.0.0 11701 - 11702 10130 strip-ansi@6.0.1: 11703 10131 dependencies: 11704 10132 ansi-regex: 5.0.1 ··· 11717 10145 11718 10146 strip-json-comments@3.1.1: {} 11719 10147 11720 - style-to-object@0.4.4: 11721 - dependencies: 11722 - inline-style-parser: 0.1.1 11723 - 11724 10148 sucrase@3.35.0: 11725 10149 dependencies: 11726 10150 '@jridgewell/gen-mapping': 0.3.5 ··· 11782 10206 dependencies: 11783 10207 typescript: 5.6.3 11784 10208 11785 - tar-fs@2.1.1: 11786 - dependencies: 11787 - chownr: 1.1.4 11788 - mkdirp-classic: 0.5.3 11789 - pump: 3.0.2 11790 - tar-stream: 2.2.0 11791 - 11792 - tar-stream@2.2.0: 11793 - dependencies: 11794 - bl: 4.1.0 11795 - end-of-stream: 1.4.4 11796 - fs-constants: 1.0.0 11797 - inherits: 2.0.4 11798 - readable-stream: 3.6.2 11799 - 11800 10209 tar@6.2.1: 11801 10210 dependencies: 11802 10211 chownr: 2.0.0 ··· 11861 10270 11862 10271 toidentifier@1.0.1: {} 11863 10272 11864 - toml@3.0.0: {} 11865 - 11866 10273 tough-cookie@4.1.4: 11867 10274 dependencies: 11868 10275 psl: 1.9.0 11869 10276 punycode: 2.3.1 11870 10277 universalify: 0.2.0 11871 10278 url-parse: 1.5.10 11872 - 11873 - trim-lines@3.0.1: {} 11874 - 11875 - trough@2.2.0: {} 11876 10279 11877 10280 ts-api-utils@1.4.0(typescript@5.6.3): 11878 10281 dependencies: ··· 11893 10296 optionalDependencies: 11894 10297 typescript: 5.6.3 11895 10298 11896 - tsconfig-paths@4.2.0: 11897 - dependencies: 11898 - json5: 2.2.3 11899 - minimist: 1.2.8 11900 - strip-bom: 3.0.0 11901 - 11902 10299 tslib@2.8.1: {} 11903 10300 11904 10301 tsx@4.19.2: ··· 11992 10389 pako: 0.2.9 11993 10390 tiny-inflate: 1.0.3 11994 10391 11995 - unified@10.1.2: 11996 - dependencies: 11997 - '@types/unist': 2.0.11 11998 - bail: 2.0.2 11999 - extend: 3.0.2 12000 - is-buffer: 2.0.5 12001 - is-plain-obj: 4.1.0 12002 - trough: 2.2.0 12003 - vfile: 5.3.7 12004 - 12005 - unique-filename@3.0.0: 12006 - dependencies: 12007 - unique-slug: 4.0.0 12008 - 12009 - unique-slug@4.0.0: 12010 - dependencies: 12011 - imurmurhash: 0.1.4 12012 - 12013 - unist-util-generated@2.0.1: {} 12014 - 12015 - unist-util-is@5.2.1: 12016 - dependencies: 12017 - '@types/unist': 2.0.11 12018 - 12019 - unist-util-position-from-estree@1.1.2: 12020 - dependencies: 12021 - '@types/unist': 2.0.11 12022 - 12023 - unist-util-position@4.0.4: 12024 - dependencies: 12025 - '@types/unist': 2.0.11 12026 - 12027 - unist-util-remove-position@4.0.2: 12028 - dependencies: 12029 - '@types/unist': 2.0.11 12030 - unist-util-visit: 4.1.2 12031 - 12032 - unist-util-stringify-position@3.0.3: 12033 - dependencies: 12034 - '@types/unist': 2.0.11 12035 - 12036 - unist-util-visit-parents@5.1.3: 12037 - dependencies: 12038 - '@types/unist': 2.0.11 12039 - unist-util-is: 5.2.1 12040 - 12041 - unist-util-visit@4.1.2: 12042 - dependencies: 12043 - '@types/unist': 2.0.11 12044 - unist-util-is: 5.2.1 12045 - unist-util-visit-parents: 5.1.3 12046 - 12047 10392 universalify@0.2.0: {} 12048 10393 12049 10394 universalify@2.0.1: {} ··· 12074 10419 is-generator-function: 1.0.10 12075 10420 is-typed-array: 1.1.13 12076 10421 which-typed-array: 1.1.15 10422 + optional: true 12077 10423 12078 10424 utils-merge@1.0.1: {} 12079 10425 12080 10426 uuid@9.0.1: {} 12081 10427 12082 - uvu@0.5.6: 12083 - dependencies: 12084 - dequal: 2.0.3 12085 - diff: 5.2.0 12086 - kleur: 4.1.5 12087 - sade: 1.8.1 12088 - 12089 10428 v8-to-istanbul@9.3.0: 12090 10429 dependencies: 12091 10430 '@jridgewell/trace-mapping': 0.3.25 12092 10431 '@types/istanbul-lib-coverage': 2.0.6 12093 10432 convert-source-map: 2.0.0 10433 + 10434 + valibot@0.41.0(typescript@5.6.3): 10435 + optionalDependencies: 10436 + typescript: 5.6.3 12094 10437 12095 10438 validate-npm-package-license@3.0.4: 12096 10439 dependencies: ··· 12103 10446 12104 10447 vary@1.1.2: {} 12105 10448 12106 - vfile-message@3.1.4: 12107 - dependencies: 12108 - '@types/unist': 2.0.11 12109 - unist-util-stringify-position: 3.0.3 12110 - 12111 - vfile@5.3.7: 12112 - dependencies: 12113 - '@types/unist': 2.0.11 12114 - is-buffer: 2.0.5 12115 - unist-util-stringify-position: 3.0.3 12116 - vfile-message: 3.1.4 12117 - 12118 10449 vite-node@1.6.0(@types/node@22.9.0): 12119 10450 dependencies: 12120 10451 cac: 6.7.14 ··· 12235 10566 dependencies: 12236 10567 makeerror: 1.0.12 12237 10568 12238 - wcwidth@1.0.1: 12239 - dependencies: 12240 - defaults: 1.0.4 12241 - 12242 10569 web-encoding@1.1.5: 12243 10570 dependencies: 12244 10571 util: 0.12.5 12245 10572 optionalDependencies: 12246 10573 '@zxing/text-encoding': 0.9.0 10574 + optional: true 12247 10575 12248 - web-streams-polyfill@3.3.3: {} 10576 + web-streams-polyfill@3.3.3: 10577 + optional: true 12249 10578 12250 10579 which-boxed-primitive@1.0.2: 12251 10580 dependencies: ··· 12335 10664 imurmurhash: 0.1.4 12336 10665 signal-exit: 3.0.7 12337 10666 12338 - ws@7.5.10: {} 12339 - 12340 10667 ws@8.18.0: {} 12341 10668 12342 10669 xtend@4.0.2: {} ··· 12376 10703 zod: 3.23.8 12377 10704 12378 10705 zod@3.23.8: {} 12379 - 12380 - zwitch@2.0.4: {}
+5
react-router.config.ts
··· 1 + import type { Config } from "@react-router/dev/config"; 2 + 3 + export default { 4 + ssr: true, 5 + } satisfies Config;
+5 -5
tsconfig.json
··· 5 5 "**/.server/**/*.ts", 6 6 "**/.server/**/*.tsx", 7 7 "**/.client/**/*.ts", 8 - "**/.client/**/*.tsx" 8 + "**/.client/**/*.tsx", 9 + ".react-router/types/**/*" 9 10 ], 10 11 "exclude": ["atproto"], 11 12 "compilerOptions": { 12 13 "lib": ["DOM", "DOM.Iterable", "ES2022"], 13 14 "types": [ 14 - "@remix-run/node", 15 + "@react-router/node", 15 16 "vite/client", 16 17 "vitest/globals", 17 18 "vitest-environment-vprisma", ··· 33 34 "paths": { 34 35 "~/*": ["./app/*"] 35 36 }, 36 - 37 - // Vite takes care of building everything, not tsc. 38 - "noEmit": true 37 + "noEmit": true, 38 + "rootDirs": [".", "./.react-router/types"] 39 39 } 40 40 }
+2 -12
vite.config.ts
··· 1 - import { vitePlugin as remix } from "@remix-run/dev"; 1 + import { reactRouter } from "@react-router/dev/vite"; 2 2 import { defineConfig } from "vite"; 3 3 import tsconfigPaths from "vite-tsconfig-paths"; 4 4 5 5 export default defineConfig({ 6 6 base: process.env.VITE_CONFIG_BASE ?? "/", 7 - plugins: [ 8 - remix({ 9 - future: { 10 - v3_fetcherPersist: true, 11 - v3_relativeSplatPath: true, 12 - v3_throwAbortReason: true, 13 - v3_singleFetch: true, 14 - }, 15 - }), 16 - tsconfigPaths(), 17 - ], 7 + plugins: [reactRouter(), tsconfigPaths()], 18 8 test: { 19 9 include: ["app/**/*.spec.ts"], 20 10 coverage: {