diff --git a/docs/components/features.tsx b/docs/components/features.tsx index 70d1954b..d7c81dbb 100644 --- a/docs/components/features.tsx +++ b/docs/components/features.tsx @@ -22,11 +22,11 @@ export default function Features({ stars }: { stars: string | null }) { return (
-
+
-
+

Framework Agnostic{" "} @@ -35,12 +35,12 @@ export default function Features({ stars }: { stars: string | null }) {

-

+

Supports popular frameworks

-

+

Supports your favorite frontend, backend and meta frameworks, including React, Vue, Svelte, Astro, Solid, Next.js, Nuxt, Hono, and more{" "} @@ -53,19 +53,19 @@ export default function Features({ stars }: { stars: string | null }) {

-
+

Authentication

-

+

Email & Password Authentication

-

+

Builtin support for email and password authentication, with secure password hashing and account management features{" "} @@ -77,19 +77,19 @@ export default function Features({ stars }: { stars: string | null }) {

-
-
+

Two Factor

-

+

Two Factor Authentication

-

+

With our built-in two factor authentication plugin, you can add an extra layer of security to your account.{" "} @@ -121,7 +121,7 @@ export default function Features({ stars }: { stars: string | null }) {

-
+
-
-
-
-
+
+
+

Own your auth

-

+

Roll your own auth with confidence in minutes!

@@ -190,6 +190,7 @@ export default function Features({ stars }: { stars: string | null }) { "solidStart", "react", "hono", + "tanstack", ]} />
diff --git a/docs/components/icons.tsx b/docs/components/icons.tsx index 0b8a1113..1a16eff9 100644 --- a/docs/components/icons.tsx +++ b/docs/components/icons.tsx @@ -259,4 +259,40 @@ export const Icons = { /> ), + tanstack: (props?: SVGProps) => ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) }; diff --git a/docs/components/sidebar-content.tsx b/docs/components/sidebar-content.tsx index 282f699a..d4176926 100644 --- a/docs/components/sidebar-content.tsx +++ b/docs/components/sidebar-content.tsx @@ -601,12 +601,16 @@ export const contents: Content[] = [ icon: Icons.svelteKit, href: "/docs/integrations/svelte-kit", }, - { title: "Solid Start", icon: Icons.solidStart, href: "/docs/integrations/solid-start", }, + { + title: "TanStack Start", + icon: Icons.tanstack, + href: "/docs/integrations/tanstack", + }, { group: true, title: "Backend", diff --git a/docs/components/techstack-icons.tsx b/docs/components/techstack-icons.tsx index 1089eda2..2fb0195f 100644 --- a/docs/components/techstack-icons.tsx +++ b/docs/components/techstack-icons.tsx @@ -34,4 +34,8 @@ export const techStackIcons: TechStackIconType = { name: "Astro", icon: , }, + tanstack: { + name: "TanStack Start", + icon: , + } }; diff --git a/docs/content/docs/basic-usage.mdx b/docs/content/docs/basic-usage.mdx index 9fa1d664..d29f2c32 100644 --- a/docs/content/docs/basic-usage.mdx +++ b/docs/content/docs/basic-usage.mdx @@ -292,7 +292,7 @@ The server provides a `session` object that you can use to access the session da **Example: Using some popular frameworks** - + ```ts title="server.ts" import { auth } from "./auth"; // path to your Better Auth server instance @@ -369,6 +369,20 @@ The server provides a `session` object that you can use to access the session da }); ``` + + ```ts title="app/routes/api/index.ts" + import { auth } from "./auth"; + import { createAPIFileRoute } from "@tanstack/start/api"; + + export const Route = createAPIFileRoute("/api/$")({ + GET: async ({ request }) => { + const session = await auth.api.getSession({ + headers: request.headers + }) + }, + }); + ``` + ## Using Plugins diff --git a/docs/content/docs/installation.mdx b/docs/content/docs/installation.mdx index 52de9360..ba4655c6 100644 --- a/docs/content/docs/installation.mdx +++ b/docs/content/docs/installation.mdx @@ -236,7 +236,7 @@ Create a new file or route in your framework's designated catch-all route handle Better Auth supports any backend framework with standard Request and Response objects and offers helper functions for popular frameworks. - + ```ts title="/app/api/auth/[...all]/route.ts" import { auth } from "@/lib/auth"; // path to your auth file @@ -354,6 +354,22 @@ Better Auth supports any backend framework with standard Request and Response ob ); ``` + + ```ts + // app/routes/api/auth/$.ts + import { auth } from '~/lib/server/auth' + import { createAPIFileRoute } from '@tanstack/start/api' + + export const Route = createAPIFileRoute('/api/auth/$')({ + GET: ({ request }) => { + return auth.handler(request) + }, + POST: ({ request }) => { + return auth.handler(request) + }, + }); + ``` + diff --git a/docs/content/docs/integrations/tanstack.mdx b/docs/content/docs/integrations/tanstack.mdx new file mode 100644 index 00000000..c479937c --- /dev/null +++ b/docs/content/docs/integrations/tanstack.mdx @@ -0,0 +1,29 @@ +--- +title: TanStack Start Integration +description: Tanstack Start Integration Guide +--- + +This integration guide is assuming you are using TanStack Start. + +Before you start, make sure you have a Better Auth instance configured. If you haven't done that yet, check out the [installation](/docs/installation). + +### Mount the handler + +We need to mount the handler to a TanStack API endpoint. +Create a new file: `/app/routes/api/auth/$.ts` + +```ts +import { auth } from '@/lib/auth' +import { createAPIFileRoute } from '@tanstack/start/api' + +export const Route = createAPIFileRoute('/api/auth/$')({ + GET: ({ request }) => { + return auth.handler(request) + }, + POST: ({ request }) => { + return auth.handler(request) + }, +}) +``` + +This will allow you to access use the `getSession` method in all of your routes. diff --git a/examples/tanstack-example/README.md b/examples/tanstack-example/README.md new file mode 100644 index 00000000..76198bcc --- /dev/null +++ b/examples/tanstack-example/README.md @@ -0,0 +1,27 @@ +![Banner](./header.webp) +An example of using Better Auth with [TanStack Start](https://tanstack.com/start). + +## Setup + +To install dependencies: + +```bash +pnpm install +``` + +To migrate Better-Auth: + +```bash +pnpx @better-auth/cli migrate +``` + +To run: + +```bash +pnpm dev +``` + +## Preview +![Sign In Preview](./preview.webp) + + diff --git a/examples/tanstack-example/app.config.ts b/examples/tanstack-example/app.config.ts new file mode 100644 index 00000000..557a912b --- /dev/null +++ b/examples/tanstack-example/app.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "@tanstack/start/config"; +import viteTsConfigPaths from "vite-tsconfig-paths"; + +export default defineConfig({ + vite: { + plugins: [ + viteTsConfigPaths({ + projects: ["./tsconfig.json"], + }), + ], + }, +}); diff --git a/examples/tanstack-example/app/api.ts b/examples/tanstack-example/app/api.ts new file mode 100644 index 00000000..f1324764 --- /dev/null +++ b/examples/tanstack-example/app/api.ts @@ -0,0 +1,6 @@ +import { + createStartAPIHandler, + defaultAPIFileRouteHandler, +} from "@tanstack/start/api"; + +export default createStartAPIHandler(defaultAPIFileRouteHandler); diff --git a/examples/tanstack-example/app/client.tsx b/examples/tanstack-example/app/client.tsx new file mode 100644 index 00000000..c6ff1948 --- /dev/null +++ b/examples/tanstack-example/app/client.tsx @@ -0,0 +1,12 @@ +import { StartClient } from "@tanstack/start"; +import { hydrateRoot } from "react-dom/client"; +import { createRouter } from "./router"; + +const router = createRouter(); + +const root = document.getElementById("root"); +if (!root) { + throw new Error("Root element not found"); +} + +hydrateRoot(root, ); diff --git a/examples/tanstack-example/app/components/login-form.tsx b/examples/tanstack-example/app/components/login-form.tsx new file mode 100644 index 00000000..c35cc23c --- /dev/null +++ b/examples/tanstack-example/app/components/login-form.tsx @@ -0,0 +1,78 @@ +"use client"; +import { Link } from "@tanstack/react-router"; +import { toast } from "sonner"; + +import { Button } from "~/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card"; +import { Input } from "~/components/ui/input"; +import { Label } from "~/components/ui/label"; +import { signIn } from "~/lib/client/auth"; + +export function LoginForm() { + function handleSubmit(e: React.FormEvent) { + e.preventDefault(); + const form = e.target as HTMLFormElement; + const data = new FormData(form); + signIn.email( + { + email: data.get("email") as string, + password: data.get("password") as string, + }, + { + onError: (error) => { + console.warn(error); + toast.error(error.error.message); + }, + onSuccess: () => { + toast.success("You have been logged in!"); + }, + }, + ); + } + + return ( + + + Sign In + + Enter your email below to sign in to your account + + + +
+
+ + +
+
+
+ +
+ +
+ +
+
+ Don't have an account?{" "} + + Sign up + +
+
+
+ ); +} diff --git a/examples/tanstack-example/app/components/register-form.tsx b/examples/tanstack-example/app/components/register-form.tsx new file mode 100644 index 00000000..da59cad5 --- /dev/null +++ b/examples/tanstack-example/app/components/register-form.tsx @@ -0,0 +1,90 @@ +"use client"; +import { Link } from "@tanstack/react-router"; +import { toast } from "sonner"; + +import { Button } from "~/components/ui/button"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card"; +import { Input } from "~/components/ui/input"; +import { Label } from "~/components/ui/label"; +import { signUp } from "~/lib/client/auth"; + +export function RegisterForm() { + function handleSubmit(e: React.FormEvent) { + e.preventDefault(); + const form = e.target as HTMLFormElement; + const data = new FormData(form); + console.log(data); + signUp.email( + { + name: data.get("name") as string, + email: data.get("email") as string, + password: data.get("password") as string, + }, + { + onError: (error) => { + console.warn(error); + toast.error(error.error.message); + }, + onSuccess: () => { + toast.success("Account has been created!"); + }, + }, + ); + } + + return ( + + + Sign Up + + Enter your email below to sign up to an account + + + +
+
+ + +
+
+ + +
+
+
+ +
+ +
+ +
+
+ Already have an account?{" "} + + Sign in + +
+
+
+ ); +} diff --git a/examples/tanstack-example/app/components/ui/button.tsx b/examples/tanstack-example/app/components/ui/button.tsx new file mode 100644 index 00000000..15c090cf --- /dev/null +++ b/examples/tanstack-example/app/components/ui/button.tsx @@ -0,0 +1,58 @@ +"use client"; + +import { Slot } from "@radix-ui/react-slot"; +import { type VariantProps, cva } from "class-variance-authority"; +import * as React from "react"; + +import { cn } from "~/lib/utils"; + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: + "border border-input bg-background hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + }, +); + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean; +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ( + + ); + }, +); +Button.displayName = "Button"; + +export { Button, buttonVariants }; diff --git a/examples/tanstack-example/app/components/ui/card.tsx b/examples/tanstack-example/app/components/ui/card.tsx new file mode 100644 index 00000000..d9abe982 --- /dev/null +++ b/examples/tanstack-example/app/components/ui/card.tsx @@ -0,0 +1,88 @@ +"use client"; + +import * as React from "react"; + +import { cn } from "~/lib/utils"; + +const Card = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +Card.displayName = "Card"; + +const CardHeader = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +CardHeader.displayName = "CardHeader"; + +const CardTitle = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardTitle.displayName = "CardTitle"; + +const CardDescription = React.forwardRef< + HTMLParagraphElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardDescription.displayName = "CardDescription"; + +const CardContent = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +

