From 3d6b493b2feb161e379628b4e2de8fa9aa36c277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henry=20Gr=C3=A6sberg?= Date: Wed, 14 Oct 2026 13:46:12 +0200 Subject: [PATCH] Update monorepo structure, and add backend --- .cta.json | 9 +- .gitignore | 1 + .prettierignore | 4 +- README.md | 83 +- apps/backend/.env.example | 2 + apps/backend/package.json | 23 + apps/backend/src/builder.ts | 29 + apps/backend/src/context.ts | 10 + apps/backend/src/index.ts | 17 + apps/backend/src/schema/todo.ts | 42 + apps/backend/tsconfig.json | 22 + apps/frontend/package.json | 40 + {public => apps/frontend/public}/prisma.svg | 0 .../frontend/src}/components/Footer.tsx | 0 .../frontend/src}/components/Header.tsx | 4 +- .../frontend/src}/components/ThemeToggle.tsx | 0 apps/frontend/src/graphql/client.ts | 33 + .../integrations/tanstack-query/devtools.tsx | 0 .../tanstack-query/root-provider.tsx | 0 {src => apps/frontend/src}/routeTree.gen.ts | 42 +- {src => apps/frontend/src}/router.tsx | 0 {src => apps/frontend/src}/routes/__root.tsx | 0 {src => apps/frontend/src}/routes/about.tsx | 0 .../src}/routes/demo/tanstack-query.tsx | 0 apps/frontend/src/routes/demo/todos.tsx | 159 ++ {src => apps/frontend/src}/routes/index.tsx | 0 {src => apps/frontend/src}/styles.css | 61 +- tsconfig.json => apps/frontend/tsconfig.json | 4 +- .../frontend/tsr.config.json | 0 .../frontend/vite.config.ts | 0 docker-compose.yml | 11 + docs/initial-plan.md | 6 +- docs/original.README.md | 2 +- eslint.config.js | 7 +- package.json | 60 +- packages/db/.env.example | 3 + packages/db/package.json | 28 + .../db/prisma.config.ts | 0 {prisma => packages/db/prisma}/schema.prisma | 6 + packages/db/prisma/seed.ts | 26 + src/db.ts => packages/db/src/client.ts | 0 {src => packages/db/src}/database-url.ts | 0 packages/db/src/index.ts | 5 + packages/db/tsconfig.json | 22 + pnpm-lock.yaml | 2207 ++++++++++++----- pnpm-workspace.yaml | 4 + prettier.config.js | 6 +- prisma/seed.ts | 38 - scripts/setup-db.sh | 37 + src/routes/demo/prisma.tsx | 120 - 50 files changed, 2259 insertions(+), 914 deletions(-) create mode 100644 apps/backend/.env.example create mode 100644 apps/backend/package.json create mode 100644 apps/backend/src/builder.ts create mode 100644 apps/backend/src/context.ts create mode 100644 apps/backend/src/index.ts create mode 100644 apps/backend/src/schema/todo.ts create mode 100644 apps/backend/tsconfig.json create mode 100644 apps/frontend/package.json rename {public => apps/frontend/public}/prisma.svg (100%) rename {src => apps/frontend/src}/components/Footer.tsx (100%) rename {src => apps/frontend/src}/components/Header.tsx (98%) rename {src => apps/frontend/src}/components/ThemeToggle.tsx (100%) create mode 100644 apps/frontend/src/graphql/client.ts rename {src => apps/frontend/src}/integrations/tanstack-query/devtools.tsx (100%) rename {src => apps/frontend/src}/integrations/tanstack-query/root-provider.tsx (100%) rename {src => apps/frontend/src}/routeTree.gen.ts (80%) rename {src => apps/frontend/src}/router.tsx (100%) rename {src => apps/frontend/src}/routes/__root.tsx (100%) rename {src => apps/frontend/src}/routes/about.tsx (100%) rename {src => apps/frontend/src}/routes/demo/tanstack-query.tsx (100%) create mode 100644 apps/frontend/src/routes/demo/todos.tsx rename {src => apps/frontend/src}/routes/index.tsx (100%) rename {src => apps/frontend/src}/styles.css (89%) rename tsconfig.json => apps/frontend/tsconfig.json (85%) rename tsr.config.json => apps/frontend/tsr.config.json (100%) rename vite.config.ts => apps/frontend/vite.config.ts (100%) create mode 100644 docker-compose.yml create mode 100644 packages/db/.env.example create mode 100644 packages/db/package.json rename prisma.config.ts => packages/db/prisma.config.ts (100%) rename {prisma => packages/db/prisma}/schema.prisma (64%) create mode 100644 packages/db/prisma/seed.ts rename src/db.ts => packages/db/src/client.ts (100%) rename {src => packages/db/src}/database-url.ts (100%) create mode 100644 packages/db/src/index.ts create mode 100644 packages/db/tsconfig.json delete mode 100644 prisma/seed.ts create mode 100755 scripts/setup-db.sh delete mode 100644 src/routes/demo/prisma.tsx diff --git a/.cta.json b/.cta.json index a98408a..6f5de90 100644 --- a/.cta.json +++ b/.cta.json @@ -17,10 +17,5 @@ "routerOnly": false, "version": 1, "framework": "react", - "chosenAddOns": [ - "eslint", - "nitro", - "prisma", - "tanstack-query" - ] -} \ No newline at end of file + "chosenAddOns": ["eslint", "nitro", "prisma", "tanstack-query"] +} diff --git a/.gitignore b/.gitignore index 8b25bb5..104efb0 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ dist-ssr .vinxi __unconfig* todos.json +**/src/generated/ diff --git a/.prettierignore b/.prettierignore index 5322d7f..c8317da 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,5 @@ package-lock.json pnpm-lock.yaml -yarn.lock \ No newline at end of file +yarn.lock +.tanstack +**/src/generated/ diff --git a/README.md b/README.md index 1310fe4..34bcc64 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,77 @@ Our plan/spec as it is now, is outlined in [./docs/inital-plan.md](./docs/initial-plan.md) +## Monorepo structure + +This project is a pnpm workspace monorepo: + +```text +apps/ + frontend/ TanStack Start app (React + Vite, port 3000) + backend/ Apollo Server + GraphQL API (Pothos + Prisma, port 4000) +packages/ + db/ Prisma schema, generated client, migrations and seed +``` + +The backend builds its GraphQL schema with [Pothos](https://pothos-graphql.dev) and +the [Prisma plugin](https://pothos-graphql.dev/docs/plugins/prisma), which maps each +GraphQL selection set to a matching Prisma `select`/`include`. Queries only touch the +columns and relations the client actually asked for. + +## Getting started + +```bash +# Set up the database +# You can decide to run postgres as a service locally, or use the docker compose script provided to start a container +pnpm db:setup # Runs a script to set up a bare-metal postgres instance with the correct setup +# OR +docker compose up -d + +# install dependencies for all workspaces +pnpm install + +# set up the database connection in each package +cp packages/db/.env.example packages/db/.env +cp apps/backend/.env.example apps/backend/.env + +# create the database schema and optionally seed it +pnpm db:generate +pnpm db:push +pnpm db:seed + +# run the frontend and backend together with live reload +pnpm dev +``` + +Frontend: http://localhost:3000 ยท GraphQL API: http://localhost:4000 + +### Commands + +| Command | What it does | +| ------------------------------------------ | ------------------------------------------------------ | +| `pnpm install` / `pnpm install:all` | Install dependencies in all workspaces | +| `pnpm dev` | Run frontend and backend concurrently with live reload | +| `pnpm build` | Build all workspaces that define a build | +| `pnpm typecheck` | Typecheck all workspaces | +| `pnpm lint` / `pnpm format` / `pnpm check` | Lint, auto-fix format, and check formatting | +| `pnpm db:setup` | Provision PostgreSQL natively on Ubuntu (see below) | +| `pnpm db:generate` | Regenerate the Prisma client and Pothos types | +| `pnpm db:push` | Push the Prisma schema to the database | +| `pnpm db:migrate` | Create/apply a development migration | +| `pnpm db:seed` | Seed the database | +| `pnpm db:studio` | Open Prisma Studio | +| `pnpm generate-routes` | Regenerate the TanStack Router route tree | + +### Provisioning the database on the Ubuntu VM + +`pnpm db:setup` runs [scripts/setup-db.sh](./scripts/setup-db.sh), which installs +PostgreSQL natively on Ubuntu (apt-based systems only), enables the service, and +creates the same user, password, and database as `docker-compose.yml` +(`gspot`/`gspotter`/`gspot` on port 5432). It is idempotent and safe to re-run. +On Ubuntu 24.04 it installs Postgres 16, matching the pinned compose image; on +22.04 it falls back to the distro default. Afterwards, set the `DATABASE_URL` it +prints in `packages/db/.env` and `apps/backend/.env`, then run `pnpm db:push`. + ## Below is the default TanStack Start readme, it will be replaced Welcome to your new TanStack Start app! @@ -38,7 +109,6 @@ If you prefer not to use Tailwind CSS: ## Linting & Formatting - This project uses [eslint](https://eslint.org/) and [prettier](https://prettier.io/) for linting and formatting. Eslint is configured using [tanstack/eslint-config](https://tanstack.com/config/latest/docs/eslint). The following scripts are available: ```bash @@ -47,7 +117,6 @@ pnpm format pnpm check ``` - ## Deploy with Nitro This project uses Nitro as a generic server adapter, so it can run on any Node-compatible host. @@ -61,8 +130,6 @@ The build output is a self-contained Node server. To deploy, push the `dist/` di For host-specific presets (Vercel, Netlify, Cloudflare, AWS Lambda, etc.) and tuning, see https://v3.nitro.build/deploy. - - ## Routing This project uses [TanStack Router](https://tanstack.com/router) with file-based routing. Routes are managed as files in `src/routes`. @@ -80,7 +147,7 @@ Now that you have two routes you can use a `Link` component to navigate between To use SPA (Single Page Application) navigation you will need to import the `Link` component from `@tanstack/react-router`. ```tsx -import { Link } from "@tanstack/react-router"; +import { Link } from '@tanstack/react-router' ``` Then anywhere in your JSX you can use it like so: @@ -148,11 +215,11 @@ const getServerTime = createServerFn({ // Use in a component function MyComponent() { const [time, setTime] = useState('') - + useEffect(() => { getServerTime().then(setTime) }, []) - + return
Server time: {time}
} ``` @@ -205,12 +272,10 @@ function PeopleComponent() { Loaders simplify your data fetching logic dramatically. Check out more information in the [Loader documentation](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#loader-parameters). - # Demo files Files prefixed with `demo` can be safely deleted. They are there to provide a starting point for you to play around with the features you've installed. - # Learn More You can learn more about all of the offerings from TanStack in the [TanStack documentation](https://tanstack.com). diff --git a/apps/backend/.env.example b/apps/backend/.env.example new file mode 100644 index 0000000..126f1d3 --- /dev/null +++ b/apps/backend/.env.example @@ -0,0 +1,2 @@ +# PostgreSQL connection string used by the Prisma client at runtime +DATABASE_URL="postgresql://username:password@localhost:5432/mydb" diff --git a/apps/backend/package.json b/apps/backend/package.json new file mode 100644 index 0000000..5eaaa19 --- /dev/null +++ b/apps/backend/package.json @@ -0,0 +1,23 @@ +{ + "name": "@t09-project-2/backend", + "private": true, + "type": "module", + "scripts": { + "dev": "dotenv -e .env -- tsx watch src/index.ts", + "start": "dotenv -e .env -- tsx src/index.ts", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@apollo/server": "^5.5.1", + "@pothos/core": "^4.0.0", + "@pothos/plugin-prisma": "^4.0.0", + "@t09-project-2/db": "workspace:*", + "graphql": "^16.9.0" + }, + "devDependencies": { + "@types/node": "^22.20.4", + "dotenv-cli": "^11.0.0", + "tsx": "^4.23.15", + "typescript": "^6.0.3" + } +} diff --git a/apps/backend/src/builder.ts b/apps/backend/src/builder.ts new file mode 100644 index 0000000..d0ea2f7 --- /dev/null +++ b/apps/backend/src/builder.ts @@ -0,0 +1,29 @@ +import SchemaBuilder from '@pothos/core' +import PrismaPlugin from '@pothos/plugin-prisma' + +import { getDatamodel, prisma } from '@t09-project-2/db' +import type { PrismaTypes } from '@t09-project-2/db' + +import type { Context } from './context.js' + +export const builder = new SchemaBuilder<{ + Context: Context + PrismaTypes: PrismaTypes + Scalars: { + DateTime: { + Input: Date + Output: Date + } + } +}>({ + plugins: [PrismaPlugin], + prisma: { + client: prisma, + dmmf: getDatamodel(), + onUnusedQuery: process.env.NODE_ENV === 'production' ? null : 'warn', + }, +}) + +builder.scalarType('DateTime', { + serialize: (date: Date) => date.toISOString(), +}) diff --git a/apps/backend/src/context.ts b/apps/backend/src/context.ts new file mode 100644 index 0000000..af1f0e5 --- /dev/null +++ b/apps/backend/src/context.ts @@ -0,0 +1,10 @@ +import { prisma } from '@t09-project-2/db' +import type { PrismaClient } from '@t09-project-2/db' + +export interface Context { + prisma: PrismaClient +} + +export function createContext(): Context { + return { prisma } +} diff --git a/apps/backend/src/index.ts b/apps/backend/src/index.ts new file mode 100644 index 0000000..c08c4b0 --- /dev/null +++ b/apps/backend/src/index.ts @@ -0,0 +1,17 @@ +import { ApolloServer } from '@apollo/server' +import { startStandaloneServer } from '@apollo/server/standalone' + +import { builder } from './builder.js' +import { createContext } from './context.js' +import './schema/todo.js' + +const server = new ApolloServer({ + schema: builder.toSchema(), +}) + +const { url } = await startStandaloneServer(server, { + listen: { port: 4000 }, + context: async () => createContext(), +}) + +console.log(`GraphQL server ready at ${url}`) diff --git a/apps/backend/src/schema/todo.ts b/apps/backend/src/schema/todo.ts new file mode 100644 index 0000000..f104513 --- /dev/null +++ b/apps/backend/src/schema/todo.ts @@ -0,0 +1,42 @@ +import { prisma } from '@t09-project-2/db' + +import { builder } from '../builder.js' + +builder.prismaObject('Todo', { + fields: (t) => ({ + id: t.exposeInt('id'), + title: t.exposeString('title'), + createdAt: t.expose('createdAt', { type: 'DateTime' }), + }), +}) + +builder.queryType({ + fields: (t) => ({ + todos: t.prismaField({ + type: ['Todo'], + resolve: (query) => + prisma.todo.findMany({ ...query, orderBy: { createdAt: 'desc' } }), + }), + }), +}) + +builder.mutationType({ + fields: (t) => ({ + createTodo: t.prismaField({ + type: 'Todo', + args: { + title: t.arg.string({ required: true }), + }, + resolve: (query, _root, { title }) => + prisma.todo.create({ ...query, data: { title } }), + }), + deleteTodo: t.prismaField({ + type: 'Todo', + args: { + id: t.arg.int({ required: true }), + }, + resolve: (query, _root, { id }) => + prisma.todo.delete({ ...query, where: { id } }), + }), + }), +}) diff --git a/apps/backend/tsconfig.json b/apps/backend/tsconfig.json new file mode 100644 index 0000000..b440846 --- /dev/null +++ b/apps/backend/tsconfig.json @@ -0,0 +1,22 @@ +{ + "include": ["src"], + + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "lib": ["ES2022"], + "types": ["node"], + + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + "skipLibCheck": true, + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + } +} diff --git a/apps/frontend/package.json b/apps/frontend/package.json new file mode 100644 index 0000000..5f6c0af --- /dev/null +++ b/apps/frontend/package.json @@ -0,0 +1,40 @@ +{ + "name": "@t09-project-2/frontend", + "private": true, + "type": "module", + "imports": { + "#/*": "./src/*" + }, + "scripts": { + "dev": "vite dev --port 3000", + "generate-routes": "tsr generate", + "build": "vite build", + "preview": "vite preview", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@tailwindcss/vite": "^4.3.3", + "@tanstack/react-devtools": "latest", + "@tanstack/react-query": "latest", + "@tanstack/react-query-devtools": "latest", + "@tanstack/react-router": "latest", + "@tanstack/react-router-devtools": "latest", + "@tanstack/react-router-ssr-query": "latest", + "@tanstack/react-start": "latest", + "nitro": "3.0.260610-beta", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "tailwindcss": "^4.3.3" + }, + "devDependencies": { + "@tailwindcss/typography": "^0.5.20", + "@tanstack/devtools-vite": "latest", + "@tanstack/router-cli": "^1.167.39", + "@types/node": "^22.20.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "typescript": "^6.0.3", + "vite": "^8.3.1" + } +} diff --git a/public/prisma.svg b/apps/frontend/public/prisma.svg similarity index 100% rename from public/prisma.svg rename to apps/frontend/public/prisma.svg diff --git a/src/components/Footer.tsx b/apps/frontend/src/components/Footer.tsx similarity index 100% rename from src/components/Footer.tsx rename to apps/frontend/src/components/Footer.tsx diff --git a/src/components/Header.tsx b/apps/frontend/src/components/Header.tsx similarity index 98% rename from src/components/Header.tsx rename to apps/frontend/src/components/Header.tsx index 228f706..a5337c8 100644 --- a/src/components/Header.tsx +++ b/apps/frontend/src/components/Header.tsx @@ -44,10 +44,10 @@ export default function Header() {
- Prisma + Todos { + data?: T + errors?: Array<{ message: string }> +} + +export async function graphqlFetch( + query: string, + variables?: Record, +): Promise { + const response = await fetch(GRAPHQL_URL, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ query, variables }), + }) + + if (!response.ok) { + throw new Error(`GraphQL request failed with status ${response.status}`) + } + + const json = (await response.json()) as GraphQLResponse + + if (json.errors?.length) { + throw new Error(json.errors.map((error) => error.message).join(', ')) + } + + if (!json.data) { + throw new Error('GraphQL response contained no data') + } + + return json.data +} diff --git a/src/integrations/tanstack-query/devtools.tsx b/apps/frontend/src/integrations/tanstack-query/devtools.tsx similarity index 100% rename from src/integrations/tanstack-query/devtools.tsx rename to apps/frontend/src/integrations/tanstack-query/devtools.tsx diff --git a/src/integrations/tanstack-query/root-provider.tsx b/apps/frontend/src/integrations/tanstack-query/root-provider.tsx similarity index 100% rename from src/integrations/tanstack-query/root-provider.tsx rename to apps/frontend/src/integrations/tanstack-query/root-provider.tsx diff --git a/src/routeTree.gen.ts b/apps/frontend/src/routeTree.gen.ts similarity index 80% rename from src/routeTree.gen.ts rename to apps/frontend/src/routeTree.gen.ts index 6cd1dae..e0e641a 100644 --- a/src/routeTree.gen.ts +++ b/apps/frontend/src/routeTree.gen.ts @@ -11,8 +11,8 @@ import { Route as rootRouteImport } from './routes/__root' import { Route as IndexRouteImport } from './routes/index' import { Route as AboutRouteImport } from './routes/about' -import { Route as DemoPrismaRouteImport } from './routes/demo/prisma' import { Route as DemoTanstackQueryRouteImport } from './routes/demo/tanstack-query' +import { Route as DemoTodosRouteImport } from './routes/demo/todos' const IndexRoute = IndexRouteImport.update({ id: '/', @@ -24,49 +24,49 @@ const AboutRoute = AboutRouteImport.update({ path: '/about', getParentRoute: () => rootRouteImport, } as any) -const DemoPrismaRoute = DemoPrismaRouteImport.update({ - id: '/demo/prisma', - path: '/demo/prisma', - getParentRoute: () => rootRouteImport, -} as any) const DemoTanstackQueryRoute = DemoTanstackQueryRouteImport.update({ id: '/demo/tanstack-query', path: '/demo/tanstack-query', getParentRoute: () => rootRouteImport, } as any) +const DemoTodosRoute = DemoTodosRouteImport.update({ + id: '/demo/todos', + path: '/demo/todos', + getParentRoute: () => rootRouteImport, +} as any) export interface FileRoutesByFullPath { '/': typeof IndexRoute '/about': typeof AboutRoute - '/demo/prisma': typeof DemoPrismaRoute '/demo/tanstack-query': typeof DemoTanstackQueryRoute + '/demo/todos': typeof DemoTodosRoute } export interface FileRoutesByTo { '/': typeof IndexRoute '/about': typeof AboutRoute - '/demo/prisma': typeof DemoPrismaRoute '/demo/tanstack-query': typeof DemoTanstackQueryRoute + '/demo/todos': typeof DemoTodosRoute } export interface FileRoutesById { __root__: typeof rootRouteImport '/': typeof IndexRoute '/about': typeof AboutRoute - '/demo/prisma': typeof DemoPrismaRoute '/demo/tanstack-query': typeof DemoTanstackQueryRoute + '/demo/todos': typeof DemoTodosRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath - fullPaths: '/' | '/about' | '/demo/prisma' | '/demo/tanstack-query' + fullPaths: '/' | '/about' | '/demo/tanstack-query' | '/demo/todos' fileRoutesByTo: FileRoutesByTo - to: '/' | '/about' | '/demo/prisma' | '/demo/tanstack-query' - id: '__root__' | '/' | '/about' | '/demo/prisma' | '/demo/tanstack-query' + to: '/' | '/about' | '/demo/tanstack-query' | '/demo/todos' + id: '__root__' | '/' | '/about' | '/demo/tanstack-query' | '/demo/todos' fileRoutesById: FileRoutesById } export interface RootRouteChildren { IndexRoute: typeof IndexRoute AboutRoute: typeof AboutRoute - DemoPrismaRoute: typeof DemoPrismaRoute DemoTanstackQueryRoute: typeof DemoTanstackQueryRoute + DemoTodosRoute: typeof DemoTodosRoute } declare module '@tanstack/react-router' { @@ -85,13 +85,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AboutRouteImport parentRoute: typeof rootRouteImport } - '/demo/prisma': { - id: '/demo/prisma' - path: '/demo/prisma' - fullPath: '/demo/prisma' - preLoaderRoute: typeof DemoPrismaRouteImport - parentRoute: typeof rootRouteImport - } '/demo/tanstack-query': { id: '/demo/tanstack-query' path: '/demo/tanstack-query' @@ -99,14 +92,21 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof DemoTanstackQueryRouteImport parentRoute: typeof rootRouteImport } + '/demo/todos': { + id: '/demo/todos' + path: '/demo/todos' + fullPath: '/demo/todos' + preLoaderRoute: typeof DemoTodosRouteImport + parentRoute: typeof rootRouteImport + } } } const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, AboutRoute: AboutRoute, - DemoPrismaRoute: DemoPrismaRoute, DemoTanstackQueryRoute: DemoTanstackQueryRoute, + DemoTodosRoute: DemoTodosRoute, } export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) diff --git a/src/router.tsx b/apps/frontend/src/router.tsx similarity index 100% rename from src/router.tsx rename to apps/frontend/src/router.tsx diff --git a/src/routes/__root.tsx b/apps/frontend/src/routes/__root.tsx similarity index 100% rename from src/routes/__root.tsx rename to apps/frontend/src/routes/__root.tsx diff --git a/src/routes/about.tsx b/apps/frontend/src/routes/about.tsx similarity index 100% rename from src/routes/about.tsx rename to apps/frontend/src/routes/about.tsx diff --git a/src/routes/demo/tanstack-query.tsx b/apps/frontend/src/routes/demo/tanstack-query.tsx similarity index 100% rename from src/routes/demo/tanstack-query.tsx rename to apps/frontend/src/routes/demo/tanstack-query.tsx diff --git a/apps/frontend/src/routes/demo/todos.tsx b/apps/frontend/src/routes/demo/todos.tsx new file mode 100644 index 0000000..c83ed46 --- /dev/null +++ b/apps/frontend/src/routes/demo/todos.tsx @@ -0,0 +1,159 @@ +import { createFileRoute } from '@tanstack/react-router' +import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' + +import { graphqlFetch } from '#/graphql/client' + +interface Todo { + id: number + title: string + createdAt: string +} + +const GET_TODOS_QUERY = ` + query GetTodos { + todos { + id + title + createdAt + } + } +` + +const CREATE_TODO_MUTATION = ` + mutation CreateTodo($title: String!) { + createTodo(title: $title) { + id + title + } + } +` + +export const Route = createFileRoute('/demo/todos')({ + component: DemoTodos, +}) + +function DemoTodos() { + const queryClient = useQueryClient() + + const { data, isPending, isError, error } = useQuery({ + queryKey: ['todos'], + queryFn: () => graphqlFetch<{ todos: Todo[] }>(GET_TODOS_QUERY), + }) + + const createTodo = useMutation({ + mutationFn: (title: string) => + graphqlFetch<{ createTodo: Todo }>(CREATE_TODO_MUTATION, { title }), + onSuccess: () => queryClient.invalidateQueries({ queryKey: ['todos'] }), + }) + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault() + const form = e.currentTarget + const title = new FormData(form).get('title') + + if (typeof title !== 'string' || !title) return + + try { + await createTodo.mutateAsync(title) + form.reset() + } catch (mutationError) { + console.error('Failed to create todo:', mutationError) + } + } + + const todos = data?.todos ?? [] + + return ( +
+
+
+ + Prisma Logo + +
+

Database

+

Todos Demo

+
+
+ +

Todos

+ + {isPending && ( +

Loading todos...

+ )} + + {isError && ( +

+ Failed to load todos: {error.message}. Is the GraphQL backend + running on http://localhost:4000? +

+ )} + + {!isPending && !isError && ( +
    + {todos.map((todo) => ( +
  • +
    + {todo.title} + #{todo.id} +
    +
  • + ))} + {todos.length === 0 && ( +
  • + No todos yet. Create one below! +
  • + )} +
+ )} + +
+ + +
+ +
+

+ Powered by GraphQL + Apollo Server +

+

+ The frontend queries the GraphQL backend on port 4000, which uses + Prisma to talk to PostgreSQL +

+
+

Setup Instructions:

+
    +
  1. + Configure DATABASE_URL in{' '} + packages/db/.env and apps/backend/.env +
  2. +
  3. + Run: pnpm install +
  4. +
  5. + Run: pnpm db:generate && pnpm db:push +
  6. +
  7. + Optional: pnpm db:seed +
  8. +
  9. + Run: pnpm dev (starts frontend and backend + together) +
  10. +
+
+
+
+
+ ) +} diff --git a/src/routes/index.tsx b/apps/frontend/src/routes/index.tsx similarity index 100% rename from src/routes/index.tsx rename to apps/frontend/src/routes/index.tsx diff --git a/src/styles.css b/apps/frontend/src/styles.css similarity index 89% rename from src/styles.css rename to apps/frontend/src/styles.css index 62de29d..3cd27e4 100644 --- a/src/styles.css +++ b/apps/frontend/src/styles.css @@ -1,10 +1,9 @@ - -@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap"); -@import "tailwindcss"; +@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Manrope:wght@400;500;600;700;800&display=swap'); +@import 'tailwindcss'; @plugin "@tailwindcss/typography"; @theme { - --font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif; + --font-sans: 'Manrope', ui-sans-serif, system-ui, sans-serif; } :root { @@ -29,7 +28,7 @@ --hero-b: rgba(47, 106, 74, 0.2); } -:root[data-theme="dark"] { +:root[data-theme='dark'] { --sea-ink: #d7ece8; --sea-ink-soft: #afcdc8; --lagoon: #60d7cf; @@ -52,7 +51,7 @@ } @media (prefers-color-scheme: dark) { - :root:not([data-theme="light"]) { + :root:not([data-theme='light']) { --sea-ink: #d7ece8; --sea-ink-soft: #afcdc8; --lagoon: #60d7cf; @@ -93,28 +92,45 @@ body { background: radial-gradient(1100px 620px at -8% -10%, var(--hero-a), transparent 58%), radial-gradient(1050px 620px at 112% -12%, var(--hero-b), transparent 62%), - radial-gradient(720px 380px at 50% 115%, rgba(79, 184, 178, 0.1), transparent 68%), - linear-gradient(180deg, color-mix(in oklab, var(--sand) 68%, white) 0%, var(--foam) 44%, var(--bg-base) 100%); + radial-gradient( + 720px 380px at 50% 115%, + rgba(79, 184, 178, 0.1), + transparent 68% + ), + linear-gradient( + 180deg, + color-mix(in oklab, var(--sand) 68%, white) 0%, + var(--foam) 44%, + var(--bg-base) 100% + ); overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body::before { - content: ""; + content: ''; position: fixed; inset: 0; pointer-events: none; z-index: -1; opacity: 0.28; background: - radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.8), transparent 34%), - radial-gradient(circle at 78% 26%, rgba(79, 184, 178, 0.2), transparent 42%), + radial-gradient( + circle at 20% 15%, + rgba(255, 255, 255, 0.8), + transparent 34% + ), + radial-gradient( + circle at 78% 26%, + rgba(79, 184, 178, 0.2), + transparent 42% + ), radial-gradient(circle at 42% 82%, rgba(47, 106, 74, 0.14), transparent 36%); } body::after { - content: ""; + content: ''; position: fixed; inset: 0; pointer-events: none; @@ -161,7 +177,7 @@ pre code { } .display-title { - font-family: "Fraunces", Georgia, serif; + font-family: 'Fraunces', Georgia, serif; } .island-shell { @@ -175,7 +191,11 @@ pre code { } .feature-card { - background: linear-gradient(165deg, color-mix(in oklab, var(--surface-strong) 93%, white 7%), var(--surface)); + background: linear-gradient( + 165deg, + color-mix(in oklab, var(--surface-strong) 93%, white 7%), + var(--surface) + ); box-shadow: 0 1px 0 var(--inset-glint) inset, 0 18px 34px rgba(30, 90, 72, 0.1), @@ -255,7 +275,10 @@ pre code { background: color-mix(in oklab, var(--surface-strong) 88%, white 12%); color: var(--sea-ink); outline: none; - transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease; + transition: + border-color 180ms ease, + box-shadow 180ms ease, + background-color 180ms ease; } .demo-input, @@ -393,7 +416,10 @@ pre code { button, .island-shell, a { - transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, + transition: + background-color 180ms ease, + color 180ms ease, + border-color 180ms ease, transform 180ms ease; } @@ -414,7 +440,7 @@ a { } .nav-link::after { - content: ""; + content: ''; position: absolute; left: 0; bottom: -6px; @@ -461,4 +487,3 @@ a { transform: translateY(0); } } - diff --git a/tsconfig.json b/apps/frontend/tsconfig.json similarity index 85% rename from tsconfig.json rename to apps/frontend/tsconfig.json index 9bdc820..00f5c13 100644 --- a/tsconfig.json +++ b/apps/frontend/tsconfig.json @@ -1,6 +1,6 @@ { - "include": ["**/*.ts", "**/*.tsx", "eslint.config.js", "prettier.config.js", "vite.config.js"], - + "include": ["src", "vite.config.ts"], + "compilerOptions": { "target": "ES2022", "jsx": "react-jsx", diff --git a/tsr.config.json b/apps/frontend/tsr.config.json similarity index 100% rename from tsr.config.json rename to apps/frontend/tsr.config.json diff --git a/vite.config.ts b/apps/frontend/vite.config.ts similarity index 100% rename from vite.config.ts rename to apps/frontend/vite.config.ts diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..64d4da1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,11 @@ +services: + db: + container_name: g_spotter_db + image: postgres:16-alpine@sha256:b7587f3cb74f4f4b2a4f9d67f052edbf95eb93f4fec7c5ada3792546caaf7383 + restart: always + environment: + POSTGRES_PASSWORD: gspotter + POSTGRES_USER: gspot + POSTGRES_DB: gspot + ports: + - '5432:5432' diff --git a/docs/initial-plan.md b/docs/initial-plan.md index 8884e1e..372c232 100644 --- a/docs/initial-plan.md +++ b/docs/initial-plan.md @@ -52,9 +52,9 @@ Instead, a price observation will contain: For example: -| Price | Size | Condition | -|---:|---:|---| -| NOK 159 | 0.56 L | Regular | +| Price | Size | Condition | +| ------: | -----: | ------------ | +| NOK 159 | 0.56 L | Regular | | NOK 129 | 0.56 L | Member price | This allows us to display multiple prices without losing information. We can still display a clear **regular price** as the default and label special prices with their conditions. diff --git a/docs/original.README.md b/docs/original.README.md index 38d8c21..88edb82 100644 --- a/docs/original.README.md +++ b/docs/original.README.md @@ -18,7 +18,7 @@ Before a pull request can be merged: request, and approvals from staff do not count โ€” you review each other's code. 2. **Every review comment must be marked resolved.** Reply to each one, fix it - or explain why not, then click *Resolve conversation*. + or explain why not, then click _Resolve conversation_. 3. **Pushing new commits dismisses the approval**, so if you change something after being approved, ask for another review. This is deliberate: what was approved is what gets merged. diff --git a/eslint.config.js b/eslint.config.js index 3f272c0..c1d1fa9 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -15,6 +15,11 @@ export default [ }, }, { - ignores: ['eslint.config.js', 'prettier.config.js'], + ignores: [ + 'eslint.config.js', + 'prettier.config.js', + '.tanstack', + '**/src/generated/**', + ], }, ] diff --git a/package.json b/package.json index 6cfa77c..6022ea9 100644 --- a/package.json +++ b/package.json @@ -2,56 +2,26 @@ "name": "t09-project-2", "private": true, "type": "module", - "imports": { - "#/*": "./src/*" - }, "scripts": { - "dev": "vite dev --port 3000", - "generate-routes": "tsr generate", - "build": "vite build", - "preview": "vite preview", - "lint": "eslint", - "format": "prettier --write . && eslint --fix", + "install:all": "pnpm install", + "dev": "pnpm --parallel --recursive run dev", + "build": "pnpm --recursive run build", + "typecheck": "pnpm --recursive run typecheck", + "lint": "eslint .", + "format": "prettier --write . && eslint . --fix", "check": "prettier --check .", - "post-cta-init": "pnpm dlx create-db@latest --user-agent tanstack/tsrouter", - "db:generate": "dotenv -e .env.local -- prisma generate", - "db:push": "dotenv -e .env.local -- prisma db push", - "db:migrate": "dotenv -e .env.local -- prisma migrate dev", - "db:studio": "dotenv -e .env.local -- prisma studio", - "db:seed": "dotenv -e .env.local -- prisma db seed" - }, - "dependencies": { - "@prisma/adapter-pg": "^7.10.0", - "@prisma/client": "^7.10.0", - "@tailwindcss/vite": "^4.3.3", - "@tanstack/react-devtools": "latest", - "@tanstack/react-query": "latest", - "@tanstack/react-query-devtools": "latest", - "@tanstack/react-router": "latest", - "@tanstack/react-router-devtools": "latest", - "@tanstack/react-router-ssr-query": "latest", - "@tanstack/react-start": "latest", - "nitro": "3.0.260610-beta", - "prisma": "^7.10.0", - "react": "^19.3.0", - "react-dom": "^19.3.0", - "tailwindcss": "^4.3.3" + "generate-routes": "pnpm --filter @t09-project-2/frontend run generate-routes", + "db:setup": "bash scripts/setup-db.sh", + "db:generate": "pnpm --filter @t09-project-2/db run db:generate", + "db:push": "pnpm --filter @t09-project-2/db run db:push", + "db:migrate": "pnpm --filter @t09-project-2/db run db:migrate", + "db:seed": "pnpm --filter @t09-project-2/db run db:seed", + "db:studio": "pnpm --filter @t09-project-2/db run db:studio" }, "devDependencies": { - "@tailwindcss/typography": "^0.5.20", - "@tanstack/devtools-vite": "latest", "@tanstack/eslint-config": "latest", - "@tanstack/router-cli": "^1.167.39", - "@types/node": "^22.20.4", - "@types/react": "^19.3.0", - "@types/react-dom": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", - "dotenv-cli": "^11.0.0", "eslint": "latest", - "prettier": "^3.9.9", - "tsx": "^4.23.15", - "typescript": "^6.0.3", - "vite": "^8.3.1" + "prettier": "^3.9.9" }, "pnpm": { "onlyBuiltDependencies": [ @@ -61,4 +31,4 @@ "prisma" ] } -} \ No newline at end of file +} diff --git a/packages/db/.env.example b/packages/db/.env.example new file mode 100644 index 0000000..35b56f6 --- /dev/null +++ b/packages/db/.env.example @@ -0,0 +1,3 @@ + +# Database URL for PostgreSQL +DATABASE_URL="postgresql://gspot:gspotter@localhost:5432/gspot" \ No newline at end of file diff --git a/packages/db/package.json b/packages/db/package.json new file mode 100644 index 0000000..0c92393 --- /dev/null +++ b/packages/db/package.json @@ -0,0 +1,28 @@ +{ + "name": "@t09-project-2/db", + "private": true, + "type": "module", + "exports": { + ".": "./src/index.ts" + }, + "scripts": { + "db:generate": "dotenv -e .env -- prisma generate", + "db:push": "dotenv -e .env -- prisma db push", + "db:migrate": "dotenv -e .env -- prisma migrate dev", + "db:seed": "dotenv -e .env -- prisma db seed", + "db:studio": "dotenv -e .env -- prisma studio", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@prisma/adapter-pg": "^7.10.0", + "@prisma/client": "^7.10.0" + }, + "devDependencies": { + "@pothos/plugin-prisma": "^4.0.0", + "@types/node": "^22.20.4", + "dotenv-cli": "^11.0.0", + "prisma": "^7.10.0", + "tsx": "^4.23.15", + "typescript": "^6.0.3" + } +} diff --git a/prisma.config.ts b/packages/db/prisma.config.ts similarity index 100% rename from prisma.config.ts rename to packages/db/prisma.config.ts diff --git a/prisma/schema.prisma b/packages/db/prisma/schema.prisma similarity index 64% rename from prisma/schema.prisma rename to packages/db/prisma/schema.prisma index 29162a3..dac4c9f 100644 --- a/prisma/schema.prisma +++ b/packages/db/prisma/schema.prisma @@ -3,6 +3,12 @@ generator client { output = "../src/generated/prisma" } +generator pothos { + provider = "prisma-pothos-types" + clientOutput = "./prisma" + output = "../src/generated/pothos-types.ts" +} + datasource db { provider = "postgresql" } diff --git a/packages/db/prisma/seed.ts b/packages/db/prisma/seed.ts new file mode 100644 index 0000000..3f480a6 --- /dev/null +++ b/packages/db/prisma/seed.ts @@ -0,0 +1,26 @@ +import { prisma } from '../src/client.js' + +async function main() { + console.log('Seeding database...') + + await prisma.todo.deleteMany() + + const todos = await prisma.todo.createMany({ + data: [ + { title: 'Buy groceries' }, + { title: 'Read a book' }, + { title: 'Workout' }, + ], + }) + + console.log(`Created ${todos.count} todos`) +} + +main() + .catch((e) => { + console.error('Error seeding database:', e) + process.exit(1) + }) + .finally(async () => { + await prisma.$disconnect() + }) diff --git a/src/db.ts b/packages/db/src/client.ts similarity index 100% rename from src/db.ts rename to packages/db/src/client.ts diff --git a/src/database-url.ts b/packages/db/src/database-url.ts similarity index 100% rename from src/database-url.ts rename to packages/db/src/database-url.ts diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts new file mode 100644 index 0000000..a5d1d91 --- /dev/null +++ b/packages/db/src/index.ts @@ -0,0 +1,5 @@ +export { getDatabaseUrl } from './database-url.js' +export { prisma } from './client.js' +export { PrismaClient } from './generated/prisma/client.js' +export type { default as PrismaTypes } from './generated/pothos-types.js' +export { getDatamodel } from './generated/pothos-types.js' diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json new file mode 100644 index 0000000..6848944 --- /dev/null +++ b/packages/db/tsconfig.json @@ -0,0 +1,22 @@ +{ + "include": ["src", "prisma", "prisma.config.ts"], + + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "lib": ["ES2022"], + "types": ["node"], + + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + "skipLibCheck": true, + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e0fc01..11f63ef 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,43 +7,77 @@ settings: importers: .: + devDependencies: + '@tanstack/eslint-config': + specifier: latest + version: 0.4.0(@typescript-eslint/utils@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + eslint: + specifier: latest + version: 10.12.0(jiti@2.7.0) + prettier: + specifier: ^3.9.9 + version: 3.9.10 + + apps/backend: + dependencies: + '@apollo/server': + specifier: ^5.5.1 + version: 5.5.1(graphql@16.14.2) + '@pothos/core': + specifier: ^4.0.0 + version: 4.15.1(graphql@16.14.2) + '@pothos/plugin-prisma': + specifier: ^4.0.0 + version: 4.17.0(@pothos/core@4.15.1(graphql@16.14.2))(@prisma/client@7.10.0(prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(typescript@6.0.3))(graphql@16.14.2) + '@t09-project-2/db': + specifier: workspace:* + version: link:../../packages/db + graphql: + specifier: ^16.9.0 + version: 16.14.2 + devDependencies: + '@types/node': + specifier: ^22.20.4 + version: 22.20.5 + dotenv-cli: + specifier: ^11.0.0 + version: 11.0.0 + tsx: + specifier: ^4.23.15 + version: 4.23.15 + typescript: + specifier: ^6.0.3 + version: 6.0.3 + + apps/frontend: dependencies: - '@prisma/adapter-pg': - specifier: ^7.10.0 - version: 7.10.0 - '@prisma/client': - specifier: ^7.10.0 - version: 7.10.0(prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(typescript@6.0.3) '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + version: 4.3.3(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) '@tanstack/react-devtools': specifier: latest - version: 0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15) + version: 0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17) '@tanstack/react-query': specifier: latest - version: 5.104.0(react@19.3.0) + version: 5.104.2(react@19.3.0) '@tanstack/react-query-devtools': specifier: latest - version: 5.104.0(@tanstack/react-query@5.104.0(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0) + version: 5.104.2(@tanstack/react-query@5.104.2(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0) '@tanstack/react-router': specifier: latest - version: 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-router-devtools': specifier: latest - version: 1.167.2(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.33)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.167.2(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.37)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-router-ssr-query': specifier: latest - version: 1.167.3(@tanstack/query-core@5.104.0)(@tanstack/react-query@5.104.0(react@19.3.0))(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.33)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.167.3(@tanstack/query-core@5.104.2)(@tanstack/react-query@5.104.2(react@19.3.0))(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.37)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start': specifier: latest - version: 1.168.59(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + version: 1.169.1(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) nitro: specifier: 3.0.260610-beta - version: 3.0.260610-beta(@electric-sql/pglite@0.4.3)(chokidar@5.0.0)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(mysql2@3.15.3)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - prisma: - specifier: ^7.10.0 - version: 7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + version: 3.0.260610-beta(@electric-sql/pglite@0.4.3)(chokidar@5.0.0)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(lru-cache@11.5.3)(mysql2@3.15.3)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) react: specifier: ^19.3.0 version: 19.3.0 @@ -59,16 +93,13 @@ importers: version: 0.5.20(tailwindcss@4.3.3) '@tanstack/devtools-vite': specifier: latest - version: 0.8.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - '@tanstack/eslint-config': - specifier: latest - version: 0.4.0(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + version: 0.8.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) '@tanstack/router-cli': specifier: ^1.167.39 - version: 1.167.39 + version: 1.167.43 '@types/node': specifier: ^22.20.4 - version: 22.20.4 + version: 22.20.5 '@types/react': specifier: ^19.3.0 version: 19.3.0 @@ -77,28 +108,127 @@ importers: version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': specifier: ^6.1.1 - version: 6.1.1(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + version: 6.1.2(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + typescript: + specifier: ^6.0.3 + version: 6.0.3 + vite: + specifier: ^8.3.1 + version: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + + packages/db: + dependencies: + '@prisma/adapter-pg': + specifier: ^7.10.0 + version: 7.10.0 + '@prisma/client': + specifier: ^7.10.0 + version: 7.10.0(prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(typescript@6.0.3) + devDependencies: + '@pothos/plugin-prisma': + specifier: ^4.0.0 + version: 4.17.0(@pothos/core@4.15.1(graphql@16.14.2))(@prisma/client@7.10.0(prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(typescript@6.0.3))(graphql@16.14.2) + '@types/node': + specifier: ^22.20.4 + version: 22.20.5 dotenv-cli: specifier: ^11.0.0 version: 11.0.0 - eslint: - specifier: latest - version: 10.11.0(jiti@2.7.0) - prettier: - specifier: ^3.9.9 - version: 3.9.9 + prisma: + specifier: ^7.10.0 + version: 7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) tsx: specifier: ^4.23.15 version: 4.23.15 typescript: specifier: ^6.0.3 version: 6.0.3 - vite: - specifier: ^8.3.1 - version: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) packages: + '@apollo/cache-control-types@1.0.3': + resolution: {integrity: sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/protobufjs@1.2.8': + resolution: {integrity: sha512-r7xNeUqZX+eBBEmyvaPw0/cSz6zgf5jdH8mjUz8ynKpNs/GU7vi2T7sNcZINk2ZID7wwjG91FCgdpCrQuJ8rzA==} + hasBin: true + + '@apollo/server-gateway-interface@2.0.0': + resolution: {integrity: sha512-3HEMD6fSantG2My3jWkb9dvfkF9vJ4BDLRjMgsnD790VINtuPaEp+h3Hg9HOHiWkML6QsOhnaRqZ+gvhp3y8Nw==} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/server@5.5.1': + resolution: {integrity: sha512-Rn3g5TJQsMSUY23CWZTghWdBWyjX7dP1eaEBPkvmM2RHi82cDcpgTIkSCbGvtTUEGjwopLv1AAooU/n7iIZ20A==} + engines: {node: '>=20'} + peerDependencies: + graphql: ^16.11.0 + + '@apollo/usage-reporting-protobuf@4.1.2': + resolution: {integrity: sha512-aTnAD41RYz0d5dawlyR5Iclkgzx0Xb0njUJmEfvZ6pS4f4HU8wCYyctPpWat/HWp2PmRwDfX5R1k4uVcDKZ4xA==} + + '@apollo/utils.createhash@3.0.1': + resolution: {integrity: sha512-CKrlySj4eQYftBE5MJ8IzKwIibQnftDT7yGfsJy5KSEEnLlPASX0UTpbKqkjlVEwPPd4mEwI7WOM7XNxEuO05A==} + engines: {node: '>=16'} + + '@apollo/utils.dropunuseddefinitions@2.0.1': + resolution: {integrity: sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.fetcher@3.1.0': + resolution: {integrity: sha512-Z3QAyrsQkvrdTuHAFwWDNd+0l50guwoQUoaDQssLOjkmnmVuvXlJykqlEJolio+4rFwBnWdoY1ByFdKaQEcm7A==} + engines: {node: '>=16'} + + '@apollo/utils.isnodelike@3.0.0': + resolution: {integrity: sha512-xrjyjfkzunZ0DeF6xkHaK5IKR8F1FBq6qV+uZ+h9worIF/2YSzA0uoBxGv6tbTeo9QoIQnRW4PVFzGix5E7n/g==} + engines: {node: '>=16'} + + '@apollo/utils.keyvaluecache@4.0.0': + resolution: {integrity: sha512-mKw1myRUkQsGPNB+9bglAuhviodJ2L2MRYLTafCMw5BIo7nbvCPNCkLnIHjZ1NOzH7SnMAr5c9LmXiqsgYqLZw==} + engines: {node: '>=20'} + + '@apollo/utils.logger@3.0.0': + resolution: {integrity: sha512-M8V8JOTH0F2qEi+ktPfw4RL7MvUycDfKp7aEap2eWXfL5SqWHN6jTLbj5f5fj1cceHpyaUSOZlvlaaryaxZAmg==} + engines: {node: '>=16'} + + '@apollo/utils.printwithreducedwhitespace@2.0.1': + resolution: {integrity: sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.removealiases@2.0.1': + resolution: {integrity: sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.sortast@2.0.1': + resolution: {integrity: sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.stripsensitiveliterals@2.0.1': + resolution: {integrity: sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.usagereporting@2.1.0': + resolution: {integrity: sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==} + engines: {node: '>=14'} + peerDependencies: + graphql: 14.x || 15.x || 16.x + + '@apollo/utils.withrequired@3.0.0': + resolution: {integrity: sha512-aaxeavfJ+RHboh7c2ofO5HHtQobGX4AgUujXP4CXpREHp9fQ9jPi6K9T1jrAKe7HIipoP0OJ1gd6JamSkFIpvA==} + engines: {node: '>=16'} + '@babel/code-frame@7.29.7': resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} @@ -145,8 +275,8 @@ packages: resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + '@babel/helpers@7.29.10': + resolution: {integrity: sha512-EMCx3AGZ3WfAl6ht7AyQoPm2Lh+BGYEMdc4Q6Hf7uSCDOZFuLq44qNwL+iaim8VlyYhRAo4X43+weadK8ZB4Yg==} engines: {node: '>=6.9.0'} '@babel/parser@7.29.9': @@ -158,8 +288,8 @@ packages: resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.29.8': - resolution: {integrity: sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==} + '@babel/traverse@7.29.10': + resolution: {integrity: sha512-B3lYAs2nkKskbgQ1nfy8Ma9ao9Q1rntTAQHrzzyDuj+TSO+X3le6PfWwqDvodsb+OumE10eMFfuMCTQSQ5iuIQ==} engines: {node: '>=6.9.0'} '@babel/types@7.29.8': @@ -404,6 +534,29 @@ packages: '@floating-ui/utils@0.2.12': resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==} + '@graphql-tools/merge@9.2.7': + resolution: {integrity: sha512-Zo69OGURoOupi9v+3PCNOuQSgwz0/KNOsfTNMudSLzHTKMu40Bz3KqHaIxWuUiFr/ZDRXClI8ou48vdJWtwh4w==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@10.1.4': + resolution: {integrity: sha512-talZuSrjeklX7RVYLgF7fxHgywZXSYWzFZf3NG5CNFgkeK3xTocYMvlC3FLAApMWUW59qkyuHN1/HIgaIGfjRA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@12.0.4': + resolution: {integrity: sha512-hJmeBRrK1OUABqRxLXB1YwrBB+3zTXeRJYb5PaF7CweV80zNGnN640Jz+0BrCaUE8HBk6KtoVXM/tUScUsKdeg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} engines: {node: '>=18.18.0'} @@ -424,8 +577,8 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@internationalized/number@3.6.8': - resolution: {integrity: sha512-8UmMFia46DUt+k97zKd9fKWXcWHR+k8ae3eYzILETuT2KbIvLyOfac7zesw+sJdRAAZ7Q9pM1Mk22aXp2LD0Ig==} + '@internationalized/number@3.6.9': + resolution: {integrity: sha512-GgWy2caO/+hV9sT/oCTWGHvbjmJMPT9kkXzoKRLnkEq7adghhR7UprhvY9sXrKfrp3NcDfhF6QQHXR1KfQbB8g==} '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -462,8 +615,8 @@ packages: peerDependencies: solid-js: ^1.8.8 - '@napi-rs/wasm-runtime@1.2.4': - resolution: {integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==} + '@napi-rs/wasm-runtime@1.2.5': + resolution: {integrity: sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA==} engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} peerDependencies: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 @@ -616,8 +769,27 @@ packages: '@oxc-project/types@0.120.0': resolution: {integrity: sha512-k1YNu55DuvAip/MGE1FTsIuU3FUCn6v/ujG9V7Nq5Df/kX2CWb13hhwD0lmJGMGqE+bE1MXvv9SZVnMzEXlWcg==} - '@oxc-project/types@0.151.0': - resolution: {integrity: sha512-J1yXrIlNDZVzE3ada310xeAw7nH8yCAyLPuUIsjKatFPmfn5bS1oW+cM+QsGOtVWd5nhSpbwZWx/rue+r5Z+PA==} + '@oxc-project/types@0.154.0': + resolution: {integrity: sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==} + + '@pothos/core@4.15.1': + resolution: {integrity: sha512-G0riOIbF6zer2SU7V1MmivkSdoKk+gYRf+Ru8JVcy3p9GhyJ8OzQj92RgCfCpEvkTgl6EdH8VueLe1Lm7lY4aA==} + peerDependencies: + graphql: ^16.10.0 || ^17.0.0 + + '@pothos/plugin-prisma@4.17.0': + resolution: {integrity: sha512-pYlMq/7lTUS0IOG4jrpSpXVsSAEFSYQmBynjrPFQW9h3zDuDEIz+yPcpC5d1tZypGyzHL3tyBi7+dAX5Yhy9nQ==} + hasBin: true + peerDependencies: + '@pothos/core': '*' + '@prisma/client': '*' + graphql: ^16.10.0 || ^17.0.0 + + '@pothos/selection-mapper@0.1.0': + resolution: {integrity: sha512-CAXsJDqmYU+u9OLHHsJHd1jNp+mLjG8yXxxpW1ovQrsXbNIds8r2AUoIwlbOnIznWSAuonlChZjPk6EEaah0mA==} + peerDependencies: + '@pothos/core': '*' + graphql: ^16.10.0 || ^17.0.0 '@prisma/adapter-pg@7.10.0': resolution: {integrity: sha512-N7nwSor0HO1Kz6xBv0TPAjAPysKK0fac6p4fVN3ensLOuzc/83Fgmln5k92eK/cvzqdkSR/2kkAqlbcdwVrwpw==} @@ -649,6 +821,9 @@ packages: '@prisma/dev@0.24.17': resolution: {integrity: sha512-UvdZzmpFwknnfreh6Jije84ekkYGPYEJhXG1tFzCsCfQyzJifrOo38eZc0qajzvaC6OLUOrN9ML5XfCnEZL9DA==} + '@prisma/dmmf@7.10.0': + resolution: {integrity: sha512-TSw3Vo+TFKGRXNH/D2/M755Vm9rD3h3F0xoFfexPvEcPunQWlxUmj5VU/k8Pe3afQ4jFjUVBxem+/+A7YFwvsg==} + '@prisma/driver-adapter-utils@7.10.0': resolution: {integrity: sha512-u8zkcRLlaryO652T4qavBg0HmzNW5tSKdsCn6hc1PhWAp/J6k0vrxLuUs+b9o+HcjsK7Dfa01o4OFSn0frauJA==} @@ -661,6 +836,12 @@ packages: '@prisma/fetch-engine@7.10.0': resolution: {integrity: sha512-Zqyu8DY14t6W/xwmAxUYWCXtHrvQnSvT644EAZSsdM8NSmCS74vJJbBKdVsK3ucFpnUWkEpbO1a0CxJXrg130g==} + '@prisma/generator-helper@7.10.0': + resolution: {integrity: sha512-hEOsOo4pxmsJJjw64hu8Yh2PYYl3cvoSQT0xMDKkYDmgRNBARshnjrJJ/DJT35iFEsoej5ndViEpHmt3G3Aeaw==} + + '@prisma/generator@7.10.0': + resolution: {integrity: sha512-GJfd4E7buRlOjc4FT1Sfo9SW4zlzYbmkmGy6OVWedzsZdBA4C+ommdfDDmMc8ZcokccpUmZK/zJ1A3tdR0tKFg==} + '@prisma/get-platform@7.10.0': resolution: {integrity: sha512-0bra1LFYi8xNw0yqV62bHJNQk4BKleOngZiqPWIQc7a3+9q6rqsnqJ15BuepP8943PFMvtmgnP52juZsyYkA6w==} @@ -682,6 +863,36 @@ packages: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.5': + resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==} + + '@protobufjs/eventemitter@1.1.1': + resolution: {integrity: sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==} + + '@protobufjs/fetch@1.1.1': + resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.2': + resolution: {integrity: sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.2': + resolution: {integrity: sha512-b1UQwcEZ4yCnMCD8DAL1VlbvBJE9/IX4FTIp7BG1xYpf29SLazLSrqUkj4w7Y5y7cCVP6E5tcqqcI0xemPkHug==} + '@radix-ui/primitive@1.1.3': resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} @@ -756,92 +967,92 @@ packages: '@types/react': optional: true - '@rolldown/binding-android-arm-eabi@1.2.11': - resolution: {integrity: sha512-A5kXfGKvKWWZE0TtPrfsvT+q4Y5d1QG8gGUzpYjGydM+fARM9MuX90PrXYXe0XbsDVgyxxNzHo6giCj90bsFNw==} + '@rolldown/binding-android-arm-eabi@1.2.14': + resolution: {integrity: sha512-aWR+XKH9+rW7m5fWq/5360J3mHycrx/o6xZM2DQFdJnTMdyP7/WzxPjhtLbVWdKo2y612/4U1bWqb3HQhiF7vg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rolldown/binding-android-arm64@1.2.11': - resolution: {integrity: sha512-z6cTycz+iJ4PVkuL4HHW4DfTfoeU/2nqYYuSOrTmH7yHK5Y0LCOnA03V4ZNxavyVaU1oOqUgIg2klN/s+USGOA==} + '@rolldown/binding-android-arm64@1.2.14': + resolution: {integrity: sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.2.11': - resolution: {integrity: sha512-jShvqNtP6vDC6/A5JOAzbVV+DkgHqhl/ScVCJEbt+TUY6QYz7YnXcrg3sLtFBniro0f/Ld50ZwCWA6f7KYD1nQ==} + '@rolldown/binding-darwin-arm64@1.2.14': + resolution: {integrity: sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.2.11': - resolution: {integrity: sha512-f2i2xiNWq1Z1l2++q2fuhZRdLAT3aqxD6vRNm1RAxpUoBcdqNB3C0s1Bt+K+PbEx2F5F4gQp6hqKkphCY/xF9w==} + '@rolldown/binding-darwin-x64@1.2.14': + resolution: {integrity: sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.2.11': - resolution: {integrity: sha512-4Ir5FSOKIAMr4r0kExpt1s3bMgzJU3rA45AYOHtQpls0oNeqcYBKrWMlckrYH4KCfGLfkfn1tN1dmZPMVsdXow==} + '@rolldown/binding-freebsd-x64@1.2.14': + resolution: {integrity: sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.2.11': - resolution: {integrity: sha512-/gnRDM+39BROzAN/k1OZjDPnDMcZxB/0EUxKjONO5yVkNEvlsoMDrxGNKgZi/ttFriS2gwlDNzB65pvNbFOXIQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': + resolution: {integrity: sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.2.11': - resolution: {integrity: sha512-PFaK8HwvAHbaKbBcDNQihjMKYvFnA5hiENx/l5tphTDz1E0WFp32l0A7aq7lyUwGsRw/xSrNIy/gIK4thrSCrw==} + '@rolldown/binding-linux-arm64-gnu@1.2.14': + resolution: {integrity: sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.2.11': - resolution: {integrity: sha512-AskzJUIKRLPxkruR1wLKewGbOw+EYfU/9lOrBFj4AFrEA8hPpKFnODWNu2WLaNs0QNkEb9QIJufmVZZIL/bJlg==} + '@rolldown/binding-linux-arm64-musl@1.2.14': + resolution: {integrity: sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-ppc64-gnu@1.2.11': - resolution: {integrity: sha512-qlUGAheh2yh8afH7QBgx0PrRHN85hKnNd78x8MeMhXivuevgd8vgf6/CstOzmNKY/lLTHvNTrPy98cLnAugzJw==} + '@rolldown/binding-linux-ppc64-gnu@1.2.14': + resolution: {integrity: sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - '@rolldown/binding-linux-s390x-gnu@1.2.11': - resolution: {integrity: sha512-secpEad+0vCbSfn8upFySkDskv+bGPk3THSDS9Y89yc4rb4kzqHp8Dmyd9BkQW4SnhNXBZCl/6CrO//hZahNJQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.14': + resolution: {integrity: sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.2.11': - resolution: {integrity: sha512-mOVBT3dPpkWm8XBWPmU4bf+U6dYDLeMo/9ojUmis4N0L5uu10qra5vOyngZ7/PSdoE4G9KvRt4bloRxNjLas7A==} + '@rolldown/binding-linux-x64-gnu@1.2.14': + resolution: {integrity: sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.2.11': - resolution: {integrity: sha512-Is78i9A8Ui4SqcxUwFJ9uMmjDn58IbVTjFWYdQestFEgeuEmHMLGNriXnVJKkwG2YiZjw8cP0zCTyDMdDGtOOg==} + '@rolldown/binding-linux-x64-musl@1.2.14': + resolution: {integrity: sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-openharmony-arm64@1.2.11': - resolution: {integrity: sha512-dUCXneZ87INUMyQ0D+C0HrEBNUPNXHaPmU5GTjyKTJEiussw9Kaj5Ln8UztPe4epV/ffvgNBEadksdYhmW6xJA==} + '@rolldown/binding-openharmony-arm64@1.2.14': + resolution: {integrity: sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-win32-arm64-msvc@1.2.11': - resolution: {integrity: sha512-jByxb6qfd+bH1xUd0qnfFnb17i9sWBPY2tOavJ0l3tdr3OTu+Kvtm8cd/JV5nFt657b1VqGltxg9olOEfofXWw==} + '@rolldown/binding-win32-arm64-msvc@1.2.14': + resolution: {integrity: sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.2.11': - resolution: {integrity: sha512-/PzKqzAJ03i19oy2ItPvyvaVjOjBCNnfaJs8yvUdGBKmiESgnrJSQ2awd81QzFbbnAmu7YO9ZnJrDCb9VSJPRA==} + '@rolldown/binding-win32-x64-msvc@1.2.14': + resolution: {integrity: sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -1069,19 +1280,19 @@ packages: peerDependencies: eslint: ^9.0.0 || ^10.0.0 - '@tanstack/history@1.162.4': - resolution: {integrity: sha512-utTS5L2OkeYUzXGohL1Z8sefu1GLNOJcxe8Hd6iIdc/Xo1K1nDB2JEp4iSFhvYh33xKC9V91TxrS8qfrpoKobQ==} + '@tanstack/history@1.162.5': + resolution: {integrity: sha512-w1+YvwmTkwt5n8yUqEH3IWZ9DsmorCZW/EQ3KYHnqEgIkOZpH54NvW6/Epq3Dzb8H0ifIeYX8PExvrNLIH5FIA==} engines: {node: '>=20.19'} - '@tanstack/match-sorter-utils@9.1.2': - resolution: {integrity: sha512-aPkUQctDzpXLSWhlx7jUDi3mInsI18xcnrK1hvIyIa88ab1ax88cACr7xU+BKMCGB4NZYNwh4SoNSEbv3RY2NA==} + '@tanstack/match-sorter-utils@9.2.6': + resolution: {integrity: sha512-DIpUSOhPfQ7u/qfUi/Wgm0wBO56MyBYXGvnlI0NcauDRPqdBUlAZZjW2Dxm92m+k1UWVhKw8YJ4f47+75Aujyw==} engines: {node: '>=20'} - '@tanstack/query-core@5.104.0': - resolution: {integrity: sha512-JrC2r/JQlXt7khBSdUpsgxNvybzOg+aITa+ARRMlP2AFo93Y8vIqz077rp+e61mJetSZ0T6AJbwW1JHer1vrPQ==} + '@tanstack/query-core@5.104.2': + resolution: {integrity: sha512-/qbsxJK5c3Ve1aFIULWYNcT2jeRUAiD4HME6Eu2ZdpofHoVgAjpkQhLg5xHuOoBkTPQUJLfP7zOxy0qsBcqROA==} - '@tanstack/query-devtools@5.104.0': - resolution: {integrity: sha512-snKyFLVFC5LuNoyUTpyqCD2Z8cRlCWrAeO3xub0nGi81IMz8YAUWq2Z+XdpGSGT7bCxqVdOHUjyiA3CtDuBjfQ==} + '@tanstack/query-devtools@5.104.2': + resolution: {integrity: sha512-LQrdtI9mRq1WEXml1ujhRN9K9cEnxH4YGkGoUvhYhGdZx0QcD7FKSV7lUKfMAHUm3ITJsTsqjlUJ7/qNZtQHqg==} '@tanstack/react-devtools@0.10.13': resolution: {integrity: sha512-r0cdB/14+st2Vxl/1Bodlyq4VC8pf9SykLQDYbGHDc1+V146WQo5B3KlYLkfyxD9Q/6+9NPRQHZyl8fvZVMdRA==} @@ -1092,15 +1303,15 @@ packages: react: '>=16.8' react-dom: '>=16.8' - '@tanstack/react-query-devtools@5.104.0': - resolution: {integrity: sha512-E3AfuGqrdyaamuRV3u8RFWQlkZxk7OQa9MJ3XLF9SEHFRHyTUnlHcAQ0hEpDYxNsNFKYrheiRpDKlYaG4vkt7g==} + '@tanstack/react-query-devtools@5.104.2': + resolution: {integrity: sha512-F88xtzaf0QrJTENPMs6xngHuf5n+1zRFatAPhXUqF+DCpIlmuPEZb05U+DQCddfs2HjW25WMx3f9B4G8gApOiA==} peerDependencies: - '@tanstack/react-query': ^5.104.0 + '@tanstack/react-query': ^5.104.2 '@types/react': ^18 || ^19 react: ^18 || ^19 - '@tanstack/react-query@5.104.0': - resolution: {integrity: sha512-e1TZmDCQnWIfiDVryIHeA6Idj+Lfx1hORLOhXS/l5wcgvtVD4yYqbTDl378sGQKIi2cSgb0TEMC9cKK8GGoJEw==} + '@tanstack/react-query@5.104.2': + resolution: {integrity: sha512-xKmzWGhadbE5wGS/ZmXShRITnI9oItox5GO14KvFZco3+vhTAyXS1erYzJWdiY280zapAGJXFUL9nHgwP6SV/g==} peerDependencies: react: ^18 || ^19 @@ -1126,22 +1337,22 @@ packages: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-router@1.170.40': - resolution: {integrity: sha512-vVr3va9Mcq05rZRrDZPGoptAClRMKHvekLbpg2GcfXvAAtOVhW6Q93tOz4dvS8j03vTVrU25VM6weP1SIHGEew==} + '@tanstack/react-router@1.170.44': + resolution: {integrity: sha512-uIIZ3CHU1yWlkMkmbnGFX3WIfZozF+tNrOMMEoM9lo+jzPInCRq80LBqW3DH9ixNHWjB3TM/cNIvr05uGIlP3A==} engines: {node: '>=20.19'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-client@1.168.38': - resolution: {integrity: sha512-O7eUDb3MndvogAqpZaZA1v9WAeqfDPOG/S7lG2RpvjfcsrJzaL3+Hkf3RFybvyaLUKLKzlxt9D5mVw81a7LW8w==} + '@tanstack/react-start-client@1.168.42': + resolution: {integrity: sha512-t3Jcn1nKjeEsPv0WVrW31HzWyMtIYkNhW0FcZ2FnTHDDne64d+XK5hJ3Y5AP/heUXLhBcoHfnxWjBFzqECOZOw==} engines: {node: '>=22.12.0'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start-rsc@0.1.58': - resolution: {integrity: sha512-yZCNQAw72MjYkGx5A634OJyL3A2M3q8dCt1xlAbNaxxJoVIdc24pAAAOmm2r7Zmbpi8HEViNsdN3YR3Qc1hKzw==} + '@tanstack/react-start-rsc@0.1.62': + resolution: {integrity: sha512-IUEs4gMVtfDGz6iZsQuKdPa8KrYhzm6b6se6R1FA0wfEiEv9H5A70z9HDHZUm4KFn7Yq4hc0WutxQS4cMKp0oQ==} engines: {node: '>=22.12.0'} peerDependencies: '@rspack/core': '>=2.0.0-0' @@ -1157,22 +1368,22 @@ packages: react-server-dom-rspack: optional: true - '@tanstack/react-start-server@1.167.45': - resolution: {integrity: sha512-fPoDwcQrxw4EDlcrAimN5gQ7PmF2Vh0QsNoJB39GiXw0JUVH+MLxOIxCiYi9f6tBp71aGZzTYMQUbGagbzT68g==} + '@tanstack/react-start-server@1.167.49': + resolution: {integrity: sha512-wqreSOGZLmWjUn9Q6DkZX0OIK66ODsqBZGvg0kY47oNLHT68oCAF3hfDisFZWo8tpwu+E58Lvt5CFeWbbrcxcA==} engines: {node: '>=22.12.0'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-start@1.168.59': - resolution: {integrity: sha512-PbV0B5SB+K8xnfmpXRfcTOT+LWCx4vnUQTLI/2Ucmkb95VhJfcmD4+xwcbfy1nyqKMlyC/Zcd2mMOzPGhwL2Rw==} + '@tanstack/react-start@1.169.1': + resolution: {integrity: sha512-6TZMJXy7Hp9inkES7HmUSHO07hnj6TNYTLH5jm2UT+LuOS+D3Cgf9S13oQNxpUPZoI4Fh/tQ/DKliiZG+jftyw==} engines: {node: '>=22.12.0'} peerDependencies: '@rsbuild/core': ^2.0.0 '@vitejs/plugin-rsc': '*' react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - vite: '>=7.0.0' + vite: '>=8.0.0' peerDependenciesMeta: '@rsbuild/core': optional: true @@ -1187,13 +1398,13 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-cli@1.167.39': - resolution: {integrity: sha512-TLXEbV++lMS3FAqi9dC+qZefESiPn8ytmnIKlKsOBZZvZfifzE8vXwXICDwY2rRzrAfK+eQRi8Ht23FnmqGAWQ==} + '@tanstack/router-cli@1.167.43': + resolution: {integrity: sha512-aJf9HLzROy80G42YoJen+Y3xso/ddRNNrSimeCquG2LJDafh4A1l8qv33J32Uor/BFzclFk/M0XWGvgEEqti3w==} engines: {node: '>=20.19'} hasBin: true - '@tanstack/router-core@1.171.33': - resolution: {integrity: sha512-TK31LyRZuVwwmWrv3oSCBN7OuM4R1qQZePRTiexFyqQUuCo3ERHZgzArosynwZKtYlEf4qbFCvbW7UUfvGiiZw==} + '@tanstack/router-core@1.171.37': + resolution: {integrity: sha512-11Le36++mHNeeFIABz4C3PdTWyJ1ilOmGmANOQOypknZwC1xN674al5BUqWuimKasWane1/XSNcEx8NYNHh0+A==} engines: {node: '>=20.19'} '@tanstack/router-devtools-core@1.168.2': @@ -1206,16 +1417,16 @@ packages: csstype: optional: true - '@tanstack/router-generator@1.167.39': - resolution: {integrity: sha512-9W4ErxITHoJH+1eySMm6RmTXzH/7drSUcVwynkco01A6Dg5gsnQsfxyojvLASLp5QxQe4gyubfBVupjBIPdPeg==} + '@tanstack/router-generator@1.167.43': + resolution: {integrity: sha512-3IOgWD3gUmbokR9q1ZFQE9/By/VMX4/bDSKJwaIa625PDB0czCF6J+OPSeA/7wb1wDE42fAqX1q4j7bnr1eLcA==} engines: {node: '>=20.19'} - '@tanstack/router-plugin@1.168.41': - resolution: {integrity: sha512-D6t6kkivRb0PzNgtYqnGBar9gOXEN8YrU2A3D5gnWMHv33DDshmuhrhRMk/u9cvumoeH88P1R1eWbQ3ZegTgcA==} + '@tanstack/router-plugin@1.168.45': + resolution: {integrity: sha512-caBZAfe9iLCaVy5zEuYwXx9TpZgN7XX1AkW55e0LfeIZGEZvMw5h2KE3ZNdx0k1Kxik4HPBRMUj8Np/TYTJG7Q==} engines: {node: '>=20.19'} peerDependencies: '@rsbuild/core': '>=1.0.2 || ^2.0.0' - '@tanstack/react-router': ^1.170.40 + '@tanstack/react-router': ^1.170.44 vite: '>=5.0.0 || >=6.0.0 || >=7.0.0 || >=8.0.0' vite-plugin-solid: ^2.11.10 || ^3.0.0-0 webpack: '>=5.92.0' @@ -1242,32 +1453,32 @@ packages: resolution: {integrity: sha512-Icb0xGuG1+54IV0WMLRcc3ErTx2HeJWyPG661FkQ8UT6guoBq1FJjFRqlG/JS0xi4mFFkBhvwO7tbLa32f3yxA==} engines: {node: '>=20.19'} - '@tanstack/start-client-core@1.170.33': - resolution: {integrity: sha512-ZaIC7zjcf6dAMk2UtcqPkaUyY6vVdXIfEAPCerVaKE742Doo1u2r/eOtRkxzsmz36n7+pCFC+XJLeUngcRJrEA==} + '@tanstack/start-client-core@1.170.37': + resolution: {integrity: sha512-bFbhnZuu0fDN4taWREgkopUY5fhB7CA6nyDpITFNNUDNTmu8QDmxEf3EtV4FgNGrPp1dufKq2iaIdldq7KJQ9g==} engines: {node: '>=22.12.0'} '@tanstack/start-fn-stubs@1.162.0': resolution: {integrity: sha512-QWfUZ3Yo923tdQn38LyKMU8rcTw69zc+T4dAvgTWV4O56SqFRsGfS0lSWIMhJRwXIx/bvdi7nTUBDdZtTHtpTQ==} engines: {node: '>=22.12.0'} - '@tanstack/start-plugin-core@1.171.48': - resolution: {integrity: sha512-t8vCkl669yLhX40PKxriB9TBqvHdIKjxjNjC2MaZg8WPWynVbYzC9nfjTIgI3BnfSUXMjd7qv36YDtHN9JD9Sg==} + '@tanstack/start-plugin-core@1.171.52': + resolution: {integrity: sha512-vXEI+/FH8nXIl85S9jC8X+QUtsQcrAfAN8glu+6nxtArAregO3+R+kpDx4P/R/i4Sx0hCcXb7+LQA4beob+PFw==} engines: {node: '>=22.12.0'} peerDependencies: '@rsbuild/core': ^2.0.0 - vite: '>=7.0.0' + vite: '>=8.0.0' peerDependenciesMeta: '@rsbuild/core': optional: true vite: optional: true - '@tanstack/start-server-core@1.169.38': - resolution: {integrity: sha512-jQG/tcxi676ox2PgqM1wHeXMs6WGKeJ0AyE05s1FF4OMS8p6DGAH0HEoT5WzFxUCnbZ5HaIbtbWKrQkkLDjP8w==} + '@tanstack/start-server-core@1.169.42': + resolution: {integrity: sha512-o7zc3WG09bznS0yKTD9c5drtp3zjw/k6haf6mHvWqZctiMlCytnZMg7iomvYShUqAVcktuR5NFmp/aROwcM9AQ==} engines: {node: '>=22.12.0'} - '@tanstack/start-storage-context@1.167.35': - resolution: {integrity: sha512-yY0lF1hHt0yWJHziYH71htEhmRlh467E7LKc8qJMgd/Rh1d4mjgKAEd9n39TyCGs9xFVNxIO0WrIvkSqfJOPYQ==} + '@tanstack/start-storage-context@1.167.39': + resolution: {integrity: sha512-wqIxkepruM4VMGPKhWdkNbr31pzm30/3COlYRbucmWS2TmwdcnIdECudcqTCHAAK8fwAxKhJ+p8stWe2wizKrA==} engines: {node: '>=22.12.0'} '@tanstack/store@0.11.2': @@ -1325,11 +1536,14 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/lodash@4.17.25': - resolution: {integrity: sha512-+K1NIO8I+F9/wNulfVvu23QYd0Pe9/OCqRrim4NoYIf1VoEDL90Ve4ClzpyqBLc7NpGGWRvYNCKZ1BE/Jpf8dQ==} + '@types/lodash@4.17.26': + resolution: {integrity: sha512-48NWfiY6oNcKOh47Z4h+sIvwcQR91h6KPhaYKgeMIrkT2jV82Gy90SErj60vW8jQbeMSOSbhIv3bZ7JoqPPVhA==} + + '@types/long@4.0.2': + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - '@types/node@22.20.4': - resolution: {integrity: sha512-zJRE40jpHtKqE/C4fgHrAKQLJuSpzEnP9ff9Y7YtoR3Wd2pwqzlekDeEuUQXjRd+QCYnVnNwuJYmhdk9XV8gvA==} + '@types/node@22.20.5': + resolution: {integrity: sha512-U2+DNr+wSjpsTS/wZGYHq7GcwfuSmKiKvoPvK22zwTlRhU91yOniN4qRR5KhIjvif7ysw/dz/hKmfDH0Ris4aA==} '@types/pg@8.23.1': resolution: {integrity: sha512-fKVHpikPdg4GKks3JuLEhvwSyvwzF23hnabPy6DD8ljVbC7+6J5dQzdv4arV6jqq57djnMgs1HKBxX4P8aBI3A==} @@ -1342,63 +1556,63 @@ packages: '@types/react@19.3.0': resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} - '@typescript-eslint/eslint-plugin@8.71.0': - resolution: {integrity: sha512-pqcS9c1HxZTHt7End4nXqd0s5lJrrFzrgCkKFJrsbUnaL6M3+6oBFZaslg6Gjsl3argl2DDRFROnXARaZ2e4Nw==} + '@typescript-eslint/eslint-plugin@8.71.2': + resolution: {integrity: sha512-K72/pvT7qpm8q3k8G5u93NCSN1RcLxX5h7Gw0bQpbMXviBHeY6Nx1WEwmk9wP+eKTSQ8ecxvcgt/ZX/rB938xQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.71.0 + '@typescript-eslint/parser': ^8.71.2 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.71.0': - resolution: {integrity: sha512-CG4nPk1f2zc8yw4pALqHsFYH2hdo+h1T9daSp21+Hnxi9LOE3GT9hAfTKJCBXVNM2GmYs1eMEP615wPoeOgk3A==} + '@typescript-eslint/parser@8.71.2': + resolution: {integrity: sha512-aTtmZjp/x3gsGHkDs04/1I8kNogBJkpQaeGaN0PfiG43NzDEmW2n+OP5im9wfsvyX0yP1UZWBrAGtDBfH9jEVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.71.0': - resolution: {integrity: sha512-aABjw5rjBacYONVPaPiWOCjJu0vEF4a25iQuodlmQYL1trtLZ0X/y+2Vzl3BKI1odM4LnwLE1oUDXYp1wzx1TQ==} + '@typescript-eslint/project-service@8.71.2': + resolution: {integrity: sha512-Pd68GsLVh5ZXlcEccFPdhSOvtHZ/2WU0XsA8zmXOS3F158lVlcTLhfQ6qvtL1RzbMie0Kp8xtbVwAg4nejKPHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.71.0': - resolution: {integrity: sha512-gWF0BhUcnjZxSpLE8ngS/59n2SB0J3YqRxvX1+2aoRJk9hNtHSLOV+TcarFiOr5ipXm3yc1QrI4c9YZc8zyCxw==} + '@typescript-eslint/scope-manager@8.71.2': + resolution: {integrity: sha512-YF4wgg5iUX5Obywoac27B56FhozMNFhdJSbh11H5GBAwmBtfyRhmgTQqW9tRNNmHDvsZ2CX6UGzoz+YfYn2Leg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.71.0': - resolution: {integrity: sha512-Z1UlWHADEK2Mlb9NpWfDeSjqoZ5EyrOv4R3eQpbkzqn/EwaIdOpXXupEA1+0ZIOSJSZZDBHG0BrQyN8zUG6Pwg==} + '@typescript-eslint/tsconfig-utils@8.71.2': + resolution: {integrity: sha512-jz49TAWokm/7yWD9/o837nYax9DyALxIPOImdImvVzo6canBCZYzin8zJyqNR5k1j9K1DE0bVvr0XYB+99uAdg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.71.0': - resolution: {integrity: sha512-i8uO1qbdxeKgRnS5sCRt6On3/nfo2d2DwQe3Yvjx543zLy7r8ySqRuPPiIIXAhS03U0v5NfAFx+rUgxFzKKwNw==} + '@typescript-eslint/type-utils@8.71.2': + resolution: {integrity: sha512-cC8UaalCViJkb3rH/xLIvidEwoFRtMZMUqDjjJMGEKaTFwYRHYBcoczlEGHuvkHEO8svRDrgZ0yQgOArFmwang==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.71.0': - resolution: {integrity: sha512-cJ4OoxPGWvFnBTnSZyaU+qJzGTqPTGJY+gDchj6cRyLRdmIdt4rcsE4twj+zPfrNiWuVi38wijHzShL++Z9atQ==} + '@typescript-eslint/types@8.71.2': + resolution: {integrity: sha512-y5Ukl3oVp7e/VGxqIoEXoeb/Roj71PAJ4WG/N/RGj+eeDvKRLM15kGr9MijLbN0i03S52zxu31Z98E5gWChJKw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.71.0': - resolution: {integrity: sha512-PEEF4G5sLLWAS5BpPrUvms4ySZkiBQQZM4z+3ReI46axK5Vqr/vXBQatJQIZZOYdGyPUAKTtsrWzpqKuU+3DEw==} + '@typescript-eslint/typescript-estree@8.71.2': + resolution: {integrity: sha512-DgNOEsl4pdYzwSL+N/Cl33tX1Hlw3FvId73LnKXfq7jnrF2viOEn7X+P7RBkkSWCVm92gnWd28GIC5vJuLREeA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.71.0': - resolution: {integrity: sha512-pKR/tEMVrXZG23UFKUn5BQf3zfmfk7KQceI2cGzywZ5nxM5Eu3hEJU1utjWzydtzBbcJAQhHN8iPCxobHpPcZQ==} + '@typescript-eslint/utils@8.71.2': + resolution: {integrity: sha512-RyKa1G1M9rKHDhrk+HJtiF1MvLD5Ux2JW3TSkzw+02pRALdpJb+QzG1Y5em+LvCgzGwgg8H7mBRFKljNz7ImPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.71.0': - resolution: {integrity: sha512-8eQ9R218XORK+KLosnf4bu/QsUXvUyVwTbArg7/0NMB1Pu87OJKvj4nhFblkYE8gQV73mW1dx1ptlPCkwRGa7A==} + '@typescript-eslint/visitor-keys@8.71.2': + resolution: {integrity: sha512-zozlN0UA32bSG2zkKAgQyRYSbEISVoyU6vvkKYo2aSny74D8Jh4e+POkJ6Lk0dlezZi5x7TtD+88Xb06IB8nhg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@unrs/resolver-binding-android-arm-eabi@1.12.2': @@ -1546,13 +1760,13 @@ packages: '@visx/vendor@4.0.0-alpha.0': resolution: {integrity: sha512-6I+MuqXBcv9jnlcVowHoHKSdk9gXTWkHLKyqBwRWg7LY6A3Ei8SHfubpqGV5rBUSppxMq2RszPJUS6w+H0YgmQ==} - '@vitejs/plugin-react@6.1.1': - resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 - oxc-transform-react: ^0.145.0 + oxc-transform-react: ^0.152.0 vite: ^8.0.0 peerDependenciesMeta: '@rolldown/plugin-babel': @@ -1562,13 +1776,17 @@ packages: oxc-transform-react: optional: true + '@whatwg-node/promise-helpers@2.0.0': + resolution: {integrity: sha512-/i9CS0Z96o+cPwaYoAyVxAThDiUX1wV3tDmNWPJbn+vtdR+JftuCDg1NGCXBrzIYVDGkJ8uT6ctwmrBOUzOpKQ==} + engines: {node: '>=22.15.0'} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.18.0: - resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1593,6 +1811,13 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + aws-ssl-profiles@1.1.2: resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==} engines: {node: '>= 6.0.0'} @@ -1604,23 +1829,31 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.11.26: - resolution: {integrity: sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==} + baseline-browser-mapping@2.11.28: + resolution: {integrity: sha512-br0LOmjJqr6Rt4AEkadbcNf67Zpo7EPwKsWbjnRrJIa1QYFHQBqM4C7F2WTbV8ahTEcg1Eo+Y0aWjjORInYFyA==} engines: {node: '>=6.0.0'} hasBin: true better-result@2.10.0: resolution: {integrity: sha512-oQhh0y1qo2/ZKdAAEvHZAqKKiHOFU5k/bW96fE2ScgQOVkJRiHwB+nOS1SgFsYqRlxMDWvefXi9Q3px7QvgNDw==} + body-parser@2.3.0: + resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} + engines: {node: '>=18'} + brace-expansion@5.0.12: resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==} engines: {node: 20 || >=22} - browserslist@4.29.2: - resolution: {integrity: sha512-/u9r8k8ue4ZhHCw9ovDtltpWdXeXzjhdxCGj6vm1RGLPXb8lu33EMdoCHF5Sx8oYBS+Q/FYYNmAqlHncxR3RmA==} + browserslist@4.29.3: + resolution: {integrity: sha512-1R4kiYKXGViqEN0CnoDrXc1StD9niAwu+j2dukWzrD4bJgsD4lDmEp0CRbc6E/vYJIfTHwPmwyaKtVSudICdPA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + c12@3.3.4: resolution: {integrity: sha512-cM0ApFQSBXuourJejzwv/AuPRvAxordTyParRVcHjjtXirtkzM0uK2L9TTn9s0cXZbG7E55jCivRQzoxYmRAlA==} peerDependencies: @@ -1632,8 +1865,20 @@ packages: cacheable@2.5.0: resolution: {integrity: sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==} - caniuse-lite@1.0.30001813: - resolution: {integrity: sha512-zfjJo4rM0+fUomGDBW/xcDjhIwz/210DGvip2MAMDZ8KHcRPnOHmEgHPZP0UHlZoxr8fYKVJOqcORhYQcG4FKQ==} + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + caniuse-lite@1.0.30001816: + resolution: {integrity: sha512-+8Yx7BXCoqk6IF8yTicjfUR6D/ldJzdlsodlEOiOSPmhK844WIgk67/zIQaGAOxNkZyyvBlrRFnLvqKIoqbAFw==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -1675,22 +1920,38 @@ packages: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + content-type@2.1.0: + resolution: {integrity: sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==} + engines: {node: '>=18'} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} cookie-es@3.1.1: resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} - copy-anything@4.1.4: - resolution: {integrity: sha512-/LLeW0CtsoSybVkEpYjifB2Pis8DUSuwY7QD9FiR98fWkdbdrACw3ilckfnAHMecQ+RFEdZlRt6eCXhYHJbl/g==} + copy-anything@4.1.5: + resolution: {integrity: sha512-vePst2VLTSqPglW7Q98VwFpGiGpOHTyXIo81MO5VyLecA5zMbZw/P/V1vmwD1jksa2iJpn/YkDrJ3XhTfzUyhQ==} engines: {node: '>=18'} + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} + engines: {node: '>= 0.10'} + + cross-inspect@1.0.1: + resolution: {integrity: sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==} + engines: {node: '>=16.0.0'} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crossws@0.4.12: - resolution: {integrity: sha512-aypfsr6t0uNvkqaZc6zvBfXzC6pLI0/sIulpkV6RwCVtZqG5ebBzv4weImKK0VNCj91Wl9F5j7p5WU4MNrybng==} + crossws@0.4.15: + resolution: {integrity: sha512-NsUOpDZosz7nyI+qEIl05yaiXOWaXH2oTeM+XBWtiSWZtb5rzcIsl1AST/HzM2jzUn76eFuyrkn83E6iSBRUvw==} peerDependencies: srvx: '>=0.11.5' peerDependenciesMeta: @@ -1795,6 +2056,10 @@ packages: resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} engines: {node: '>=16.0.0'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + defu@6.1.7: resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==} @@ -1805,6 +2070,10 @@ packages: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + destr@2.0.5: resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} @@ -1832,11 +2101,18 @@ packages: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + effect@3.20.0: resolution: {integrity: sha512-qMLfDJscrNG8p/aw+IkT9W7fgj50Z4wG5bLBy0Txsxz8iUHjDIkOgO3SV0WZfnQbNG2VJYb0b+rDLMrhM4+Krw==} - electron-to-chromium@1.5.440: - resolution: {integrity: sha512-SghDzqdJokdz8zP8YNlvS74+CwLRoUPDGvP/gFA+HrKVw+pOshUAgx8pXR37xl/u16zGae746rFNWvZ/22kU2Q==} + electron-to-chromium@1.5.456: + resolution: {integrity: sha512-8hboqI6xesozteFb8aa7OGknvxUtTeRJLz0FoePysUEh/oWbddykIGdgpEJRbPRg/nIMfBf2DFos+H2MtvJl2A==} elkjs@0.11.1: resolution: {integrity: sha512-zxxR9k+rx5ktMwT/FwyLdPCrq7xN6e4VGGHH8hA01vVYKjTFik7nHOxBnAYtrgYUB1RpAiLvA1/U2YraWxyKKg==} @@ -1848,6 +2124,10 @@ packages: resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} engines: {node: '>=14'} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + enhanced-resolve@5.26.0: resolution: {integrity: sha512-9vhedylFonb2YGogzUKX6+Ja72gOJbN1QHAqdrvqLwhdl/QWbKopzoUC9EbQNVsAns/bx/4uyqalrQAoy1IByw==} engines: {node: '>=10.13.0'} @@ -1874,6 +2154,18 @@ packages: wrangler: optional: true + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + esbuild@0.28.2: resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} engines: {node: '>=18'} @@ -1883,6 +2175,9 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1943,8 +2238,8 @@ packages: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@10.11.0: - resolution: {integrity: sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ==} + eslint@10.12.0: + resolution: {integrity: sha512-npHjrHb2o4ehH3mE+YuxABR+0gyb0aVWCIolgJDArwCiHEIsonBm3ZKjel5b0U5+a+MbEvIyRCGCzD3eKKK2NA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: @@ -1977,8 +2272,8 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - exsolve@1.1.1: - resolution: {integrity: sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==} + exsolve@1.1.3: + resolution: {integrity: sha512-kuzL9zherLQoqDeQaS55AiiIg1kb4KYXaSusTtgZTPlvKP2gGCI82LNmBNh5RjDVUXIcmgx+/Mx7vPwRzBbhJA==} fast-check@3.23.2: resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==} @@ -2017,6 +2312,10 @@ packages: file-entry-cache@11.1.5: resolution: {integrity: sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==} + finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} + find-my-way@9.7.0: resolution: {integrity: sha512-f2JHn75x2JlwUwLenZypgczR7YWMb/uO9BvUXtus+JMgkbIkLADd38cI4EiV+OQqrGo1Zlq6V8wnqMJ8e62wUQ==} engines: {node: '>=20'} @@ -2031,6 +2330,10 @@ packages: flatted@3.4.4: resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} @@ -2040,6 +2343,9 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + generate-function@2.3.1: resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} @@ -2051,9 +2357,17 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + get-port-please@3.2.0: resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==} + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + get-tsconfig@4.14.3: resolution: {integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==} @@ -2069,8 +2383,8 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@17.12.0: - resolution: {integrity: sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==} + globals@17.13.0: + resolution: {integrity: sha512-RwMTC61u7hrG3ZJMkZQOK4JLJrKS8QtoTii63EmWvFXHqycY9FObBJQCbsLxSO8kjKhWE5kV1GC+Vb1g3RI0Zg==} engines: {node: '>=18'} globrex@0.1.2: @@ -2081,6 +2395,10 @@ packages: peerDependencies: csstype: ^3.0.10 + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2090,15 +2408,9 @@ packages: graphmatch@1.1.1: resolution: {integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==} - h3@2.0.1-rc.20: - resolution: {integrity: sha512-28ljodXuUp0fZovdiSRq4G9OgrxCztrJe5VdYzXAB7ueRvI7pIUqLU14Xi3XqdYJ/khXjfpUOOD2EQa6CmBgsg==} - engines: {node: '>=20.11.1'} - hasBin: true - peerDependencies: - crossws: ^0.4.1 - peerDependenciesMeta: - crossws: - optional: true + graphql@16.14.2: + resolution: {integrity: sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} h3@2.0.1-rc.22: resolution: {integrity: sha512-Esv0DMIuPkCTSWCA0vO73vcTqwzH1wjSrAO1TXNu/K3up1sZHa9EKMapbmxCDYBeymC3fVTk4qxp7ogQWQ+KgA==} @@ -2110,10 +2422,25 @@ packages: crossws: optional: true + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + hashery@1.5.1: resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} engines: {node: '>=20'} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} + engines: {node: '>= 0.4'} + hookable@6.1.2: resolution: {integrity: sha512-+abwxtiEA52GCVIsQqut3S/uKTbUwYIp4Pe/vv+6py5XiXBCqMZHg6pA6Y5qhgLSEys0/cYuPbO0z1QFj5ZCmg==} @@ -2123,6 +2450,10 @@ packages: hookified@2.2.0: resolution: {integrity: sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==} + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + httpxy@0.5.5: resolution: {integrity: sha512-uDjmnPyp1q4Sgzf3w+J/Fc6UqcCEj0x4Wjp7OqK5dGhNeDgpyrAmnS6ey8QWrX3SWDon2DMKf9sBa5X9+CVyMA==} @@ -2134,18 +2465,25 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.10: - resolution: {integrity: sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==} + ignore@7.0.12: + resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} engines: {node: '>= 4'} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + internmap@2.0.3: resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} engines: {node: '>=12'} + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2161,6 +2499,13 @@ packages: is-property@1.0.2: resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isbot@5.2.2: resolution: {integrity: sha512-iQcBXcd+Rv/pkubRyGh2utW2j1oPG5hZY6TUhVPpqK4G+o3IbxpJNx04hgksjc/N7GK5pEorUxDeg31cFgEk/w==} engines: {node: '>=18'} @@ -2201,8 +2546,8 @@ packages: keyv@5.6.0: resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} - launch-editor@2.14.1: - resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} + launch-editor@2.14.2: + resolution: {integrity: sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==} levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} @@ -2352,12 +2697,26 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash@4.18.1: resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} + loglevel@1.9.2: + resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==} + engines: {node: '>= 0.6.0'} + + long@4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + lru-cache@11.5.3: + resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -2368,6 +2727,22 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + media-typer@1.1.1: + resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==} + engines: {node: '>= 0.8'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + minimatch@10.2.6: resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} @@ -2386,8 +2761,8 @@ packages: resolution: {integrity: sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==} engines: {node: '>=8.0.0'} - nanoid@3.3.19: - resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -2399,6 +2774,10 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + negotiator@1.1.0: + resolution: {integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==} + engines: {node: '>=18'} + nf3@0.3.24: resolution: {integrity: sha512-HxLK4bo+5jNsEETZp4w3tJblHOA9MCBY14IN9nZJJV8JDxt9yNIYxuBuLMjTAR5GFa3HL61+8VQDUrXv3/C8fw==} @@ -2433,10 +2812,18 @@ packages: zephyr-agent: optional: true - node-releases@2.0.57: - resolution: {integrity: sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw==} + node-releases@2.0.58: + resolution: {integrity: sha512-BdiKAgbfRlvfMq/XzO/AF9NPmaA8a+YpLAyAFTVFBj3gARrAIfWvNq7Q7NE4se3KgFu0KkrvQMxTS0XVnsGzHg==} engines: {node: '>=18'} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + ocache@0.1.5: resolution: {integrity: sha512-kNNnkkVQup/QDvmTz8Q84wc2ntiyoVHDxa6eHWKt5qdGAmFRBIxy83rxgCYEjW0x06UJ9E3P6VgM2yY4rOBH4w==} @@ -2446,6 +2833,10 @@ packages: ohash@2.0.12: resolution: {integrity: sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2462,6 +2853,10 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2476,11 +2871,11 @@ packages: perfect-debounce@2.1.0: resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} - pg-cloudflare@1.4.0: - resolution: {integrity: sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==} + pg-cloudflare@1.4.1: + resolution: {integrity: sha512-6PQbsFWZcp9EmJEwy5cGQ2La+AMWpP46lgbb8X+U/XsHIUweYDNCpeuKck5RxL2MdVFi7krbbEi5nX4Zh7JhrQ==} - pg-connection-string@2.14.0: - resolution: {integrity: sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==} + pg-connection-string@2.14.1: + resolution: {integrity: sha512-qR3kGNPBLpCNtz0evbKA0Y/MRFXwSSdT+pTJvYp/bXTcReZbvX1kzF0IyTc1QnxqF7AZbOeBhNL8R5mYQZV/MA==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -2491,15 +2886,15 @@ packages: peerDependencies: pg: '>=8.0' - pg-protocol@1.16.0: - resolution: {integrity: sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==} + pg-protocol@1.16.1: + resolution: {integrity: sha512-p9VOFMiHB/ZbJATetbg+99PxssTVSQRnyuPSQ67mN1+1KBOjZaZ83ZQzltnxPhJwSsC3nwVjJ10DVJlerbFzLg==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} - pg@8.23.0: - resolution: {integrity: sha512-Ip2EQCngowJLGOfCwkFhPXU7/ljlhn6Rxlmy4XYfL2Y+vyRM59+8uR2xqRWKdYmbXmxCFOAmKxBuSUCdF34qLg==} + pg@8.23.1: + resolution: {integrity: sha512-aL96AHANtWjPLDOLqnhx+ngp9+UK7ETEU8VJrDCGvsSSi/mGLcWYsS6Herg7lmaBJe4uwrfqsa7gTEFaSizDoQ==} engines: {node: '>= 16.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -2520,12 +2915,16 @@ packages: pkg-types@2.3.3: resolution: {integrity: sha512-j/lCFdcppV0JxWpCEITdbDltBxPP6cHT+yNJ6Go2OgoSA9518X847X9z0p6LtA4Nc16+eQzCZjRrWanTGvHJ5w==} + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + postcss-selector-parser@6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} - postcss@8.5.28: - resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + postcss@8.5.30: + resolution: {integrity: sha512-zkd+e9S1AQHhmaBKye9zlFHWjOwVgqXl1q3ECYy8561K7qxR2cREf/STLskulBFd78k6AOFeA+ff1TtEzk9bAA==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -2556,8 +2955,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.9.9: - resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} + prettier@3.9.10: + resolution: {integrity: sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==} engines: {node: '>=14'} hasBin: true @@ -2588,6 +2987,14 @@ packages: resolution: {integrity: sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==} engines: {node: '>=20'} + qs@6.16.0: + resolution: {integrity: sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==} + engines: {node: '>=0.6'} + + raw-body@3.0.2: + resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} + engines: {node: '>= 0.10'} + rc9@3.1.0: resolution: {integrity: sha512-ufjkNVzbRHKcCOmTahZkmVsyc3W+MSk3jY03m+a7tGHkIsdVMG9l10/3HvFbWkkKzY5VFp3pkRsIo/UYgmFL7Q==} @@ -2629,19 +3036,26 @@ packages: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + robust-predicates@3.0.3: resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - rolldown@1.2.11: - resolution: {integrity: sha512-qpSwIyz0jHQq5qXBTNxFmE6664rJ7O+4TvPFOiOaBSrz8IOHc1koKKSqTM2H6u1UG1+TveuC6vaDHKXFOvb1Kw==} + rolldown@1.2.14: + resolution: {integrity: sha512-eTBTTqMR6uHKLgcUqpJP8ntzDI6V4LYA8negAMBEI7gkgVvOdrx6VsvS2Ym+83KhOPdLCHWJu0w7UQFJZhHKNw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true rou3@0.8.1: resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==} - safe-regex2@5.1.1: - resolution: {integrity: sha512-mOSBvHGDZMuIEZMdOz/aCEYDCv0E7nfcNsIhUF+/P+xC7Hyf3FkvymqgPbg9D1EdSGu+uKbJgy09K/RKKc7kJA==} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex2@5.1.2: + resolution: {integrity: sha512-tAtCGFPPP02VroDVzp4daGi6bC7jWG+41D47GKf18FeH/ubvKQHT9VmhAkvtjNOmJwqtApzWeUpEhkyEYULvmw==} hasBin: true safer-buffer@2.1.2: @@ -2662,25 +3076,27 @@ packages: seq-queue@0.0.5: resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} - seroval-plugins@1.5.6: - resolution: {integrity: sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==} + seroval-plugins@1.6.9: + resolution: {integrity: sha512-kiDK/Tb8IWZ61WEU8pA2PDmAuw37gKph9Y77OZlD56mg0Y2g0Bg7gZ1HeHhs5d40w+nRoUq/wj08V26ilbez9g==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 - seroval-plugins@1.6.8: - resolution: {integrity: sha512-N7mWAMydj89EnYTHtRpS3LBrAz3J9O6oVrqpuXuvlAHfAUG8WEKqtbAd7SBiJNY5NfCAFhSdyAh7wI4Shjqy4g==} + seroval@1.6.9: + resolution: {integrity: sha512-UeEzHwAK+yl0YLbsvROV1t5yMYEwZZ0CfKYxDvUgS2fO9Vxdf8djqVIB+OuVpuawRNPqw68LE1Du/GMsW2ZPqA==} engines: {node: '>=10'} - peerDependencies: - seroval: ^1.0 - seroval@1.5.6: - resolution: {integrity: sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==} - engines: {node: '>=10'} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} - seroval@1.6.8: - resolution: {integrity: sha512-HlSgSAkTk4EqHcje1ptJjfZi1YDv5KbhVJ/d3P7T/nAXua2VmDu+AKDX5VTdFfZf48nDkWB2TKYt0DrCSa+3wg==} - engines: {node: '>=10'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.12: + resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} + engines: {node: '>= 0.10'} + hasBin: true shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -2690,8 +3106,24 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.11.0: - resolution: {integrity: sha512-JdxDPD0DBTyu08pq0kPC0xSNet/qsU07qT6IsX1AS8oO2ICNRY4ldNa8OAI6PuwAH8tG3lxEhbqmyp4Dw4036g==} + shell-quote@1.12.0: + resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==} + engines: {node: '>= 0.4'} + + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.1: + resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} signal-exit@3.0.7: @@ -2701,8 +3133,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - solid-js@1.9.15: - resolution: {integrity: sha512-EeiY2xfpZJqPLjXspVEKjAII4yv8NyG//NxZ3IpOFHdUNnnTyL0uJOeS9LWGvA7cFCz5y94cjFwYlmw5Luncsg==} + solid-js@1.9.17: + resolution: {integrity: sha512-4GAmLOWPfNV8H9Jfn2LSFTpNEG6jiOKPiwd5lnLGQtehHaX6l3TOLzJqQ7mqwB/3k1Yy3zyumFVopmc/tm34ow==} solid-presence@0.2.0: resolution: {integrity: sha512-YM92o+jvpzX3XGaD4rLYmq/Kc2ZVh47GSCLEufHBFQQIurvZTs8SoGJxO8BJGNDxBKdcS8F3dYhW1SDXp4BNjA==} @@ -2720,8 +3152,8 @@ packages: peerDependencies: solid-js: ^1.6.12 - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + source-map-js@1.2.2: + resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} engines: {node: '>=0.10.0'} source-map@0.7.6: @@ -2745,6 +3177,10 @@ packages: resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} engines: {node: '>=12.0.0'} + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} @@ -2771,6 +3207,14 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} + to-buffer@1.2.2: + resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} + engines: {node: '>= 0.4'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + ts-api-utils@2.5.0: resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} engines: {node: '>=18.12'} @@ -2794,8 +3238,16 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.71.0: - resolution: {integrity: sha512-fBdHYiqQ14RW6mOMXD14Svn82ZsCYAoQSzGRzyEjR59S5A2Krh/l7fGTOQ7iCr8gGy/mHVXtEF7s5fgjEdV0Pw==} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typescript-eslint@8.71.2: + resolution: {integrity: sha512-Rz4effbMy2g9wnvOJZG6SbVavX313Lap1vNEbk1RUochzickvzP8P4HB+bkNg5e50eVz1hQGjh9K1omI1xB4Bw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -2815,6 +3267,10 @@ packages: unenv@2.0.0-rc.24: resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + unplugin@3.4.0: resolution: {integrity: sha512-9skdIFlCsPdFV7wUfZxNsFInlW+7nJmGu2gkTu0OUhF56aXGsHab9x52/QhdJ4lC7ZDPWTxbiC4ANqVlsuaW3w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2928,8 +3384,8 @@ packages: uploadthing: optional: true - update-browserslist-db@1.3.3: - resolution: {integrity: sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==} + update-browserslist-db@1.3.4: + resolution: {integrity: sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -2953,8 +3409,12 @@ packages: typescript: optional: true - vite@8.3.1: - resolution: {integrity: sha512-/bvH9E9tmCXRGp2uXY3WbOldqpTwFkbha/8ANaEQ6VkxhH60KyqLwgZq6lG2y+4uT55x9+9eUHMpQ7uGnOCKjA==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite@8.3.4: + resolution: {integrity: sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -3013,6 +3473,14 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + which-typed-array@1.1.24: + resolution: {integrity: sha512-wk4Mf4pR5mRP7eYuuTBCIQ9d0ud2Fv2jRLQpfgnRjbOxAFHmjKFValgTpitVKzJJS8ajnYQV2Du1SZ8j6b/EUQ==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3068,11 +3536,117 @@ packages: zeptomatch@2.1.0: resolution: {integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==} - zod@4.6.5: - resolution: {integrity: sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==} + zod@4.6.7: + resolution: {integrity: sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==} snapshots: + '@apollo/cache-control-types@1.0.3(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + + '@apollo/protobufjs@1.2.8': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.5 + '@protobufjs/eventemitter': 1.1.1 + '@protobufjs/fetch': 1.1.1 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.2 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.2 + '@types/long': 4.0.2 + long: 4.0.0 + + '@apollo/server-gateway-interface@2.0.0(graphql@16.14.2)': + dependencies: + '@apollo/usage-reporting-protobuf': 4.1.2 + '@apollo/utils.fetcher': 3.1.0 + '@apollo/utils.keyvaluecache': 4.0.0 + '@apollo/utils.logger': 3.0.0 + graphql: 16.14.2 + + '@apollo/server@5.5.1(graphql@16.14.2)': + dependencies: + '@apollo/cache-control-types': 1.0.3(graphql@16.14.2) + '@apollo/server-gateway-interface': 2.0.0(graphql@16.14.2) + '@apollo/usage-reporting-protobuf': 4.1.2 + '@apollo/utils.createhash': 3.0.1 + '@apollo/utils.fetcher': 3.1.0 + '@apollo/utils.isnodelike': 3.0.0 + '@apollo/utils.keyvaluecache': 4.0.0 + '@apollo/utils.logger': 3.0.0 + '@apollo/utils.usagereporting': 2.1.0(graphql@16.14.2) + '@apollo/utils.withrequired': 3.0.0 + '@graphql-tools/schema': 10.1.4(graphql@16.14.2) + async-retry: 1.3.3 + body-parser: 2.3.0 + content-type: 1.0.5 + cors: 2.8.6 + finalhandler: 2.1.1 + graphql: 16.14.2 + loglevel: 1.9.2 + lru-cache: 11.5.3 + negotiator: 1.1.0 + whatwg-mimetype: 4.0.0 + transitivePeerDependencies: + - supports-color + + '@apollo/usage-reporting-protobuf@4.1.2': + dependencies: + '@apollo/protobufjs': 1.2.8 + + '@apollo/utils.createhash@3.0.1': + dependencies: + '@apollo/utils.isnodelike': 3.0.0 + sha.js: 2.4.12 + + '@apollo/utils.dropunuseddefinitions@2.0.1(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + + '@apollo/utils.fetcher@3.1.0': {} + + '@apollo/utils.isnodelike@3.0.0': {} + + '@apollo/utils.keyvaluecache@4.0.0': + dependencies: + '@apollo/utils.logger': 3.0.0 + lru-cache: 11.5.3 + + '@apollo/utils.logger@3.0.0': {} + + '@apollo/utils.printwithreducedwhitespace@2.0.1(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + + '@apollo/utils.removealiases@2.0.1(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + + '@apollo/utils.sortast@2.0.1(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + lodash.sortby: 4.7.0 + + '@apollo/utils.stripsensitiveliterals@2.0.1(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + + '@apollo/utils.usagereporting@2.1.0(graphql@16.14.2)': + dependencies: + '@apollo/usage-reporting-protobuf': 4.1.2 + '@apollo/utils.dropunuseddefinitions': 2.0.1(graphql@16.14.2) + '@apollo/utils.printwithreducedwhitespace': 2.0.1(graphql@16.14.2) + '@apollo/utils.removealiases': 2.0.1(graphql@16.14.2) + '@apollo/utils.sortast': 2.0.1(graphql@16.14.2) + '@apollo/utils.stripsensitiveliterals': 2.0.1(graphql@16.14.2) + graphql: 16.14.2 + + '@apollo/utils.withrequired@3.0.0': {} + '@babel/code-frame@7.29.7': dependencies: '@babel/helper-validator-identifier': 7.29.7 @@ -3087,10 +3661,10 @@ snapshots: '@babel/generator': 7.29.8 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helpers': 7.29.7 + '@babel/helpers': 7.29.10 '@babel/parser': 7.29.9 '@babel/template': 7.29.7 - '@babel/traverse': 7.29.8 + '@babel/traverse': 7.29.10 '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 @@ -3113,7 +3687,7 @@ snapshots: dependencies: '@babel/compat-data': 7.29.7 '@babel/helper-validator-option': 7.29.7 - browserslist: 4.29.2 + browserslist: 4.29.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -3121,7 +3695,7 @@ snapshots: '@babel/helper-module-imports@7.29.7': dependencies: - '@babel/traverse': 7.29.8 + '@babel/traverse': 7.29.10 '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color @@ -3131,7 +3705,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-module-imports': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@babel/traverse': 7.29.8 + '@babel/traverse': 7.29.10 transitivePeerDependencies: - supports-color @@ -3141,7 +3715,7 @@ snapshots: '@babel/helper-validator-option@7.29.7': {} - '@babel/helpers@7.29.7': + '@babel/helpers@7.29.10': dependencies: '@babel/template': 7.29.7 '@babel/types': 7.29.8 @@ -3156,7 +3730,7 @@ snapshots: '@babel/parser': 7.29.9 '@babel/types': 7.29.8 - '@babel/traverse@7.29.8': + '@babel/traverse@7.29.10': dependencies: '@babel/code-frame': 7.29.7 '@babel/generator': 7.29.8 @@ -3185,10 +3759,10 @@ snapshots: hashery: 1.5.1 keyv: 5.6.0 - '@corvu/utils@0.4.2(solid-js@1.9.15)': + '@corvu/utils@0.4.2(solid-js@1.9.17)': dependencies: '@floating-ui/dom': 1.8.0 - solid-js: 1.9.15 + solid-js: 1.9.17 '@electric-sql/pglite-socket@0.1.3(@electric-sql/pglite@0.4.3)': dependencies: @@ -3294,9 +3868,9 @@ snapshots: '@esbuild/win32-x64@0.28.2': optional: true - '@eslint-community/eslint-utils@4.10.1(eslint@10.11.0(jiti@2.7.0))': + '@eslint-community/eslint-utils@4.10.1(eslint@10.12.0(jiti@2.7.0))': dependencies: - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} @@ -3317,9 +3891,9 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.11.0(jiti@2.7.0))': + '@eslint/js@10.0.1(eslint@10.12.0(jiti@2.7.0))': optionalDependencies: - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) '@eslint/object-schema@3.0.5': {} @@ -3339,6 +3913,31 @@ snapshots: '@floating-ui/utils@0.2.12': {} + '@graphql-tools/merge@9.2.7(graphql@16.14.2)': + dependencies: + '@graphql-tools/utils': 12.0.4(graphql@16.14.2) + graphql: 16.14.2 + tslib: 2.8.1 + + '@graphql-tools/schema@10.1.4(graphql@16.14.2)': + dependencies: + '@graphql-tools/merge': 9.2.7(graphql@16.14.2) + '@graphql-tools/utils': 12.0.4(graphql@16.14.2) + graphql: 16.14.2 + tslib: 2.8.1 + + '@graphql-tools/utils@12.0.4(graphql@16.14.2)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.14.2) + '@whatwg-node/promise-helpers': 2.0.0 + cross-inspect: 1.0.1 + graphql: 16.14.2 + tslib: 2.8.1 + + '@graphql-typed-document-node/core@3.2.0(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + '@humanfs/core@0.19.2': dependencies: '@humanfs/types': 0.15.0 @@ -3355,7 +3954,7 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@internationalized/number@3.6.8': + '@internationalized/number@3.6.9': dependencies: '@swc/helpers': 0.5.23 @@ -3386,29 +3985,29 @@ snapshots: '@keyv/serialize@1.1.1': {} - '@kobalte/core@0.13.14(solid-js@1.9.15)': + '@kobalte/core@0.13.14(solid-js@1.9.17)': dependencies: '@floating-ui/dom': 1.8.0 - '@internationalized/number': 3.6.8 - '@kobalte/utils': 0.9.2(solid-js@1.9.15) - '@solid-primitives/props': 3.2.4(solid-js@1.9.15) - '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.15) - solid-js: 1.9.15 - solid-presence: 0.2.0(solid-js@1.9.15) - solid-prevent-scroll: 0.1.11(solid-js@1.9.15) - - '@kobalte/utils@0.9.2(solid-js@1.9.15)': - dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/keyed': 1.5.3(solid-js@1.9.15) - '@solid-primitives/map': 0.4.13(solid-js@1.9.15) - '@solid-primitives/media': 2.3.6(solid-js@1.9.15) - '@solid-primitives/props': 3.2.4(solid-js@1.9.15) - '@solid-primitives/refs': 1.1.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 - - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + '@internationalized/number': 3.6.9 + '@kobalte/utils': 0.9.2(solid-js@1.9.17) + '@solid-primitives/props': 3.2.4(solid-js@1.9.17) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.17) + solid-js: 1.9.17 + solid-presence: 0.2.0(solid-js@1.9.17) + solid-prevent-scroll: 0.1.11(solid-js@1.9.17) + + '@kobalte/utils@0.9.2(solid-js@1.9.17)': + dependencies: + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/keyed': 1.5.3(solid-js@1.9.17) + '@solid-primitives/map': 0.4.13(solid-js@1.9.17) + '@solid-primitives/media': 2.3.6(solid-js@1.9.17) + '@solid-primitives/props': 3.2.4(solid-js@1.9.17) + '@solid-primitives/refs': 1.1.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 + + '@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 @@ -3417,10 +4016,10 @@ snapshots: '@neodrag/core@3.0.0-next.11': {} - '@neodrag/solid@3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.15)': + '@neodrag/solid@3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.17)': dependencies: '@neodrag/core': 3.0.0-next.11 - solid-js: 1.9.15 + solid-js: 1.9.17 '@oozcitak/dom@2.0.2': dependencies: @@ -3489,7 +4088,7 @@ snapshots: '@oxc-parser/binding-wasm32-wasi@0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.2.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -3506,13 +4105,30 @@ snapshots: '@oxc-project/types@0.120.0': {} - '@oxc-project/types@0.151.0': {} + '@oxc-project/types@0.154.0': {} + + '@pothos/core@4.15.1(graphql@16.14.2)': + dependencies: + graphql: 16.14.2 + + '@pothos/plugin-prisma@4.17.0(@pothos/core@4.15.1(graphql@16.14.2))(@prisma/client@7.10.0(prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(typescript@6.0.3))(graphql@16.14.2)': + dependencies: + '@pothos/core': 4.15.1(graphql@16.14.2) + '@pothos/selection-mapper': 0.1.0(@pothos/core@4.15.1(graphql@16.14.2))(graphql@16.14.2) + '@prisma/client': 7.10.0(prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(typescript@6.0.3) + '@prisma/generator-helper': 7.10.0 + graphql: 16.14.2 + + '@pothos/selection-mapper@0.1.0(@pothos/core@4.15.1(graphql@16.14.2))(graphql@16.14.2)': + dependencies: + '@pothos/core': 4.15.1(graphql@16.14.2) + graphql: 16.14.2 '@prisma/adapter-pg@7.10.0': dependencies: '@prisma/driver-adapter-utils': 7.10.0 '@types/pg': 8.23.1 - pg: 8.23.0 + pg: 8.23.1 postgres-array: 3.0.4 transitivePeerDependencies: - pg-native @@ -3559,6 +4175,8 @@ snapshots: transitivePeerDependencies: - typescript + '@prisma/dmmf@7.10.0': {} + '@prisma/driver-adapter-utils@7.10.0': dependencies: '@prisma/debug': 7.10.0 @@ -3578,6 +4196,14 @@ snapshots: '@prisma/engines-version': 7.10.0-4.0edf323efd1d98336f3f0a68684b56f689b900d3 '@prisma/get-platform': 7.10.0 + '@prisma/generator-helper@7.10.0': + dependencies: + '@prisma/debug': 7.10.0 + '@prisma/dmmf': 7.10.0 + '@prisma/generator': 7.10.0 + + '@prisma/generator@7.10.0': {} + '@prisma/get-platform@7.10.0': dependencies: '@prisma/debug': 7.10.0 @@ -3614,6 +4240,28 @@ snapshots: transitivePeerDependencies: - '@types/react-dom' + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.5': {} + + '@protobufjs/eventemitter@1.1.1': {} + + '@protobufjs/fetch@1.1.1': + dependencies: + '@protobufjs/aspromise': 1.1.2 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.2': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.2': {} + '@radix-ui/primitive@1.1.3': {} '@radix-ui/react-compose-refs@1.1.2(@types/react@19.3.0)(react@19.3.0)': @@ -3670,135 +4318,135 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@rolldown/binding-android-arm-eabi@1.2.11': + '@rolldown/binding-android-arm-eabi@1.2.14': optional: true - '@rolldown/binding-android-arm64@1.2.11': + '@rolldown/binding-android-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-arm64@1.2.11': + '@rolldown/binding-darwin-arm64@1.2.14': optional: true - '@rolldown/binding-darwin-x64@1.2.11': + '@rolldown/binding-darwin-x64@1.2.14': optional: true - '@rolldown/binding-freebsd-x64@1.2.11': + '@rolldown/binding-freebsd-x64@1.2.14': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.2.11': + '@rolldown/binding-linux-arm-gnueabihf@1.2.14': optional: true - '@rolldown/binding-linux-arm64-gnu@1.2.11': + '@rolldown/binding-linux-arm64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-arm64-musl@1.2.11': + '@rolldown/binding-linux-arm64-musl@1.2.14': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.2.11': + '@rolldown/binding-linux-ppc64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-s390x-gnu@1.2.11': + '@rolldown/binding-linux-s390x-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-gnu@1.2.11': + '@rolldown/binding-linux-x64-gnu@1.2.14': optional: true - '@rolldown/binding-linux-x64-musl@1.2.11': + '@rolldown/binding-linux-x64-musl@1.2.14': optional: true - '@rolldown/binding-openharmony-arm64@1.2.11': + '@rolldown/binding-openharmony-arm64@1.2.14': optional: true - '@rolldown/binding-win32-arm64-msvc@1.2.11': + '@rolldown/binding-win32-arm64-msvc@1.2.14': optional: true - '@rolldown/binding-win32-x64-msvc@1.2.11': + '@rolldown/binding-win32-x64-msvc@1.2.14': optional: true '@rolldown/pluginutils@1.0.1': {} - '@solid-primitives/event-listener@2.4.6(solid-js@1.9.15)': + '@solid-primitives/event-listener@2.4.6(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/keyboard@1.3.7(solid-js@1.9.15)': + '@solid-primitives/keyboard@1.3.7(solid-js@1.9.17)': dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/rootless': 1.5.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/keyed@1.5.3(solid-js@1.9.15)': + '@solid-primitives/keyed@1.5.3(solid-js@1.9.17)': dependencies: - solid-js: 1.9.15 + solid-js: 1.9.17 - '@solid-primitives/map@0.4.13(solid-js@1.9.15)': + '@solid-primitives/map@0.4.13(solid-js@1.9.17)': dependencies: - '@solid-primitives/trigger': 1.2.4(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/trigger': 1.2.4(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/media@2.3.6(solid-js@1.9.15)': + '@solid-primitives/media@2.3.6(solid-js@1.9.17)': dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/rootless': 1.5.4(solid-js@1.9.15) - '@solid-primitives/static-store': 0.1.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.17) + '@solid-primitives/static-store': 0.1.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/props@3.2.4(solid-js@1.9.15)': + '@solid-primitives/props@3.2.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/refs@1.1.4(solid-js@1.9.15)': + '@solid-primitives/refs@1.1.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/resize-observer@2.2.0(solid-js@1.9.15)': + '@solid-primitives/resize-observer@2.2.0(solid-js@1.9.17)': dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/rootless': 1.5.4(solid-js@1.9.15) - '@solid-primitives/static-store': 0.1.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.17) + '@solid-primitives/static-store': 0.1.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/rootless@1.5.4(solid-js@1.9.15)': + '@solid-primitives/rootless@1.5.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/static-store@0.1.4(solid-js@1.9.15)': + '@solid-primitives/static-store@0.1.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/storage@1.3.11(solid-js@1.9.15)': + '@solid-primitives/storage@1.3.11(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/transition-group@1.1.2(solid-js@1.9.15)': + '@solid-primitives/transition-group@1.1.2(solid-js@1.9.17)': dependencies: - solid-js: 1.9.15 + solid-js: 1.9.17 - '@solid-primitives/trigger@1.2.4(solid-js@1.9.15)': + '@solid-primitives/trigger@1.2.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/utils@6.4.1(solid-js@1.9.15)': + '@solid-primitives/utils@6.4.1(solid-js@1.9.17)': dependencies: - solid-js: 1.9.15 + solid-js: 1.9.17 '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.10.0(eslint@10.11.0(jiti@2.7.0))': + '@stylistic/eslint-plugin@5.10.0(eslint@10.12.0(jiti@2.7.0))': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) - '@typescript-eslint/types': 8.71.0 - eslint: 10.11.0(jiti@2.7.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)) + '@typescript-eslint/types': 8.71.2 + eslint: 10.12.0(jiti@2.7.0) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -3815,7 +4463,7 @@ snapshots: jiti: 2.7.0 lightningcss: 1.32.0 magic-string: 0.30.21 - source-map-js: 1.2.1 + source-map-js: 1.2.2 tailwindcss: 4.3.3 '@tailwindcss/oxide-android-arm64@4.3.3': @@ -3874,19 +4522,19 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tailwindcss/vite@4.3.3(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) '@tanstack/devtools-bundler-core@0.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@tanstack/devtools-client': 0.0.8 '@tanstack/devtools-event-bus': 0.4.3 chalk: 5.6.2 - launch-editor: 2.14.1 + launch-editor: 2.14.2 magic-string: 0.30.21 oxc-parser: 0.120.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) picomatch: 4.0.7 @@ -3909,89 +4557,89 @@ snapshots: '@tanstack/devtools-event-client@0.5.0': {} - '@tanstack/devtools-ui@0.7.1(csstype@3.2.3)(solid-js@1.9.15)': + '@tanstack/devtools-ui@0.7.1(csstype@3.2.3)(solid-js@1.9.17)': dependencies: clsx: 2.1.1 dayjs: 1.11.23 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.15 + solid-js: 1.9.17 transitivePeerDependencies: - csstype - '@tanstack/devtools-vite@0.8.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tanstack/devtools-vite@0.8.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: '@tanstack/devtools-bundler-core': 0.1.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@tanstack/devtools-client': 0.0.8 '@tanstack/devtools-event-bus': 0.4.3 chalk: 5.6.2 - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' - bufferutil - utf-8-validate - '@tanstack/devtools@0.15.0(csstype@3.2.3)(solid-js@1.9.15)': + '@tanstack/devtools@0.15.0(csstype@3.2.3)(solid-js@1.9.17)': dependencies: '@neodrag/core': 3.0.0-next.11 - '@neodrag/solid': 3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.15) - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/keyboard': 1.3.7(solid-js@1.9.15) - '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.15) + '@neodrag/solid': 3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.17) + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/keyboard': 1.3.7(solid-js@1.9.17) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.17) '@tanstack/devtools-client': 0.0.8 '@tanstack/devtools-event-bus': 0.4.3 - '@tanstack/devtools-ui': 0.7.1(csstype@3.2.3)(solid-js@1.9.15) + '@tanstack/devtools-ui': 0.7.1(csstype@3.2.3)(solid-js@1.9.17) clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.15 + solid-js: 1.9.17 transitivePeerDependencies: - bufferutil - csstype - utf-8-validate - '@tanstack/eslint-config@0.4.0(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@tanstack/eslint-config@0.4.0(@typescript-eslint/utils@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint/js': 10.0.1(eslint@10.11.0(jiti@2.7.0)) - '@stylistic/eslint-plugin': 5.10.0(eslint@10.11.0(jiti@2.7.0)) - eslint: 10.11.0(jiti@2.7.0) - eslint-plugin-import-x: 4.17.1(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)) - eslint-plugin-n: 17.24.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - globals: 17.12.0 - typescript-eslint: 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - vue-eslint-parser: 10.4.1(eslint@10.11.0(jiti@2.7.0)) + '@eslint/js': 10.0.1(eslint@10.12.0(jiti@2.7.0)) + '@stylistic/eslint-plugin': 5.10.0(eslint@10.12.0(jiti@2.7.0)) + eslint: 10.12.0(jiti@2.7.0) + eslint-plugin-import-x: 4.17.1(@typescript-eslint/utils@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)) + eslint-plugin-n: 17.24.0(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + globals: 17.13.0 + typescript-eslint: 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + vue-eslint-parser: 10.4.1(eslint@10.12.0(jiti@2.7.0)) transitivePeerDependencies: - '@typescript-eslint/utils' - eslint-import-resolver-node - supports-color - typescript - '@tanstack/history@1.162.4': {} + '@tanstack/history@1.162.5': {} - '@tanstack/match-sorter-utils@9.1.2': + '@tanstack/match-sorter-utils@9.2.6': dependencies: remove-accents: 0.5.0 - '@tanstack/query-core@5.104.0': {} + '@tanstack/query-core@5.104.2': {} - '@tanstack/query-devtools@5.104.0(csstype@3.2.3)': + '@tanstack/query-devtools@5.104.2(csstype@3.2.3)': dependencies: - '@kobalte/core': 0.13.14(solid-js@1.9.15) - '@solid-primitives/keyed': 1.5.3(solid-js@1.9.15) - '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.15) - '@solid-primitives/storage': 1.3.11(solid-js@1.9.15) - '@tanstack/match-sorter-utils': 9.1.2 - '@tanstack/query-core': 5.104.0 + '@kobalte/core': 0.13.14(solid-js@1.9.17) + '@solid-primitives/keyed': 1.5.3(solid-js@1.9.17) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.17) + '@solid-primitives/storage': 1.3.11(solid-js@1.9.17) + '@tanstack/match-sorter-utils': 9.2.6 + '@tanstack/query-core': 5.104.2 clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.15 - solid-transition-group: 0.2.3(solid-js@1.9.15) + solid-js: 1.9.17 + solid-transition-group: 0.2.3(solid-js@1.9.17) superjson: 2.2.6 transitivePeerDependencies: - csstype - '@tanstack/react-devtools@0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15)': + '@tanstack/react-devtools@0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17)': dependencies: - '@tanstack/devtools': 0.15.0(csstype@3.2.3)(solid-js@1.9.15) + '@tanstack/devtools': 0.15.0(csstype@3.2.3)(solid-js@1.9.17) '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) react: 19.3.0 @@ -4002,68 +4650,68 @@ snapshots: - solid-js - utf-8-validate - '@tanstack/react-query-devtools@5.104.0(@tanstack/react-query@5.104.0(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0)': + '@tanstack/react-query-devtools@5.104.2(@tanstack/react-query@5.104.2(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0)': dependencies: - '@tanstack/query-devtools': 5.104.0(csstype@3.2.3) - '@tanstack/react-query': 5.104.0(react@19.3.0) + '@tanstack/query-devtools': 5.104.2(csstype@3.2.3) + '@tanstack/react-query': 5.104.2(react@19.3.0) '@types/react': 19.3.0 react: 19.3.0 transitivePeerDependencies: - csstype - '@tanstack/react-query@5.104.0(react@19.3.0)': + '@tanstack/react-query@5.104.2(react@19.3.0)': dependencies: - '@tanstack/query-core': 5.104.0 + '@tanstack/query-core': 5.104.2 react: 19.3.0 - '@tanstack/react-router-devtools@1.167.2(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.33)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-router-devtools@1.167.2(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.37)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-devtools-core': 1.168.2(@tanstack/router-core@1.171.33)(csstype@3.2.3) + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/router-devtools-core': 1.168.2(@tanstack/router-core@1.171.37)(csstype@3.2.3) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: - '@tanstack/router-core': 1.171.33 + '@tanstack/router-core': 1.171.37 transitivePeerDependencies: - csstype - '@tanstack/react-router-ssr-query@1.167.3(@tanstack/query-core@5.104.0)(@tanstack/react-query@5.104.0(react@19.3.0))(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.33)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-router-ssr-query@1.167.3(@tanstack/query-core@5.104.2)(@tanstack/react-query@5.104.2(react@19.3.0))(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.37)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/query-core': 5.104.0 - '@tanstack/react-query': 5.104.0(react@19.3.0) - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-ssr-query-core': 1.169.3(@tanstack/query-core@5.104.0)(@tanstack/router-core@1.171.33) + '@tanstack/query-core': 5.104.2 + '@tanstack/react-query': 5.104.2(react@19.3.0) + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/router-ssr-query-core': 1.169.3(@tanstack/query-core@5.104.2)(@tanstack/router-core@1.171.37) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) transitivePeerDependencies: - '@tanstack/router-core' - '@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/history': 1.162.4 + '@tanstack/history': 1.162.5 '@tanstack/react-store': 0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-core': 1.171.33 + '@tanstack/router-core': 1.171.37 isbot: 5.2.2 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - '@tanstack/react-start-client@1.168.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-start-client@1.168.42(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-core': 1.171.33 - '@tanstack/start-client-core': 1.170.33 + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/router-core': 1.171.37 + '@tanstack/start-client-core': 1.170.37 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - '@tanstack/react-start-rsc@0.1.58(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tanstack/react-start-rsc@0.1.62(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-core': 1.171.33 + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/router-core': 1.171.37 '@tanstack/router-utils': 1.162.3 - '@tanstack/start-client-core': 1.170.33 + '@tanstack/start-client-core': 1.170.37 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-plugin-core': 1.171.48(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - '@tanstack/start-storage-context': 1.167.35 + '@tanstack/start-plugin-core': 1.171.52(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + '@tanstack/start-storage-context': 1.167.39 pathe: 2.0.3 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -4071,7 +4719,6 @@ snapshots: - '@farmfe/core' - '@rsbuild/core' - bun-types-no-globals - - crossws - esbuild - rolldown - rollup @@ -4081,36 +4728,33 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/react-start-server@1.167.45(crossws@0.4.12(srvx@0.11.22))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-start-server@1.167.49(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-core': 1.171.33 - '@tanstack/start-server-core': 1.169.38(crossws@0.4.12(srvx@0.11.22)) + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/router-core': 1.171.37 + '@tanstack/start-server-core': 1.169.42 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - transitivePeerDependencies: - - crossws - '@tanstack/react-start@1.168.59(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tanstack/react-start@1.169.1(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-client': 1.168.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-rsc': 0.1.58(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - '@tanstack/react-start-server': 1.167.45(crossws@0.4.12(srvx@0.11.22))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-start-client': 1.168.42(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/react-start-rsc': 0.1.62(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + '@tanstack/react-start-server': 1.167.49(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-utils': 1.162.3 - '@tanstack/start-client-core': 1.170.33 - '@tanstack/start-plugin-core': 1.171.48(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - '@tanstack/start-server-core': 1.169.38(crossws@0.4.12(srvx@0.11.22)) + '@tanstack/start-client-core': 1.170.37 + '@tanstack/start-plugin-core': 1.171.52(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + '@tanstack/start-server-core': 1.169.42 pathe: 2.0.3 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - bun-types-no-globals - - crossws - esbuild - react-server-dom-rspack - rolldown @@ -4127,56 +4771,56 @@ snapshots: react-dom: 19.3.0(react@19.3.0) use-sync-external-store: 1.7.0(react@19.3.0) - '@tanstack/router-cli@1.167.39': + '@tanstack/router-cli@1.167.43': dependencies: - '@tanstack/router-generator': 1.167.39 + '@tanstack/router-generator': 1.167.43 chokidar: 5.0.0 yargs: 17.7.3 transitivePeerDependencies: - supports-color - '@tanstack/router-core@1.171.33': + '@tanstack/router-core@1.171.37': dependencies: - '@tanstack/history': 1.162.4 + '@tanstack/history': 1.162.5 cookie-es: 3.1.1 - seroval: 1.6.8 - seroval-plugins: 1.6.8(seroval@1.6.8) + seroval: 1.6.9 + seroval-plugins: 1.6.9(seroval@1.6.9) - '@tanstack/router-devtools-core@1.168.2(@tanstack/router-core@1.171.33)(csstype@3.2.3)': + '@tanstack/router-devtools-core@1.168.2(@tanstack/router-core@1.171.37)(csstype@3.2.3)': dependencies: - '@tanstack/router-core': 1.171.33 + '@tanstack/router-core': 1.171.37 clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) optionalDependencies: csstype: 3.2.3 - '@tanstack/router-generator@1.167.39': + '@tanstack/router-generator@1.167.43': dependencies: '@babel/types': 7.29.8 - '@tanstack/router-core': 1.171.33 + '@tanstack/router-core': 1.171.37 '@tanstack/router-utils': 1.162.3 '@tanstack/virtual-file-routes': 1.162.0 jiti: 2.7.0 magic-string: 0.30.21 - prettier: 3.9.9 - zod: 4.6.5 + prettier: 3.9.10 + zod: 4.6.7 transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.41(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tanstack/router-plugin@1.168.45(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: '@babel/core': 7.29.7 '@babel/template': 7.29.7 '@babel/types': 7.29.8 - '@tanstack/router-core': 1.171.33 - '@tanstack/router-generator': 1.167.39 + '@tanstack/router-core': 1.171.37 + '@tanstack/router-generator': 1.167.43 '@tanstack/router-utils': 1.162.3 chokidar: 5.0.0 - unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) - zod: 4.6.5 + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + zod: 4.6.7 optionalDependencies: - '@tanstack/react-router': 1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + '@tanstack/react-router': 1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -4187,10 +4831,10 @@ snapshots: - supports-color - unloader - '@tanstack/router-ssr-query-core@1.169.3(@tanstack/query-core@5.104.0)(@tanstack/router-core@1.171.33)': + '@tanstack/router-ssr-query-core@1.169.3(@tanstack/query-core@5.104.2)(@tanstack/router-core@1.171.37)': dependencies: - '@tanstack/query-core': 5.104.0 - '@tanstack/router-core': 1.171.33 + '@tanstack/query-core': 5.104.2 + '@tanstack/router-core': 1.171.37 '@tanstack/router-utils@1.162.3': dependencies: @@ -4205,46 +4849,45 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/start-client-core@1.170.33': + '@tanstack/start-client-core@1.170.37': dependencies: - '@tanstack/router-core': 1.171.33 + '@tanstack/router-core': 1.171.37 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-storage-context': 1.167.35 - seroval: 1.6.8 + '@tanstack/start-storage-context': 1.167.39 + seroval: 1.6.9 '@tanstack/start-fn-stubs@1.162.0': {} - '@tanstack/start-plugin-core@1.171.48(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@0.11.22))(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@tanstack/start-plugin-core@1.171.52(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7 '@babel/types': 7.29.8 '@jridgewell/remapping': 2.3.5 - '@tanstack/router-core': 1.171.33 - '@tanstack/router-generator': 1.167.39 - '@tanstack/router-plugin': 1.168.41(@tanstack/react-router@1.170.40(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + '@tanstack/router-core': 1.171.37 + '@tanstack/router-generator': 1.167.43 + '@tanstack/router-plugin': 1.168.45(@tanstack/react-router@1.170.44(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) '@tanstack/router-utils': 1.162.3 - '@tanstack/start-server-core': 1.169.38(crossws@0.4.12(srvx@0.11.22)) - exsolve: 1.1.1 + '@tanstack/start-server-core': 1.169.42 + exsolve: 1.1.3 lightningcss: 1.33.0 pathe: 2.0.3 picomatch: 4.0.7 - seroval: 1.6.8 + seroval: 1.6.9 source-map: 0.7.6 srvx: 0.11.22 tinyglobby: 0.2.17 ufo: 1.6.4 - vitefu: 1.1.3(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) + vitefu: 1.1.3(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)) xmlbuilder2: 4.0.3 - zod: 4.6.5 + zod: 4.6.7 optionalDependencies: - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' - '@tanstack/react-router' - bun-types-no-globals - - crossws - esbuild - rolldown - rollup @@ -4253,21 +4896,19 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/start-server-core@1.169.38(crossws@0.4.12(srvx@0.11.22))': + '@tanstack/start-server-core@1.169.42': dependencies: - '@tanstack/history': 1.162.4 - '@tanstack/router-core': 1.171.33 - '@tanstack/start-client-core': 1.170.33 - '@tanstack/start-storage-context': 1.167.35 + '@tanstack/history': 1.162.5 + '@tanstack/router-core': 1.171.37 + '@tanstack/start-client-core': 1.170.37 + '@tanstack/start-storage-context': 1.167.39 + cookie-es: 3.1.1 fetchdts: 0.1.7 - h3-v2: h3@2.0.1-rc.20(crossws@0.4.12(srvx@0.11.22)) - seroval: 1.6.8 - transitivePeerDependencies: - - crossws + seroval: 1.6.9 - '@tanstack/start-storage-context@1.167.35': + '@tanstack/start-storage-context@1.167.39': dependencies: - '@tanstack/router-core': 1.171.33 + '@tanstack/router-core': 1.171.37 '@tanstack/store@0.11.2': {} @@ -4316,16 +4957,18 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/lodash@4.17.25': {} + '@types/lodash@4.17.26': {} + + '@types/long@4.0.2': {} - '@types/node@22.20.4': + '@types/node@22.20.5': dependencies: undici-types: 6.21.0 '@types/pg@8.23.1': dependencies: - '@types/node': 22.20.4 - pg-protocol: 1.16.0 + '@types/node': 22.20.5 + pg-protocol: 1.16.1 pg-types: 2.2.0 '@types/react-dom@19.3.0(@types/react@19.3.0)': @@ -4336,72 +4979,72 @@ snapshots: dependencies: csstype: 3.2.3 - '@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.71.2(@typescript-eslint/parser@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/type-utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.71.0 - eslint: 10.11.0(jiti@2.7.0) - ignore: 7.0.10 + '@typescript-eslint/parser': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.71.2 + '@typescript-eslint/type-utils': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.71.2 + eslint: 10.12.0(jiti@2.7.0) + ignore: 7.0.12 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/parser@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/scope-manager': 8.71.2 + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.71.2 debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.71.0(typescript@6.0.3)': + '@typescript-eslint/project-service@8.71.2(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/tsconfig-utils': 8.71.2(typescript@6.0.3) + '@typescript-eslint/types': 8.71.2 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.71.0': + '@typescript-eslint/scope-manager@8.71.2': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/visitor-keys': 8.71.2 - '@typescript-eslint/tsconfig-utils@8.71.0(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.71.2(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/type-utils@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.71.0': {} + '@typescript-eslint/types@8.71.2': {} - '@typescript-eslint/typescript-estree@8.71.0(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.71.2(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.71.0(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/project-service': 8.71.2(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.71.2(typescript@6.0.3) + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/visitor-keys': 8.71.2 debug: 4.4.3 minimatch: 10.2.6 semver: 7.8.5 @@ -4411,20 +5054,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/utils@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.71.2 + '@typescript-eslint/types': 8.71.2 + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + eslint: 10.12.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.71.0': + '@typescript-eslint/visitor-keys@8.71.2': dependencies: - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/types': 8.71.2 eslint-visitor-keys: 5.0.1 '@unrs/resolver-binding-android-arm-eabi@1.12.2': @@ -4485,7 +5128,7 @@ snapshots: dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@napi-rs/wasm-runtime': 1.2.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': @@ -4527,7 +5170,7 @@ snapshots: '@visx/responsive@4.0.1-alpha.0(react@19.3.0)': dependencies: - '@types/lodash': 4.17.25 + '@types/lodash': 4.17.26 '@types/react': 19.3.0 lodash: 4.18.1 react: 19.3.0 @@ -4538,7 +5181,7 @@ snapshots: '@visx/shape@4.0.1-alpha.0(react@19.3.0)': dependencies: - '@types/lodash': 4.17.25 + '@types/lodash': 4.17.26 '@types/react': 19.3.0 '@visx/curve': 4.0.1-alpha.0 '@visx/group': 4.0.1-alpha.0(react@19.3.0) @@ -4574,16 +5217,20 @@ snapshots: d3-time-format: 4.1.0 internmap: 2.0.3 - '@vitejs/plugin-react@6.1.1(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': + '@vitejs/plugin-react@6.1.2(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + + '@whatwg-node/promise-helpers@2.0.0': + dependencies: + tslib: 2.8.1 - acorn-jsx@5.3.2(acorn@8.18.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 - acorn@8.18.0: {} + acorn@8.19.0: {} ajv@6.15.0: dependencies: @@ -4609,34 +5256,58 @@ snapshots: argparse@2.0.1: {} + async-retry@1.3.3: + dependencies: + retry: 0.13.1 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + aws-ssl-profiles@1.1.2: {} babel-dead-code-elimination@1.0.12: dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.9 - '@babel/traverse': 7.29.8 + '@babel/traverse': 7.29.10 '@babel/types': 7.29.8 transitivePeerDependencies: - supports-color balanced-match@4.0.4: {} - baseline-browser-mapping@2.11.26: {} + baseline-browser-mapping@2.11.28: {} better-result@2.10.0: {} + body-parser@2.3.0: + dependencies: + bytes: 3.1.2 + content-type: 2.1.0 + debug: 4.4.3 + http-errors: 2.0.1 + iconv-lite: 0.7.3 + on-finished: 2.4.1 + qs: 6.16.0 + raw-body: 3.0.2 + type-is: 2.1.0 + transitivePeerDependencies: + - supports-color + brace-expansion@5.0.12: dependencies: balanced-match: 4.0.4 - browserslist@4.29.2: + browserslist@4.29.3: dependencies: - baseline-browser-mapping: 2.11.26 - caniuse-lite: 1.0.30001813 - electron-to-chromium: 1.5.440 - node-releases: 2.0.57 - update-browserslist-db: 1.3.3(browserslist@4.29.2) + baseline-browser-mapping: 2.11.28 + caniuse-lite: 1.0.30001816 + electron-to-chromium: 1.5.456 + node-releases: 2.0.58 + update-browserslist-db: 1.3.4(browserslist@4.29.3) + + bytes@3.1.2: {} c12@3.3.4: dependencies: @@ -4644,7 +5315,7 @@ snapshots: confbox: 0.2.4 defu: 6.1.7 dotenv: 17.4.2 - exsolve: 1.1.1 + exsolve: 1.1.3 giget: 3.3.1 jiti: 2.7.0 ohash: 2.0.12 @@ -4661,7 +5332,24 @@ snapshots: keyv: 5.6.0 qified: 0.10.1 - caniuse-lite@1.0.30001813: {} + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.9: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + caniuse-lite@1.0.30001816: {} chalk@5.6.2: {} @@ -4693,11 +5381,24 @@ snapshots: consola@3.4.2: {} + content-type@1.0.5: {} + + content-type@2.1.0: {} + convert-source-map@2.0.0: {} cookie-es@3.1.1: {} - copy-anything@4.1.4: {} + copy-anything@4.1.5: {} + + cors@2.8.6: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cross-inspect@1.0.1: + dependencies: + tslib: 2.8.1 cross-spawn@7.0.6: dependencies: @@ -4705,7 +5406,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.4.12(srvx@0.11.22): + crossws@0.4.15(srvx@0.11.22): optionalDependencies: srvx: 0.11.22 @@ -4774,6 +5475,12 @@ snapshots: deepmerge-ts@7.1.5: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + defu@6.1.7: {} delaunator@5.1.0: @@ -4782,6 +5489,8 @@ snapshots: denque@2.1.0: {} + depd@2.0.0: {} + destr@2.0.5: {} detect-libc@2.1.2: {} @@ -4803,12 +5512,20 @@ snapshots: dotenv@17.4.2: {} + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + ee-first@1.1.1: {} + effect@3.20.0: dependencies: '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 - electron-to-chromium@1.5.440: {} + electron-to-chromium@1.5.456: {} elkjs@0.11.1: {} @@ -4816,6 +5533,8 @@ snapshots: empathic@2.0.0: {} + encodeurl@2.0.0: {} + enhanced-resolve@5.26.0: dependencies: graceful-fs: 4.2.11 @@ -4825,11 +5544,19 @@ snapshots: env-runner@0.1.16: dependencies: - crossws: 0.4.12(srvx@0.11.22) - exsolve: 1.1.1 + crossws: 0.4.15(srvx@0.11.22) + exsolve: 1.1.3 httpxy: 0.5.5 srvx: 0.11.22 + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + esbuild@0.28.2: optionalDependencies: '@esbuild/aix-ppc64': 0.28.2 @@ -4861,11 +5588,13 @@ snapshots: escalade@3.2.0: {} + escape-html@1.0.3: {} + escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.1(eslint@10.11.0(jiti@2.7.0)): + eslint-compat-utils@0.5.1(eslint@10.12.0(jiti@2.7.0)): dependencies: - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) semver: 7.8.5 eslint-import-context@0.1.9(unrs-resolver@1.12.2): @@ -4875,19 +5604,19 @@ snapshots: optionalDependencies: unrs-resolver: 1.12.2 - eslint-plugin-es-x@7.8.0(eslint@10.11.0(jiti@2.7.0)): + eslint-plugin-es-x@7.8.0(eslint@10.12.0(jiti@2.7.0)): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 - eslint: 10.11.0(jiti@2.7.0) - eslint-compat-utils: 0.5.1(eslint@10.11.0(jiti@2.7.0)) + eslint: 10.12.0(jiti@2.7.0) + eslint-compat-utils: 0.5.1(eslint@10.12.0(jiti@2.7.0)) - eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)): + eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0)): dependencies: - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/types': 8.71.2 comment-parser: 1.4.9 debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) eslint-import-context: 0.1.9(unrs-resolver@1.12.2) is-glob: 4.0.3 minimatch: 10.2.6 @@ -4895,16 +5624,16 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.12.2 optionalDependencies: - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) transitivePeerDependencies: - supports-color - eslint-plugin-n@17.24.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-n@17.24.0(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)) enhanced-resolve: 5.26.0 - eslint: 10.11.0(jiti@2.7.0) - eslint-plugin-es-x: 7.8.0(eslint@10.11.0(jiti@2.7.0)) + eslint: 10.12.0(jiti@2.7.0) + eslint-plugin-es-x: 7.8.0(eslint@10.12.0(jiti@2.7.0)) get-tsconfig: 4.14.3 globals: 15.15.0 globrex: 0.1.2 @@ -4927,9 +5656,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.11.0(jiti@2.7.0): + eslint@10.12.0(jiti@2.7.0): dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.12.0(jiti@2.7.0)) '@eslint-community/regexpp': 4.12.2 '@eslint/config-array': 0.23.5 '@eslint/config-helpers': 0.7.0 @@ -4966,14 +5695,14 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 4.2.1 espree@11.2.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: @@ -4988,7 +5717,7 @@ snapshots: esutils@2.0.3: {} - exsolve@1.1.1: {} + exsolve@1.1.3: {} fast-check@3.23.2: dependencies: @@ -5018,11 +5747,22 @@ snapshots: dependencies: flat-cache: 6.1.23 + finalhandler@2.1.1: + dependencies: + debug: 4.4.3 + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + find-my-way@9.7.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 - safe-regex2: 5.1.1 + safe-regex2: 5.1.2 find-up@5.0.0: dependencies: @@ -5037,6 +5777,10 @@ snapshots: flatted@3.4.4: {} + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 @@ -5045,6 +5789,8 @@ snapshots: fsevents@2.3.3: optional: true + function-bind@1.1.2: {} + generate-function@2.3.1: dependencies: is-property: 1.0.2 @@ -5053,8 +5799,26 @@ snapshots: get-caller-file@2.0.5: {} + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.4 + math-intrinsics: 1.1.0 + get-port-please@3.2.0: {} + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + get-tsconfig@4.14.3: dependencies: resolve-pkg-maps: 1.0.0 @@ -5067,7 +5831,7 @@ snapshots: globals@15.15.0: {} - globals@17.12.0: {} + globals@17.13.0: {} globrex@0.1.2: {} @@ -5075,36 +5839,55 @@ snapshots: dependencies: csstype: 3.2.3 + gopd@1.2.0: {} + graceful-fs@4.2.11: {} grammex@3.1.13: {} graphmatch@1.1.1: {} - h3@2.0.1-rc.20(crossws@0.4.12(srvx@0.11.22)): + graphql@16.14.2: {} + + h3@2.0.1-rc.22(crossws@0.4.15(srvx@0.11.22)): dependencies: rou3: 0.8.1 srvx: 0.11.22 optionalDependencies: - crossws: 0.4.12(srvx@0.11.22) + crossws: 0.4.15(srvx@0.11.22) - h3@2.0.1-rc.22(crossws@0.4.12(srvx@0.11.22)): + has-property-descriptors@1.0.2: dependencies: - rou3: 0.8.1 - srvx: 0.11.22 - optionalDependencies: - crossws: 0.4.12(srvx@0.11.22) + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 hashery@1.5.1: dependencies: hookified: 1.15.1 + hasown@2.0.4: + dependencies: + function-bind: 1.1.2 + hookable@6.1.2: {} hookified@1.15.1: {} hookified@2.2.0: {} + http-errors@2.0.1: + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.2 + toidentifier: 1.0.1 + httpxy@0.5.5: {} iconv-lite@0.7.3: @@ -5113,12 +5896,16 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.10: {} + ignore@7.0.12: {} imurmurhash@0.1.4: {} + inherits@2.0.4: {} + internmap@2.0.3: {} + is-callable@1.2.7: {} + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -5129,6 +5916,12 @@ snapshots: is-property@1.0.2: {} + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.24 + + isarray@2.0.5: {} + isbot@5.2.2: {} isexe@2.0.0: {} @@ -5155,10 +5948,10 @@ snapshots: dependencies: '@keyv/serialize': 1.1.1 - launch-editor@2.14.1: + launch-editor@2.14.2: dependencies: picocolors: 1.1.1 - shell-quote: 1.11.0 + shell-quote: 1.12.0 levn@0.4.1: dependencies: @@ -5267,10 +6060,18 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.sortby@4.7.0: {} + lodash@4.18.1: {} + loglevel@1.9.2: {} + + long@4.0.0: {} + long@5.3.2: {} + lru-cache@11.5.3: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -5281,6 +6082,16 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 + math-intrinsics@1.1.0: {} + + media-typer@1.1.1: {} + + mime-db@1.54.0: {} + + mime-types@3.0.2: + dependencies: + mime-db: 1.54.0 + minimatch@10.2.6: dependencies: brace-expansion: 5.0.12 @@ -5305,35 +6116,39 @@ snapshots: dependencies: lru.min: 1.1.5 - nanoid@3.3.19: {} + nanoid@3.3.20: {} napi-postinstall@0.3.4: {} natural-compare@1.4.0: {} + negotiator@1.1.0: + dependencies: + content-type: 2.1.0 + nf3@0.3.24: {} - nitro@3.0.260610-beta(@electric-sql/pglite@0.4.3)(chokidar@5.0.0)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(mysql2@3.15.3)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): + nitro@3.0.260610-beta(@electric-sql/pglite@0.4.3)(chokidar@5.0.0)(dotenv@17.4.2)(giget@3.3.1)(jiti@2.7.0)(lru-cache@11.5.3)(mysql2@3.15.3)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): dependencies: consola: 3.4.2 - crossws: 0.4.12(srvx@0.11.22) + crossws: 0.4.15(srvx@0.11.22) db0: 0.3.4(@electric-sql/pglite@0.4.3)(mysql2@3.15.3) env-runner: 0.1.16 - h3: 2.0.1-rc.22(crossws@0.4.12(srvx@0.11.22)) + h3: 2.0.1-rc.22(crossws@0.4.15(srvx@0.11.22)) hookable: 6.1.2 nf3: 0.3.24 ocache: 0.1.5 ofetch: 2.0.0-alpha.3 ohash: 2.0.12 - rolldown: 1.2.11 + rolldown: 1.2.14 srvx: 0.11.22 unenv: 2.0.0-rc.24 - unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(mysql2@3.15.3))(ofetch@2.0.0-alpha.3) + unstorage: 2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(mysql2@3.15.3))(lru-cache@11.5.3)(ofetch@2.0.0-alpha.3) optionalDependencies: dotenv: 17.4.2 giget: 3.3.1 jiti: 2.7.0 - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -5366,7 +6181,11 @@ snapshots: - uploadthing - wrangler - node-releases@2.0.57: {} + node-releases@2.0.58: {} + + object-assign@4.1.1: {} + + object-inspect@1.13.4: {} ocache@0.1.5: dependencies: @@ -5376,6 +6195,10 @@ snapshots: ohash@2.0.12: {} + on-finished@2.4.1: + dependencies: + ee-first: 1.1.1 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -5421,6 +6244,8 @@ snapshots: dependencies: p-limit: 3.1.0 + parseurl@1.3.3: {} + path-exists@4.0.0: {} path-key@3.1.1: {} @@ -5429,18 +6254,18 @@ snapshots: perfect-debounce@2.1.0: {} - pg-cloudflare@1.4.0: + pg-cloudflare@1.4.1: optional: true - pg-connection-string@2.14.0: {} + pg-connection-string@2.14.1: {} pg-int8@1.0.1: {} - pg-pool@3.14.0(pg@8.23.0): + pg-pool@3.14.0(pg@8.23.1): dependencies: - pg: 8.23.0 + pg: 8.23.1 - pg-protocol@1.16.0: {} + pg-protocol@1.16.1: {} pg-types@2.2.0: dependencies: @@ -5450,15 +6275,15 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - pg@8.23.0: + pg@8.23.1: dependencies: - pg-connection-string: 2.14.0 - pg-pool: 3.14.0(pg@8.23.0) - pg-protocol: 1.16.0 + pg-connection-string: 2.14.1 + pg-pool: 3.14.0(pg@8.23.1) + pg-protocol: 1.16.1 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: - pg-cloudflare: 1.4.0 + pg-cloudflare: 1.4.1 pgpass@1.0.5: dependencies: @@ -5471,19 +6296,21 @@ snapshots: pkg-types@2.3.3: dependencies: confbox: 0.3.1 - exsolve: 1.1.1 + exsolve: 1.1.3 pathe: 2.0.3 + possible-typed-array-names@1.1.0: {} + postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.28: + postcss@8.5.30: dependencies: - nanoid: 3.3.19 + nanoid: 3.3.20 picocolors: 1.1.1 - source-map-js: 1.2.1 + source-map-js: 1.2.2 postgres-array@2.0.0: {} @@ -5501,7 +6328,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.9.9: {} + prettier@3.9.10: {} prisma@7.10.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3): dependencies: @@ -5534,6 +6361,18 @@ snapshots: dependencies: hookified: 2.2.0 + qs@6.16.0: + dependencies: + es-define-property: 1.0.1 + side-channel: 1.1.1 + + raw-body@3.0.2: + dependencies: + bytes: 3.1.2 + http-errors: 2.0.1 + iconv-lite: 0.7.3 + unpipe: 1.0.0 + rc9@3.1.0: dependencies: defu: 6.1.7 @@ -5562,32 +6401,36 @@ snapshots: retry@0.12.0: {} + retry@0.13.1: {} + robust-predicates@3.0.3: {} - rolldown@1.2.11: + rolldown@1.2.14: dependencies: - '@oxc-project/types': 0.151.0 + '@oxc-project/types': 0.154.0 '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm-eabi': 1.2.11 - '@rolldown/binding-android-arm64': 1.2.11 - '@rolldown/binding-darwin-arm64': 1.2.11 - '@rolldown/binding-darwin-x64': 1.2.11 - '@rolldown/binding-freebsd-x64': 1.2.11 - '@rolldown/binding-linux-arm-gnueabihf': 1.2.11 - '@rolldown/binding-linux-arm64-gnu': 1.2.11 - '@rolldown/binding-linux-arm64-musl': 1.2.11 - '@rolldown/binding-linux-ppc64-gnu': 1.2.11 - '@rolldown/binding-linux-s390x-gnu': 1.2.11 - '@rolldown/binding-linux-x64-gnu': 1.2.11 - '@rolldown/binding-linux-x64-musl': 1.2.11 - '@rolldown/binding-openharmony-arm64': 1.2.11 - '@rolldown/binding-win32-arm64-msvc': 1.2.11 - '@rolldown/binding-win32-x64-msvc': 1.2.11 + '@rolldown/binding-android-arm-eabi': 1.2.14 + '@rolldown/binding-android-arm64': 1.2.14 + '@rolldown/binding-darwin-arm64': 1.2.14 + '@rolldown/binding-darwin-x64': 1.2.14 + '@rolldown/binding-freebsd-x64': 1.2.14 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.14 + '@rolldown/binding-linux-arm64-gnu': 1.2.14 + '@rolldown/binding-linux-arm64-musl': 1.2.14 + '@rolldown/binding-linux-ppc64-gnu': 1.2.14 + '@rolldown/binding-linux-s390x-gnu': 1.2.14 + '@rolldown/binding-linux-x64-gnu': 1.2.14 + '@rolldown/binding-linux-x64-musl': 1.2.14 + '@rolldown/binding-openharmony-arm64': 1.2.14 + '@rolldown/binding-win32-arm64-msvc': 1.2.14 + '@rolldown/binding-win32-x64-msvc': 1.2.14 rou3@0.8.1: {} - safe-regex2@5.1.1: + safe-buffer@5.2.1: {} + + safe-regex2@5.1.2: dependencies: ret: 0.5.0 @@ -5601,17 +6444,28 @@ snapshots: seq-queue@0.0.5: {} - seroval-plugins@1.5.6(seroval@1.5.6): + seroval-plugins@1.6.9(seroval@1.6.9): dependencies: - seroval: 1.5.6 + seroval: 1.6.9 + + seroval@1.6.9: {} - seroval-plugins@1.6.8(seroval@1.6.8): + set-function-length@1.2.2: dependencies: - seroval: 1.6.8 + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 - seroval@1.5.6: {} + setprototypeof@1.2.0: {} - seroval@1.6.8: {} + sha.js@2.4.12: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + to-buffer: 1.2.2 shebang-command@2.0.0: dependencies: @@ -5619,35 +6473,63 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.11.0: {} + shell-quote@1.12.0: {} + + side-channel-list@1.0.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.1: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.1 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 signal-exit@3.0.7: {} signal-exit@4.1.0: {} - solid-js@1.9.15: + solid-js@1.9.17: dependencies: csstype: 3.2.3 - seroval: 1.5.6 - seroval-plugins: 1.5.6(seroval@1.5.6) + seroval: 1.6.9 + seroval-plugins: 1.6.9(seroval@1.6.9) - solid-presence@0.2.0(solid-js@1.9.15): + solid-presence@0.2.0(solid-js@1.9.17): dependencies: - '@corvu/utils': 0.4.2(solid-js@1.9.15) - solid-js: 1.9.15 + '@corvu/utils': 0.4.2(solid-js@1.9.17) + solid-js: 1.9.17 - solid-prevent-scroll@0.1.11(solid-js@1.9.15): + solid-prevent-scroll@0.1.11(solid-js@1.9.17): dependencies: - '@corvu/utils': 0.4.2(solid-js@1.9.15) - solid-js: 1.9.15 + '@corvu/utils': 0.4.2(solid-js@1.9.17) + solid-js: 1.9.17 - solid-transition-group@0.2.3(solid-js@1.9.15): + solid-transition-group@0.2.3(solid-js@1.9.17): dependencies: - '@solid-primitives/refs': 1.1.4(solid-js@1.9.15) - '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/refs': 1.1.4(solid-js@1.9.17) + '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.17) + solid-js: 1.9.17 - source-map-js@1.2.1: {} + source-map-js@1.2.2: {} source-map@0.7.6: {} @@ -5659,6 +6541,8 @@ snapshots: stable-hash-x@0.2.0: {} + statuses@2.0.2: {} + std-env@3.10.0: {} string-width@4.2.3: @@ -5673,7 +6557,7 @@ snapshots: superjson@2.2.6: dependencies: - copy-anything: 4.1.4 + copy-anything: 4.1.5 tailwindcss@4.3.3: {} @@ -5684,6 +6568,14 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 + to-buffer@1.2.2: + dependencies: + isarray: 2.0.5 + safe-buffer: 5.2.1 + typed-array-buffer: 1.0.3 + + toidentifier@1.0.1: {} + ts-api-utils@2.5.0(typescript@6.0.3): dependencies: typescript: 6.0.3 @@ -5705,13 +6597,25 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + type-is@2.1.0: dependencies: - '@typescript-eslint/eslint-plugin': 8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0) + content-type: 2.1.0 + media-typer: 1.1.1 + mime-types: 3.0.2 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typescript-eslint@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.71.2(@typescript-eslint/parser@8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.71.2(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.2(eslint@10.12.0(jiti@2.7.0))(typescript@6.0.3) + eslint: 10.12.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -5726,15 +6630,17 @@ snapshots: dependencies: pathe: 2.0.3 - unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.11)(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): + unpipe@1.0.0: {} + + unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.14)(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 optionalDependencies: esbuild: 0.28.2 - rolldown: 1.2.11 - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + rolldown: 1.2.14 + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) unrs-resolver@1.12.2: dependencies: @@ -5763,15 +6669,16 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 - unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(mysql2@3.15.3))(ofetch@2.0.0-alpha.3): + unstorage@2.0.0-alpha.7(chokidar@5.0.0)(db0@0.3.4(@electric-sql/pglite@0.4.3)(mysql2@3.15.3))(lru-cache@11.5.3)(ofetch@2.0.0-alpha.3): optionalDependencies: chokidar: 5.0.0 db0: 0.3.4(@electric-sql/pglite@0.4.3)(mysql2@3.15.3) + lru-cache: 11.5.3 ofetch: 2.0.0-alpha.3 - update-browserslist-db@1.3.3(browserslist@4.29.2): + update-browserslist-db@1.3.4(browserslist@4.29.3): dependencies: - browserslist: 4.29.2 + browserslist: 4.29.3 escalade: 3.2.0 picocolors: 1.1.1 @@ -5789,28 +6696,30 @@ snapshots: optionalDependencies: typescript: 6.0.3 - vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15): + vary@1.1.2: {} + + vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 - rolldown: 1.2.11 + postcss: 8.5.30 + rolldown: 1.2.14 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 22.20.4 + '@types/node': 22.20.5 esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 tsx: 4.23.15 - vitefu@1.1.3(vite@8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): + vitefu@1.1.3(vite@8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)): optionalDependencies: - vite: 8.3.1(@types/node@22.20.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) + vite: 8.3.4(@types/node@22.20.5)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15) - vue-eslint-parser@10.4.1(eslint@10.11.0(jiti@2.7.0)): + vue-eslint-parser@10.4.1(eslint@10.12.0(jiti@2.7.0)): dependencies: debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) + eslint: 10.12.0(jiti@2.7.0) eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 espree: 11.2.0 @@ -5821,6 +6730,18 @@ snapshots: webpack-virtual-modules@0.6.2: {} + whatwg-mimetype@4.0.0: {} + + which-typed-array@1.1.24: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.9 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -5867,4 +6788,4 @@ snapshots: grammex: 3.1.13 graphmatch: 1.1.1 - zod@4.6.5: {} + zod@4.6.7: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3c30a4c..27c5199 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,7 @@ +packages: + - 'apps/*' + - 'packages/*' + allowBuilds: esbuild: true lightningcss: true diff --git a/prettier.config.js b/prettier.config.js index aea1c48..f7279f7 100644 --- a/prettier.config.js +++ b/prettier.config.js @@ -4,7 +4,7 @@ const config = { semi: false, singleQuote: true, - trailingComma: "all", -}; + trailingComma: 'all', +} -export default config; +export default config diff --git a/prisma/seed.ts b/prisma/seed.ts deleted file mode 100644 index 2b5d338..0000000 --- a/prisma/seed.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { PrismaClient } from '../src/generated/prisma/client.js' - -import { getDatabaseUrl } from '../src/database-url.js' - -import { PrismaPg } from '@prisma/adapter-pg' - -const adapter = new PrismaPg({ - connectionString: getDatabaseUrl(), -}) - -const prisma = new PrismaClient({ adapter }) - -async function main() { - console.log('๐ŸŒฑ Seeding database...') - - // Clear existing todos - await prisma.todo.deleteMany() - - // Create example todos - const todos = await prisma.todo.createMany({ - data: [ - { title: 'Buy groceries' }, - { title: 'Read a book' }, - { title: 'Workout' }, - ], - }) - - console.log(`โœ… Created ${todos.count} todos`) -} - -main() - .catch((e) => { - console.error('โŒ Error seeding database:', e) - process.exit(1) - }) - .finally(async () => { - await prisma.$disconnect() - }) diff --git a/scripts/setup-db.sh b/scripts/setup-db.sh new file mode 100755 index 0000000..c124e0e --- /dev/null +++ b/scripts/setup-db.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +set -euo pipefail + +DB_USER=gspot +DB_PASSWORD=gspotter +DB_NAME=gspot + +if ! command -v apt-get >/dev/null 2>&1; then + echo "This script targets Ubuntu/Debian (apt-based) systems." >&2 + echo "On macOS, install PostgreSQL with Homebrew instead." >&2 + exit 1 +fi + +if [[ ${EUID} -ne 0 ]]; then + echo "Root privileges required, re-running with sudo..." >&2 + exec sudo bash "$0" "$@" +fi + +apt-get update -y + +if ! apt-get install -y postgresql-16; then + apt-get install -y postgresql +fi + +systemctl enable --now postgresql + +if ! sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='${DB_USER}'" | grep -q 1; then + sudo -u postgres psql -c "CREATE ROLE ${DB_USER} LOGIN PASSWORD '${DB_PASSWORD}'" +fi + +if ! sudo -u postgres psql -tAc "SELECT 1 FROM pg_database WHERE datname='${DB_NAME}'" | grep -q 1; then + sudo -u postgres psql -c "CREATE DATABASE ${DB_NAME} OWNER ${DB_USER}" +fi + +echo "PostgreSQL is installed and running on localhost:5432" +echo "Set the following in packages/db/.env and apps/backend/.env:" +echo "DATABASE_URL=\"postgresql://${DB_USER}:${DB_PASSWORD}@localhost:5432/${DB_NAME}\"" diff --git a/src/routes/demo/prisma.tsx b/src/routes/demo/prisma.tsx deleted file mode 100644 index 55ffe89..0000000 --- a/src/routes/demo/prisma.tsx +++ /dev/null @@ -1,120 +0,0 @@ -import { createFileRoute, useRouter } from '@tanstack/react-router' -import { createServerFn } from '@tanstack/react-start' -import { prisma } from '#/db' - -const getTodos = createServerFn({ - method: 'GET', -}).handler(async () => { - return await prisma.todo.findMany({ - orderBy: { createdAt: 'desc' }, - }) -}) - -const createTodo = createServerFn({ - method: 'POST', -}) - .validator((data: { title: string }) => data) - .handler(async ({ data }) => { - return await prisma.todo.create({ - data, - }) - }) - -export const Route = createFileRoute('/demo/prisma')({ - component: DemoPrisma, - loader: async () => await getTodos(), -}) - -function DemoPrisma() { - const router = useRouter() - const todos = Route.useLoaderData() - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault() - const form = e.currentTarget - const title = new FormData(form).get('title') - - if (typeof title !== 'string' || !title) return - - try { - await createTodo({ data: { title } }) - router.invalidate() - form.reset() - } catch (error) { - console.error('Failed to create todo:', error) - } - } - - return ( -
-
-
- - Prisma Logo - -
-

Database

-

Prisma Demo

-
-
- -

Todos

- -
    - {todos.map((todo) => ( -
  • -
    - {todo.title} - #{todo.id} -
    -
  • - ))} - {todos.length === 0 && ( -
  • - No todos yet. Create one below! -
  • - )} -
- -
- - -
- -
-

Powered by Prisma ORM

-

- Next-generation ORM for Node.js & TypeScript with PostgreSQL -

-
-

Setup Instructions:

-
    -
  1. - Configure your DATABASE_URL in .env.local -
  2. -
  3. - Run: pnpm db:generate -
  4. -
  5. - Run: pnpm db:push -
  6. -
  7. - Optional: pnpm db:studio -
  8. -
-
-
-
-
- ) -}