+)); +CardContent.displayName = "CardContent"; + +const CardFooter = React.forwardRef< + HTMLDivElement, + React.HTMLAttributes +>(({ className, ...props }, ref) => ( +
+)); +CardFooter.displayName = "CardFooter"; + +export { + Card, + CardHeader, + CardFooter, + CardTitle, + CardDescription, + CardContent, +}; diff --git a/examples/tanstack-example/app/components/ui/input.tsx b/examples/tanstack-example/app/components/ui/input.tsx new file mode 100644 index 00000000..abff7e8c --- /dev/null +++ b/examples/tanstack-example/app/components/ui/input.tsx @@ -0,0 +1,27 @@ +"use client"; + +import * as React from "react"; + +import { cn } from "~/lib/utils"; + +export interface InputProps + extends React.InputHTMLAttributes {} + +const Input = React.forwardRef( + ({ className, type, ...props }, ref) => { + return ( + + ); + }, +); +Input.displayName = "Input"; + +export { Input }; diff --git a/examples/tanstack-example/app/components/ui/label.tsx b/examples/tanstack-example/app/components/ui/label.tsx new file mode 100644 index 00000000..8f407389 --- /dev/null +++ b/examples/tanstack-example/app/components/ui/label.tsx @@ -0,0 +1,26 @@ +"use client" + +import * as React from "react" +import * as LabelPrimitive from "@radix-ui/react-label" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "~/lib/utils" + +const labelVariants = cva( + "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" +) + +const Label = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & + VariantProps +>(({ className, ...props }, ref) => ( + +)) +Label.displayName = LabelPrimitive.Root.displayName + +export { Label } diff --git a/examples/tanstack-example/app/components/ui/navigation-menu.tsx b/examples/tanstack-example/app/components/ui/navigation-menu.tsx new file mode 100644 index 00000000..bd689a19 --- /dev/null +++ b/examples/tanstack-example/app/components/ui/navigation-menu.tsx @@ -0,0 +1,129 @@ +"use client"; +import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"; +import { cva } from "class-variance-authority"; +import { ChevronDown } from "lucide-react"; +import * as React from "react"; + +import { cn } from "~/lib/utils"; + +const NavigationMenu = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + {children} + + +)); +NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName; + +const NavigationMenuList = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName; + +const NavigationMenuItem = NavigationMenuPrimitive.Item; + +const navigationMenuTriggerStyle = cva( + "group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50", +); + +const NavigationMenuTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + {children}{" "} + +)); +NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName; + +const NavigationMenuContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName; + +const NavigationMenuLink = NavigationMenuPrimitive.Link; + +const NavigationMenuViewport = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( +
+ +
+)); +NavigationMenuViewport.displayName = + NavigationMenuPrimitive.Viewport.displayName; + +const NavigationMenuIndicator = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +
+ +)); +NavigationMenuIndicator.displayName = + NavigationMenuPrimitive.Indicator.displayName; + +export { + navigationMenuTriggerStyle, + NavigationMenu, + NavigationMenuList, + NavigationMenuItem, + NavigationMenuContent, + NavigationMenuTrigger, + NavigationMenuLink, + NavigationMenuIndicator, + NavigationMenuViewport, +}; diff --git a/examples/tanstack-example/app/components/ui/sonner.tsx b/examples/tanstack-example/app/components/ui/sonner.tsx new file mode 100644 index 00000000..c5ba1bfe --- /dev/null +++ b/examples/tanstack-example/app/components/ui/sonner.tsx @@ -0,0 +1,31 @@ +"use client"; + +import { useTheme } from "next-themes"; +import { Toaster as Sonner } from "sonner"; + +type ToasterProps = React.ComponentProps; + +const Toaster = ({ ...props }: ToasterProps) => { + const { theme = "system" } = useTheme(); + + return ( + + ); +}; + +export { Toaster }; diff --git a/examples/tanstack-example/app/lib/client/auth.ts b/examples/tanstack-example/app/lib/client/auth.ts new file mode 100644 index 00000000..46ff1036 --- /dev/null +++ b/examples/tanstack-example/app/lib/client/auth.ts @@ -0,0 +1,5 @@ +import { createAuthClient } from "better-auth/react"; + +export const { useSession, signIn, signOut, signUp } = createAuthClient({ + baseURL: "http://localhost:3000", +}); diff --git a/examples/tanstack-example/app/lib/server/auth.ts b/examples/tanstack-example/app/lib/server/auth.ts new file mode 100644 index 00000000..f546bdd3 --- /dev/null +++ b/examples/tanstack-example/app/lib/server/auth.ts @@ -0,0 +1,9 @@ +import { betterAuth } from "better-auth"; +import Database from "better-sqlite3"; + +export const auth = betterAuth({ + database: new Database("data.db"), + emailAndPassword: { + enabled: true, + }, +}); diff --git a/examples/tanstack-example/app/lib/style/global.css b/examples/tanstack-example/app/lib/style/global.css new file mode 100644 index 00000000..d0866d0a --- /dev/null +++ b/examples/tanstack-example/app/lib/style/global.css @@ -0,0 +1,81 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 222.2 47.4% 11.2%; + + --muted: 210 40% 96.1%; + --muted-foreground: 215.4 16.3% 46.9%; + + --popover: 0 0% 100%; + --popover-foreground: 222.2 47.4% 11.2%; + + --border: 214.3 31.8% 91.4%; + --input: 214.3 31.8% 91.4%; + + --card: 0 0% 100%; + --card-foreground: 222.2 47.4% 11.2%; + + --primary: 222.2 47.4% 11.2%; + --primary-foreground: 210 40% 98%; + + --secondary: 210 40% 96.1%; + --secondary-foreground: 222.2 47.4% 11.2%; + + --accent: 210 40% 96.1%; + --accent-foreground: 222.2 47.4% 11.2%; + + --destructive: 0 100% 50%; + --destructive-foreground: 210 40% 98%; + + --ring: 215 20.2% 65.1%; + + --radius: 0.5rem; + } + + .dark { + --background: 224 71% 4%; + --foreground: 213 31% 91%; + + --muted: 223 47% 11%; + --muted-foreground: 215.4 16.3% 56.9%; + + --accent: 216 34% 17%; + --accent-foreground: 210 40% 98%; + + --popover: 224 71% 4%; + --popover-foreground: 215 20.2% 65.1%; + + --border: 216 34% 17%; + --input: 216 34% 17%; + + --card: 224 71% 4%; + --card-foreground: 213 31% 91%; + + --primary: 210 40% 98%; + --primary-foreground: 222.2 47.4% 1.2%; + + --secondary: 222.2 47.4% 11.2%; + --secondary-foreground: 210 40% 98%; + + --destructive: 0 63% 31%; + --destructive-foreground: 210 40% 98%; + + --ring: 216 34% 17%; + + --radius: 0.5rem; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + font-feature-settings: "rlig" 1, "calt" 1; + } +} diff --git a/examples/tanstack-example/app/lib/utils.ts b/examples/tanstack-example/app/lib/utils.ts new file mode 100644 index 00000000..365058ce --- /dev/null +++ b/examples/tanstack-example/app/lib/utils.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/examples/tanstack-example/app/login/page.tsx b/examples/tanstack-example/app/login/page.tsx new file mode 100644 index 00000000..d856dbc0 --- /dev/null +++ b/examples/tanstack-example/app/login/page.tsx @@ -0,0 +1,9 @@ +import { LoginForm } from "~/components/login-form" + +export default function Page() { + return ( +
+ +
+ ) +} diff --git a/examples/tanstack-example/app/routeTree.gen.ts b/examples/tanstack-example/app/routeTree.gen.ts new file mode 100644 index 00000000..bf427541 --- /dev/null +++ b/examples/tanstack-example/app/routeTree.gen.ts @@ -0,0 +1,136 @@ +/* prettier-ignore-start */ + +/* eslint-disable */ + +// @ts-nocheck + +// noinspection JSUnusedGlobalSymbols + +// This file is auto-generated by TanStack Router + +// Import Routes + +import { Route as rootRoute } from './routes/__root' +import { Route as IndexImport } from './routes/index' +import { Route as AuthSignupImport } from './routes/auth/signup' +import { Route as AuthSigninImport } from './routes/auth/signin' + +// Create/Update Routes + +const IndexRoute = IndexImport.update({ + id: '/', + path: '/', + getParentRoute: () => rootRoute, +} as any) + +const AuthSignupRoute = AuthSignupImport.update({ + id: '/auth/signup', + path: '/auth/signup', + getParentRoute: () => rootRoute, +} as any) + +const AuthSigninRoute = AuthSigninImport.update({ + id: '/auth/signin', + path: '/auth/signin', + getParentRoute: () => rootRoute, +} as any) + +// Populate the FileRoutesByPath interface + +declare module '@tanstack/react-router' { + interface FileRoutesByPath { + '/': { + id: '/' + path: '/' + fullPath: '/' + preLoaderRoute: typeof IndexImport + parentRoute: typeof rootRoute + } + '/auth/signin': { + id: '/auth/signin' + path: '/auth/signin' + fullPath: '/auth/signin' + preLoaderRoute: typeof AuthSigninImport + parentRoute: typeof rootRoute + } + '/auth/signup': { + id: '/auth/signup' + path: '/auth/signup' + fullPath: '/auth/signup' + preLoaderRoute: typeof AuthSignupImport + parentRoute: typeof rootRoute + } + } +} + +// Create and export the route tree + +export interface FileRoutesByFullPath { + '/': typeof IndexRoute + '/auth/signin': typeof AuthSigninRoute + '/auth/signup': typeof AuthSignupRoute +} + +export interface FileRoutesByTo { + '/': typeof IndexRoute + '/auth/signin': typeof AuthSigninRoute + '/auth/signup': typeof AuthSignupRoute +} + +export interface FileRoutesById { + __root__: typeof rootRoute + '/': typeof IndexRoute + '/auth/signin': typeof AuthSigninRoute + '/auth/signup': typeof AuthSignupRoute +} + +export interface FileRouteTypes { + fileRoutesByFullPath: FileRoutesByFullPath + fullPaths: '/' | '/auth/signin' | '/auth/signup' + fileRoutesByTo: FileRoutesByTo + to: '/' | '/auth/signin' | '/auth/signup' + id: '__root__' | '/' | '/auth/signin' | '/auth/signup' + fileRoutesById: FileRoutesById +} + +export interface RootRouteChildren { + IndexRoute: typeof IndexRoute + AuthSigninRoute: typeof AuthSigninRoute + AuthSignupRoute: typeof AuthSignupRoute +} + +const rootRouteChildren: RootRouteChildren = { + IndexRoute: IndexRoute, + AuthSigninRoute: AuthSigninRoute, + AuthSignupRoute: AuthSignupRoute, +} + +export const routeTree = rootRoute + ._addFileChildren(rootRouteChildren) + ._addFileTypes() + +/* prettier-ignore-end */ + +/* ROUTE_MANIFEST_START +{ + "routes": { + "__root__": { + "filePath": "__root.tsx", + "children": [ + "/", + "/auth/signin", + "/auth/signup" + ] + }, + "/": { + "filePath": "index.tsx" + }, + "/auth/signin": { + "filePath": "auth/signin.tsx" + }, + "/auth/signup": { + "filePath": "auth/signup.tsx" + } + } +} +ROUTE_MANIFEST_END */ diff --git a/examples/tanstack-example/app/router.tsx b/examples/tanstack-example/app/router.tsx new file mode 100644 index 00000000..5a45887e --- /dev/null +++ b/examples/tanstack-example/app/router.tsx @@ -0,0 +1,16 @@ +import { createRouter as createTanStackRouter } from "@tanstack/react-router"; +import { routeTree } from "./routeTree.gen"; + +export function createRouter() { + const router = createTanStackRouter({ + routeTree, + }); + + return router; +} + +declare module "@tanstack/react-router" { + interface Register { + router: ReturnType; + } +} diff --git a/examples/tanstack-example/app/routes/__root.tsx b/examples/tanstack-example/app/routes/__root.tsx new file mode 100644 index 00000000..7d6076f2 --- /dev/null +++ b/examples/tanstack-example/app/routes/__root.tsx @@ -0,0 +1,327 @@ +import { Link, createRootRoute, useRouter } from "@tanstack/react-router"; +import { Outlet, ScrollRestoration } from "@tanstack/react-router"; +import { Body, Head, Html, Meta, Scripts } from "@tanstack/start"; +import type * as React from "react"; +import { useEffect, useState } from "react"; +import { signOut, useSession } from "~/lib/client/auth"; +import globalStylesheet from "~/lib/style/global.css?url"; +import "~/lib/style/global.css"; +import { DoorOpen, LoaderCircle, Moon, Sun } from "lucide-react"; +import { toast } from "sonner"; +import { Button } from "~/components/ui/button"; +import { + NavigationMenu, + NavigationMenuItem, + NavigationMenuLink, + NavigationMenuList, + navigationMenuTriggerStyle, +} from "~/components/ui/navigation-menu"; +import { Toaster } from "~/components/ui/sonner"; + +export const Route = createRootRoute({ + meta: () => [ + { + charSet: "utf-8", + }, + { + name: "viewport", + content: "width=device-width, initial-scale=1", + }, + { + title: "Better Auth - TanStack Start Example", + }, + ], + links: () => [ + { + rel: "stylesheet", + href: globalStylesheet, + }, + ], + component: RootComponent, +}); + +function RootComponent() { + const [theme, setTheme] = useState<"light" | "dark">("light"); + const [loading, setLoading] = useState(true); + const { data, isPending } = useSession(); + const { navigate } = useRouter(); + + useEffect(() => { + if (!data?.user) { + if (!location.pathname.includes("auth/")) { + navigate({ to: "/auth/signin" }); + } + } else { + navigate({ to: "/" }); + } + setTheme( + window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light", + ); + }, [data, navigate]); + + useEffect(() => { + if (!isPending) { + setLoading(false); + } + }, [isPending]); + + useEffect(() => { + const root = window.document.documentElement; + + root.classList.remove("light", "dark"); + + root.classList.add(theme); + }, [theme]); + + return ( + + {loading ? ( +
+ +
+ ) : ( + <> + + + + )} + +
+ ); +} + +function RootDocument({ children }: { children: React.ReactNode }) { + return ( + + + + + + {children} + + + + + ); +} diff --git a/examples/tanstack-example/app/routes/api/auth/$.ts b/examples/tanstack-example/app/routes/api/auth/$.ts new file mode 100644 index 00000000..a6487c13 --- /dev/null +++ b/examples/tanstack-example/app/routes/api/auth/$.ts @@ -0,0 +1,11 @@ +import { createAPIFileRoute } from "@tanstack/start/api"; +import { auth } from "~/lib/server/auth"; + +export const Route = createAPIFileRoute("/api/auth/$")({ + GET: ({ request }) => { + return auth.handler(request); + }, + POST: ({ request }) => { + return auth.handler(request); + }, +}); diff --git a/examples/tanstack-example/app/routes/auth/signin.tsx b/examples/tanstack-example/app/routes/auth/signin.tsx new file mode 100644 index 00000000..f487496c --- /dev/null +++ b/examples/tanstack-example/app/routes/auth/signin.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from "@tanstack/react-router"; +import { LoginForm } from "~/components/login-form"; + +export const Route = createFileRoute("/auth/signin")({ + component: SignIn, +}); + +function SignIn() { + return ( +
+ +
+ ); +} diff --git a/examples/tanstack-example/app/routes/auth/signup.tsx b/examples/tanstack-example/app/routes/auth/signup.tsx new file mode 100644 index 00000000..2971c7d3 --- /dev/null +++ b/examples/tanstack-example/app/routes/auth/signup.tsx @@ -0,0 +1,14 @@ +import { createFileRoute } from "@tanstack/react-router"; +import { RegisterForm } from "~/components/register-form"; + +export const Route = createFileRoute("/auth/signup")({ + component: SignUp, +}); + +function SignUp() { + return ( +
+ +
+ ); +} diff --git a/examples/tanstack-example/app/routes/index.tsx b/examples/tanstack-example/app/routes/index.tsx new file mode 100644 index 00000000..dff43a03 --- /dev/null +++ b/examples/tanstack-example/app/routes/index.tsx @@ -0,0 +1,47 @@ +import { createFileRoute } from "@tanstack/react-router"; +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from "~/components/ui/card"; +import { Input } from "~/components/ui/input"; +import { useSession } from "~/lib/client/auth"; + +export const Route = createFileRoute("/")({ + component: Home, +}); + +function Home() { + const { data } = useSession(); + + return ( +
+ + {data?.user && ( + <> + + Welcome, {data.user.name}! + + You are signed in as {data.user.email}. + + + +
+

Created At

+ +

Session ID

+ +
+
+ + )} +
+
+ ); +} diff --git a/examples/tanstack-example/app/ssr.tsx b/examples/tanstack-example/app/ssr.tsx new file mode 100644 index 00000000..d9fad7c0 --- /dev/null +++ b/examples/tanstack-example/app/ssr.tsx @@ -0,0 +1,12 @@ +import { getRouterManifest } from "@tanstack/start/router-manifest"; +import { + createStartHandler, + defaultStreamHandler, +} from "@tanstack/start/server"; + +import { createRouter } from "./router"; + +export default createStartHandler({ + createRouter, + getRouterManifest, +})(defaultStreamHandler); diff --git a/examples/tanstack-example/appconfig.ts b/examples/tanstack-example/appconfig.ts new file mode 100644 index 00000000..18e9b756 --- /dev/null +++ b/examples/tanstack-example/appconfig.ts @@ -0,0 +1,12 @@ +import { defineConfig } from '@tanstack/start/config' +import viteTsConfigPaths from 'vite-tsconfig-paths' + +export default defineConfig({ + vite: { + plugins: [ + viteTsConfigPaths({ + projects: ['./tsconfig.json'] + }), + ] + }, +}) \ No newline at end of file diff --git a/examples/tanstack-example/better-auth_migrations/2024-10-29T08-42-28.630Z.sql b/examples/tanstack-example/better-auth_migrations/2024-10-29T08-42-28.630Z.sql new file mode 100644 index 00000000..e079d156 --- /dev/null +++ b/examples/tanstack-example/better-auth_migrations/2024-10-29T08-42-28.630Z.sql @@ -0,0 +1,7 @@ +create table "user" ("id" text not null primary key, "name" text not null, "email" text not null unique, "emailVerified" boolean not null, "image" text, "createdAt" date not null, "updatedAt" date not null); + +create table "session" ("id" text not null primary key, "expiresAt" date not null, "ipAddress" text, "userAgent" text, "userId" text not null references "user" ("id")); + +create table "account" ("id" text not null primary key, "accountId" text not null, "providerId" text not null, "userId" text not null references "user" ("id"), "accessToken" text, "refreshToken" text, "idToken" text, "expiresAt" date, "password" text); + +create table "verification" ("id" text not null primary key, "identifier" text not null, "value" text not null, "expiresAt" date not null) \ No newline at end of file diff --git a/examples/tanstack-example/biome.json b/examples/tanstack-example/biome.json new file mode 100644 index 00000000..2eb07517 --- /dev/null +++ b/examples/tanstack-example/biome.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { + "enabled": false, + "clientKind": "git", + "useIgnoreFile": false + }, + "files": { + "ignoreUnknown": false, + "ignore": [] + }, + "formatter": { + "enabled": true, + "indentStyle": "tab" + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + } +} diff --git a/examples/tanstack-example/components.json b/examples/tanstack-example/components.json new file mode 100644 index 00000000..e69e3be1 --- /dev/null +++ b/examples/tanstack-example/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "tailwind.config.js", + "css": "app/lib/style/global.css", + "baseColor": "slate", + "cssVariables": true + }, + "aliases": { + "components": "~/components", + "utils": "~/lib/utils" + } +} \ No newline at end of file diff --git a/examples/tanstack-example/header.webp b/examples/tanstack-example/header.webp new file mode 100644 index 00000000..195d7346 Binary files /dev/null and b/examples/tanstack-example/header.webp differ diff --git a/examples/tanstack-example/package.json b/examples/tanstack-example/package.json new file mode 100644 index 00000000..e24c539d --- /dev/null +++ b/examples/tanstack-example/package.json @@ -0,0 +1,44 @@ +{ + "name": "tanstack-example", + "type": "module", + "scripts": { + "dev": "vinxi dev", + "build": "vinxi build", + "start": "vinxi start" + }, + "devDependencies": { + "@biomejs/biome": "1.9.4", + "@types/better-sqlite3": "^7.6.11", + "@types/bun": "latest", + "@types/node": "^22.8.2", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.14", + "typescript": "^5.6.3", + "vite-tsconfig-paths": "^5.0.1" + }, + "peerDependencies": { + "typescript": "^5.6.3" + }, + "dependencies": { + "@radix-ui/react-label": "^2.1.0", + "@radix-ui/react-navigation-menu": "^1.2.1", + "@radix-ui/react-slot": "^1.1.0", + "@tanstack/react-router": "^1.77.6", + "@tanstack/start": "^1.77.6", + "@vitejs/plugin-react": "^4.3.3", + "better-auth": "^0.6.2", + "better-sqlite3": "^11.5.0", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "lucide-react": "^0.454.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sonner": "^1.5.0", + "tailwind-merge": "^2.5.4", + "tailwindcss-animate": "^1.0.7", + "vinxi": "^0.4.3" + } +} diff --git a/examples/tanstack-example/postcss.config.js b/examples/tanstack-example/postcss.config.js new file mode 100644 index 00000000..2e7af2b7 --- /dev/null +++ b/examples/tanstack-example/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/examples/tanstack-example/preview.webp b/examples/tanstack-example/preview.webp new file mode 100644 index 00000000..f03af278 Binary files /dev/null and b/examples/tanstack-example/preview.webp differ diff --git a/examples/tanstack-example/tailwind.config.js b/examples/tanstack-example/tailwind.config.js new file mode 100644 index 00000000..c6f1ec8d --- /dev/null +++ b/examples/tanstack-example/tailwind.config.js @@ -0,0 +1,85 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: ["class"], + content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"], + theme: { + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px", + }, + }, + extend: { + colors: { + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + }, + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", + }, + fontFamily: { + sans: [ + '"GeistMono"', + "ui-monospace", + "SFMono-Regular", + "Roboto Mono", + "Menlo", + "Monaco", + "Liberation Mono", + "DejaVu Sans Mono", + "Courier New", + "monospace", + ], + }, + keyframes: { + "accordion-down": { + from: { height: "0" }, + to: { height: "var(--radix-accordion-content-height)" }, + }, + "accordion-up": { + from: { height: "var(--radix-accordion-content-height)" }, + to: { height: "0" }, + }, + }, + animation: { + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + }, + }, + }, + plugins: [require("tailwindcss-animate")], +}; diff --git a/examples/tanstack-example/tsconfig.json b/examples/tanstack-example/tsconfig.json new file mode 100644 index 00000000..ac8ba10b --- /dev/null +++ b/examples/tanstack-example/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + // Enable latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "ESNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false, + "baseUrl": ".", + "paths": { + "~/*": ["app/*"] + } + }, + "exclude": ["node_modules", ".output"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6e424823..1dac611b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -592,7 +592,7 @@ importers: version: 3.13.0(solid-js@1.9.1) '@astrojs/check': specifier: ^0.9.3 - version: 0.9.3(typescript@5.6.2) + version: 0.9.3(prettier@3.3.3)(typescript@5.6.2) '@astrojs/solid-js': specifier: ^4.4.2 version: 4.4.2(solid-js@1.9.1)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)) @@ -957,7 +957,7 @@ importers: version: 8.3.0(vue@3.5.12(typescript@5.6.3)) nuxt: specifier: ^3.13.0 - version: 3.13.2(@biomejs/biome@1.7.3)(@parcel/watcher@2.4.1)(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(eslint@9.11.1(jiti@2.3.3))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)) + version: 3.13.2(@biomejs/biome@1.7.3)(@parcel/watcher@2.4.1)(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(eslint@9.11.1)(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)) radix-vue: specifier: ^1.9.6 version: 1.9.6(vue@3.5.12(typescript@5.6.3)) @@ -969,7 +969,7 @@ importers: version: 2.5.2 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.13) + version: 1.0.7(tailwindcss@3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3))) v-calendar: specifier: ^3.1.2 version: 3.1.2(@popperjs/core@2.11.8)(vue@3.5.12(typescript@5.6.3)) @@ -994,7 +994,7 @@ importers: devDependencies: '@nuxtjs/tailwindcss': specifier: ^6.12.1 - version: 6.12.1(magicast@0.3.5)(rollup@4.22.4) + version: 6.12.1(magicast@0.3.5)(rollup@4.22.4)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)) examples/remix-example: dependencies: @@ -1178,7 +1178,7 @@ importers: devDependencies: '@remix-run/dev': specifier: ^2.12.1 - version: 2.12.1(@remix-run/react@2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@remix-run/serve@2.12.1(typescript@5.6.2))(@types/node@22.3.0)(babel-plugin-macros@3.1.0)(terser@5.33.0)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2))(typescript@5.6.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0)) + version: 2.12.1(@remix-run/react@2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@remix-run/serve@2.12.1(typescript@5.6.2))(@types/node@22.3.0)(babel-plugin-macros@3.1.0)(terser@5.33.0)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2))(typescript@5.6.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(wrangler@3.80.4) '@types/react': specifier: ^18.2.20 version: 18.3.9 @@ -1319,6 +1319,55 @@ importers: specifier: ^5.0.3 version: 5.4.8(@types/node@22.3.0)(terser@5.33.0) + examples/tanstack-example: + dependencies: + '@better-fetch/fetch': + specifier: 1.1.12 + version: 1.1.12 + '@tanstack/react-router': + specifier: ^1.69.0 + version: 1.77.5(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/router-plugin': + specifier: ^1.76.4 + version: 1.76.4(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)) + '@tanstack/start': + specifier: ^1.69.0 + version: 1.77.5(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.33.0)(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)) + better-auth: + specifier: ^0.6.2 + version: 0.6.2(@vue/devtools-api@6.6.4)(encoding@0.1.13)(react@18.3.1)(solid-js@1.9.1)(vue@3.5.12(typescript@5.6.3)) + better-sqlite3: + specifier: ^11.3.0 + version: 11.3.0 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) + vinxi: + specifier: ^0.4.3 + version: 0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0) + vite: + specifier: ^5.4.10 + version: 5.4.10(@types/node@22.3.0)(terser@5.33.0) + devDependencies: + '@types/react': + specifier: ^18.3.12 + version: 18.3.12 + '@types/react-dom': + specifier: ^18.3.1 + version: 18.3.1 + '@vitejs/plugin-react': + specifier: ^4.3.3 + version: 4.3.3(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)) + typescript: + specifier: ^5.6.3 + version: 5.6.3 + vite-tsconfig-paths: + specifier: ^4.2.1 + version: 4.3.2(typescript@5.6.3)(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)) + packages/better-auth: dependencies: '@better-fetch/fetch': @@ -1456,10 +1505,10 @@ importers: dependencies: '@babel/preset-react': specifier: ^7.24.7 - version: 7.24.7(@babel/core@7.25.2) + version: 7.24.7(@babel/core@7.26.0) '@babel/preset-typescript': specifier: ^7.24.7 - version: 7.24.7(@babel/core@7.25.2) + version: 7.24.7(@babel/core@7.26.0) '@mrleebo/prisma-ast': specifier: ^0.12.0 version: 0.12.0 @@ -1492,7 +1541,7 @@ importers: version: 16.4.5 drizzle-orm: specifier: ^0.33.0 - version: 0.33.0(@cloudflare/workers-types@4.20241011.0)(@libsql/client@0.12.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(@types/react@18.3.9)(better-sqlite3@11.3.0)(bun-types@1.1.32)(kysely@0.27.4)(mysql2@3.11.3)(pg@8.13.0)(postgres@3.4.4)(prisma@5.20.0)(react@18.3.1) + version: 0.33.0(@cloudflare/workers-types@4.20241011.0)(@libsql/client@0.12.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(@types/react@18.3.12)(better-sqlite3@11.3.0)(bun-types@1.1.32)(kysely@0.27.4)(mysql2@3.11.3)(pg@8.13.0)(postgres@3.4.4)(prisma@5.20.0)(react@18.3.1) prisma: specifier: ^5.19.1 version: 5.20.0 @@ -1646,18 +1695,30 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.4': - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + '@babel/code-frame@7.26.0': + resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.0': + resolution: {integrity: sha512-qETICbZSLe7uXv9VE8T/RWOdIE5qqyTucOt4zLYMafj2MRO271VGgLd4RACJMeBO37UPWhXiKMBk7YlJ0fOzQA==} engines: {node: '>=6.9.0'} '@babel/core@7.25.2': resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.25.6': resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.26.0': + resolution: {integrity: sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.24.7': resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} @@ -1666,6 +1727,10 @@ packages: resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.25.4': resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} @@ -1684,12 +1749,22 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.25.2': resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.24.7': resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} @@ -1698,6 +1773,10 @@ packages: resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + '@babel/helper-replace-supers@7.25.0': resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} engines: {node: '>=6.9.0'} @@ -1716,18 +1795,34 @@ packages: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.24.8': resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.25.6': resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} @@ -1737,6 +1832,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.26.1': + resolution: {integrity: sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-proposal-decorators@7.24.7': resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} engines: {node: '>=6.9.0'} @@ -1766,12 +1866,24 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.25.4': resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-commonjs@7.24.8': resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} engines: {node: '>=6.9.0'} @@ -1790,6 +1902,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.25.2': resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} engines: {node: '>=6.9.0'} @@ -1832,14 +1956,26 @@ packages: resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.25.6': resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + engines: {node: '>=6.9.0'} + '@babel/types@7.25.6': resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + engines: {node: '>=6.9.0'} + '@better-fetch/fetch@1.1.12': resolution: {integrity: sha512-B3bfloI/2UBQWIATRN6qmlORrvx3Mp0kkNjmXLv0b+DtbtR+pP4/I5kQA/rDUv+OReLywCCldf6co4LdDmh8JA==} @@ -2042,6 +2178,12 @@ packages: peerDependencies: postcss-selector-parser: ^6.0.13 + '@deno/shim-deno-test@0.5.0': + resolution: {integrity: sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==} + + '@deno/shim-deno@0.19.2': + resolution: {integrity: sha512-q3VTHl44ad8T2Tw2SpeAvghdGOjlnLPDNO2cpOxwMrBE/PVas6geWpbpIgrM+czOCH0yejp0yi8OaTuB+NU40Q==} + '@edge-runtime/primitives@4.1.0': resolution: {integrity: sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==} engines: {node: '>=16'} @@ -4156,6 +4298,12 @@ packages: cpu: [x64] os: [linux] + '@parcel/watcher-wasm@2.3.0': + resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} + engines: {node: '>= 10.0.0'} + bundledDependencies: + - napi-wasm + '@parcel/watcher-wasm@2.4.1': resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} engines: {node: '>= 10.0.0'} @@ -5797,17 +5945,81 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20' + '@tanstack/history@1.61.1': + resolution: {integrity: sha512-2CqERleeqO3hkhJmyJm37tiL3LYgeOpmo8szqdjgtnnG0z7ZpvzkZz6HkfOr9Ca/ha7mhAiouSvLYuLkM37AMg==} + engines: {node: '>=12'} + '@tanstack/query-core@5.56.2': resolution: {integrity: sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==} + '@tanstack/react-cross-context@1.74.5': + resolution: {integrity: sha512-a4BoKe1umpt4mmol2fUc7S11ilYIrn60ysoLot0NE+BeRsML83MvgPsLTAx7h1fTp0gmLjtpMjjubIJ8GlDIQg==} + peerDependencies: + react: '>=18' + react-dom: '>=18' + '@tanstack/react-query@5.56.2': resolution: {integrity: sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==} peerDependencies: react: ^18 || ^19 + '@tanstack/react-router@1.77.5': + resolution: {integrity: sha512-+WApHGq9AFshfiVpZmMgWYrO0IphtmN2JxEy5bkQ9IjI/JTS6F6QDiz8rZf37dx491D13aQeiRUGM345y6gDZQ==} + engines: {node: '>=12'} + peerDependencies: + '@tanstack/router-generator': 1.74.2 + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + '@tanstack/router-generator': + optional: true + + '@tanstack/react-store@0.5.6': + resolution: {integrity: sha512-SitIpS5jTj28DajjLpWbIX+YetmJL+6PRY0DKKiCGBKfYIqj3ryODQYF3jB3SNoR9ifUA/jFkqbJdBKFtWd+AQ==} + peerDependencies: + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + + '@tanstack/router-generator@1.74.2': + resolution: {integrity: sha512-S69fXvYcL+tQsO5Fe9ju/XVa/hZvk4pCaWbtoR2MNjIgR2RmjiFKOgXYeLRMNom/IpP/HAQmQ3m1DwU9jjSUKA==} + engines: {node: '>=12'} + + '@tanstack/router-plugin@1.76.4': + resolution: {integrity: sha512-yfaDAFLOkb7WWnL/NolPzYbTjkJX/oPopYwf+wRxdnqkQeil90zh2XupGrw40N/FopM1CWBr+FOmsAEP3u8oxA==} + engines: {node: '>=12'} + peerDependencies: + '@rsbuild/core': '>=1.0.2' + vite: '>=5.0.0' + webpack: '>=5.92.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + vite: + optional: true + webpack: + optional: true + + '@tanstack/start-vite-plugin@1.66.1': + resolution: {integrity: sha512-ZWGlNqF7vAiEOMQxxFQvzzcc/MIcT2l1xBz5mkjzTR4rrsLumaTXd8++LPoGD57NmlaGncBkGkiTiDMWZn1cFw==} + engines: {node: '>=12'} + + '@tanstack/start@1.77.5': + resolution: {integrity: sha512-mxpdFygbjoVDcMj9uKj6jNfkmQzIs+OUUt8oIkIYkEizNyQYMNX9rlX3TaeP10Q9CrMZxDrcpvqPA7c9Tmyj+g==} + engines: {node: '>=12'} + peerDependencies: + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/store@0.5.5': + resolution: {integrity: sha512-EOSrgdDAJExbvRZEQ/Xhh9iZchXpMN+ga1Bnk8Nmygzs8TfiE6hbzThF+Pr2G19uHL6+DTDTHhJ8VQiOd7l4tA==} + '@tanstack/virtual-core@3.10.8': resolution: {integrity: sha512-PBu00mtt95jbKFi6Llk9aik8bnR3tR/oQP1o3TSi+iG//+Q2RTIzCEgKkHG8BB86kxMNW6O8wku+Lmi+QFR6jA==} + '@tanstack/virtual-file-routes@1.64.0': + resolution: {integrity: sha512-soW+gE9QTmMaqXM17r7y1p8NiQVIIECjdTaYla8BKL5Flj030m3KuxEQoiG1XgjtA0O7ayznFz2YvPcXIy3qDg==} + engines: {node: '>=12'} + '@tanstack/vue-virtual@3.10.8': resolution: {integrity: sha512-DB5QA8c/LfqOqIUCpSs3RdOTVroRRdqeHMqBkYrcashSZtOzIv8xbiqHgg7RYxDfkH5F3Y+e0MkuuyGNDVB0BQ==} peerDependencies: @@ -5959,6 +6171,9 @@ packages: '@types/better-sqlite3@7.6.11': resolution: {integrity: sha512-i8KcD3PgGtGBLl3+mMYA8PdKkButvPyARxA7IQAd6qeslht13qxb1zzO8dRCtE7U3IoJS782zDBAeoKiM695kg==} + '@types/braces@3.0.4': + resolution: {integrity: sha512-0WR3b8eaISjEW7RpZnclONaLFDf7buaowRHdqLp4vLj54AsSAYWfh3DRbfiYJY9XDxMgx1B4sE1Afw2PGpuHOA==} + '@types/bun@1.1.12': resolution: {integrity: sha512-UkewJesRDP3+AW30Gc8hvxuIt+vHgYZXmVOKaXV8xnwAnMXTAs3XZDsa/jW+LSdAYhHslokSm72lq63FYYjZqA==} @@ -6130,6 +6345,9 @@ packages: '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} + '@types/micromatch@4.0.9': + resolution: {integrity: sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==} + '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} @@ -6172,12 +6390,18 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + '@types/react-dom@18.3.1': + resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-reconciler@0.26.7': resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==} '@types/react-reconciler@0.28.8': resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==} + '@types/react@18.3.12': + resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + '@types/react@18.3.9': resolution: {integrity: sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==} @@ -6456,6 +6680,42 @@ packages: resolution: {integrity: sha512-Qq3XxbA26jzqS9ICifkqzT399lMQZ2fWtqeV3luI2as+UIK7qDifJFU2Q4W3q3IB5VXoWxgwAZSZEO0em9I/qQ==} engines: {node: '>=18.16.0'} + '@vinxi/listhen@1.5.6': + resolution: {integrity: sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==} + hasBin: true + + '@vinxi/plugin-directives@0.4.3': + resolution: {integrity: sha512-Ey+TRIwyk8871PKhQel8NyZ9B6N0Tvhjo1QIttTyrV0d7BfUpri5GyGygmBY7fHClSE/vqaNCCZIKpTL3NJAEg==} + peerDependencies: + vinxi: ^0.4.3 + + '@vinxi/react-server-dom@0.0.3': + resolution: {integrity: sha512-ZJJZtuw1TbGFOBuDZBHmM3w40yzFpNFWoPCoC2QtZBkYEQXYF9sOHHxkjTfNvk4rSn/zaUAs6KNUbVRvebq/1Q==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: 0.0.0-experimental-035a41c4e-20230704 + react-dom: 0.0.0-experimental-035a41c4e-20230704 + vite: ^4.3.9 + + '@vinxi/react@0.2.5': + resolution: {integrity: sha512-Ubjv/JfYWTxFbuaHxKOeq6hQMuSuIH6eZXRf27wb82YWM82z3VY1nwZzTHgyveHg/EPSOK0p8LUmbw9758xTlw==} + + '@vinxi/server-components@0.4.3': + resolution: {integrity: sha512-KVEnQtb+ZlXIEKaUw4r4WZl/rqFeZqSyIRklY1wFiPw7GCJUxbXzISpsJ+HwDhYi9k4n8uZJyQyLHGkoiEiolg==} + peerDependencies: + vinxi: ^0.4.3 + + '@vinxi/server-functions@0.4.3': + resolution: {integrity: sha512-kVYrOrCMHwGvHRwpaeW2/PE7URcGtz4Rk/hIHa2xjt5PGopzzB/Y5GC8YgZjtqSRqo0ElAKsEik7UE6CXH3HXA==} + peerDependencies: + vinxi: ^0.4.3 + + '@vitejs/plugin-react@4.3.3': + resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + '@vitejs/plugin-vue-jsx@4.0.1': resolution: {integrity: sha512-7mg9HFGnFHMEwCdB6AY83cVK4A6sCqnrjFYF4WIlebYAQVVJ/sC/CiTruVdrRlhrFoeZ8rlMxY9wYpPTIRhhAg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -6877,6 +7137,15 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-loose@8.4.0: + resolution: {integrity: sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==} + engines: {node: '>=0.4.0'} + + acorn-typescript@1.4.13: + resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} + peerDependencies: + acorn: '>=8.9.0' + acorn-walk@8.3.4: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} @@ -7079,6 +7348,10 @@ packages: ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + ast-walker-scope@0.6.2: resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==} engines: {node: '>=16.14.0'} @@ -7141,6 +7414,9 @@ packages: b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} + babel-dead-code-elimination@1.0.6: + resolution: {integrity: sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==} + babel-plugin-jsx-dom-expressions@0.39.0: resolution: {integrity: sha512-PXMD+aFTw+pZaVsNRhxGkVMjscCMmHAwLlNbMj0PG/9Uj3tFR4+ZHjg4RDRSydXiDL0Xoacpoxhc5GiYS6yd6Q==} peerDependencies: @@ -7184,6 +7460,9 @@ packages: better-call@0.2.13: resolution: {integrity: sha512-Y1rOwUtTYeH4usW7XNqonoo+Dtcb2sXL6m6zcLsgTYSD2ANqyELxkeA8BkCTWonN1y+Pt9CMbcn5vILaPohdUg==} + better-call@0.2.13: + resolution: {integrity: sha512-Y1rOwUtTYeH4usW7XNqonoo+Dtcb2sXL6m6zcLsgTYSD2ANqyELxkeA8BkCTWonN1y+Pt9CMbcn5vILaPohdUg==} + better-call@0.2.3-beta.2: resolution: {integrity: sha512-ybOtGcR4pOsHI2XE+urR9zcmK+s0YnhJSx8KDj6ul7MUEyYOiMEnq/bylyH62/7qXuYb9q8Oqkp9NF9vWOZ4Mg==} @@ -8089,6 +8368,9 @@ packages: date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + dax-sh@0.39.2: + resolution: {integrity: sha512-gpuGEkBQM+5y6p4cWaw9+ePy5TNon+fdwFVtTI8leU3UhwhsBfPewRxMXGuQNC+M2b/MDGMlfgpqynkcd0C3FQ==} + dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} @@ -9474,6 +9756,9 @@ packages: resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + h3@1.12.0: resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} @@ -9647,6 +9932,10 @@ packages: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + http-shutdown@1.2.2: resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -10111,9 +10400,17 @@ packages: resolution: {integrity: sha512-8ZvOWUA68kyJO4hHJdWjyreq7TYNWTS9y15IzeqVdKxR9pPr3P/3r9AHcoIv9M0Rllkao5qWz2v1lmcyKIVCzQ==} engines: {node: '>=18'} + isbot@5.1.17: + resolution: {integrity: sha512-/wch8pRKZE+aoVhRX/hYPY1C7dMCeeMyhkQLNLNlYAbGQn9bkvMB8fOUXNnk5I0m4vDYbBJ9ciVtkr9zfBJ7qA==} + engines: {node: '>=18'} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + isomorphic-fetch@2.2.1: resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} @@ -10544,6 +10841,9 @@ packages: magic-string@0.30.11: resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + magicast@0.2.11: + resolution: {integrity: sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==} + magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -12193,6 +12493,11 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -12563,6 +12868,10 @@ packages: resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} engines: {node: '>= 14.16.0'} + recast@0.23.9: + resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} + engines: {node: '>= 4'} + recharts-scale@0.4.5: resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} @@ -12707,6 +13016,9 @@ packages: require-like@0.1.2: resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + resend@4.0.0: resolution: {integrity: sha512-rDX0rspl/XcmC2JV2V5obQvRX2arzxXUvNFUDMOv5ObBLR68+7kigCOysb7+dlkb0JE3erhQG0nHrbBt/ZCWIg==} engines: {node: '>=18'} @@ -13604,6 +13916,9 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -14305,6 +14620,10 @@ packages: victory-vendor@36.9.2: resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + vinxi@0.4.3: + resolution: {integrity: sha512-RgJz7RWftML5h/qfPsp3QKVc2FSlvV4+HevpE0yEY2j+PS/I2ULjoSsZDXaR8Ks2WYuFFDzQr8yrox7v8aqkng==} + hasBin: true + vite-hot-client@0.2.3: resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: @@ -14387,6 +14706,37 @@ packages: vite: optional: true + vite@5.4.10: + resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vite@5.4.8: resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -14726,6 +15076,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} @@ -15086,9 +15441,9 @@ snapshots: '@ark/util@0.10.0': optional: true - '@astrojs/check@0.9.3(typescript@5.6.2)': + '@astrojs/check@0.9.3(prettier@3.3.3)(typescript@5.6.2)': dependencies: - '@astrojs/language-server': 2.14.2(typescript@5.6.2) + '@astrojs/language-server': 2.14.2(prettier@3.3.3)(typescript@5.6.2) chokidar: 3.6.0 fast-glob: 3.3.2 kleur: 4.1.5 @@ -15102,7 +15457,7 @@ snapshots: '@astrojs/internal-helpers@0.4.1': {} - '@astrojs/language-server@2.14.2(typescript@5.6.2)': + '@astrojs/language-server@2.14.2(prettier@3.3.3)(typescript@5.6.2)': dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/yaml2ts': 0.2.1 @@ -15117,12 +15472,14 @@ snapshots: volar-service-css: 0.0.61(@volar/language-service@2.4.5) volar-service-emmet: 0.0.61(@volar/language-service@2.4.5) volar-service-html: 0.0.61(@volar/language-service@2.4.5) - volar-service-prettier: 0.0.61(@volar/language-service@2.4.5) + volar-service-prettier: 0.0.61(@volar/language-service@2.4.5)(prettier@3.3.3) volar-service-typescript: 0.0.61(@volar/language-service@2.4.5) volar-service-typescript-twoslash-queries: 0.0.61(@volar/language-service@2.4.5) volar-service-yaml: 0.0.61(@volar/language-service@2.4.5) vscode-html-languageservice: 5.3.1 vscode-uri: 3.0.8 + optionalDependencies: + prettier: 3.3.3 transitivePeerDependencies: - typescript @@ -15196,7 +15553,13 @@ snapshots: '@babel/highlight': 7.24.7 picocolors: 1.1.0 - '@babel/compat-data@7.25.4': {} + '@babel/code-frame@7.26.0': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/compat-data@7.26.0': {} '@babel/core@7.25.2': dependencies: @@ -15218,21 +15581,57 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/generator@7.25.6': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + '@babel/generator@7.26.0': + dependencies: + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 + '@babel/compat-data': 7.26.0 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.0 + '@babel/helper-validator-option': 7.25.9 browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -15245,145 +15644,258 @@ snapshots: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/traverse': 7.25.9 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.26.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/traverse': 7.25.9 semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.18.6': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.25.9 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-plugin-utils@7.25.9': {} + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.9 transitivePeerDependencies: - supports-color '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.9': {} + '@babel/helpers@7.25.6': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 '@babel/highlight@7.24.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.9 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.0 '@babel/parser@7.25.6': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 - '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2)': + '@babel/parser@7.26.1': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/types': 7.26.0 + + '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.26.0) transitivePeerDependencies: - supports-color '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': + '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - - '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@babel/core': 7.26.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 @@ -15395,46 +15907,79 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.25.2) transitivePeerDependencies: - supports-color - '@babel/preset-react@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.26.0)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.26.0 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + + '@babel/preset-react@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.26.0) transitivePeerDependencies: - supports-color '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.2) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) transitivePeerDependencies: - supports-color + '@babel/preset-typescript@7.24.7(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.26.0) + transitivePeerDependencies: + - supports-color + '@babel/runtime@7.25.6': dependencies: regenerator-runtime: 0.14.1 @@ -15443,17 +15988,35 @@ snapshots: '@babel/template@7.25.0': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 + + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@babel/traverse@7.25.6': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/traverse@7.25.9': + dependencies: + '@babel/code-frame': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: @@ -15465,6 +16028,11 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@babel/types@7.26.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@better-fetch/fetch@1.1.12': {} '@biomejs/biome@1.7.3': @@ -15706,6 +16274,13 @@ snapshots: dependencies: postcss-selector-parser: 6.1.2 + '@deno/shim-deno-test@0.5.0': {} + + '@deno/shim-deno@0.19.2': + dependencies: + '@deno/shim-deno-test': 0.5.0 + which: 4.0.0 + '@edge-runtime/primitives@4.1.0': optional: true @@ -15754,7 +16329,7 @@ snapshots: '@emotion/babel-plugin@11.12.0': dependencies: - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.25.9 '@babel/runtime': 7.25.6 '@emotion/hash': 0.9.2 '@emotion/memoize': 0.9.0 @@ -16311,6 +16886,12 @@ snapshots: eslint: 9.11.1(jiti@2.3.3) eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.4.0(eslint@9.11.1)': + dependencies: + eslint: 9.11.1 + eslint-visitor-keys: 3.4.3 + optional: true + '@eslint-community/regexpp@4.11.1': {} '@eslint/config-array@0.18.0': @@ -16946,6 +17527,13 @@ snapshots: nanostores: 0.11.3 solid-js: 1.9.1 + '@nanostores/vue@0.10.0(@vue/devtools-api@6.6.4)(nanostores@0.11.3)(vue@3.5.12(typescript@5.6.3))': + dependencies: + nanostores: 0.11.3 + vue: 3.5.12(typescript@5.6.3) + optionalDependencies: + '@vue/devtools-api': 6.6.4 + '@nanostores/vue@0.10.0(@vue/devtools-api@6.6.4)(nanostores@0.11.3)(vue@3.5.9(typescript@5.6.1-rc))': dependencies: nanostores: 0.11.3 @@ -17405,7 +17993,7 @@ snapshots: - supports-color - webpack-sources - '@nuxt/vite-builder@3.13.2(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.11.1(jiti@2.3.3))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))': + '@nuxt/vite-builder@3.13.2(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.11.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3))': dependencies: '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4) '@rollup/plugin-replace': 5.0.7(rollup@4.22.4) @@ -17438,7 +18026,7 @@ snapshots: unplugin: 1.14.1 vite: 5.4.8(@types/node@22.3.0)(terser@5.33.0) vite-node: 2.1.1(@types/node@22.3.0)(terser@5.33.0) - vite-plugin-checker: 0.8.0(@biomejs/biome@1.7.3)(eslint@9.11.1(jiti@2.3.3))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)) + vite-plugin-checker: 0.8.0(@biomejs/biome@1.7.3)(eslint@9.11.1)(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)) vue: 3.5.12(typescript@5.6.3) vue-bundle-renderer: 2.1.1 transitivePeerDependencies: @@ -17465,7 +18053,7 @@ snapshots: - vue-tsc - webpack-sources - '@nuxtjs/tailwindcss@6.12.1(magicast@0.3.5)(rollup@4.22.4)': + '@nuxtjs/tailwindcss@6.12.1(magicast@0.3.5)(rollup@4.22.4)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3))': dependencies: '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4) autoprefixer: 10.4.20(postcss@8.4.47) @@ -17475,8 +18063,8 @@ snapshots: pathe: 1.1.2 postcss: 8.4.47 postcss-nesting: 12.1.5(postcss@8.4.47) - tailwind-config-viewer: 2.0.4(tailwindcss@3.4.13) - tailwindcss: 3.4.13 + tailwind-config-viewer: 2.0.4(tailwindcss@3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3))) + tailwindcss: 3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)) ufo: 1.5.4 unctx: 2.3.1 transitivePeerDependencies: @@ -17524,6 +18112,11 @@ snapshots: '@parcel/watcher-linux-x64-musl@2.4.1': optional: true + '@parcel/watcher-wasm@2.3.0': + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.8 + '@parcel/watcher-wasm@2.4.1': dependencies: is-glob: 4.0.3 @@ -20598,7 +21191,7 @@ snapshots: optionalDependencies: react-dom: 19.0.0-rc-7771d3a7-20240827(react@19.0.0-rc-7771d3a7-20240827) - '@remix-run/dev@2.12.1(@remix-run/react@2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@remix-run/serve@2.12.1(typescript@5.6.2))(@types/node@22.3.0)(babel-plugin-macros@3.1.0)(terser@5.33.0)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2))(typescript@5.6.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0))': + '@remix-run/dev@2.12.1(@remix-run/react@2.12.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2))(@remix-run/serve@2.12.1(typescript@5.6.2))(@types/node@22.3.0)(babel-plugin-macros@3.1.0)(terser@5.33.0)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2))(typescript@5.6.2)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(wrangler@3.80.4)': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -20658,7 +21251,7 @@ snapshots: '@remix-run/serve': 2.12.1(typescript@5.6.2) typescript: 5.6.2 vite: 5.4.8(@types/node@22.3.0)(terser@5.33.0) - wrangler: 3.80.4(@cloudflare/workers-types@4.20241011.0) + wrangler: 3.80.4 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -21171,8 +21764,15 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 3.4.14(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2)) + '@tanstack/history@1.61.1': {} + '@tanstack/query-core@5.56.2': {} + '@tanstack/react-cross-context@1.74.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + '@tanstack/react-query@5.56.2(react@19.0.0-rc-69d4b800-20241021)': dependencies: '@tanstack/query-core': 5.56.2 @@ -21183,8 +21783,135 @@ snapshots: '@tanstack/query-core': 5.56.2 react: 19.0.0-rc-7771d3a7-20240827 + '@tanstack/react-router@1.77.5(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/history': 1.61.1 + '@tanstack/react-store': 0.5.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tiny-invariant: 1.3.3 + tiny-warning: 1.0.3 + optionalDependencies: + '@tanstack/router-generator': 1.74.2 + + '@tanstack/react-store@0.5.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tanstack/store': 0.5.5 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + use-sync-external-store: 1.2.2(react@18.3.1) + + '@tanstack/router-generator@1.74.2': + dependencies: + '@tanstack/virtual-file-routes': 1.64.0 + prettier: 3.3.3 + tsx: 4.19.1 + zod: 3.23.8 + + '@tanstack/router-plugin@1.76.4(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0))': + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + '@tanstack/router-generator': 1.74.2 + '@tanstack/virtual-file-routes': 1.64.0 + '@types/babel__core': 7.20.5 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + babel-dead-code-elimination: 1.0.6 + chokidar: 3.6.0 + unplugin: 1.14.1 + zod: 3.23.8 + optionalDependencies: + vite: 5.4.10(@types/node@22.3.0)(terser@5.33.0) + transitivePeerDependencies: + - supports-color + - webpack-sources + + '@tanstack/start-vite-plugin@1.66.1': + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + '@types/babel__core': 7.20.5 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + babel-dead-code-elimination: 1.0.6 + transitivePeerDependencies: + - supports-color + + '@tanstack/start@1.77.5(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(terser@5.33.0)(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0))': + dependencies: + '@tanstack/react-cross-context': 1.74.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/react-router': 1.77.5(@tanstack/router-generator@1.74.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/router-generator': 1.74.2 + '@tanstack/router-plugin': 1.76.4(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)) + '@tanstack/start-vite-plugin': 1.66.1 + '@vinxi/react': 0.2.5 + '@vinxi/react-server-dom': 0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)) + '@vinxi/server-components': 0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0)) + '@vinxi/server-functions': 0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0)) + import-meta-resolve: 4.1.0 + isbot: 5.1.17 + jsesc: 3.0.2 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + tiny-invariant: 1.3.3 + vinxi: 0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0) + zod: 3.23.8 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@rsbuild/core' + - '@types/node' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - ioredis + - less + - lightningcss + - magicast + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - uWebSockets.js + - vite + - webpack + - webpack-sources + - xml2js + + '@tanstack/store@0.5.5': {} + '@tanstack/virtual-core@3.10.8': {} + '@tanstack/virtual-file-routes@1.64.0': {} + '@tanstack/vue-virtual@3.10.8(vue@3.5.12(typescript@5.6.3))': dependencies: '@tanstack/virtual-core': 3.10.8 @@ -21392,21 +22119,23 @@ snapshots: '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@types/better-sqlite3@7.6.11': dependencies: '@types/node': 20.16.9 + '@types/braces@3.0.4': {} + '@types/bun@1.1.12': dependencies: bun-types: 1.1.32 @@ -21604,6 +22333,10 @@ snapshots: '@types/mdx@2.0.13': {} + '@types/micromatch@4.0.9': + dependencies: + '@types/braces': 3.0.4 + '@types/ms@0.7.34': {} '@types/nlcst@2.0.3': @@ -21654,6 +22387,10 @@ snapshots: dependencies: '@types/react': 18.3.9 + '@types/react-dom@18.3.1': + dependencies: + '@types/react': 18.3.12 + '@types/react-reconciler@0.26.7': dependencies: '@types/react': 18.3.9 @@ -21662,6 +22399,11 @@ snapshots: dependencies: '@types/react': 18.3.9 + '@types/react@18.3.12': + dependencies: + '@types/prop-types': 15.7.13 + csstype: 3.1.3 + '@types/react@18.3.9': dependencies: '@types/prop-types': 15.7.13 @@ -22090,7 +22832,7 @@ snapshots: '@vanilla-extract/babel-plugin-debug-ids@1.1.0': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.26.0 transitivePeerDependencies: - supports-color @@ -22113,8 +22855,8 @@ snapshots: '@vanilla-extract/integration@6.5.0(@types/node@22.3.0)(babel-plugin-macros@3.1.0)(terser@5.33.0)': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.26.0 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) '@vanilla-extract/babel-plugin-debug-ids': 1.1.0 '@vanilla-extract/css': 1.16.0(babel-plugin-macros@3.1.0) esbuild: 0.19.12 @@ -22187,11 +22929,88 @@ snapshots: validator: 13.12.0 optional: true - '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(vue@3.5.12(typescript@5.6.3))': + '@vinxi/listhen@1.5.6': + dependencies: + '@parcel/watcher': 2.4.1 + '@parcel/watcher-wasm': 2.3.0 + citty: 0.1.6 + clipboardy: 4.0.0 + consola: 3.2.3 + defu: 6.1.4 + get-port-please: 3.1.2 + h3: 1.12.0 + http-shutdown: 1.2.2 + jiti: 1.21.6 + mlly: 1.7.1 + node-forge: 1.3.1 + pathe: 1.1.2 + std-env: 3.7.0 + ufo: 1.5.4 + untun: 0.1.3 + uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js + + '@vinxi/plugin-directives@0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0))': + dependencies: + '@babel/parser': 7.26.1 + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + acorn-loose: 8.4.0 + acorn-typescript: 1.4.13(acorn@8.12.1) + astring: 1.9.0 + magicast: 0.2.11 + recast: 0.23.9 + tslib: 2.7.0 + vinxi: 0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0) + + '@vinxi/react-server-dom@0.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0))': + dependencies: + acorn-loose: 8.4.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + vite: 5.4.10(@types/node@22.3.0)(terser@5.33.0) + + '@vinxi/react@0.2.5': {} + + '@vinxi/server-components@0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0))': + dependencies: + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0)) + acorn: 8.12.1 + acorn-loose: 8.4.0 + acorn-typescript: 1.4.13(acorn@8.12.1) + astring: 1.9.0 + magicast: 0.2.11 + recast: 0.23.9 + vinxi: 0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0) + + '@vinxi/server-functions@0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0))': + dependencies: + '@vinxi/plugin-directives': 0.4.3(vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0)) + acorn: 8.12.1 + acorn-loose: 8.4.0 + acorn-typescript: 1.4.13(acorn@8.12.1) + astring: 1.9.0 + magicast: 0.2.11 + recast: 0.23.9 + vinxi: 0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0) + + '@vitejs/plugin-react@4.3.3(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0))': dependencies: '@babel/core': 7.25.2 - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.25.2) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.10(@types/node@22.3.0)(terser@5.33.0) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(vue@3.5.12(typescript@5.6.3))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.26.0) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) vite: 5.4.8(@types/node@22.3.0)(terser@5.33.0) vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: @@ -22283,7 +23102,7 @@ snapshots: '@vue-macros/common@1.14.0(rollup@4.22.4)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@rollup/pluginutils': 5.1.2(rollup@4.22.4) '@vue/compiler-sfc': 3.5.11 ast-kit: 1.2.1 @@ -22296,37 +23115,37 @@ snapshots: '@vue/babel-helper-vue-transform-on@1.2.5': {} - '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.2)': + '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0)': dependencies: - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 '@vue/babel-helper-vue-transform-on': 1.2.5 - '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.2) + '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0) html-tags: 3.3.1 svg-tags: 1.0.0 optionalDependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.26.0 transitivePeerDependencies: - supports-color - '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.2)': + '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.26.0)': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/parser': 7.25.6 + '@babel/code-frame': 7.26.0 + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/parser': 7.26.1 '@vue/compiler-sfc': 3.5.11 transitivePeerDependencies: - supports-color '@vue/compiler-core@3.5.11': dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 '@vue/shared': 3.5.11 entities: 4.5.0 estree-walker: 2.0.2 @@ -22334,7 +23153,7 @@ snapshots: '@vue/compiler-core@3.5.12': dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 @@ -22342,7 +23161,7 @@ snapshots: '@vue/compiler-core@3.5.9': dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 '@vue/shared': 3.5.9 entities: 4.5.0 estree-walker: 2.0.2 @@ -22365,7 +23184,7 @@ snapshots: '@vue/compiler-sfc@3.5.11': dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 '@vue/compiler-core': 3.5.11 '@vue/compiler-dom': 3.5.11 '@vue/compiler-ssr': 3.5.11 @@ -22377,7 +23196,7 @@ snapshots: '@vue/compiler-sfc@3.5.12': dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 '@vue/compiler-core': 3.5.12 '@vue/compiler-dom': 3.5.12 '@vue/compiler-ssr': 3.5.12 @@ -22389,7 +23208,7 @@ snapshots: '@vue/compiler-sfc@3.5.9': dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 '@vue/compiler-core': 3.5.9 '@vue/compiler-dom': 3.5.9 '@vue/compiler-ssr': 3.5.9 @@ -23049,6 +23868,14 @@ snapshots: dependencies: acorn: 8.12.1 + acorn-loose@8.4.0: + dependencies: + acorn: 8.12.1 + + acorn-typescript@1.4.13(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + acorn-walk@8.3.4: dependencies: acorn: 8.12.1 @@ -23300,14 +24127,18 @@ snapshots: ast-kit@1.2.1: dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 pathe: 1.1.2 ast-types-flow@0.0.8: {} + ast-types@0.16.1: + dependencies: + tslib: 2.7.0 + ast-walker-scope@0.6.2: dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.1 ast-kit: 1.2.1 astring@1.9.0: {} @@ -23439,12 +24270,21 @@ snapshots: b4a@1.6.7: {} + babel-dead-code-elimination@1.0.6: + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + babel-plugin-jsx-dom-expressions@0.39.0(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.6 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.25.2) + '@babel/types': 7.26.0 html-entities: 2.3.3 jest-diff: 29.7.0 jsdom: 25.0.1 @@ -23499,13 +24339,19 @@ snapshots: rou3: 0.5.1 uncrypto: 0.1.3 + better-call@0.2.13: + dependencies: + '@better-fetch/fetch': 1.1.12 + rou3: 0.5.1 + uncrypto: 0.1.3 + better-call@0.2.3-beta.2: dependencies: '@better-fetch/fetch': 1.1.12 '@types/set-cookie-parser': 2.4.10 rou3: 0.5.1 set-cookie-parser: 2.7.0 - typescript: 5.6.2 + typescript: 5.6.3 better-sqlite3@11.3.0: dependencies: @@ -24604,6 +25450,11 @@ snapshots: date-fns@3.6.0: {} + dax-sh@0.39.2: + dependencies: + '@deno/shim-deno': 0.19.2 + undici-types: 5.26.5 + dayjs@1.11.13: {} db0@0.1.4(better-sqlite3@11.3.0): @@ -24815,6 +25666,23 @@ snapshots: dotenv@16.4.5: {} + drizzle-orm@0.33.0(@cloudflare/workers-types@4.20241011.0)(@libsql/client@0.12.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(@types/react@18.3.12)(better-sqlite3@11.3.0)(bun-types@1.1.32)(kysely@0.27.4)(mysql2@3.11.3)(pg@8.13.0)(postgres@3.4.4)(prisma@5.20.0)(react@18.3.1): + optionalDependencies: + '@cloudflare/workers-types': 4.20241011.0 + '@libsql/client': 0.12.0 + '@prisma/client': 5.20.0(prisma@5.20.0) + '@types/better-sqlite3': 7.6.11 + '@types/pg': 8.11.10 + '@types/react': 18.3.12 + better-sqlite3: 11.3.0 + bun-types: 1.1.32 + kysely: 0.27.4 + mysql2: 3.11.3 + pg: 8.13.0 + postgres: 3.4.4 + prisma: 5.20.0 + react: 18.3.1 + drizzle-orm@0.33.0(@cloudflare/workers-types@4.20241011.0)(@libsql/client@0.12.0)(@prisma/client@5.20.0(prisma@5.20.0))(@types/better-sqlite3@7.6.11)(@types/pg@8.11.10)(@types/react@18.3.9)(better-sqlite3@11.3.0)(bun-types@1.1.32)(kysely@0.27.4)(mysql2@3.11.3)(pg@8.13.0)(postgres@3.4.4)(prisma@5.20.0)(react@18.3.1): optionalDependencies: '@cloudflare/workers-types': 4.20241011.0 @@ -25362,7 +26230,7 @@ snapshots: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 8.57.1 - eslint-module-utils: 2.11.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-module-utils: 2.11.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -25381,7 +26249,7 @@ snapshots: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 9.11.1(jiti@2.3.3) - eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.11.1(jiti@2.3.3)) + eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@9.11.1(jiti@2.3.3)))(eslint@9.11.1(jiti@2.3.3)) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -25400,7 +26268,7 @@ snapshots: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 9.11.1(jiti@2.3.3) - eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.11.1(jiti@2.3.3)) + eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@9.11.1(jiti@2.3.3)))(eslint@9.11.1(jiti@2.3.3)) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -25413,7 +26281,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-module-utils@2.11.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: @@ -25424,7 +26292,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.11.1(jiti@2.3.3)): + eslint-module-utils@2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@9.11.1(jiti@2.3.3)))(eslint@9.11.1(jiti@2.3.3)): dependencies: debug: 3.2.7 optionalDependencies: @@ -25435,7 +26303,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.11.1(jiti@2.3.3)): + eslint-module-utils@2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@9.11.1(jiti@2.3.3)))(eslint@9.11.1(jiti@2.3.3)): dependencies: debug: 3.2.7 optionalDependencies: @@ -25457,7 +26325,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-module-utils: 2.11.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -25485,7 +26353,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.11.1(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.11.1(jiti@2.3.3)) + eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@9.11.1(jiti@2.3.3)))(eslint@9.11.1(jiti@2.3.3)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -25513,7 +26381,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.11.1(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.11.1(jiti@2.3.3)) + eslint-module-utils: 2.11.1(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@9.11.1(jiti@2.3.3)))(eslint@9.11.1(jiti@2.3.3)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -25679,6 +26547,49 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.11.1: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1) + '@eslint-community/regexpp': 4.11.1 + '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.11.1 + '@eslint/plugin-kit': 0.2.0 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 + '@nodelib/fs.walk': 1.2.8 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.7 + escape-string-regexp: 4.0.0 + eslint-scope: 8.0.2 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + optional: true + eslint@9.11.1(jiti@2.3.3): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.3)) @@ -26632,6 +27543,21 @@ snapshots: dependencies: duplexer: 0.1.2 + h3@1.11.1: + dependencies: + cookie-es: 1.2.2 + crossws: 0.2.4 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.2.1 + ohash: 1.1.4 + radix3: 1.1.2 + ufo: 1.5.4 + uncrypto: 0.1.3 + unenv: 1.10.0 + transitivePeerDependencies: + - uWebSockets.js + h3@1.12.0: dependencies: cookie-es: 1.2.2 @@ -26937,6 +27863,14 @@ snapshots: transitivePeerDependencies: - supports-color + http-proxy@1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.5.10 + requires-port: 1.0.0 + transitivePeerDependencies: + - supports-color + http-shutdown@1.2.2: {} https-proxy-agent@2.2.4: @@ -27345,8 +28279,12 @@ snapshots: isbot@4.4.0: {} + isbot@5.1.17: {} + isexe@2.0.0: {} + isexe@3.1.1: {} + isomorphic-fetch@2.2.1: dependencies: node-fetch: 1.7.3 @@ -27832,10 +28770,16 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.2.11: + dependencies: + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 + recast: 0.23.9 + magicast@0.3.5: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 source-map-js: 1.2.1 make-dir@1.3.0: @@ -29264,14 +30208,14 @@ snapshots: nuxi@3.14.0: {} - nuxt@3.13.2(@biomejs/biome@1.7.3)(@parcel/watcher@2.4.1)(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(eslint@9.11.1(jiti@2.3.3))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)): + nuxt@3.13.2(@biomejs/biome@1.7.3)(@parcel/watcher@2.4.1)(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(eslint@9.11.1)(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)): dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/devtools': 1.5.1(rollup@4.22.4)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0))(vue@3.5.12(typescript@5.6.3)) '@nuxt/kit': 3.13.2(magicast@0.3.5)(rollup@4.22.4) '@nuxt/schema': 3.13.2(rollup@4.22.4) '@nuxt/telemetry': 2.6.0(magicast@0.3.5)(rollup@4.22.4) - '@nuxt/vite-builder': 3.13.2(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.11.1(jiti@2.3.3))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)) + '@nuxt/vite-builder': 3.13.2(@biomejs/biome@1.7.3)(@types/node@22.3.0)(eslint@9.11.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.22.4)(terser@5.33.0)(typescript@5.6.3)(vue@3.5.12(typescript@5.6.3)) '@unhead/dom': 1.11.6 '@unhead/shared': 1.11.6 '@unhead/ssr': 1.11.6 @@ -29705,7 +30649,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.0 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -29964,6 +30908,14 @@ snapshots: postcss: 8.4.47 ts-node: 10.9.1(@types/node@22.3.0)(typescript@5.6.2) + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)): + dependencies: + lilconfig: 3.1.2 + yaml: 2.5.1 + optionalDependencies: + postcss: 8.4.47 + ts-node: 10.9.1(@types/node@22.3.0)(typescript@5.6.3) + postcss-load-config@6.0.1(jiti@2.3.3)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1): dependencies: lilconfig: 3.1.2 @@ -30208,6 +31160,8 @@ snapshots: prettier@2.8.7: {} + prettier@3.3.3: {} + pretty-bytes@6.1.1: {} pretty-format@29.7.0: @@ -30777,6 +31731,14 @@ snapshots: readdirp@4.0.1: {} + recast@0.23.9: + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.7.0 + recharts-scale@0.4.5: dependencies: decimal.js-light: 2.5.1 @@ -31059,6 +32021,8 @@ snapshots: require-like@0.1.2: {} + requires-port@1.0.0: {} + resend@4.0.0(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021): dependencies: '@react-email/render': 0.0.17(react-dom@19.0.0-rc-69d4b800-20241021(react@19.0.0-rc-69d4b800-20241021))(react@19.0.0-rc-69d4b800-20241021) @@ -31559,9 +32523,9 @@ snapshots: solid-refresh@0.6.3(solid-js@1.9.1): dependencies: - '@babel/generator': 7.25.6 - '@babel/helper-module-imports': 7.24.7 - '@babel/types': 7.25.6 + '@babel/generator': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/types': 7.26.0 solid-js: 1.9.1 transitivePeerDependencies: - supports-color @@ -31998,7 +32962,7 @@ snapshots: tabbable@6.2.0: {} - tailwind-config-viewer@2.0.4(tailwindcss@3.4.13): + tailwind-config-viewer@2.0.4(tailwindcss@3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3))): dependencies: '@koa/router': 12.0.2 commander: 6.2.1 @@ -32008,7 +32972,7 @@ snapshots: open: 7.4.2 portfinder: 1.0.32 replace-in-file: 6.3.5 - tailwindcss: 3.4.13 + tailwindcss: 3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)) transitivePeerDependencies: - supports-color @@ -32033,36 +32997,9 @@ snapshots: dependencies: tailwindcss: 3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2)) - tailwindcss-animate@1.0.7(tailwindcss@3.4.13): + tailwindcss-animate@1.0.7(tailwindcss@3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3))): dependencies: - tailwindcss: 3.4.13 - - tailwindcss@3.4.13: - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.6 - lilconfig: 2.1.0 - micromatch: 4.0.8 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.1.0 - postcss: 8.4.47 - postcss-import: 15.1.0(postcss@8.4.47) - postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@types/node@20.16.9)(typescript@5.6.3)) - postcss-nested: 6.2.0(postcss@8.4.47) - postcss-selector-parser: 6.1.2 - resolve: 1.22.8 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node + tailwindcss: 3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)) tailwindcss@3.4.13(ts-node@10.9.1(@types/node@20.16.9)(typescript@5.6.2)): dependencies: @@ -32145,6 +33082,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.13(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.0 + postcss: 8.4.47 + postcss-import: 15.1.0(postcss@8.4.47) + postcss-js: 4.0.1(postcss@8.4.47) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3)) + postcss-nested: 6.2.0(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tailwindcss@3.4.14(ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.2)): dependencies: '@alloc/quick-lru': 5.2.0 @@ -32275,6 +33239,8 @@ snapshots: tiny-invariant@1.3.3: {} + tiny-warning@1.0.3: {} + tinybench@2.9.0: {} tinyexec@0.3.0: {} @@ -32437,10 +33403,33 @@ snapshots: yn: 3.1.1 optional: true + ts-node@10.9.1(@types/node@22.3.0)(typescript@5.6.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 22.3.0 + acorn: 8.12.1 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + tsconfck@3.1.3(typescript@5.6.2): optionalDependencies: typescript: 5.6.2 + tsconfck@3.1.3(typescript@5.6.3): + optionalDependencies: + typescript: 5.6.3 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -32523,7 +33512,6 @@ snapshots: get-tsconfig: 4.8.1 optionalDependencies: fsevents: 2.3.3 - optional: true tunnel-agent@0.6.0: dependencies: @@ -32856,7 +33844,7 @@ snapshots: unplugin-vue-router@0.10.8(rollup@4.22.4)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)): dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@rollup/pluginutils': 5.1.2(rollup@4.22.4) '@vue-macros/common': 1.14.0(rollup@4.22.4)(vue@3.5.12(typescript@5.6.3)) ast-walker-scope: 0.6.2 @@ -32907,9 +33895,9 @@ snapshots: untyped@1.5.0: dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.26.0 '@babel/standalone': 7.25.6 - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 defu: 6.1.4 jiti: 2.0.0 mri: 1.2.0 @@ -33180,6 +34168,74 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 + vinxi@0.4.3(@types/node@22.3.0)(better-sqlite3@11.3.0)(encoding@0.1.13)(ioredis@5.4.1)(magicast@0.3.5)(terser@5.33.0): + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@types/micromatch': 4.0.9 + '@vinxi/listhen': 1.5.6 + boxen: 7.1.1 + chokidar: 3.6.0 + citty: 0.1.6 + consola: 3.2.3 + crossws: 0.2.4 + dax-sh: 0.39.2 + defu: 6.1.4 + es-module-lexer: 1.5.4 + esbuild: 0.20.2 + fast-glob: 3.3.2 + get-port-please: 3.1.2 + h3: 1.11.1 + hookable: 5.5.3 + http-proxy: 1.18.1 + micromatch: 4.0.8 + nitropack: 2.9.7(better-sqlite3@11.3.0)(encoding@0.1.13)(magicast@0.3.5) + node-fetch-native: 1.6.4 + path-to-regexp: 6.3.0 + pathe: 1.1.2 + radix3: 1.1.2 + resolve: 1.22.8 + serve-placeholder: 2.0.2 + serve-static: 1.16.2 + ufo: 1.5.4 + unctx: 2.3.1 + unenv: 1.10.0 + unstorage: 1.12.0(ioredis@5.4.1) + vite: 5.4.10(@types/node@22.3.0)(terser@5.33.0) + zod: 3.23.8 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@types/node' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - ioredis + - less + - lightningcss + - magicast + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - uWebSockets.js + - webpack-sources + - xml2js + vite-hot-client@0.2.3(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)): dependencies: vite: 5.4.8(@types/node@22.3.0)(terser@5.33.0) @@ -33219,9 +34275,9 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.8.0(@biomejs/biome@1.7.3)(eslint@9.11.1(jiti@2.3.3))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)): + vite-plugin-checker@0.8.0(@biomejs/biome@1.7.3)(eslint@9.11.1)(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)): dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.0 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.6.0 @@ -33238,7 +34294,7 @@ snapshots: vscode-uri: 3.0.8 optionalDependencies: '@biomejs/biome': 1.7.3 - eslint: 9.11.1(jiti@2.3.3) + eslint: 9.11.1 optionator: 0.9.4 typescript: 5.6.3 @@ -33278,12 +34334,12 @@ snapshots: vite-plugin-vue-inspector@5.2.0(vite@5.4.8(@types/node@22.3.0)(terser@5.33.0)): dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2) + '@babel/core': 7.26.0 + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.26.0) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) '@vue/compiler-dom': 3.5.11 kolorist: 1.8.0 magic-string: 0.30.11 @@ -33302,6 +34358,27 @@ snapshots: - supports-color - typescript + vite-tsconfig-paths@4.3.2(typescript@5.6.3)(vite@5.4.10(@types/node@22.3.0)(terser@5.33.0)): + dependencies: + debug: 4.3.7 + globrex: 0.1.2 + tsconfck: 3.1.3(typescript@5.6.3) + optionalDependencies: + vite: 5.4.10(@types/node@22.3.0)(terser@5.33.0) + transitivePeerDependencies: + - supports-color + - typescript + + vite@5.4.10(@types/node@22.3.0)(terser@5.33.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.47 + rollup: 4.22.4 + optionalDependencies: + '@types/node': 22.3.0 + fsevents: 2.3.3 + terser: 5.33.0 + vite@5.4.8(@types/node@22.3.0)(terser@5.33.0): dependencies: esbuild: 0.21.5 @@ -33382,11 +34459,12 @@ snapshots: optionalDependencies: '@volar/language-service': 2.4.5 - volar-service-prettier@0.0.61(@volar/language-service@2.4.5): + volar-service-prettier@0.0.61(@volar/language-service@2.4.5)(prettier@3.3.3): dependencies: vscode-uri: 3.0.8 optionalDependencies: '@volar/language-service': 2.4.5 + prettier: 3.3.3 volar-service-typescript-twoslash-queries@0.0.61(@volar/language-service@2.4.5): dependencies: @@ -33640,6 +34718,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@4.0.0: + dependencies: + isexe: 3.1.1 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 @@ -33668,7 +34750,7 @@ snapshots: '@cloudflare/workerd-windows-64': 1.20241004.0 optional: true - wrangler@3.80.4(@cloudflare/workers-types@4.20241011.0): + wrangler@3.80.4: dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@cloudflare/workers-shared': 0.6.0 @@ -33688,7 +34770,6 @@ snapshots: workerd: 1.20241004.0 xxhash-wasm: 1.0.2 optionalDependencies: - '@cloudflare/workers-types': 4.20241011.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil