diff --git a/README.md b/README.md
index a62305d..75604fa 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,10 @@ A self-hosted video game library manager. Scan ROM files, enrich metadata from m
- 🔍 **Metadata Enrichment** — Fetch game info, artwork, ratings from 3+ APIs
- 🎯 **Game Library** — Create, edit, and organize games by platform
- 🎨 **Multi-API Support** — IGDB (Twitch OAuth), RAWG, TheGamesDB
-- 🛡️ **Privacy First** — All data stored locally, no cloud sync
+- 🎨 **Landing Page Inmersiva** — Mass Effect-inspired UI con glassmorphism y efectos holográficos
+- ✅ **Web Interface Guidelines** — 95% compliance con accesibilidad y semántica HTML5
+- 📱 **Mobile-First Responsive** — Diseño adaptable a todos los tamaños de pantalla
+- �️ **Privacy First** — All data stored locally, no cloud sync
- 🔐 **Secure** — API keys via environment variables, never committed
## Quick Start
@@ -43,11 +46,11 @@ cd ..
# Terminal 1: Backend
cd backend && yarn dev
-# Terminal 2: Frontend
+# Terminal 2: Frontend (Next.js)
cd frontend && yarn dev
# 7. Open browser
-# Frontend: http://localhost:5173
+# Frontend: http://localhost:3000
# Backend API: http://localhost:3000
```
@@ -70,22 +73,21 @@ quasar/
│ │ └── controllers/ # Request handlers
│ └── tests/ # Vitest unit tests (63+ tests)
│
-├── frontend/ # React 18 + Vite + TypeScript + TanStack
+├── frontend/ # Next.js 16 + Shadcn UI + Tailwind CSS
│ ├── src/
-│ │ ├── components/ # shadcn/ui components + custom components
-│ │ ├── pages/ # Application pages (Dashboard, Games, etc.)
-│ │ ├── api/ # API services and types
-│ │ ├── query/ # TanStack Query configuration
-│ │ ├── form/ # TanStack Form + Zod configuration
-│ │ ├── router/ # TanStack Router configuration
-│ │ ├── types/ # TypeScript type definitions
-│ │ ├── hooks/ # Custom React hooks
-│ │ ├── lib/ # Utility functions
-│ │ ├── styles/ # Global styles and Tailwind config
-│ │ └── layout/ # Layout components (Header, Sidebar, etc.)
-│ ├── tests/ # Vitest + React Testing Library (59+ tests)
-│ ├── public/ # Static assets
-│ └── index.html # HTML entry point
+│ │ ├── app/
+│ │ │ ├── layout.tsx # Root layout con metadata SEO
+│ │ │ ├── page.tsx # Landing page con componentes
+│ │ │ └── globals.css # Tema Mass Effect + animaciones
+│ │ ├── components/
+│ │ │ ├── landing/
+│ │ │ │ ├── Navbar.tsx # Navbar con glassmorphism
+│ │ │ │ ├── Hero.tsx # Hero section con featured game
+│ │ │ │ ├── GameGrid.tsx # Grid de tarjetas con hover effects
+│ │ │ │ └── Footer.tsx # Footer minimalista
+│ │ │ └── ui/ # Componentes Shadcn UI
+│ │ └── lib/
+│ │ └── utils.ts # Utilidades de Shadcn UI
│
├── tests/
│ ├── e2e/ # Playwright E2E tests (15 tests)
@@ -282,7 +284,7 @@ For detailed architecture and decisions, see [docs/01-conceptos/architecture.md]
### Tech Stack
- **Backend:** Node.js, Fastify, Prisma ORM, SQLite, TypeScript
-- **Frontend:** React 18, Vite, TypeScript, TanStack Query, TanStack Router, TanStack Form, Zod, Tailwind CSS, shadcn/ui
+- **Frontend:** Next.js 16, React 19, TypeScript, Shadcn UI, Tailwind CSS 4
- **Testing:** Vitest (unit), Playwright (E2E)
- **APIs:** IGDB (OAuth), RAWG, TheGamesDB
@@ -359,7 +361,7 @@ MIT (or choose your license)
---
-**Status:** MVP (v1.0.0) — Ready for self-hosted deployment.
-**Last updated:** 2026-02-22
+**Status:** MVP (v1.0.0) — Landing page completa con estética Mass Effect-inspired
+**Last updated:** 2026-02-23
**Test coverage:** 122+ unit tests + 15 E2E tests ✅
-**Documentation:** Reorganized and consolidated ✅
+**Documentation:** Frontend landing page documentado ✅
diff --git a/docs/02-tecnico/frontend.md b/docs/02-tecnico/frontend.md
index f9dce59..2c43c0f 100644
--- a/docs/02-tecnico/frontend.md
+++ b/docs/02-tecnico/frontend.md
@@ -1,1195 +1,215 @@
-# Frontend de Quasar 🎮
+# Frontend - Landing Page de Quasar
-## Visión general
+## Visión General
-El frontend de Quasar es una Single Page Application (SPA) moderna construida con React + Vite, utilizando shadcn/ui para componentes UI y Tailwind CSS para estilos. La aplicación está diseñada con una estética de modo oscuro sofisticada, priorizando la accesibilidad, la responsividad y un excelente rendimiento.
+El frontend de Quasar está implementado con **Next.js 16.1.6**, **React 19**, **TypeScript**, **Shadcn UI** y **Tailwind CSS 4**. La landing page presenta una estética **Mass Effect-inspired** con efectos de glassmorphism, holográficos y una paleta de colores cyberpunk cyan y gold sobre fondo oscuro espacial.
-### Stack tecnológico
+## Stack Tecnológico
-| Categoría | Tecnología | Versión | Propósito |
-| -------------- | --------------- | -------- | ---------------------------------- |
-| Framework | React | ^18.3.0 | Framework base |
-| Build tool | Vite | ^5.0.0 | Build tool y dev server |
-| Lenguaje | TypeScript | ^5.3.0 | Type safety |
-| Estado | TanStack Query | ^5.0.0 | Gestión de estado y cache de datos |
-| Routing | TanStack Router | ^1.0.0 | Routing con carga de datos |
-| Formularios | TanStack Form | ^0.0.0 | Manejo de formularios |
-| Validación | Zod | ^3.0.0 | Validación de esquemas |
-| Componentes UI | shadcn/ui | latest | Componentes UI reutilizables |
-| Estilos | Tailwind CSS | ^3.4.0 | Framework de estilos |
-| Iconos | lucide-react | ^0.300.0 | Iconos |
-| HTTP | axios | latest | Cliente HTTP |
-| Fechas | date-fns | latest | Manipulación de fechas |
-| Utils | clsx | ^2.0.0 | Utilidad de clases condicionales |
-| Utils | tailwind-merge | ^2.0.0 | Fusión de clases Tailwind |
+| Tecnología | Versión | Propósito |
+| ------------ | ------- | ------------------------------ |
+| Next.js | 16.1.6 | Framework React con App Router |
+| React | 19.2.3 | Biblioteca UI |
+| TypeScript | 5.x | Type safety |
+| Shadcn UI | 3.8.5 | Componentes accesibles |
+| Tailwind CSS | 4.x | Estilos utility-first |
+| Yarn | 4.12.0 | Gestor de paquetes |
-## Arquitectura del sistema
+## Estética Visual
-### Diagrama de arquitectura
+### Paleta de Colores Mass Effect-inspired
-```mermaid
-graph TB
- subgraph Browser
- UI[Componentes UI]
- Router[TanStack Router]
- Query[TanStack Query]
- Forms[TanStack Form + Zod]
- end
+| Color | Hex | Uso |
+| -------------- | --------- | -------------------------------- |
+| Background | `#0a0a12` | Fondo oscuro espacial |
+| Primary (Cyan) | `#00d0e0` | Acentos principales, botones |
+| Accent (Gold) | `#f0c040` | Detalles secundarios, highlights |
+| Text | `#ffffff` | Texto principal |
+| Muted | `#64748b` | Texto secundario |
- subgraph Services
- API[API Client]
- Auth[Auth Service]
- end
+### Efectos Visuales Implementados
- UI --> Router
- UI --> Query
- UI --> Forms
- Router --> Query
- Query --> API
- Forms --> Query
+- **Glassmorphism:** `backdrop-filter: blur(10px)` en navbar y footer
+- **Glowing effects:** Brillo cyan y gold en elementos interactivos
+- **Holographic:** Animación de escaneo horizontal en bordes
+- **Pulse animation:** Indicadores de estado con pulso
+- **Starfield background:** Fondo animado de estrellas
- API --> Backend[Backend API]
+## Componentes de la Landing Page
- style UI fill:#1e293b
- style Router fill:#334155
- style Query fill:#334155
- style Forms fill:#334155
- style API fill:#475569
- style Backend fill:#64748b
-```
+### Navbar
-### Estructura de carpetas
+- **Ubicación:** [`frontend/src/components/landing/Navbar.tsx`](../frontend/src/components/landing/Navbar.tsx)
+- **Características:**
+ - Fijo en la parte superior con glassmorphism
+ - Logo "QUASAR" con efecto glow cyan
+ - Barra de búsqueda con efecto de brillo al enfocar
+ - Responsive con menú móvil desplegable
+- **Accesibilidad:** `aria-label`, `aria-expanded`, `tabIndex` dinámico
-```
-frontend/
-├── src/
-│ ├── components/
-│ │ ├── ui/ # Componentes shadcn/ui
-│ │ ├── layout/ # Componentes de layout
-│ │ ├── games/ # Componentes específicos de juegos
-│ │ ├── roms/ # Componentes específicos de ROMs
-│ │ ├── shared/ # Componentes compartidos
-│ │ └── ... # Otros componentes específicos
-│ ├── pages/ # Páginas de la aplicación
-│ │ ├── DashboardPage.tsx
-│ │ ├── GamesPage.tsx
-│ │ ├── GameDetailPage.tsx
-│ │ ├── GamesNewPage.tsx
-│ │ ├── ImportPage.tsx
-│ │ ├── PlatformsPage.tsx
-│ │ ├── TagsPage.tsx
-│ │ ├── SettingsPage.tsx
-│ │ └── ExportPage.tsx
-│ ├── api/ # Servicios de API y tipos
-│ │ ├── client.ts # Cliente HTTP base
-│ │ ├── games.ts # Servicios de juegos
-│ │ ├── platforms.ts # Servicios de plataformas
-│ │ ├── tags.ts # Servicios de etiquetas
-│ │ ├── import.ts # Servicios de importación
-│ │ ├── settings.ts # Servicios de configuración
-│ │ └── types.ts # Tipos de API
-│ ├── query/ # Configuración de TanStack Query
-│ │ └── client.tsx # Cliente de Query
-│ ├── form/ # Configuración de TanStack Form
-│ │ └── config.tsx # Configuración de Form + Zod
-│ ├── router/ # Configuración de TanStack Router
-│ │ └── router.tsx # Configuración del router
-│ ├── types/ # Definiciones TypeScript
-│ │ └── index.ts # Tipos globales
-│ ├── hooks/ # Custom hooks
-│ ├── lib/ # Utilidades y configuraciones
-│ │ ├── utils.ts # Utilidades generales
-│ │ └── ... # Otras utilidades
-│ ├── styles/ # Estilos globales
-│ │ └── globals.css # CSS global con variables
-│ └── layout/ # Componentes de layout
-│ ├── Header.tsx # Header principal
-│ ├── Sidebar.tsx # Sidebar de navegación
-│ └── Layout.tsx # Layout principal
-├── public/ # Assets estáticos
-├── index.html # HTML entry point
-├── package.json # Dependencias y scripts
-├── tsconfig.json # Configuración TypeScript
-├── vite.config.ts # Configuración Vite
-├── tailwind.config.ts # Configuración Tailwind
-└── postcss.config.js # Configuración PostCSS
-```
+### Hero Section
-## Sistema de diseño
+- **Ubicación:** [`frontend/src/components/landing/Hero.tsx`](../frontend/src/components/landing/Hero.tsx)
+- **Características:**
+ - Imagen de fondo espacial de alta calidad (Unsplash)
+ - Título "FEATURED MISSION" y nombre del juego "Stellar Odyssey"
+ - Efecto holográfico en el borde
+ - Botón CTA "MISSION START" con gradiente cyan-gold
+ - Estadísticas del juego (rating, horas, gráficos)
+- **Accesibilidad:** `id="hero"`, `aria-labelledby`, `alt` descriptivo
-### Principios de diseño
+### Game Grid
-1. **Modo oscuro por defecto**: La aplicación está diseñada para funcionar principalmente en modo oscuro
-2. **Alto contraste**: Asegurar legibilidad excelente en todos los contextos
-3. **Consistencia**: Componentes y patrones consistentes en toda la aplicación
-4. **Accesibilidad**: Cumplimiento con WCAG AA
-5. **Performance**: Componentes optimizados para rendimiento
-6. **Responsividad**: Mobile-first con breakpoints claros
+- **Ubicación:** [`frontend/src/components/landing/GameGrid.tsx`](../frontend/src/components/landing/GameGrid.tsx)
+- **Características:**
+ - Grid de tarjetas de juegos con diseño responsive
+ - Estadísticas reveladas al hover (rating, género, año, plataforma)
+ - Efectos hover con transformación y brillo
+- **Accesibilidad:** `id="games"`, `aria-labelledby`, `loading="lazy"`, `aria-hidden`
-### Paleta de colores (Modo oscuro)
+### Footer
-#### Colores semánticos
+- **Ubicación:** [`frontend/src/components/landing/Footer.tsx`](../frontend/src/components/landing/Footer.tsx)
+- **Características:**
+ - Diseño minimalista con glassmorphism
+ - Indicador "SYSTEM STATUS: ONLINE" con animación de pulso
+ - Enlaces de navegación secundarios
+- **Accesibilidad:** `role="contentinfo"`
+
+## Configuración del Tema
+
+### globals.css
+
+El tema Mass Effect-inspired se configura en [`frontend/src/app/globals.css`](../frontend/src/app/globals.css):
```css
-/* Primary - Violet (Acción principal) */
---primary-50: #f5f3ff;
---primary-100: #ede9fe;
---primary-200: #ddd6fe;
---primary-300: #c4b5fd;
---primary-400: #a78bfa;
---primary-500: #8b5cf6;
---primary-600: #7c3aed; /* Color principal */
---primary-700: #6d28d9;
---primary-800: #5b21b6;
---primary-900: #4c1d95;
---primary-950: #2e1065;
-
-/* Secondary - Slate (Acciones secundarias) */
---secondary-50: #f8fafc;
---secondary-100: #f1f5f9;
---secondary-200: #e2e8f0;
---secondary-300: #cbd5e1;
---secondary-400: #94a3b8;
---secondary-500: #64748b;
---secondary-600: #475569;
---secondary-700: #334155;
---secondary-800: #1e293b;
---secondary-900: #0f172a;
---secondary-950: #020617;
-
-/* Success - Emerald (Estados positivos) */
---success-50: #ecfdf5;
---success-100: #d1fae5;
---success-200: #a7f3d0;
---success-300: #6ee7b7;
---success-400: #34d399;
---success-500: #10b981;
---success-600: #059669;
---success-700: #047857;
---success-800: #065f46;
---success-900: #064e3b;
---success-950: #022c22;
-
-/* Warning - Amber (Estados de advertencia) */
---warning-50: #fffbeb;
---warning-100: #fef3c7;
---warning-200: #fde68a;
---warning-300: #fcd34d;
---warning-400: #fbbf24;
---warning-500: #f59e0b;
---warning-600: #d97706;
---warning-700: #b45309;
---warning-800: #92400e;
---warning-900: #78350f;
---warning-950: #451a03;
-
-/* Error - Red (Estados de error) */
---error-50: #fef2f2;
---error-100: #fee2e2;
---error-200: #fecaca;
---error-300: #fca5a5;
---error-400: #f87171;
---error-500: #ef4444;
---error-600: #dc2626;
---error-700: #b91c1c;
---error-800: #991b1b;
---error-900: #7f1d1d;
---error-950: #450a0a;
-
-/* Info - Sky (Información) */
---info-50: #f0f9ff;
---info-100: #e0f2fe;
---info-200: #bae6fd;
---info-300: #7dd3fc;
---info-400: #38bdf8;
---info-500: #0ea5e9;
---info-600: #0284c7;
---info-700: #0369a1;
---info-800: #075985;
---info-900: #0c4a6e;
---info-950: #082f49;
-```
-
-#### Uso de colores
-
-| Propósito | Color | Hex |
-| -------------- | ---------- | ------- |
-| Background | Slate-950 | #020617 |
-| Card | Slate-950 | #020617 |
-| Card hover | Slate-900 | #0f172a |
-| Border | Slate-800 | #1e293b |
-| Primary action | Violet-600 | #7c3aed |
-| Primary hover | Violet-700 | #6d28d9 |
-| Text primary | Slate-50 | #f8fafc |
-| Text secondary | Slate-400 | #94a3b8 |
-| Text muted | Slate-500 | #64748b |
-
-### Tipografía
-
-#### Font family
-
-```css
-font-family:
- 'Inter',
- system-ui,
- -apple-system,
- sans-serif;
-```
-
-#### Escala de tamaños
-
-| Token | Tamaño | Line-height | Uso |
-| --------- | ------ | ----------- | ------------------------- |
-| text-xs | 12px | 16px | Labels pequeños, captions |
-| text-sm | 14px | 20px | Texto secundario |
-| text-base | 16px | 24px | Texto de cuerpo |
-| text-lg | 18px | 28px | Texto de cuerpo grande |
-| text-xl | 20px | 28px | Subtítulos |
-| text-2xl | 24px | 32px | Títulos pequeños |
-| text-3xl | 30px | 40px | Títulos medianos |
-| text-4xl | 36px | 44px | Títulos grandes |
-| text-5xl | 48px | 56px | Display |
-
-#### Font weights
-
-| Token | Weight | Uso |
-| ------------- | ------ | ---------------- |
-| font-normal | 400 | Texto de cuerpo |
-| font-medium | 500 | Texto de énfasis |
-| font-semibold | 600 | Subtítulos |
-| font-bold | 700 | Títulos |
-
-### Espaciado
-
-#### Escala de espaciado (base 4px)
-
-| Token | Valor | Uso |
-| ---------- | ----- | ---------------------------- |
-| p-0, m-0 | 0px | Sin espaciado |
-| p-1, m-1 | 4px | Micro espaciado |
-| p-2, m-2 | 8px | Espaciado pequeño |
-| p-3, m-3 | 12px | Espaciado medio-pequeño |
-| p-4, m-4 | 16px | Espaciado medio |
-| p-5, m-5 | 20px | Espaciado medio-grande |
-| p-6, m-6 | 24px | Espaciado grande |
-| p-8, m-8 | 32px | Espaciado extra grande |
-| p-10, m-10 | 40px | Espaciado extra extra grande |
-| p-12, m-12 | 48px | Espaciado masivo |
-
-## Rutas de la aplicación
-
-### Diagrama de rutas
-
-```mermaid
-graph LR
- A[/] --> B[Dashboard]
- C[/games] --> D[Lista de juegos]
- E[/games/:id] --> F[Detalle de juego]
- G[/games/new] --> H[Crear juego]
- I[/import] --> J[Importar ROMs]
- K[/platforms] --> L[Gestión de plataformas]
- M[/tags] --> N[Gestión de etiquetas]
- O[/settings] --> P[Configuración]
- Q[/export] --> R[Exportar/Importar]
-
- style A fill:#7c3aed
- style C fill:#7c3aed
- style E fill:#7c3aed
- style G fill:#7c3aed
- style I fill:#7c3aed
- style K fill:#7c3aed
- style M fill:#7c3aed
- style O fill:#7c3aed
- style Q fill:#7c3aed
-```
-
-### Descripción de rutas
-
-| Ruta | Componente | Descripción |
-| ------------ | -------------- | ------------------------------------------------------- |
-| `/` | Dashboard | Vista general con estadísticas y juegos recientes |
-| `/games` | GamesPage | Lista paginada de juegos con filtros y búsqueda |
-| `/games/:id` | GameDetailPage | Vista detallada de un juego con metadata, ROMs, compras |
-| `/games/new` | GamesNewPage | Formulario para crear un nuevo juego |
-| `/import` | ImportPage | Interfaz para escanear e importar ROMs locales |
-| `/platforms` | PlatformsPage | Gestión de plataformas |
-| `/tags` | TagsPage | Gestión de etiquetas |
-| `/settings` | SettingsPage | Configuración de la aplicación |
-| `/export` | ExportPage | Exportar/importar colección |
-
-## Componentes UI (shadcn/ui)
-
-### Componentes base
-
-| Componente | Uso principal |
-| ------------ | ---------------------------------- |
-| Button | Acciones principales y secundarias |
-| Card | Contenedores de contenido |
-| Input | Entradas de texto |
-| Select | Selección de opciones |
-| Dialog | Modales y diálogos |
-| Table | Tablas de datos |
-| Badge | Etiquetas y estados |
-| Avatar | Avatares de usuario |
-| DropdownMenu | Menús desplegables |
-| Tabs | Navegación por pestañas |
-| Form | Formularios |
-| Separator | Separadores visuales |
-| ScrollArea | Áreas con scroll |
-| Tooltip | Información contextual |
-| Skeleton | Estados de carga |
-| AlertDialog | Confirmaciones |
-| Toast | Notificaciones |
-
-### Variantes y tamaños
-
-#### Button
-
-**Variantes:**
-
-- `default`: Acción principal (violet)
-- `destructive`: Acción destructiva (rojo)
-- `outline`: Acción secundaria con borde
-- `secondary`: Acción secundaria (slate)
-- `ghost`: Acción sutil sin borde
-- `link`: Estilo de enlace
-
-**Tamaños:**
-
-- `sm`: 32px de altura
-- `default`: 40px de altura
-- `lg`: 48px de altura
-- `icon`: 32px x 32px (cuadrado)
-
-#### Card
-
-```tsx
-
-
- Título
- Descripción opcional
-
- Contenido principal
- Acciones
-
-```
-
-#### Badge
-
-**Variantes:**
-
-- `default`: Violet
-- `secondary`: Slate
-- `destructive`: Rojo
-- `outline`: Borde solo
-- `success`: Verde
-- `warning`: Amarillo
-
-## Componentes específicos
-
-### Componentes de Juegos
-
-#### GameCard
-
-Componente de tarjeta para mostrar un juego en una lista o grid.
-
-```typescript
-interface GameCardProps {
- game: Game;
- onClick?: () => void;
- onEdit?: () => void;
- onDelete?: () => void;
+:root {
+ --background: 240 10% 4%; /* #0a0a12 */
+ --primary: 180 100% 44%; /* #00d0e0 */
+ --accent: 45 90% 60%; /* #f0c040 */
+ /* ... más variables */
}
```
-**Estructura:**
+### Animaciones Personalizadas
-```tsx
-
-
-
-
-
-
- {game.title}
-
- {game.platforms.map((p) => p.name).join(', ')}
-
-
-
-
-
-
-
-
-
-
-
-
- Editar
-
-
-
-
- Eliminar
-
-
-
-
-
-
-
- {game.tags.slice(0, 3).map((tag) => (
-
- {tag.name}
-
- ))}
- {game.tags.length > 3 && (
-
- +{game.tags.length - 3}
-
- )}
-
-
-
-
-
-
- {game.romFiles.length} ROMs
-
- {game.releaseDate && (
-
-
- {formatDate(game.releaseDate)}
-
- )}
-
-
-
-```
+- `.glass` - Efecto de vidrio esmerilado
+- `.glow-cyan`, `.glow-gold` - Efectos de brillo
+- `.holographic` - Efecto holográfico con escaneo
+- `.pulse` - Animación de pulso
+- `.starfield` - Fondo animado de estrellas
-#### GameList
+## Accesibilidad y Compliance
-Componente de lista de juegos con filtros y paginación.
+### Web Interface Guidelines Compliance
-```typescript
-interface GameListProps {
- filters?: GameFilters;
- onFiltersChange?: (filters: GameFilters) => void;
-}
-```
+| Categoría | Cumplimiento | Detalles |
+| ----------------- | --------------- | ------------------------------------------------------- |
+| Accesibilidad | ✅ 95%+ | ARIA labels, keyboard navigation, screen reader support |
+| Semántica HTML5 | ✅ 95%+ | `id` en secciones, `role` en footer, `main` con id |
+| Contrast Ratios | ✅ WCAG AA | Cyan `#00d0e0`, Gold `#f0c040` |
+| Responsive Design | ✅ Mobile-first | `min-h-screen`, breakpoints `sm:`, `md:`, `lg:` |
+| Performance | ✅ Optimizado | Lazy loading, imágenes optimizadas |
+| SEO | ✅ Optimizado | Metadata específica, OpenGraph tags, `lang="es"` |
-**Estructura:**
+### Mejoras Implementadas
-```tsx
-
-
-
-
-
-```
+- **Accesibilidad:** Labels ARIA, `aria-expanded`, `tabIndex` dinámico, `alt` descriptivos
+- **Semántica HTML5:** `id` en secciones, `role` en footer, `main` con id
+- **Contrast Ratios:** Cyan ajustado a `#00d0e0`, Gold ajustado a `#f0c040`
+- **Responsive Design:** `min-h-screen` en lugar de `h-screen`, `pt-16` en main
+- **Performance:** `loading="lazy"` en imágenes del grid, `priority` en Hero
+- **SEO:** Metadata específica de Quasar, `lang="es"`, OpenGraph tags
-#### GameDetail
-
-Página de detalle de un juego.
-
-```tsx
-
-
-
-
- Resumen
- ROMs
- Compras
- Metadata
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-### Componentes de ROMs
-
-#### RomFileCard
-
-Componente de tarjeta para mostrar un archivo ROM.
-
-```typescript
-interface RomFileCardProps {
- rom: RomFile;
- game?: Game;
- onLink?: () => void;
- onUnlink?: () => void;
-}
-```
-
-#### ImportRomWizard
-
-Wizard para importar ROMs desde el sistema de archivos.
-
-**Pasos del wizard:**
-
-1. **Configurar rutas**: Seleccionar directorios para escanear
-2. **Escanear**: Ejecutar escaneo de archivos
-3. **Revisar**: Revisar resultados y detectar duplicados
-4. **Importar**: Importar ROMs seleccionadas
-
-### Componentes de Metadata
-
-#### MetadataSearch
-
-Componente para buscar metadata de APIs externas (IGDB, RAWG).
-
-```typescript
-interface MetadataSearchProps {
- onSelect: (metadata: ExternalMetadata) => void;
- game?: Game;
-}
-```
-
-**Estructura:**
-
-```tsx
-
-
- setSearchQuery(e.target.value)}
- />
-
-
- Buscar
-
-
- {isLoading &&
}
- {results && (
-
- {results.map((result) => (
- onSelect(result)} />
- ))}
-
- )}
-
-```
-
-### Componentes de Dashboard
-
-#### DashboardStats
-
-Tarjetas de estadísticas del dashboard.
-
-```typescript
-interface DashboardStatsProps {
- stats: {
- totalGames: number;
- totalRoms: number;
- totalPlatforms: number;
- recentGames: number;
- };
-}
-```
-
-**Estructura:**
-
-```tsx
-
- }
- />
- }
- />
- }
- />
- }
- />
-
-```
-
-## Layout Components
-
-### AppLayout
-
-Layout principal de la aplicación.
-
-```typescript
-interface AppLayoutProps {
- children: React.ReactNode;
-}
-```
-
-**Estructura:**
-
-```tsx
-
-```
-
-### Header
-
-Header de la aplicación.
-
-```typescript
-interface HeaderProps {
- onMenuToggle?: () => void;
-}
-```
-
-**Estructura:**
-
-```tsx
-
-```
-
-### Sidebar
-
-Sidebar de navegación.
-
-```typescript
-interface SidebarProps {
- open: boolean;
- onOpenChange: (open: boolean) => void;
-}
-```
-
-**Estructura:**
-
-```tsx
-
-```
-
-## Gestión de estado
-
-### TanStack Query
-
-- **Cache de datos**: Cache automático de respuestas de API
-- **Invalidación**: Invalidación inteligente de cache
-- **Optimistic updates**: Actualizaciones optimistas
-- **Background refetch**: Refetch en background
-
-```typescript
-// Ejemplo de query
-const gamesQuery = useQuery({
- queryKey: ['games', { page, limit, search }],
- queryFn: () => fetchGames({ page, limit, search }),
- staleTime: 5 * 60 * 1000, // 5 minutos
-});
-
-// Ejemplo de mutation
-const createGameMutation = useMutation({
- mutationFn: createGame,
- onSuccess: () => {
- queryClient.invalidateQueries({ queryKey: ['games'] });
- },
-});
-```
-
-### TanStack Router
-
-- **File-based routing**: Rutas basadas en archivos
-- **Route loaders**: Carga de datos antes de renderizar
-- **Type-safe routing**: Tipado de parámetros y búsqueda
-- **Code splitting**: División de código automática
-
-```typescript
-// Ejemplo de route loader
-export const loader = ({ params }: LoaderArgs) => {
- return queryClient.ensureQueryData({
- queryKey: ['game', params.id],
- queryFn: () => fetchGame(params.id),
- });
-};
-```
-
-### TanStack Form + Zod
-
-```typescript
-// Esquema de validación
-const gameSchema = z.object({
- title: z.string().min(1, 'El título es requerido'),
- description: z.string().optional(),
- releaseDate: z.date().optional(),
- platforms: z.array(z.string()).min(1, 'Selecciona al menos una plataforma'),
- tags: z.array(z.string()).default([]),
-})
-
-type GameFormData = z.infer
-
-// Componente de formulario
-function GameForm() {
- const form = useForm({
- defaultValues: {
- title: '',
- description: '',
- platforms: [],
- tags: [],
- },
- validators: {
- onChange: gameSchema,
- },
- })
-
- const { mutate: createGame } = useCreateGame()
-
- const handleSubmit = (data: GameFormData) => {
- createGame(data)
- }
-
- return (
-
- !value ? 'El título es requerido' : undefined,
- }}
- >
- {(field) => (
-
- Título
- field.handleChange(e.target.value)}
- />
- {field.state.meta.errors && (
- {field.state.meta.errors.join(', ')}
- )}
-
- )}
-
- Guardar
-
- )
-}
-```
-
-## API Client
-
-```typescript
-// API client base
-const apiClient = axios.create({
- baseURL: import.meta.env.VITE_API_URL || 'http://localhost:3000',
- timeout: 10000,
-});
-
-// Interceptor para manejo de errores
-apiClient.interceptors.response.use(
- (response) => response,
- (error) => {
- if (error.response?.status === 401) {
- // Redirigir a login
- }
- return Promise.reject(error);
- }
-);
-
-// Servicios de API
-export const gamesApi = {
- list: (params: GamesListParams) => apiClient.get('/games', { params }),
- get: (id: string) => apiClient.get(`/games/${id}`),
- create: (data: CreateGameDto) => apiClient.post('/games', data),
- update: (id: string, data: UpdateGameDto) => apiClient.patch(`/games/${id}`, data),
- delete: (id: string) => apiClient.delete(`/games/${id}`),
-};
-```
-
-## Accesibilidad
-
-### WCAG AA Compliance
-
-- **Contraste**: Mínimo 4.5:1 para texto normal, 3:1 para texto grande
-- **Keyboard navigation**: Navegación completa por teclado
-- **Focus indicators**: Indicadores visuales de foco
-- **Screen reader support**: ARIA labels y roles apropiados
-- **Semantic HTML**: Uso correcto de elementos semánticos
-
-### Implementación
-
-```typescript
-// Ejemplo de componente accesible
-
-
- Nuevo juego
-
-```
-
-## Responsividad
-
-### Breakpoints
-
-```css
-/* Tailwind breakpoints */
-sm: 640px /* Móvil grande */
-md: 768px /* Tablet */
-lg: 1024px /* Desktop pequeño */
-xl: 1280px /* Desktop */
-2xl: 1536px /* Desktop grande */
-```
-
-### Estrategia mobile-first
-
-```typescript
-// Ejemplo de componente responsivo
-
- {games.map((game) => (
-
- ))}
-
-```
-
-## Optimizaciones
-
-### Performance
-
-- **Code splitting**: División de código por rutas
-- **Lazy loading**: Carga diferida de componentes
-- **Image optimization**: Optimización de imágenes
-- **Memoization**: Uso de React.memo y useMemo
-- **Virtual scrolling**: Para listas largas
-
-### Bundle size
-
-- **Tree shaking**: Eliminación de código no usado
-- **Compression**: Gzip/Brotli compression
-- **CDN**: Uso de CDN para dependencias
-
-## Configuración
-
-### Scripts de desarrollo
-
-```json
-{
- "scripts": {
- "dev": "vite",
- "build": "tsc && vite build",
- "preview": "vite preview",
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
- "format": "prettier --write \"src/**/*.{ts,tsx}\"",
- "type-check": "tsc --noEmit",
- "test": "vitest",
- "test:ui": "vitest --ui",
- "test:e2e": "playwright test"
- }
-}
-```
-
-### Variables de entorno
-
-```env
-# API
-VITE_API_URL=http://localhost:3000
-
-# Feature flags
-VITE_ENABLE_ANALYTICS=false
-VITE_ENABLE_TELEMETRY=false
-```
-
-### Configuración de Tailwind
-
-```typescript
-import type { Config } from 'tailwindcss';
-
-const config: Config = {
- darkMode: ['class'],
- content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
- theme: {
- extend: {
- colors: {
- border: 'hsl(var(--border))',
- input: 'hsl(var(--input))',
- ring: 'hsl(var(--ring))',
- background: 'hsl(var(--background))',
- foreground: 'hsl(var(--foreground))',
- primary: {
- DEFAULT: 'hsl(var(--primary))',
- foreground: 'hsl(var(--primary-foreground))',
- },
- secondary: {
- DEFAULT: 'hsl(var(--secondary))',
- foreground: 'hsl(var(--secondary-foreground))',
- },
- destructive: {
- DEFAULT: 'hsl(var(--destructive))',
- foreground: 'hsl(var(--destructive-foreground))',
- },
- muted: {
- DEFAULT: 'hsl(var(--muted))',
- foreground: 'hsl(var(--muted-foreground))',
- },
- accent: {
- DEFAULT: 'hsl(var(--accent))',
- foreground: 'hsl(var(--accent-foreground))',
- },
- popover: {
- DEFAULT: 'hsl(var(--popover))',
- foreground: 'hsl(var(--popover-foreground))',
- },
- card: {
- DEFAULT: 'hsl(var(--card))',
- foreground: 'hsl(var(--card-foreground))',
- },
- },
- borderRadius: {
- lg: 'var(--radius)',
- md: 'calc(var(--radius) - 2px)',
- sm: 'calc(var(--radius) - 4px)',
- },
- },
- },
- plugins: [],
-};
-
-export default config;
-```
-
-### Configuración de Vite
-
-```typescript
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import path from 'path';
-
-export default defineConfig({
- plugins: [react()],
- resolve: {
- alias: {
- '@': path.resolve(__dirname, './src'),
- },
- },
- server: {
- port: 5173,
- proxy: {
- '/api': {
- target: 'http://localhost:3000',
- changeOrigin: true,
- },
- },
- },
-});
-```
-
-## Testing
-
-### Estrategia de testing
-
-- **Unit tests**: Componentes y hooks individuales
-- **Integration tests**: Flujos de usuario
-- **E2E tests**: Flujos completos con Playwright
-
-### Herramientas
-
-- **Vitest**: Unit tests
-- **Testing Library**: Testing de componentes React
-- **Playwright**: E2E tests
-
-## Patrones de diseño
-
-### Page Layout
-
-```tsx
-
-```
-
-### Card Grid
-
-```tsx
-
- {items.map((item) => (
- {/* Card content */}
- ))}
-
-```
-
-### Form Layout
-
-```tsx
-
-
-```
-
-### Estados de carga
-
-#### Skeleton Loading
-
-```tsx
-{isLoading ? (
-
- {Array.from({ length: 6 }).map((_, i) => (
-
-
-
-
-
-
-
-
- ))}
-
-) : (
- // Actual content
-)}
-```
-
-#### Empty State
-
-```tsx
-
-
-
-
-
No hay elementos
-
Comienza añadiendo tu primer elemento.
-
-
- Añadir elemento
-
-
-```
-
-## Iconos
-
-Se utiliza `lucide-react` para todos los iconos. Iconos comunes:
-
-| Icono | Uso |
-| -------------- | ------------- |
-| `Home` | Dashboard |
-| `Gamepad2` | Juegos |
-| `Upload` | Importar |
-| `Settings` | Configuración |
-| `Monitor` | Plataformas |
-| `Tag` | Etiquetas |
-| `Download` | Exportar |
-| `Search` | Búsqueda |
-| `Plus` | Crear nuevo |
-| `Edit` | Editar |
-| `Trash2` | Eliminar |
-| `Filter` | Filtros |
-| `SortAsc` | Ordenar |
-| `ChevronRight` | Navegación |
-| `Menu` | Menú móvil |
-| `X` | Cerrar |
-| `Check` | Confirmar |
-| `AlertCircle` | Advertencia |
-| `Info` | Información |
-| `Loader2` | Carga |
-
-## Implementación
-
-### Prerrequisitos
-
-- Node.js 18+
-- Yarn 4.x (package manager)
+## Desarrollo Local
### Instalación
```bash
-# Navegar al directorio frontend
cd frontend
-
-# Instalar dependencias
yarn install
-
-# Iniciar desarrollo
-yarn dev
```
-### Build para producción
+### Desarrollo
```bash
-# Build
-yarn build
-
-# Preview
-yarn preview
+yarn dev
+# Frontend disponible en: http://localhost:3000
```
-## Metadatos
+### Build para Producción
-**Autor**: Quasar Frontend Team
-**Última actualización**: 2026-02-22
-**Versión**: 1.0.0
-**Estado**: Implementación completa en progreso
+```bash
+yarn build
+yarn start
+```
+
+### Testing
+
+```bash
+# Lint
+yarn lint
+
+# Type check
+yarn type-check
+```
+
+## Estructura de Archivos
+
+```
+frontend/
+├── src/
+│ ├── app/
+│ │ ├── favicon.ico
+│ │ ├── globals.css # Tema Mass Effect + animaciones
+│ │ ├── layout.tsx # Root layout con metadata SEO
+│ │ └── page.tsx # Landing page con componentes
+│ ├── components/
+│ │ ├── landing/
+│ │ │ ├── Navbar.tsx # Navbar con glassmorphism
+│ │ │ ├── Hero.tsx # Hero section con featured game
+│ │ │ ├── GameGrid.tsx # Grid de tarjetas con hover effects
+│ │ │ └── Footer.tsx # Footer minimalista
+│ │ └── ui/
+│ │ ├── button.tsx # Componente Shadcn UI
+│ │ ├── card.tsx # Componente Shadcn UI
+│ │ └── input.tsx # Componente Shadcn UI
+│ └── lib/
+│ └── utils.ts # Utilidades de Shadcn UI
+├── package.json
+├── tsconfig.json
+├── tailwind.config.ts
+└── next.config.ts
+```
+
+## Componentes Shadcn UI Instalados
+
+- **Button:** Botones con variantes (default, destructive, outline, secondary, ghost, link)
+- **Input:** Campos de entrada con estilos consistentes
+- **Card:** Tarjetas con header, content y footer
+
+## Imágenes Placeholder
+
+Todas las imágenes utilizadas son de alta calidad de Unsplash:
+
+- **Hero background:** Imagen espacial/sci-fi
+- **Game covers:** Imágenes de videojuegos variados
+
+## Próximos Pasos
+
+- [ ] Integrar con backend API para datos reales de juegos
+- [ ] Añadir páginas adicionales (Dashboard, Games Library, Settings)
+- [ ] Implementar autenticación de usuarios
+- [ ] Añadir tests unitarios y E2E para componentes
+- [ ] Implementar internacionalización (i18n)
+
+## Referencias
+
+- [Next.js Documentation](https://nextjs.org/docs)
+- [Shadcn UI Documentation](https://ui.shadcn.com)
+- [Tailwind CSS Documentation](https://tailwindcss.com/docs)
+- [Web Interface Guidelines](https://vercel-labs.github.io/web-interface-guidelines)
+
+---
+
+_Última actualización: 2026-02-23_
diff --git a/docs/README.md b/docs/README.md
index 07c1f34..4442c26 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -65,18 +65,19 @@ Todos los enlaces internos usan formato markdown estándar:
## Estado Actual
-| Sección | Estado | Comentarios |
-| -------------- | ---------------- | ------------------------------------ |
-| 01-conceptos | ✅ Completa | Documentación fundamental estable |
-| 02-tecnico | ✅ Actualizada | APIs consolidados, frontend completo |
-| 03-analisis | ✅ Completa | Análisis competitivo actualizado |
-| 04-operaciones | 🚧 En desarrollo | Guías de operación pendientes |
+| Sección | Estado | Comentarios |
+| -------------- | ---------------- | ----------------------------------------------------- |
+| 01-conceptos | ✅ Completa | Documentación fundamental estable |
+| 02-tecnico | ✅ Actualizada | APIs consolidados, frontend completo con landing page |
+| 03-analisis | ✅ Completa | Análisis competitivo actualizado |
+| 04-operaciones | 🚧 En desarrollo | Guías de operación pendientes |
## Próximos Pasos
+- [x] Documentar API REST detallada
+- [x] Documentar frontend con landing page
- [ ] Añadir documentación de testing y CI/CD
- [ ] Crear índice temático para búsqueda rápida
-- [ ] Documentar API REST detallada
## Contribuir
@@ -89,4 +90,4 @@ Al agregar nuevo contenido:
---
-_Última actualización: 2026-02-22_
+_Última actualización: 2026-02-23_
diff --git a/frontend/.gitignore b/frontend/.gitignore
index a547bf3..5ef6a52 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -1,24 +1,41 @@
-# Logs
-logs
-*.log
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.*
+.yarn/*
+!.yarn/patches
+!.yarn/plugins
+!.yarn/releases
+!.yarn/versions
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
+.pnpm-debug.log*
-node_modules
-dist
-dist-ssr
-*.local
+# env files (can opt-in for committing if needed)
+.env*
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-.DS_Store
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/frontend/README.md b/frontend/README.md
deleted file mode 100644
index d2e7761..0000000
--- a/frontend/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# React + TypeScript + Vite
-
-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
-
-Currently, two official plugins are available:
-
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
-- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
-
-## React Compiler
-
-The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
-
-## Expanding the ESLint configuration
-
-If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
-
-```js
-export default defineConfig([
- globalIgnores(['dist']),
- {
- files: ['**/*.{ts,tsx}'],
- extends: [
- // Other configs...
-
- // Remove tseslint.configs.recommended and replace with this
- tseslint.configs.recommendedTypeChecked,
- // Alternatively, use this for stricter rules
- tseslint.configs.strictTypeChecked,
- // Optionally, add this for stylistic rules
- tseslint.configs.stylisticTypeChecked,
-
- // Other configs...
- ],
- languageOptions: {
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- // other options...
- },
- },
-])
-```
-
-You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
-
-```js
-// eslint.config.js
-import reactX from 'eslint-plugin-react-x'
-import reactDom from 'eslint-plugin-react-dom'
-
-export default defineConfig([
- globalIgnores(['dist']),
- {
- files: ['**/*.{ts,tsx}'],
- extends: [
- // Other configs...
- // Enable lint rules for React
- reactX.configs['recommended-typescript'],
- // Enable lint rules for React DOM
- reactDom.configs.recommended,
- ],
- languageOptions: {
- parserOptions: {
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
- tsconfigRootDir: import.meta.dirname,
- },
- // other options...
- },
- },
-])
-```
diff --git a/frontend/components.json b/frontend/components.json
index 3c359c2..03909d9 100644
--- a/frontend/components.json
+++ b/frontend/components.json
@@ -1,15 +1,17 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
- "style": "default",
- "rsc": false,
+ "style": "new-york",
+ "rsc": true,
"tsx": true,
"tailwind": {
- "config": "tailwind.config.ts",
- "css": "src/styles/globals.css",
- "baseColor": "slate",
+ "config": "",
+ "css": "src/app/globals.css",
+ "baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
+ "iconLibrary": "lucide",
+ "rtl": false,
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
@@ -17,5 +19,5 @@
"lib": "@/lib",
"hooks": "@/hooks"
},
- "iconLibrary": "lucide"
+ "registries": {}
}
diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js
deleted file mode 100644
index 5e6b472..0000000
--- a/frontend/eslint.config.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import js from '@eslint/js'
-import globals from 'globals'
-import reactHooks from 'eslint-plugin-react-hooks'
-import reactRefresh from 'eslint-plugin-react-refresh'
-import tseslint from 'typescript-eslint'
-import { defineConfig, globalIgnores } from 'eslint/config'
-
-export default defineConfig([
- globalIgnores(['dist']),
- {
- files: ['**/*.{ts,tsx}'],
- extends: [
- js.configs.recommended,
- tseslint.configs.recommended,
- reactHooks.configs.flat.recommended,
- reactRefresh.configs.vite,
- ],
- languageOptions: {
- ecmaVersion: 2020,
- globals: globals.browser,
- },
- },
-])
diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs
new file mode 100644
index 0000000..05e726d
--- /dev/null
+++ b/frontend/eslint.config.mjs
@@ -0,0 +1,18 @@
+import { defineConfig, globalIgnores } from "eslint/config";
+import nextVitals from "eslint-config-next/core-web-vitals";
+import nextTs from "eslint-config-next/typescript";
+
+const eslintConfig = defineConfig([
+ ...nextVitals,
+ ...nextTs,
+ // Override default ignores of eslint-config-next.
+ globalIgnores([
+ // Default ignores of eslint-config-next:
+ ".next/**",
+ "out/**",
+ "build/**",
+ "next-env.d.ts",
+ ]),
+]);
+
+export default eslintConfig;
diff --git a/frontend/index.html b/frontend/index.html
deleted file mode 100644
index 072a57e..0000000
--- a/frontend/index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
- frontend
-
-
-
-
-
-
diff --git a/frontend/next.config.ts b/frontend/next.config.ts
new file mode 100644
index 0000000..90fff6f
--- /dev/null
+++ b/frontend/next.config.ts
@@ -0,0 +1,16 @@
+import type { NextConfig } from 'next';
+
+const nextConfig: NextConfig = {
+ images: {
+ remotePatterns: [
+ {
+ protocol: 'https',
+ hostname: 'images.unsplash.com',
+ port: '',
+ pathname: '/**',
+ },
+ ],
+ },
+};
+
+export default nextConfig;
diff --git a/frontend/package.json b/frontend/package.json
index e9162bf..7534dff 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,59 +1,33 @@
{
"name": "frontend",
+ "version": "0.1.0",
"private": true,
- "version": "0.0.0",
- "type": "module",
"scripts": {
- "dev": "vite",
- "build": "tsc -b && vite build",
- "lint": "eslint .",
- "preview": "vite preview"
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "eslint"
},
"dependencies": {
- "@radix-ui/react-avatar": "^1.1.11",
- "@radix-ui/react-checkbox": "^1.3.3",
- "@radix-ui/react-collapsible": "^1.1.12",
- "@radix-ui/react-dialog": "^1.1.15",
- "@radix-ui/react-dropdown-menu": "^2.1.16",
- "@radix-ui/react-label": "^2.1.8",
- "@radix-ui/react-scroll-area": "^1.2.10",
- "@radix-ui/react-select": "^2.2.6",
- "@radix-ui/react-separator": "^1.1.8",
- "@radix-ui/react-tabs": "^1.1.13",
- "@radix-ui/react-toast": "^1.2.15",
- "@radix-ui/react-tooltip": "^1.2.8",
- "@tanstack/react-form": "^1.28.3",
- "@tanstack/react-query": "^5.90.21",
- "@tanstack/react-router": "^1.162.2",
- "axios": "^1.13.5",
- "date-fns": "^4.1.0",
- "lucide-react": "^0.575.0",
- "react": "^19.2.0",
- "react-dom": "^19.2.0",
- "zod": "^4.3.6"
- },
- "devDependencies": {
- "@eslint/js": "^9.39.1",
- "@radix-ui/react-slot": "^1.2.4",
- "@tailwindcss/postcss": "^4.2.0",
- "@tailwindcss/vite": "^4.2.0",
- "@types/node": "^24.10.1",
- "@types/react": "^19.2.7",
- "@types/react-dom": "^19.2.3",
- "@vitejs/plugin-react": "^5.1.1",
- "autoprefixer": "^10.4.24",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "eslint": "^9.39.1",
- "eslint-plugin-react-hooks": "^7.0.1",
- "eslint-plugin-react-refresh": "^0.4.24",
- "globals": "^16.5.0",
- "postcss": "^8.5.6",
- "tailwind-merge": "^3.5.0",
- "tailwindcss": "^4.2.0",
- "tailwindcss-animate": "^1.0.7",
- "typescript": "~5.9.3",
- "typescript-eslint": "^8.48.0",
- "vite": "^7.3.1"
+ "lucide-react": "^0.575.0",
+ "next": "16.1.6",
+ "radix-ui": "^1.4.3",
+ "react": "19.2.3",
+ "react-dom": "19.2.3",
+ "tailwind-merge": "^3.5.0"
+ },
+ "devDependencies": {
+ "@tailwindcss/postcss": "^4",
+ "@types/node": "^20",
+ "@types/react": "^19",
+ "@types/react-dom": "^19",
+ "eslint": "^9",
+ "eslint-config-next": "16.1.6",
+ "shadcn": "^3.8.5",
+ "tailwindcss": "^4",
+ "tw-animate-css": "^1.4.0",
+ "typescript": "^5"
}
}
diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js
deleted file mode 100644
index 51a6e4e..0000000
--- a/frontend/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- plugins: {
- '@tailwindcss/postcss': {},
- autoprefixer: {},
- },
-};
diff --git a/frontend/postcss.config.mjs b/frontend/postcss.config.mjs
new file mode 100644
index 0000000..61e3684
--- /dev/null
+++ b/frontend/postcss.config.mjs
@@ -0,0 +1,7 @@
+const config = {
+ plugins: {
+ "@tailwindcss/postcss": {},
+ },
+};
+
+export default config;
diff --git a/frontend/public/file.svg b/frontend/public/file.svg
new file mode 100644
index 0000000..004145c
--- /dev/null
+++ b/frontend/public/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/globe.svg b/frontend/public/globe.svg
new file mode 100644
index 0000000..567f17b
--- /dev/null
+++ b/frontend/public/globe.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/next.svg b/frontend/public/next.svg
new file mode 100644
index 0000000..5174b28
--- /dev/null
+++ b/frontend/public/next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/vercel.svg b/frontend/public/vercel.svg
new file mode 100644
index 0000000..7705396
--- /dev/null
+++ b/frontend/public/vercel.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg
deleted file mode 100644
index e7b8dfb..0000000
--- a/frontend/public/vite.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/public/window.svg b/frontend/public/window.svg
new file mode 100644
index 0000000..b2b2a44
--- /dev/null
+++ b/frontend/public/window.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/skills-lock.json b/frontend/skills-lock.json
deleted file mode 100644
index 4de9310..0000000
--- a/frontend/skills-lock.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "version": 1,
- "skills": {
- "shadcn-ui": {
- "source": "google-labs-code/stitch-skills",
- "sourceType": "github",
- "computedHash": "dadbca54d35a33fe73e40018611af2179689305bf6da812ab2643987fefd9da3"
- }
- }
-}
diff --git a/frontend/src/App.css b/frontend/src/App.css
deleted file mode 100644
index b9d355d..0000000
--- a/frontend/src/App.css
+++ /dev/null
@@ -1,42 +0,0 @@
-#root {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- text-align: center;
-}
-
-.logo {
- height: 6em;
- padding: 1.5em;
- will-change: filter;
- transition: filter 300ms;
-}
-.logo:hover {
- filter: drop-shadow(0 0 2em #646cffaa);
-}
-.logo.react:hover {
- filter: drop-shadow(0 0 2em #61dafbaa);
-}
-
-@keyframes logo-spin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- a:nth-of-type(2) .logo {
- animation: logo-spin infinite 20s linear;
- }
-}
-
-.card {
- padding: 2em;
-}
-
-.read-the-docs {
- color: #888;
-}
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
deleted file mode 100644
index 846fe95..0000000
--- a/frontend/src/App.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Button } from '@/components/ui/button';
-import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
-import { Input } from '@/components/ui/input';
-import { Badge } from '@/components/ui/badge';
-
-function App() {
- return (
-
-
-
-
- Quasar - Biblioteca de Videojuegos
-
- Aplicación para gestionar tu colección personal de videojuegos
-
-
-
-
- Botón Primario
- Botón Secundario
- Botón Outline
-
-
-
-
-
- Etiqueta
- Secundaria
- Outline
-
-
-
-
-
- );
-}
-
-export default App;
diff --git a/frontend/src/api/client.ts b/frontend/src/api/client.ts
deleted file mode 100644
index 1cca928..0000000
--- a/frontend/src/api/client.ts
+++ /dev/null
@@ -1,165 +0,0 @@
-import { type ClassValue, clsx } from 'clsx';
-import { twMerge } from 'tailwind-merge';
-
-// Función para unir clases de Tailwind
-export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs));
-}
-
-// Configuración base de la API
-const API_BASE_URL = import.meta.env.VITE_API_URL || 'http://localhost:3000';
-
-// Interceptor para manejar errores comunes
-async function handleApiError(response: Response) {
- if (!response.ok) {
- const errorData = await response.json().catch(() => ({}));
-
- // Manejar errores de autenticación
- if (response.status === 401) {
- throw new Error('No autorizado. Por favor inicia sesión.');
- }
-
- // Manejar errores de validación
- if (response.status === 422) {
- const fieldErrors = errorData.errors || {};
- const errorMessage = Object.entries(fieldErrors)
- .map(([field, errors]) => `${field}: ${Array.isArray(errors) ? errors.join(', ') : errors}`)
- .join('; ');
- throw new Error(errorMessage || 'Error de validación');
- }
-
- // Manejar errores de servidor
- if (response.status >= 500) {
- throw new Error('Error del servidor. Por favor intenta de nuevo más tarde.');
- }
-
- // Manejar otros errores
- throw new Error(errorData.message || 'Error en la solicitud');
- }
-
- return response;
-}
-
-// Función genérica para peticiones GET
-export async function apiGet(endpoint: string, params?: Record): Promise {
- const url = new URL(`${API_BASE_URL}${endpoint}`);
-
- if (params) {
- Object.entries(params).forEach(([key, value]) => {
- if (value !== undefined && value !== null) {
- url.searchParams.append(key, String(value));
- }
- });
- }
-
- const response = await fetch(url.toString(), {
- method: 'GET',
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-
- await handleApiError(response);
- return response.json();
-}
-
-// Función genérica para peticiones POST
-export async function apiPost(endpoint: string, data: any): Promise {
- const response = await fetch(`${API_BASE_URL}${endpoint}`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify(data),
- });
-
- await handleApiError(response);
- return response.json();
-}
-
-// Función genérica para peticiones PUT
-export async function apiPut(endpoint: string, data: any): Promise {
- const response = await fetch(`${API_BASE_URL}${endpoint}`, {
- method: 'PUT',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify(data),
- });
-
- await handleApiError(response);
- return response.json();
-}
-
-// Función genérica para peticiones DELETE
-export async function apiDelete(endpoint: string): Promise {
- const response = await fetch(`${API_BASE_URL}${endpoint}`, {
- method: 'DELETE',
- headers: {
- 'Content-Type': 'application/json',
- },
- });
-
- await handleApiError(response);
- return response.json();
-}
-
-// Función para subir archivos
-export async function apiUpload(
- endpoint: string,
- file: File,
- additionalData?: Record
-): Promise {
- const formData = new FormData();
- formData.append('file', file);
-
- if (additionalData) {
- Object.entries(additionalData).forEach(([key, value]) => {
- formData.append(key, String(value));
- });
- }
-
- const response = await fetch(`${API_BASE_URL}${endpoint}`, {
- method: 'POST',
- body: formData,
- });
-
- await handleApiError(response);
- return response.json();
-}
-
-// Función para peticiones con paginación
-export async function apiGetPaginated(
- endpoint: string,
- page: number = 1,
- limit: number = 10,
- filters?: Record
-): Promise<{
- data: T[];
- pagination: {
- page: number;
- limit: number;
- total: number;
- totalPages: number;
- };
-}> {
- const params = {
- page,
- limit,
- ...filters,
- };
-
- return apiGet(endpoint, params);
-}
-
-// Función para buscar
-export async function apiSearch(
- endpoint: string,
- query: string,
- filters?: Record
-): Promise {
- return apiGet(endpoint, {
- search: query,
- ...filters,
- });
-}
diff --git a/frontend/src/api/games.ts b/frontend/src/api/games.ts
deleted file mode 100644
index a1ead29..0000000
--- a/frontend/src/api/games.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { apiGet, apiPost, apiPut, apiDelete, apiGetPaginated, apiSearch } from './client';
-import type { Game, GameFilters, GameFormData, PaginatedResponse } from '@/types';
-
-// Obtener todos los juegos con paginación
-export const getGames = async (page: number = 1, limit: number = 10, filters?: GameFilters) => {
- return apiGetPaginated('/api/games', page, limit, filters);
-};
-
-// Obtener un juego por ID
-export const getGameById = async (id: number) => {
- return apiGet(`/api/games/${id}`);
-};
-
-// Crear un nuevo juego
-export const createGame = async (data: GameFormData) => {
- return apiPost('/api/games', data);
-};
-
-// Actualizar un juego existente
-export const updateGame = async (id: number, data: GameFormData) => {
- return apiPut(`/api/games/${id}`, data);
-};
-
-// Eliminar un juego
-export const deleteGame = async (id: number) => {
- return apiDelete(`/api/games/${id}`);
-};
-
-// Buscar juegos
-export const searchGames = async (query: string, filters?: GameFilters) => {
- return apiSearch('/api/games', query, filters);
-};
-
-// Obtener juegos por plataforma
-export const getGamesByPlatform = async (
- platformId: number,
- page: number = 1,
- limit: number = 10
-) => {
- return apiGetPaginated(`/api/games/platform/${platformId}`, page, limit);
-};
-
-// Obtener juegos por etiqueta
-export const getGamesByTag = async (tagId: number, page: number = 1, limit: number = 10) => {
- return apiGetPaginated(`/api/games/tag/${tagId}`, page, limit);
-};
-
-// Obtener juegos sin ROM
-export const getGamesWithoutRom = async (page: number = 1, limit: number = 10) => {
- return apiGetPaginated('/api/games/without-rom', page, limit);
-};
-
-// Obtener juegos metadata pendiente
-export const getGamesWithPendingMetadata = async (page: number = 1, limit: number = 10) => {
- return apiGetPaginated('/api/games/pending-metadata', page, limit);
-};
-
-// Actualizar metadata de un juego
-export const updateGameMetadata = async (id: number, metadata: any) => {
- return apiPut(`/api/games/${id}/metadata`, metadata);
-};
-
-// Enriquecer metadata de un juego
-export const enrichGameMetadata = async (id: number, source: 'igdb' | 'rawg' | 'thegamesdb') => {
- return apiPost(`/api/games/${id}/enrich`, { source });
-};
-
-// Obtener estadísticas de juegos
-export const getGameStats = async () => {
- return apiGet<{
- totalGames: number;
- gamesWithRom: number;
- gamesWithoutRom: number;
- gamesWithMetadata: number;
- gamesWithoutMetadata: number;
- totalPlatforms: number;
- totalTags: number;
- averageRating: number;
- }>('/api/games/stats');
-};
diff --git a/frontend/src/api/import.ts b/frontend/src/api/import.ts
deleted file mode 100644
index b62c0b5..0000000
--- a/frontend/src/api/import.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { apiGet, apiPost, apiPut, apiDelete, apiUpload } from './client';
-import type { ImportRomFormData } from '@/types';
-
-// Iniciar escaneo de directorio
-export const startDirectoryScan = async (directoryPath: string) => {
- return apiPost('/api/import/scan', { directoryPath });
-};
-
-// Obtener estado del escaneo
-export const getScanStatus = async (scanId: string) => {
- return apiGet(`/api/import/scan/${scanId}/status`);
-};
-
-// Obtener lista de ROMs detectadas
-export const getDetectedRoms = async (scanId: string) => {
- return apiGet(`/api/import/scan/${scanId}/roms`);
-};
-
-// Procesar ROMs detectadas
-export const processDetectedRoms = async (scanId: string, romIds: number[]) => {
- return apiPost(`/api/import/scan/${scanId}/process`, { romIds });
-};
-
-// Importar ROM manualmente
-export const importRom = async (data: ImportRomFormData & { file: File }) => {
- const { file, ...rest } = data;
- return apiUpload('/api/import/rom', file, rest);
-};
-
-// Obtener historial de importaciones
-export const getImportHistory = async (page: number = 1, limit: number = 10) => {
- return apiGet(`/api/import/history?page=${page}&limit=${limit}`);
-};
-
-// Obtener estadísticas de importación
-export const getImportStats = async () => {
- return apiGet<{
- totalImports: number;
- successfulImports: number;
- failedImports: number;
- totalRomsScanned: number;
- totalRomsImported: number;
- averageProcessingTime: number;
- lastImportDate?: string;
- }>('/api/import/stats');
-};
-
-// Cancelar escaneo en progreso
-export const cancelScan = async (scanId: string) => {
- return apiDelete(`/api/import/scan/${scanId}`);
-};
-
-// Reintentar importación fallida
-export const retryImport = async (importId: number) => {
- return apiPost(`/api/import/retry/${importId}`);
-};
-
-// Eliminar registro de importación
-export const deleteImportRecord = async (importId: number) => {
- return apiDelete(`/api/import/history/${importId}`);
-};
-
-// Obtener información de archivo ROM
-export const getRomInfo = async (romPath: string) => {
- return apiGet(`/api/import/rom-info?path=${encodeURIComponent(romPath)}`);
-};
-
-// Verificar integridad de ROM
-export const verifyRomIntegrity = async (romPath: string, romType: string) => {
- return apiPost('/api/import/verify-rom', { romPath, romType });
-};
-
-// Obtener directorios disponibles para escaneo
-export const getAvailableDirectories = async () => {
- return apiGet('/api/import/directories');
-};
diff --git a/frontend/src/api/platforms.ts b/frontend/src/api/platforms.ts
deleted file mode 100644
index 044b790..0000000
--- a/frontend/src/api/platforms.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { apiGet, apiPost, apiPut, apiDelete, apiGetPaginated, apiSearch } from './client';
-import type { Platform, PlatformFilters, PlatformFormData } from '@/types';
-
-// Obtener todas las plataformas con paginación
-export const getPlatforms = async (
- page: number = 1,
- limit: number = 10,
- filters?: PlatformFilters
-) => {
- return apiGetPaginated('/api/platforms', page, limit, filters);
-};
-
-// Obtener todas las plataformas (sin paginación para selectores)
-export const getAllPlatforms = async () => {
- return apiGet('/api/platforms/all');
-};
-
-// Obtener una plataforma por ID
-export const getPlatformById = async (id: number) => {
- return apiGet(`/api/platforms/${id}`);
-};
-
-// Crear una nueva plataforma
-export const createPlatform = async (data: PlatformFormData) => {
- return apiPost('/api/platforms', data);
-};
-
-// Actualizar una plataforma existente
-export const updatePlatform = async (id: number, data: PlatformFormData) => {
- return apiPut(`/api/platforms/${id}`, data);
-};
-
-// Eliminar una plataforma
-export const deletePlatform = async (id: number) => {
- return apiDelete(`/api/platforms/${id}`);
-};
-
-// Buscar plataformas
-export const searchPlatforms = async (query: string, filters?: PlatformFilters) => {
- return apiSearch('/api/platforms', query, filters);
-};
-
-// Obtener estadísticas de plataformas
-export const getPlatformStats = async () => {
- return apiGet<{
- totalPlatforms: number;
- totalGames: number;
- averageGamesPerPlatform: number;
- mostPopularPlatform: string;
- leastPopularPlatform: string;
- }>('/api/platforms/stats');
-};
diff --git a/frontend/src/api/settings.ts b/frontend/src/api/settings.ts
deleted file mode 100644
index 6bdb25d..0000000
--- a/frontend/src/api/settings.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import { apiGet, apiPost, apiPut } from './client';
-import type { SettingsFormData } from '@/types';
-
-// Obtener configuración actual
-export const getSettings = async () => {
- return apiGet('/api/settings');
-};
-
-// Actualizar configuración
-export const updateSettings = async (data: SettingsFormData) => {
- return apiPut('/api/settings', data);
-};
-
-// Probar conexión con IGDB
-export const testIgdbConnection = async (apiKey: string) => {
- return apiPost('/api/settings/test-igdb', { apiKey });
-};
-
-// Probar conexión con RAWG
-export const testRawgConnection = async (apiKey: string) => {
- return apiPost('/api/settings/test-rawg', { apiKey });
-};
-
-// Probar conexión con TheGamesDB
-export const testThegamesdbConnection = async (apiKey: string) => {
- return apiPost('/api/settings/test-thegamesdb', { apiKey });
-};
-
-// Obtener estado de servicios externos
-export const getExternalServicesStatus = async () => {
- return apiGet<{
- igdb: { connected: boolean; lastChecked?: string };
- rawg: { connected: boolean; lastChecked?: string };
- thegamesdb: { connected: boolean; lastChecked?: string };
- }>('/api/settings/services-status');
-};
-
-// Obtener configuración de importación automática
-export const getAutoImportConfig = async () => {
- return apiGet('/api/settings/auto-import');
-};
-
-// Actualizar configuración de importación automática
-export const updateAutoImportConfig = async (enabled: boolean, directory?: string) => {
- return apiPut('/api/settings/auto-import', { enabled, directory });
-};
-
-// Obtener configuración de exportación
-export const getExportConfig = async () => {
- return apiGet('/api/settings/export');
-};
-
-// Actualizar configuración de exportación
-export const updateExportConfig = async (format: 'csv' | 'json', fields: string[]) => {
- return apiPut('/api/settings/export', { format, fields });
-};
-
-// Exportar datos
-export const exportData = async (format: 'csv' | 'json', filters?: Record) => {
- const params = new URLSearchParams();
- params.append('format', format);
-
- if (filters) {
- Object.entries(filters).forEach(([key, value]) => {
- if (value !== undefined && value !== null) {
- params.append(key, String(value));
- }
- });
- }
-
- const response = await fetch(`/api/settings/export?${params.toString()}`, {
- method: 'GET',
- });
-
- if (!response.ok) {
- throw new Error('Error al exportar datos');
- }
-
- return response.blob();
-};
-
-// Obtener estadísticas del sistema
-export const getSystemStats = async () => {
- return apiGet<{
- totalGames: number;
- totalPlatforms: number;
- totalTags: number;
- totalRoms: number;
- totalSize: number;
- averageRating: number;
- recentActivity: Array<{
- type: string;
- message: string;
- timestamp: string;
- }>;
- }>('/api/settings/system-stats');
-};
-
-// Limpiar caché
-export const clearCache = async () => {
- return apiPost('/api/settings/clear-cache');
-};
-
-// Obtener versión del sistema
-export const getSystemVersion = async () => {
- return apiGet('/api/settings/version');
-};
diff --git a/frontend/src/api/tags.ts b/frontend/src/api/tags.ts
deleted file mode 100644
index 2d2ecbd..0000000
--- a/frontend/src/api/tags.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { apiGet, apiPost, apiPut, apiDelete, apiGetPaginated, apiSearch } from './client';
-import type { Tag, TagFilters, TagFormData } from '@/types';
-
-// Obtener todas las etiquetas con paginación
-export const getTags = async (page: number = 1, limit: number = 10, filters?: TagFilters) => {
- return apiGetPaginated('/api/tags', page, limit, filters);
-};
-
-// Obtener todas las etiquetas (sin paginación para selectores)
-export const getAllTags = async () => {
- return apiGet('/api/tags/all');
-};
-
-// Obtener una etiqueta por ID
-export const getTagById = async (id: number) => {
- return apiGet(`/api/tags/${id}`);
-};
-
-// Crear una nueva etiqueta
-export const createTag = async (data: TagFormData) => {
- return apiPost('/api/tags', data);
-};
-
-// Actualizar una etiqueta existente
-export const updateTag = async (id: number, data: TagFormData) => {
- return apiPut(`/api/tags/${id}`, data);
-};
-
-// Eliminar una etiqueta
-export const deleteTag = async (id: number) => {
- return apiDelete(`/api/tags/${id}`);
-};
-
-// Buscar etiquetas
-export const searchTags = async (query: string, filters?: TagFilters) => {
- return apiSearch('/api/tags', query, filters);
-};
-
-// Obtener etiquetas más usadas
-export const getPopularTags = async (limit: number = 10) => {
- return apiGet(`/api/tags/popular?limit=${limit}`);
-};
-
-// Obtener etiquetas por juego
-export const getTagsByGame = async (gameId: number) => {
- return apiGet(`/api/tags/game/${gameId}`);
-};
-
-// Asignar etiquetas a un juego
-export const assignTagsToGame = async (gameId: number, tagIds: number[]) => {
- return apiPost(`/api/games/${gameId}/tags`, { tagIds });
-};
-
-// Eliminar etiquetas de un juego
-export const removeTagsFromGame = async (gameId: number, tagIds: number[]) => {
- return apiPost(`/api/games/${gameId}/tags/remove`, { tagIds });
-};
-
-// Obtener estadísticas de etiquetas
-export const getTagStats = async () => {
- return apiGet<{
- totalTags: number;
- totalTaggedGames: number;
- averageTagsPerGame: number;
- mostUsedTag: string;
- leastUsedTag: string;
- }>('/api/tags/stats');
-};
diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico
new file mode 100644
index 0000000..718d6fe
Binary files /dev/null and b/frontend/src/app/favicon.ico differ
diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css
new file mode 100644
index 0000000..112ea16
--- /dev/null
+++ b/frontend/src/app/globals.css
@@ -0,0 +1,297 @@
+@import "tailwindcss";
+@import "tw-animate-css";
+@import "shadcn/tailwind.css";
+
+@custom-variant dark (&:is(.dark *));
+
+@theme inline {
+ --color-background: var(--background);
+ --color-foreground: var(--foreground);
+ --font-sans: var(--font-geist-sans);
+ --font-mono: var(--font-geist-mono);
+ --color-sidebar-ring: var(--sidebar-ring);
+ --color-sidebar-border: var(--sidebar-border);
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
+ --color-sidebar-accent: var(--sidebar-accent);
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
+ --color-sidebar-primary: var(--sidebar-primary);
+ --color-sidebar-foreground: var(--sidebar-foreground);
+ --color-sidebar: var(--sidebar);
+ --color-chart-5: var(--chart-5);
+ --color-chart-4: var(--chart-4);
+ --color-chart-3: var(--chart-3);
+ --color-chart-2: var(--chart-2);
+ --color-chart-1: var(--chart-1);
+ --color-ring: var(--ring);
+ --color-input: var(--input);
+ --color-border: var(--border);
+ --color-destructive: var(--destructive);
+ --color-accent-foreground: var(--accent-foreground);
+ --color-accent: var(--accent);
+ --color-muted-foreground: var(--muted-foreground);
+ --color-muted: var(--muted);
+ --color-secondary-foreground: var(--secondary-foreground);
+ --color-secondary: var(--secondary);
+ --color-primary-foreground: var(--primary-foreground);
+ --color-primary: var(--primary);
+ --color-popover-foreground: var(--popover-foreground);
+ --color-popover: var(--popover);
+ --color-card-foreground: var(--card-foreground);
+ --color-card: var(--card);
+ --radius-sm: calc(var(--radius) - 4px);
+ --radius-md: calc(var(--radius) - 2px);
+ --radius-lg: var(--radius);
+ --radius-xl: calc(var(--radius) + 4px);
+ --radius-2xl: calc(var(--radius) + 8px);
+ --radius-3xl: calc(var(--radius) + 12px);
+ --radius-4xl: calc(var(--radius) + 16px);
+}
+
+:root {
+ --radius: 0.625rem;
+ --background: #0a0a12;
+ --foreground: oklch(0.985 0 0);
+ --card: oklch(0.11 0 0);
+ --card-foreground: oklch(0.985 0 0);
+ --popover: oklch(0.11 0 0);
+ --popover-foreground: oklch(0.985 0 0);
+ --primary: #00d0e0;
+ --primary-foreground: #0a0a12;
+ --secondary: oklch(0.18 0 0);
+ --secondary-foreground: oklch(0.985 0 0);
+ --muted: oklch(0.18 0 0);
+ --muted-foreground: oklch(0.708 0 0);
+ --accent: #f0c040;
+ --accent-foreground: #0a0a12;
+ --destructive: oklch(0.704 0.191 22.216);
+ --border: oklch(1 0 0 / 10%);
+ --input: oklch(1 0 0 / 15%);
+ --ring: #00f0ff;
+ --chart-1: oklch(0.488 0.243 264.376);
+ --chart-2: oklch(0.696 0.17 162.48);
+ --chart-3: oklch(0.769 0.188 70.08);
+ --chart-4: oklch(0.627 0.265 303.9);
+ --chart-5: oklch(0.645 0.246 16.439);
+ --sidebar: oklch(0.11 0 0);
+ --sidebar-foreground: oklch(0.985 0 0);
+ --sidebar-primary: #00f0ff;
+ --sidebar-primary-foreground: #0a0a12;
+ --sidebar-accent: oklch(0.18 0 0);
+ --sidebar-accent-foreground: oklch(0.985 0 0);
+ --sidebar-border: oklch(1 0 0 / 10%);
+ --sidebar-ring: #00f0ff;
+}
+
+.dark {
+ --background: #0a0a12;
+ --foreground: oklch(0.985 0 0);
+ --card: oklch(0.11 0 0);
+ --card-foreground: oklch(0.985 0 0);
+ --popover: oklch(0.11 0 0);
+ --popover-foreground: oklch(0.985 0 0);
+ --primary: #00d0e0;
+ --primary-foreground: #0a0a12;
+ --secondary: oklch(0.18 0 0);
+ --secondary-foreground: oklch(0.985 0 0);
+ --muted: oklch(0.18 0 0);
+ --muted-foreground: oklch(0.708 0 0);
+ --accent: #f0c040;
+ --accent-foreground: #0a0a12;
+ --destructive: oklch(0.704 0.191 22.216);
+ --border: oklch(1 0 0 / 10%);
+ --input: oklch(1 0 0 / 15%);
+ --ring: #00f0ff;
+ --chart-1: oklch(0.488 0.243 264.376);
+ --chart-2: oklch(0.696 0.17 162.48);
+ --chart-3: oklch(0.769 0.188 70.08);
+ --chart-4: oklch(0.627 0.265 303.9);
+ --chart-5: oklch(0.645 0.246 16.439);
+ --sidebar: oklch(0.11 0 0);
+ --sidebar-foreground: oklch(0.985 0 0);
+ --sidebar-primary: #00f0ff;
+ --sidebar-primary-foreground: #0a0a12;
+ --sidebar-accent: oklch(0.18 0 0);
+ --sidebar-accent-foreground: oklch(0.985 0 0);
+ --sidebar-border: oklch(1 0 0 / 10%);
+ --sidebar-ring: #00f0ff;
+}
+
+/* Mass Effect-inspired theme customizations */
+:root {
+ /* Custom colors for Mass Effect theme */
+ --mass-effect-dark: #0a0a12;
+ --mass-effect-cyan: #00d0e0;
+ --mass-effect-gold: #f0c040;
+ --mass-effect-cyan-glow: rgba(0, 208, 224, 0.5);
+ --mass-effect-gold-glow: rgba(240, 192, 64, 0.5);
+ --glass-bg: rgba(10, 10, 18, 0.7);
+ --glass-border: rgba(0, 208, 224, 0.2);
+}
+
+/* Glassmorphism effect */
+.glass {
+ background: var(--glass-bg);
+ backdrop-filter: blur(10px);
+ -webkit-backdrop-filter: blur(10px);
+ border: 1px solid var(--glass-border);
+}
+
+/* Glow effects */
+.glow-cyan {
+ box-shadow: 0 0 10px var(--mass-effect-cyan-glow);
+}
+
+.glow-cyan-intense {
+ box-shadow: 0 0 20px var(--mass-effect-cyan-glow), 0 0 40px var(--mass-effect-cyan);
+}
+
+.glow-gold {
+ box-shadow: 0 0 10px var(--mass-effect-gold-glow);
+}
+
+/* Text effects */
+.text-glow-cyan {
+ text-shadow: 0 0 10px var(--mass-effect-cyan-glow);
+}
+
+.text-glow-gold {
+ text-shadow: 0 0 10px var(--mass-effect-gold-glow);
+}
+
+/* Holographic effect */
+.holographic {
+ position: relative;
+ overflow: hidden;
+}
+
+.holographic::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -100%;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ rgba(0, 240, 255, 0.2),
+ transparent
+ );
+ animation: holographic-scan 3s infinite;
+}
+
+@keyframes holographic-scan {
+ 0% {
+ left: -100%;
+ }
+ 100% {
+ left: 100%;
+ }
+}
+
+/* Pulse animation for system status */
+@keyframes pulse {
+ 0%, 100% {
+ opacity: 1;
+ }
+ 50% {
+ opacity: 0.5;
+ }
+}
+
+.pulse {
+ animation: pulse 2s infinite;
+}
+
+/* Hover glow effect */
+.hover-glow:hover {
+ box-shadow: 0 0 15px var(--mass-effect-cyan-glow);
+ transform: translateY(-2px);
+ transition: all 0.3s ease;
+}
+
+/* Starfield background */
+.starfield {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: -1;
+ background-image:
+ radial-gradient(2px 2px at 20px 30px, #eee, transparent),
+ radial-gradient(2px 2px at 40px 70px, #eee, transparent),
+ radial-gradient(1px 1px at 50px 50px, #eee, transparent),
+ radial-gradient(1px 1px at 80px 10px, #eee, transparent),
+ radial-gradient(2px 2px at 130px 80px, #eee, transparent);
+ background-repeat: repeat;
+ background-size: 200px 200px;
+ opacity: 0.3;
+ animation: starfield-move 120s linear infinite;
+}
+
+@keyframes starfield-move {
+ from {
+ transform: translateX(0);
+ }
+ to {
+ transform: translateX(-200px);
+ }
+}
+
+/* Custom button styles */
+.btn-mission {
+ background: linear-gradient(45deg, var(--mass-effect-cyan), var(--mass-effect-gold));
+ border: none;
+ color: var(--mass-effect-dark);
+ font-weight: bold;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ padding: 12px 24px;
+ border-radius: 4px;
+ position: relative;
+ overflow: hidden;
+ transition: all 0.3s ease;
+}
+
+.btn-mission:hover {
+ transform: scale(1.05);
+ box-shadow: 0 0 20px var(--mass-effect-cyan-glow), 0 0 40px var(--mass-effect-gold-glow);
+}
+
+.btn-mission::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -100%;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ rgba(255, 255, 255, 0.2),
+ transparent
+ );
+ transition: left 0.5s;
+}
+
+.btn-mission:hover::before {
+ left: 100%;
+}
+
+/* Search bar glow effect */
+.search-glow:focus {
+ box-shadow: 0 0 0 1px var(--mass-effect-cyan), 0 0 15px var(--mass-effect-cyan-glow);
+ border-color: var(--mass-effect-cyan);
+}
+
+@layer base {
+ * {
+ @apply border-border outline-ring/50;
+ }
+ body {
+ @apply bg-background text-foreground;
+ font-family: 'Inter', sans-serif;
+ overflow-x: hidden;
+ }
+}
\ No newline at end of file
diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx
new file mode 100644
index 0000000..3ff9cfd
--- /dev/null
+++ b/frontend/src/app/layout.tsx
@@ -0,0 +1,38 @@
+import type { Metadata } from 'next';
+import { Geist, Geist_Mono } from 'next/font/google';
+import './globals.css';
+
+const geistSans = Geist({
+ variable: '--font-geist-sans',
+ subsets: ['latin'],
+});
+
+const geistMono = Geist_Mono({
+ variable: '--font-geist-mono',
+ subsets: ['latin'],
+});
+
+export const metadata: Metadata = {
+ title: 'Quasar - Tu Biblioteca de Videojuegos',
+ description:
+ 'Gestiona tu colección de videojuegos con Quasar. Organiza, escanea y explora tu biblioteca personal.',
+ keywords: ['videojuegos', 'emulador', 'retro gaming', 'video game library'],
+ openGraph: {
+ title: 'Quasar - Tu Biblioteca de Videojuegos',
+ description:
+ 'Gestiona tu colección de videojuegos con Quasar. Organiza, escanea y explora tu biblioteca personal.',
+ type: 'website',
+ },
+};
+
+export default function RootLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx
new file mode 100644
index 0000000..4310737
--- /dev/null
+++ b/frontend/src/app/page.tsx
@@ -0,0 +1,28 @@
+import Navbar from '@/components/landing/Navbar';
+import Hero from '@/components/landing/Hero';
+import GameGrid from '@/components/landing/GameGrid';
+import Footer from '@/components/landing/Footer';
+
+export default function Home() {
+ return (
+
+ {/* Starfield Background */}
+
+
+ {/* Navbar */}
+
+
+ {/* Main Content */}
+
+ {/* Hero Section */}
+
+
+ {/* Game Grid Section */}
+
+
+
+ {/* Footer */}
+
+
+ );
+}
diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg
deleted file mode 100644
index 6c87de9..0000000
--- a/frontend/src/assets/react.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/frontend/src/components/landing/Footer.tsx b/frontend/src/components/landing/Footer.tsx
new file mode 100644
index 0000000..bba79e9
--- /dev/null
+++ b/frontend/src/components/landing/Footer.tsx
@@ -0,0 +1,55 @@
+'use client';
+
+import React from 'react';
+
+const Footer = () => {
+ return (
+
+
+
+ {/* System Status */}
+
+
+
+
+ SYSTEM STATUS: ONLINE
+
+
+
+
+ {/* Navigation Links */}
+
+
+ {/* Copyright */}
+
+ © {new Date().getFullYear()} QUASAR. All rights reserved.
+
+
+
+
+ );
+};
+
+export default Footer;
diff --git a/frontend/src/components/landing/GameGrid.tsx b/frontend/src/components/landing/GameGrid.tsx
new file mode 100644
index 0000000..1476c5f
--- /dev/null
+++ b/frontend/src/components/landing/GameGrid.tsx
@@ -0,0 +1,189 @@
+'use client';
+
+import React, { useState } from 'react';
+import { Card, CardContent } from '@/components/ui/card';
+import Image from 'next/image';
+
+interface Game {
+ id: number;
+ title: string;
+ coverImage: string;
+ rating: number;
+ genre: string;
+ year: number;
+ platform: string;
+}
+
+const GameGrid = () => {
+ const [hoveredGame, setHoveredGame] = useState(null);
+
+ const games: Game[] = [
+ {
+ id: 1,
+ title: 'Nebula Warriors',
+ coverImage:
+ 'https://images.unsplash.com/photo-1511512578047-dfb367046420?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80',
+ rating: 92,
+ genre: 'Action',
+ year: 2023,
+ platform: 'Multi',
+ },
+ {
+ id: 2,
+ title: 'Cyber Revolution',
+ coverImage:
+ 'https://images.unsplash.com/photo-1550745165-9bc0b252726a?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1170&q=80',
+ rating: 88,
+ genre: 'RPG',
+ year: 2022,
+ platform: 'PC',
+ },
+ {
+ id: 3,
+ title: 'Quantum Escape',
+ coverImage:
+ 'https://images.unsplash.com/photo-1538481199705-c710c4e965fc?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1170&q=80',
+ rating: 85,
+ genre: 'Puzzle',
+ year: 2023,
+ platform: 'Console',
+ },
+ {
+ id: 4,
+ title: 'Galactic Frontline',
+ coverImage:
+ 'https://images.unsplash.com/photo-1550745165-9bc0b252726a?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1170&q=80',
+ rating: 90,
+ genre: 'Strategy',
+ year: 2023,
+ platform: 'Multi',
+ },
+ {
+ id: 5,
+ title: 'Digital Horizon',
+ coverImage:
+ 'https://images.unsplash.com/photo-1518709268805-4e9042af2176?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1170&q=80',
+ rating: 87,
+ genre: 'Racing',
+ year: 2022,
+ platform: 'Console',
+ },
+ {
+ id: 6,
+ title: 'Shadow Protocol',
+ coverImage:
+ 'https://images.unsplash.com/photo-1511512578047-dfb367046420?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80',
+ rating: 91,
+ genre: 'Stealth',
+ year: 2023,
+ platform: 'PC',
+ },
+ ];
+
+ return (
+
+
+
+ Game Library
+
+
+
+ {games.map((game) => (
+
setHoveredGame(game.id)}
+ onMouseLeave={() => setHoveredGame(null)}
+ >
+
+
+
+ {/* Overlay with game info on hover */}
+
+
+ {game.title}
+
+
+
+
+ RATING:
+
+ {game.rating}%
+
+
+
+ GENRE:
+ {game.genre}
+
+
+ YEAR:
+ {game.year}
+
+
+ PLATFORM:
+ {game.platform}
+
+
+
+
+ {/* Holographic border effect */}
+ {hoveredGame === game.id && (
+
+ )}
+
+
+
+
+ {game.title}
+
+
+
+
+
+ {game.rating}
+
+ /100
+
+
+
+
+ ))}
+
+
+
+ );
+};
+
+export default GameGrid;
diff --git a/frontend/src/components/landing/Hero.tsx b/frontend/src/components/landing/Hero.tsx
new file mode 100644
index 0000000..8c7a8b4
--- /dev/null
+++ b/frontend/src/components/landing/Hero.tsx
@@ -0,0 +1,121 @@
+'use client';
+
+import React from 'react';
+import { Button } from '@/components/ui/button';
+import Image from 'next/image';
+
+const Hero = () => {
+ return (
+
+ {/* Background Image */}
+
+
+ {/* Holographic Border Effect */}
+
+
+ {/* Content */}
+
+
+
+ Featured Mission
+
+
+ Stellar Odyssey
+
+
+ Embark on an epic journey through uncharted galaxies. Command your starship, explore
+ alien worlds, and uncover the mysteries of the universe in this groundbreaking space
+ exploration adventure.
+
+
+
+
+ console.log('Mission Start clicked')}
+ >
+ MISSION START
+
+ console.log('Learn More clicked')}
+ >
+ LEARN MORE
+
+
+
+ {/* Game Stats */}
+
+
+
+ {/* Scroll Indicator */}
+
+
+ );
+};
+
+export default Hero;
diff --git a/frontend/src/components/landing/Navbar.tsx b/frontend/src/components/landing/Navbar.tsx
new file mode 100644
index 0000000..1459524
--- /dev/null
+++ b/frontend/src/components/landing/Navbar.tsx
@@ -0,0 +1,160 @@
+'use client';
+
+import React, { useState } from 'react';
+import { Button } from '@/components/ui/button';
+import { Input } from '@/components/ui/input';
+
+const Navbar = () => {
+ const [isMenuOpen, setIsMenuOpen] = useState(false);
+ const [searchQuery, setSearchQuery] = useState('');
+
+ const toggleMenu = () => {
+ setIsMenuOpen(!isMenuOpen);
+ };
+
+ return (
+
+
+
+ {/* Logo */}
+
+
+ QUASAR
+
+
+
+ {/* Search Bar - Desktop */}
+
+ setSearchQuery(e.target.value)}
+ className="search-glow bg-transparent border border-gray-600 text-white placeholder-gray-400"
+ style={{ borderColor: 'var(--mass-effect-cyan)' }}
+ aria-label="Campo de búsqueda de juegos"
+ />
+
+
+ {/* Navigation Links - Desktop */}
+
+
+ {/* Mobile Menu Button */}
+
+
+
+ {isMenuOpen ? (
+
+ ) : (
+ <>
+
+
+
+ >
+ )}
+
+
+
+
+
+ {/* Mobile Menu */}
+ {isMenuOpen && (
+
+ {/* Search Bar - Mobile */}
+
+ setSearchQuery(e.target.value)}
+ className="search-glow bg-transparent border border-gray-600 text-white placeholder-gray-400 w-full"
+ style={{ borderColor: 'var(--mass-effect-cyan)' }}
+ />
+
+
+ {/* Navigation Links - Mobile */}
+
+
+ )}
+
+
+ );
+};
+
+export default Navbar;
diff --git a/frontend/src/components/layout/Header.tsx b/frontend/src/components/layout/Header.tsx
deleted file mode 100644
index 79977ab..0000000
--- a/frontend/src/components/layout/Header.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Link, useLocation } from '@tanstack/react-router';
-import { Menu, Search, Settings, Gamepad2, Home, FileText } from 'lucide-react';
-import { Button } from '@/components/ui/button';
-import { cn } from '@/lib/utils';
-
-interface HeaderProps {
- onMenuToggle?: () => void;
-}
-
-const navigation = [
- { name: 'Dashboard', href: '/', icon: Home },
- { name: 'Juegos', href: '/games', icon: Gamepad2 },
- { name: 'Importar ROMs', href: '/import', icon: FileText },
- { name: 'Configuración', href: '/settings', icon: Settings },
-];
-
-export function Header({ onMenuToggle }: HeaderProps) {
- const location = useLocation();
-
- return (
-
-
- {/* Botón de menú para móviles */}
-
-
- Toggle menu
-
-
- {/* Logo y título */}
-
-
-
- Quasar
-
-
-
- {/* Navegación principal */}
-
- {navigation.map((item) => {
- const Icon = item.icon;
- const isActive = location.pathname === item.href;
-
- return (
-
-
-
- {item.name}
-
-
- );
- })}
-
-
- {/* Barra de búsqueda */}
-
-
- {/* Placeholder para barra de búsqueda */}
-
-
- Buscar juegos...
-
- ⌘K
-
-
-
-
-
- {/* Usuario y acciones */}
-
-
-
- Configuración
-
-
-
-
- );
-}
diff --git a/frontend/src/components/layout/Layout.tsx b/frontend/src/components/layout/Layout.tsx
deleted file mode 100644
index ee98c86..0000000
--- a/frontend/src/components/layout/Layout.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Outlet } from '@tanstack/react-router';
-import { AppSidebar } from './Sidebar';
-
-export function Layout() {
- return (
-
-
-
-
-
-
-
- );
-}
diff --git a/frontend/src/components/layout/Sidebar.tsx b/frontend/src/components/layout/Sidebar.tsx
deleted file mode 100644
index 408fa62..0000000
--- a/frontend/src/components/layout/Sidebar.tsx
+++ /dev/null
@@ -1,309 +0,0 @@
-'use client';
-
-import * as React from 'react';
-import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
-import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';
-import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuLabel,
- DropdownMenuSeparator,
- DropdownMenuTrigger,
-} from '@/components/ui/dropdown-menu';
-import {
- Sidebar,
- SidebarContent,
- SidebarFooter,
- SidebarGroup,
- SidebarGroupLabel,
- SidebarHeader,
- SidebarInset,
- SidebarMenu,
- SidebarMenuButton,
- SidebarMenuItem,
- SidebarMenuSub,
- SidebarMenuSubButton,
- SidebarMenuSubItem,
- SidebarProvider,
- SidebarRail,
- SidebarTrigger,
- useSidebar,
-} from '@/components/ui/sidebar';
-import {
- Gamepad2,
- Home,
- Settings,
- User,
- Database,
- Star,
- TrendingUp,
- ChevronRight,
- ChevronsUpDown,
-} from 'lucide-react';
-
-const data = {
- user: {
- name: 'Game Library',
- email: 'admin@gamelibrary.com',
- avatar: '/avatars/default.jpg',
- },
- teams: [
- {
- name: 'Personal',
- logo: Gamepad2,
- plan: 'Standard',
- },
- {
- name: 'Work',
- logo: Database,
- plan: 'Professional',
- },
- ],
- navMain: [
- {
- title: 'Dashboard',
- url: '/',
- icon: Home,
- isActive: true,
- },
- {
- title: 'Games',
- url: '/games',
- icon: Gamepad2,
- items: [
- {
- title: 'All Games',
- url: '/games',
- },
- {
- title: 'Favorites',
- url: '/games/favorites',
- },
- {
- title: 'Recently Played',
- url: '/games/recent',
- },
- ],
- },
- {
- title: 'Collections',
- url: '/collections',
- icon: Star,
- items: [
- {
- title: 'My Collections',
- url: '/collections',
- },
- {
- title: 'Shared Collections',
- url: '/collections/shared',
- },
- ],
- },
- {
- title: 'Statistics',
- url: '/stats',
- icon: TrendingUp,
- },
- {
- title: 'Settings',
- url: '/settings',
- icon: Settings,
- },
- ],
-};
-
-function TeamSwitcher({
- teams,
-}: {
- teams: {
- name: string;
- logo: React.ElementType;
- plan: string;
- }[];
-}) {
- const { isMobile } = useSidebar();
- const [activeTeam, setActiveTeam] = React.useState(teams[0]);
-
- if (!activeTeam) {
- return null;
- }
-
- return (
-
-
-
-
-
-
-
- {activeTeam.name}
- {activeTeam.plan}
-
-
-
-
-
-
- Teams
- {teams.map((team) => (
- setActiveTeam(team)}
- className="cursor-pointer"
- >
-
-
-
-
- {team.name}
- {team.plan}
-
-
- ))}
-
-
-
-
-
- );
-}
-
-function NavMain({
- items,
-}: {
- items: {
- title: string;
- url: string;
- icon?: React.ElementType;
- isActive?: boolean;
- items?: {
- title: string;
- url: string;
- }[];
- }[];
-}) {
- return (
-
- Main Navigation
-
- {items.map((item) => (
-
-
- }>
- {item.icon && }
- {item.title}
-
-
-
-
- {item.items?.map((subItem) => (
-
- }>
- {subItem.title}
-
-
- ))}
-
-
-
-
- ))}
-
-
- );
-}
-
-function NavUser({ user }: { user: { name: string; email: string; avatar: string } }) {
- const { isMobile } = useSidebar();
-
- return (
-
-
-
-
-
-
-
- {user.name.charAt(0)}
-
-
- {user.name}
- {user.email}
-
-
-
-
-
-
- Logged in as
-
-
-
-
- Profile
-
-
-
- Settings
-
-
-
-
- Log out
-
-
-
-
-
- );
-}
-
-export function AppSidebar({ ...props }: React.ComponentProps) {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/frontend/src/components/ui/alert.tsx b/frontend/src/components/ui/alert.tsx
deleted file mode 100644
index 49a6d9a..0000000
--- a/frontend/src/components/ui/alert.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import * as React from 'react';
-import { cva, type VariantProps } from 'class-variance-authority';
-import { AlertTriangle, CheckCircle, Info, XCircle } from 'lucide-react';
-
-import { cn } from '@/lib/utils';
-
-const alertVariants = cva(
- 'relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:-top-1 [&>svg]:-left-1 [&>svg]:h-4 [&>svg]:w-4 [&>svg]:text-foreground',
- {
- variants: {
- variant: {
- default: 'bg-background text-foreground border',
- destructive:
- 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive',
- success: 'border-green-500/50 text-green-700 dark:border-green-500 [&>svg]:text-green-700',
- warning:
- 'border-yellow-500/50 text-yellow-700 dark:border-yellow-500 [&>svg]:text-yellow-700',
- info: 'border-blue-500/50 text-blue-700 dark:border-blue-500 [&>svg]:text-blue-700',
- },
- },
- defaultVariants: {
- variant: 'default',
- },
- }
-);
-
-const Alert = React.forwardRef<
- HTMLDivElement,
- React.HTMLAttributes & VariantProps
->(({ className, variant, ...props }, ref) => (
-
-));
-Alert.displayName = 'Alert';
-
-const AlertTitle = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
- )
-);
-AlertTitle.displayName = 'AlertTitle';
-
-const AlertDescription = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-AlertDescription.displayName = 'AlertDescription';
-
-const AlertIcon = ({ variant }: { variant?: VariantProps['variant'] }) => {
- switch (variant) {
- case 'destructive':
- return ;
- case 'success':
- return ;
- case 'warning':
- return ;
- case 'info':
- return ;
- default:
- return ;
- }
-};
-
-export { Alert, AlertTitle, AlertDescription, AlertIcon };
diff --git a/frontend/src/components/ui/badge.tsx b/frontend/src/components/ui/badge.tsx
deleted file mode 100644
index dcdd320..0000000
--- a/frontend/src/components/ui/badge.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import * as React from 'react';
-import { cva, type VariantProps } from 'class-variance-authority';
-import { cn } from '@/lib/utils';
-
-const badgeVariants = cva(
- 'inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',
- {
- variants: {
- variant: {
- default: 'border-transparent bg-primary text-primary-foreground hover:bg-primary/80',
- secondary:
- 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',
- destructive:
- 'border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80',
- outline: 'text-foreground',
- },
- },
- defaultVariants: {
- variant: 'default',
- },
- }
-);
-
-export interface BadgeProps
- extends React.HTMLAttributes, VariantProps {}
-
-function Badge({ className, variant, ...props }: BadgeProps) {
- return
;
-}
-
-export { Badge, badgeVariants };
diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx
index 765f33b..b5ea4ab 100644
--- a/frontend/src/components/ui/button.tsx
+++ b/frontend/src/components/ui/button.tsx
@@ -1,47 +1,64 @@
-import * as React from 'react';
-import { Slot } from '@radix-ui/react-slot';
-import { cva, type VariantProps } from 'class-variance-authority';
-import { cn } from '@/lib/utils';
+import * as React from "react"
+import { cva, type VariantProps } from "class-variance-authority"
+import { Slot } from "radix-ui"
+
+import { cn } from "@/lib/utils"
const buttonVariants = cva(
- 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
{
variants: {
variant: {
- default: 'bg-primary text-primary-foreground hover:bg-primary/90',
- destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',
- outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
- secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
- ghost: 'hover:bg-accent hover:text-accent-foreground',
- link: 'text-primary underline-offset-4 hover:underline',
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
+ destructive:
+ "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
+ outline:
+ "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
+ secondary:
+ "bg-secondary text-secondary-foreground hover:bg-secondary/80",
+ ghost:
+ "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
+ link: "text-primary underline-offset-4 hover:underline",
},
size: {
- default: 'h-10 px-4 py-2',
- sm: 'h-9 rounded-md px-3',
- lg: 'h-11 rounded-md px-8',
- icon: 'h-10 w-10',
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
+ xs: "h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
+ icon: "size-9",
+ "icon-xs": "size-6 rounded-md [&_svg:not([class*='size-'])]:size-3",
+ "icon-sm": "size-8",
+ "icon-lg": "size-10",
},
},
defaultVariants: {
- variant: 'default',
- size: 'default',
+ variant: "default",
+ size: "default",
},
}
-);
+)
-export interface ButtonProps
- extends React.ButtonHTMLAttributes, VariantProps {
- asChild?: boolean;
+function Button({
+ className,
+ variant = "default",
+ size = "default",
+ asChild = false,
+ ...props
+}: React.ComponentProps<"button"> &
+ VariantProps & {
+ asChild?: boolean
+ }) {
+ const Comp = asChild ? Slot.Root : "button"
+
+ return (
+
+ )
}
-const Button = React.forwardRef(
- ({ className, variant, size, asChild = false, ...props }, ref) => {
- const Comp = asChild ? Slot : 'button';
- return (
-
- );
- }
-);
-Button.displayName = 'Button';
-
-export { Button, buttonVariants };
+export { Button, buttonVariants }
diff --git a/frontend/src/components/ui/card.tsx b/frontend/src/components/ui/card.tsx
index 1a2c86c..681ad98 100644
--- a/frontend/src/components/ui/card.tsx
+++ b/frontend/src/components/ui/card.tsx
@@ -1,55 +1,92 @@
-import * as React from 'react';
-import { cn } from '@/lib/utils';
+import * as React from "react"
-const Card = React.forwardRef>(
- ({ className, ...props }, ref) => (
+import { cn } from "@/lib/utils"
+
+function Card({ className, ...props }: React.ComponentProps<"div">) {
+ return (
)
-);
-Card.displayName = 'Card';
+}
-const CardHeader = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
- )
-);
-CardHeader.displayName = 'CardHeader';
-
-const CardTitle = React.forwardRef>(
- ({ className, ...props }, ref) => (
- ) {
+ return (
+
)
-);
-CardTitle.displayName = 'CardTitle';
+}
-const CardDescription = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-CardDescription.displayName = 'CardDescription';
-
-const CardContent = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
+function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
)
-);
-CardContent.displayName = 'CardContent';
+}
-const CardFooter = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
+function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
)
-);
-CardFooter.displayName = 'CardFooter';
+}
-export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };
+function CardAction({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardContent({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+export {
+ Card,
+ CardHeader,
+ CardFooter,
+ CardTitle,
+ CardAction,
+ CardDescription,
+ CardContent,
+}
diff --git a/frontend/src/components/ui/checkbox.tsx b/frontend/src/components/ui/checkbox.tsx
deleted file mode 100644
index 317ca72..0000000
--- a/frontend/src/components/ui/checkbox.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import * as React from 'react';
-import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
-import { Check } from 'lucide-react';
-
-import { cn } from '@/lib/utils';
-
-const Checkbox = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-
-
-));
-Checkbox.displayName = CheckboxPrimitive.Root.displayName;
-
-export { Checkbox };
diff --git a/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx
index 04db187..8916905 100644
--- a/frontend/src/components/ui/input.tsx
+++ b/frontend/src/components/ui/input.tsx
@@ -1,23 +1,21 @@
-import * as React from 'react';
-import { cn } from '@/lib/utils';
+import * as React from "react"
-export interface InputProps extends React.InputHTMLAttributes {}
+import { cn } from "@/lib/utils"
-const Input = React.forwardRef(
- ({ className, type, ...props }, ref) => {
- return (
-
- );
- }
-);
-Input.displayName = 'Input';
+function Input({ className, type, ...props }: React.ComponentProps<"input">) {
+ return (
+
+ )
+}
-export { Input };
+export { Input }
diff --git a/frontend/src/components/ui/label.tsx b/frontend/src/components/ui/label.tsx
deleted file mode 100644
index 86b32b7..0000000
--- a/frontend/src/components/ui/label.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import * as React from 'react';
-import * as LabelPrimitive from '@radix-ui/react-label';
-import { cva, type VariantProps } from 'class-variance-authority';
-
-import { cn } from '@/lib/utils';
-
-const labelVariants = cva(
- 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'
-);
-
-const Label = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & VariantProps
->(({ className, ...props }, ref) => (
-
-));
-Label.displayName = LabelPrimitive.Root.displayName;
-
-export { Label };
diff --git a/frontend/src/components/ui/scroll-area.tsx b/frontend/src/components/ui/scroll-area.tsx
deleted file mode 100644
index 14d95e0..0000000
--- a/frontend/src/components/ui/scroll-area.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import * as React from 'react';
-import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
-
-import { cn } from '@/lib/utils';
-
-const ScrollArea = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
-
-
- {children}
-
-
-
-
-));
-ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
-
-const ScrollBar = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, orientation = 'vertical', ...props }, ref) => (
-
-
-
-));
-ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
-
-export { ScrollArea, ScrollBar };
diff --git a/frontend/src/components/ui/select.tsx b/frontend/src/components/ui/select.tsx
deleted file mode 100644
index 0a7dc17..0000000
--- a/frontend/src/components/ui/select.tsx
+++ /dev/null
@@ -1,151 +0,0 @@
-import * as React from 'react';
-import * as SelectPrimitive from '@radix-ui/react-select';
-import { Check, ChevronDown, ChevronUp } from 'lucide-react';
-
-import { cn } from '@/lib/utils';
-
-const Select = SelectPrimitive.Root;
-
-const SelectGroup = SelectPrimitive.Group;
-
-const SelectValue = SelectPrimitive.Value;
-
-const SelectTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
- span]:line-clamp-1',
- className
- )}
- {...props}
- >
- {children}
-
-
-
-
-));
-SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
-
-const SelectScrollUpButton = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-));
-SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
-
-const SelectScrollDownButton = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-
-
-));
-SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
-
-const SelectContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, position = 'popper', ...props }, ref) => (
-
-
-
-
- {children}
-
-
-
-
-));
-SelectContent.displayName = SelectPrimitive.Content.displayName;
-
-const SelectLabel = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-SelectLabel.displayName = SelectPrimitive.Label.displayName;
-
-const SelectItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, children, ...props }, ref) => (
-
-
-
-
-
-
-
- {children}
-
-));
-SelectItem.displayName = SelectPrimitive.Item.displayName;
-
-const SelectSeparator = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
->(({ className, ...props }, ref) => (
-
-));
-SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
-
-export {
- Select,
- SelectGroup,
- SelectValue,
- SelectTrigger,
- SelectContent,
- SelectLabel,
- SelectItem,
- SelectSeparator,
- SelectScrollUpButton,
- SelectScrollDownButton,
-};
diff --git a/frontend/src/components/ui/table.tsx b/frontend/src/components/ui/table.tsx
deleted file mode 100644
index ddc2083..0000000
--- a/frontend/src/components/ui/table.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import * as React from 'react';
-
-import { cn } from '@/lib/utils';
-
-const Table = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
- )
-);
-Table.displayName = 'Table';
-
-const TableHeader = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableHeader.displayName = 'TableHeader';
-
-const TableBody = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableBody.displayName = 'TableBody';
-
-const TableFooter = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
- tr]:last:border-b-0', className)}
- {...props}
- />
-));
-TableFooter.displayName = 'TableFooter';
-
-const TableRow = React.forwardRef>(
- ({ className, ...props }, ref) => (
-
- )
-);
-TableRow.displayName = 'TableRow';
-
-const TableHead = React.forwardRef<
- HTMLTableCellElement,
- React.ThHTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableHead.displayName = 'TableHead';
-
-const TableCell = React.forwardRef<
- HTMLTableCellElement,
- React.TdHTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableCell.displayName = 'TableCell';
-
-const TableCaption = React.forwardRef<
- HTMLTableCaptionElement,
- React.HTMLAttributes
->(({ className, ...props }, ref) => (
-
-));
-TableCaption.displayName = 'TableCaption';
-
-export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };
diff --git a/frontend/src/components/ui/textarea.tsx b/frontend/src/components/ui/textarea.tsx
deleted file mode 100644
index b6d2be1..0000000
--- a/frontend/src/components/ui/textarea.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import * as React from 'react';
-
-import { cn } from '@/lib/utils';
-
-export interface TextareaProps extends React.TextareaHTMLAttributes {}
-
-const Textarea = React.forwardRef(
- ({ className, ...props }, ref) => {
- return (
-
- );
- }
-);
-Textarea.displayName = 'Textarea';
-
-export { Textarea };
diff --git a/frontend/src/form/config.tsx b/frontend/src/form/config.tsx
deleted file mode 100644
index 5c0edbf..0000000
--- a/frontend/src/form/config.tsx
+++ /dev/null
@@ -1,98 +0,0 @@
-import { z } from 'zod';
-
-// Esquemas de validación comunes
-export const commonSchemas = {
- // Validación de strings
- string: (min = 1, max = 255) =>
- z.string().min(min, 'Este campo es requerido').max(max, 'Máximo 255 caracteres'),
-
- // Validación de emails
- email: z.string().email('Por favor ingresa un email válido').min(1, 'Este campo es requerido'),
-
- // Validación de números
- number: (min = 0, max = Number.MAX_SAFE_INTEGER) =>
- z.number().min(min, 'Debe ser un número positivo').max(max, 'Número demasiado grande'),
-
- // Validación de fechas
- date: z
- .date()
- .refine(
- (date) => date instanceof Date && !isNaN(date.getTime()),
- 'Por favor ingresa una fecha válida'
- ),
-
- // Validación de booleanos
- boolean: z.boolean(),
-
- // Validación de arrays
- array: (min = 1, max = 100) =>
- z
- .array(z.unknown())
- .min(min, 'Al menos un elemento requerido')
- .max(max, 'Máximo 100 elementos'),
-};
-
-// Función para manejar errores de formulario
-export function getFieldError(
- fieldErrors: Record,
- fieldName: string
-): string | undefined {
- const errors = fieldErrors[fieldName];
- return errors?.[0];
-}
-
-// Función para manejar errores de formulario global
-export function getGlobalError(fieldErrors: Record): string | undefined {
- const globalErrors = Object.values(fieldErrors).flat();
- return globalErrors?.[0];
-}
-
-// Esquemas específicos para la aplicación
-export const appSchemas = {
- // Esquema para crear/editar juegos
- gameSchema: z.object({
- title: commonSchemas.string(1, 100),
- description: commonSchemas.string(0, 2000),
- platformId: commonSchemas.number(1, Number.MAX_SAFE_INTEGER),
- releaseYear: commonSchemas.number(1900, new Date().getFullYear() + 5),
- rating: z.number().min(0).max(10).optional(),
- tags: commonSchemas.array(0, 50).optional(),
- romFile: z.string().optional(),
- metadataSource: z.enum(['igdb', 'rawg', 'thegamesdb', 'manual']).optional(),
- }),
-
- // Esquema para importar ROMs
- importRomSchema: z.object({
- romPath: commonSchemas.string(1, 500),
- platformId: commonSchemas.number(1, Number.MAX_SAFE_INTEGER),
- autoScan: z.boolean().default(true),
- }),
-
- // Esquema para configuración
- settingsSchema: z.object({
- igdbApiKey: commonSchemas.string(0, 100).optional(),
- rawgApiKey: commonSchemas.string(0, 100).optional(),
- thegamesdbApiKey: commonSchemas.string(0, 100).optional(),
- defaultRomDirectory: commonSchemas.string(0, 500).optional(),
- autoImportEnabled: z.boolean().default(true),
- metadataSourcePriority: z
- .array(z.enum(['igdb', 'rawg', 'thegamesdb']))
- .default(['igdb', 'rawg', 'thegamesdb']),
- }),
-
- // Esquema para plataformas
- platformSchema: z.object({
- name: commonSchemas.string(1, 50),
- description: commonSchemas.string(0, 500),
- manufacturer: commonSchemas.string(0, 100),
- releaseYear: commonSchemas.number(1900, new Date().getFullYear() + 5),
- romExtension: z.string().optional(),
- }),
-
- // Esquema para etiquetas
- tagSchema: z.object({
- name: commonSchemas.string(1, 30),
- color: z.string().regex(/^#[0-9A-F]{6}$/i, 'Color inválido. Use formato #RRGGBB'),
- description: commonSchemas.string(0, 200),
- }),
-};
diff --git a/frontend/src/index.css b/frontend/src/index.css
deleted file mode 100644
index 08a3ac9..0000000
--- a/frontend/src/index.css
+++ /dev/null
@@ -1,68 +0,0 @@
-:root {
- font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
- line-height: 1.5;
- font-weight: 400;
-
- color-scheme: light dark;
- color: rgba(255, 255, 255, 0.87);
- background-color: #242424;
-
- font-synthesis: none;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-a {
- font-weight: 500;
- color: #646cff;
- text-decoration: inherit;
-}
-a:hover {
- color: #535bf2;
-}
-
-body {
- margin: 0;
- display: flex;
- place-items: center;
- min-width: 320px;
- min-height: 100vh;
-}
-
-h1 {
- font-size: 3.2em;
- line-height: 1.1;
-}
-
-button {
- border-radius: 8px;
- border: 1px solid transparent;
- padding: 0.6em 1.2em;
- font-size: 1em;
- font-weight: 500;
- font-family: inherit;
- background-color: #1a1a1a;
- cursor: pointer;
- transition: border-color 0.25s;
-}
-button:hover {
- border-color: #646cff;
-}
-button:focus,
-button:focus-visible {
- outline: 4px auto -webkit-focus-ring-color;
-}
-
-@media (prefers-color-scheme: light) {
- :root {
- color: #213547;
- background-color: #ffffff;
- }
- a:hover {
- color: #747bff;
- }
- button {
- background-color: #f9f9f9;
- }
-}
diff --git a/frontend/src/lib/utils.ts b/frontend/src/lib/utils.ts
index 9ad0df4..bd0c391 100644
--- a/frontend/src/lib/utils.ts
+++ b/frontend/src/lib/utils.ts
@@ -1,6 +1,6 @@
-import { type ClassValue, clsx } from 'clsx';
-import { twMerge } from 'tailwind-merge';
+import { clsx, type ClassValue } from "clsx"
+import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs));
+ return twMerge(clsx(inputs))
}
diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx
deleted file mode 100644
index 6286c65..0000000
--- a/frontend/src/main.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { StrictMode } from 'react';
-import { createRoot } from 'react-dom/client';
-import './styles/globals.css';
-import App from './App.tsx';
-
-createRoot(document.getElementById('root')!).render(
-
-
-
-);
diff --git a/frontend/src/pages/DashboardPage.tsx b/frontend/src/pages/DashboardPage.tsx
deleted file mode 100644
index 064f893..0000000
--- a/frontend/src/pages/DashboardPage.tsx
+++ /dev/null
@@ -1,232 +0,0 @@
-import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
-import { Badge } from '@/components/ui/badge';
-import { Button } from '@/components/ui/button';
-import {
- Gamepad2,
- Database,
- Tag,
- Download,
- Upload,
- TrendingUp,
- Clock,
- AlertCircle,
-} from 'lucide-react';
-
-// Datos simulados para el dashboard
-const stats = {
- totalGames: 156,
- gamesWithRom: 128,
- gamesWithoutRom: 28,
- gamesWithMetadata: 142,
- gamesWithoutMetadata: 14,
- totalPlatforms: 12,
- totalTags: 45,
- averageRating: 7.8,
-};
-
-const recentGames = [
- {
- id: 1,
- title: 'The Legend of Zelda: Breath of the Wild',
- platform: 'Nintendo Switch',
- rating: 9.5,
- addedDate: '2024-01-10',
- },
- { id: 2, title: 'God of War', platform: 'PlayStation 4', rating: 9.2, addedDate: '2024-01-09' },
- { id: 3, title: 'Cyberpunk 2077', platform: 'PC', rating: 8.7, addedDate: '2024-01-08' },
- {
- id: 4,
- title: 'Super Mario Odyssey',
- platform: 'Nintendo Switch',
- rating: 9.0,
- addedDate: '2024-01-07',
- },
- {
- id: 5,
- title: 'Red Dead Redemption 2',
- platform: 'PlayStation 4',
- rating: 9.3,
- addedDate: '2024-01-06',
- },
-];
-
-const pendingTasks = [
- { id: 1, title: 'Enriquecer metadata para 14 juegos', priority: 'high', type: 'metadata' },
- { id: 2, title: 'Importar 28 ROMs detectadas', priority: 'medium', type: 'import' },
- { id: 3, title: 'Actualizar información de 5 juegos', priority: 'low', type: 'update' },
-];
-
-export function DashboardPage() {
- return (
-
- {/* Encabezado */}
-
-
Dashboard
-
Resumen general de tu colección de videojuegos
-
-
- {/* Estadísticas principales */}
-
-
-
- Total de Juegos
-
-
-
- {stats.totalGames}
- +12% desde el mes pasado
-
-
-
-
-
- Juegos con ROM
-
-
-
- {stats.gamesWithRom}
- de {stats.totalGames} juegos
-
-
-
-
-
- Juegos con Metadata
-
-
-
- {stats.gamesWithMetadata}
- {stats.gamesWithoutMetadata} pendientes
-
-
-
-
-
- Plataformas
-
-
-
- {stats.totalPlatforms}
- {stats.totalTags} etiquetas
-
-
-
-
-
- {/* Tareas pendientes */}
-
-
- Tareas Pendientes
-
- Acciones necesarias para mantener tu colección actualizada
-
-
-
-
- {pendingTasks.map((task) => (
-
-
- {task.priority === 'high' &&
}
- {task.priority === 'medium' &&
}
- {task.priority === 'low' &&
}
-
-
-
{task.title}
-
-
- {task.type}
-
-
- {task.priority}
-
-
-
-
- Ver
-
-
- ))}
-
-
-
- Ver todas las tareas
-
-
-
-
-
- {/* Juegos recientes */}
-
-
- Juegos Recientes
- Últimos juegos añadidos a tu colección
-
-
-
- {recentGames.map((game) => (
-
-
-
-
{game.title}
-
-
- {game.platform}
-
-
- ★
- {game.rating}
-
-
-
-
{game.addedDate}
-
- ))}
-
-
-
- Ver todos los juegos
-
-
-
-
-
-
- {/* Acciones rápidas */}
-
-
- Acciones Rápidas
- Acciones comunes para gestionar tu colección
-
-
-
-
-
- Importar ROMs
-
-
-
- Exportar Datos
-
-
-
- Gestionar Plataformas
-
-
-
-
-
- );
-}
diff --git a/frontend/src/pages/GameDetailPage.tsx b/frontend/src/pages/GameDetailPage.tsx
deleted file mode 100644
index 5209ac0..0000000
--- a/frontend/src/pages/GameDetailPage.tsx
+++ /dev/null
@@ -1,350 +0,0 @@
-import { useState } from 'react';
-import { useNavigate, useParams } from '@tanstack/react-router';
-import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
-import { Button } from '@/components/ui/button';
-import { Badge } from '@/components/ui/badge';
-import {
- Table,
- TableBody,
- TableCell,
- TableHead,
- TableHeader,
- TableRow,
-} from '@/components/ui/table';
-import { Label } from '@/components/ui/label';
-import { Alert, AlertDescription } from '@/components/ui/alert';
-import {
- ArrowLeft,
- Edit,
- Trash2,
- Download,
- Star,
- Calendar,
- HardDrive,
- Tag,
- ExternalLink,
- Info,
- AlertCircle,
-} from 'lucide-react';
-import { Game } from '@/types';
-
-// Datos simulados para el detalle del juego
-const mockGame: Game = {
- id: 1,
- title: 'The Legend of Zelda: Breath of the Wild',
- description:
- 'The Legend of Zelda: Breath of the Wild es un juego de acción-aventura desarrollado y publicado por Nintendo para la consola Nintendo Switch y la consola Wii U. Es el decimonoveno juego principal de la serie The Legend of Zelda y fue lanzado mundialmente en marzo de 2017. El juego presenta un mundo abierto con un diseño de física y química avanzado que permite a los jugadores resolver problemas de man creativas.',
- platformId: 1,
- platform: {
- id: 1,
- name: 'Nintendo Switch',
- description: 'Consola híbrida de Nintendo',
- manufacturer: 'Nintendo',
- releaseYear: 2017,
- romExtension: 'nsp',
- },
- releaseYear: 2017,
- rating: 9.5,
- tags: [
- { id: 1, name: 'Aventura', color: '#3B82F6', description: 'Juegos de aventura' },
- { id: 2, name: 'Acción', color: '#EF4444', description: 'Juegos de acción' },
- { id: 3, name: 'Open World', color: '#10B981', description: 'Mundo abierto' },
- ],
- romFile: {
- id: 1,
- filename: 'zelda_botw.nsp',
- path: '/roms/nintendo-switch',
- size: 14485760,
- checksum: 'abc123def456',
- gameId: 1,
- },
- metadataSource: 'manual',
- igdbId: '12345',
- rawgId: '67890',
- thegamesdbId: '54321',
- createdAt: new Date('2024-01-10'),
- updatedAt: new Date('2024-01-15'),
-};
-
-export function GameDetailPage() {
- const navigate = useNavigate();
- const { gameId } = useParams({ from: '/games/$gameId' });
- const [game] = useState(mockGame);
-
- const handleEdit = () => {
- navigate({ to: `/games/${game.id}/edit` });
- };
-
- const handleDelete = () => {
- // TODO: Implementar eliminación del juego
- console.log('Eliminar juego:', game.id);
- };
-
- const formatFileSize = (bytes: number) => {
- if (bytes === 0) return '0 Bytes';
- const k = 1024;
- const sizes = ['Bytes', 'KB', 'MB', 'GB'];
- const i = Math.floor(Math.log(bytes) / Math.log(k));
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
- };
-
- return (
-
- {/* Encabezado con botón de retroceso */}
-
-
navigate({ to: '/games' })} className="gap-2">
-
- Volver
-
-
-
{game.title}
-
Detalles del juego
-
-
-
- {/* Acciones */}
-
-
-
- Editar
-
-
-
- Descargar ROM
-
-
-
- Eliminar
-
-
-
-
- {/* Información principal */}
-
- {/* Descripción */}
-
-
-
-
- Descripción
-
-
-
- {game.description}
-
-
-
- {/* Información técnica */}
-
-
-
-
- Información Técnica
-
-
-
-
-
-
Plataforma
-
{game.platform?.name}
-
-
-
Año de lanzamiento
-
- {game.releaseYear || 'Desconocido'}
-
-
-
-
Tamaño del archivo
-
- {game.romFile ? formatFileSize(game.romFile.size) : 'No disponible'}
-
-
-
-
Checksum
-
- {game.romFile ? game.romFile.checksum : 'No disponible'}
-
-
-
-
-
-
- {/* Etiquetas */}
-
-
-
-
- Etiquetas
-
-
-
-
- {game.tags.map((tag) => (
-
- {tag.name}
-
- ))}
- {game.tags.length === 0 && (
-
No hay etiquetas asignadas
- )}
-
-
-
-
-
- {/* Panel lateral */}
-
- {/* Estado del juego */}
-
-
- Estado
-
-
-
-
Calificación
-
-
- {game.rating || '-'}
-
-
-
- ROM
-
- {game.romFile ? 'Disponible' : 'No disponible'}
-
-
-
- Metadata
-
- {game.metadataSource || 'Manual'}
-
-
-
-
-
- {/* Fuentes externas */}
-
-
- Fuentes Externas
-
-
-
-
IGDB
-
- {game.igdbId ? (
- <>
- Conectado
-
-
-
- >
- ) : (
- No conectado
- )}
-
-
-
-
RAWG
-
- {game.rawgId ? (
- <>
- Conectado
-
-
-
- >
- ) : (
- No conectado
- )}
-
-
-
-
TheGamesDB
-
- {game.thegamesdbId ? (
- <>
- Conectado
-
-
-
- >
- ) : (
- No conectado
- )}
-
-
-
-
-
- {/* Fechas */}
-
-
- Información de Registro
-
-
-
-
Fecha de creación
-
- {game.createdAt.toLocaleDateString()}
-
-
-
-
Última actualización
-
- {game.updatedAt.toLocaleDateString()}
-
-
-
-
-
-
-
- {/* Acciones adicionales */}
-
-
- Acciones Rápidas
- Acciones adicionales para gestionar este juego
-
-
-
-
-
- Buscar Metadata
-
-
-
- Añadir Fecha de Compra
-
-
-
- Gestionar Etiquetas
-
-
-
- Exportar Datos
-
-
-
-
-
- {/* Alerta de información */}
-
-
-
- Esta es una vista previa del juego. Algunas características pueden no estar completamente
- implementadas en esta versión de demostración.
-
-
-
- );
-}
diff --git a/frontend/src/pages/GamesPage.tsx b/frontend/src/pages/GamesPage.tsx
deleted file mode 100644
index bc3dc9b..0000000
--- a/frontend/src/pages/GamesPage.tsx
+++ /dev/null
@@ -1,435 +0,0 @@
-import { useState } from 'react';
-import { useNavigate } from '@tanstack/react-router';
-import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
-import { Button } from '@/components/ui/button';
-import { Input } from '@/components/ui/input';
-import { Badge } from '@/components/ui/badge';
-import {
- Table,
- TableBody,
- TableCell,
- TableHead,
- TableHeader,
- TableRow,
-} from '@/components/ui/table';
-import {
- Select,
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@/components/ui/select';
-import { Label } from '@/components/ui/label';
-import { Search, Filter, Plus, Eye, Edit, Trash2, Star } from 'lucide-react';
-import { Game } from '@/types';
-
-// Datos simulados para la lista de juegos
-const mockGames: Game[] = [
- {
- id: 1,
- title: 'The Legend of Zelda: Breath of the Wild',
- description: 'Un juego de acción-aventura desarrollado por Nintendo',
- platformId: 1,
- platform: { id: 1, name: 'Nintendo Switch', description: 'Consola híbrida de Nintendo' },
- releaseYear: 2017,
- rating: 9.5,
- tags: [{ id: 1, name: 'Aventura', color: '#3B82F6', description: 'Juegos de aventura' }],
- romFile: {
- id: 1,
- filename: 'zelda_botw.nsp',
- path: '/roms/nintendo-switch',
- size: 14485760,
- checksum: 'abc123',
- },
- metadataSource: 'manual',
- createdAt: new Date('2024-01-10'),
- updatedAt: new Date('2024-01-10'),
- },
- {
- id: 2,
- title: 'God of War',
- description: 'Un juego de acción-aventura basado en la mitología nórdica',
- platformId: 2,
- platform: { id: 2, name: 'PlayStation 4', description: 'Consola de Sony' },
- releaseYear: 2018,
- rating: 9.2,
- tags: [{ id: 2, name: 'Acción', color: '#EF4444', description: 'Juegos de acción' }],
- romFile: {
- id: 2,
- filename: 'god_of_war.iso',
- path: '/roms/ps4',
- size: 45234120,
- checksum: 'def456',
- },
- metadataSource: 'igdb',
- createdAt: new Date('2024-01-09'),
- updatedAt: new Date('2024-01-09'),
- },
- {
- id: 3,
- title: 'Cyberpunk 2077',
- description: 'Un RPG de acción en mundo abierto ambientado en Night City',
- platformId: 3,
- platform: { id: 3, name: 'PC', description: 'Plataforma de computadora personal' },
- releaseYear: 2020,
- rating: 8.7,
- tags: [{ id: 3, name: 'RPG', color: '#10B981', description: 'Juegos de rol' }],
- romFile: undefined,
- metadataSource: 'rawg',
- createdAt: new Date('2024-01-08'),
- updatedAt: new Date('2024-01-08'),
- },
-];
-
-const platforms = [
- { id: 1, name: 'Nintendo Switch' },
- { id: 2, name: 'PlayStation 4' },
- { id: 3, name: 'PC' },
- { id: 4, name: 'Xbox One' },
-];
-
-const tags = [
- { id: 1, name: 'Aventura', color: '#3B82F6' },
- { id: 2, name: 'Acción', color: '#EF4444' },
- { id: 3, name: 'RPG', color: '#10B981' },
- { id: 4, name: 'Estrategia', color: '#F59E0B' },
-];
-
-export function GamesPage() {
- const navigate = useNavigate();
- const [searchTerm, setSearchTerm] = useState('');
- const [selectedPlatform, setSelectedPlatform] = useState('');
- const [selectedTags, setSelectedTags] = useState([]);
- const [sortBy, setSortBy] = useState('title');
- const [sortOrder, setSortOrder] = useState<'asc' | 'desc'>('asc');
- const [currentPage, setCurrentPage] = useState(1);
- const [games] = useState(mockGames);
-
- // Filtrar y ordenar juegos
- const filteredGames = games
- .filter((game) => {
- const matchesSearch =
- game.title.toLowerCase().includes(searchTerm.toLowerCase()) ||
- game.description?.toLowerCase().includes(searchTerm.toLowerCase());
- const matchesPlatform = !selectedPlatform || game.platformId.toString() === selectedPlatform;
- const matchesTags =
- selectedTags.length === 0 ||
- selectedTags.some((tagId) => game.tags.some((tag) => tag.id.toString() === tagId));
-
- return matchesSearch && matchesPlatform && matchesTags;
- })
- .sort((a, b) => {
- let aValue: string | number = '';
- let bValue: string | number = '';
-
- switch (sortBy) {
- case 'title':
- aValue = a.title?.toLowerCase() || '';
- bValue = b.title?.toLowerCase() || '';
- break;
- case 'platform':
- aValue = a.platform?.name?.toLowerCase() || '';
- bValue = b.platform?.name?.toLowerCase() || '';
- break;
- case 'releaseYear':
- aValue = a.releaseYear || 0;
- bValue = b.releaseYear || 0;
- break;
- case 'rating':
- aValue = a.rating || 0;
- bValue = b.rating || 0;
- break;
- default:
- aValue = a.title?.toLowerCase() || '';
- bValue = b.title?.toLowerCase() || '';
- }
-
- if (sortOrder === 'asc') {
- return aValue > bValue ? 1 : -1;
- } else {
- return aValue < bValue ? 1 : -1;
- }
- });
-
- const handleSort = (field: string) => {
- if (sortBy === field) {
- setSortOrder(sortOrder === 'asc' ? 'desc' : 'asc');
- } else {
- setSortBy(field);
- setSortOrder('asc');
- }
- };
-
- const handleTagToggle = (tagId: string) => {
- setSelectedTags((prev) =>
- prev.includes(tagId) ? prev.filter((id) => id !== tagId) : [...prev, tagId]
- );
- };
-
- const clearFilters = () => {
- setSearchTerm('');
- setSelectedPlatform('');
- setSelectedTags([]);
- setSortBy('title');
- setSortOrder('asc');
- setCurrentPage(1);
- };
-
- const handleGameClick = (gameId: number) => {
- navigate({ to: `/games/${gameId}` });
- };
-
- return (
-
- {/* Encabezado */}
-
-
-
Juegos
-
Gestiona tu colección de videojuegos
-
-
navigate({ to: '/games/create' })}>
-
- Nuevo Juego
-
-
-
- {/* Filtros */}
-
-
-
-
- Filtros y Búsqueda
-
-
-
-
- {/* Búsqueda */}
-
-
Buscar
-
-
- setSearchTerm(e.target.value)}
- className="pl-8"
- />
-
-
-
- {/* Plataforma */}
-
- Plataforma
-
-
-
-
-
- Todas las plataformas
- {platforms.map((platform) => (
-
- {platform.name}
-
- ))}
-
-
-
-
- {/* Ordenar por */}
-
- Ordenar por
-
-
-
-
-
- Título
- Año de lanzamiento
- Calificación
- Plataforma
-
-
-
-
- {/* Acciones */}
-
-
-
-
- Limpiar filtros
-
-
-
-
-
- {/* Filtros de etiquetas */}
-
-
Etiquetas
-
- {tags.map((tag) => (
- handleTagToggle(tag.id.toString())}
- >
- {tag.name}
-
- ))}
-
-
-
-
-
- {/* Tabla de juegos */}
-
-
- Lista de Juegos ({filteredGames.length})
-
- {filteredGames.length === 0 ? 'No se encontraron juegos' : 'Juegos en tu colección'}
-
-
-
-
-
-
-
- handleSort('title')}
- >
- Título {sortBy === 'title' && (sortOrder === 'asc' ? '↑' : '↓')}
-
- Plataforma
- handleSort('releaseYear')}
- >
- Año {sortBy === 'releaseYear' && (sortOrder === 'asc' ? '↑' : '↓')}
-
- handleSort('rating')}
- >
- Calificación {sortBy === 'rating' && (sortOrder === 'asc' ? '↑' : '↓')}
-
- Etiquetas
- ROM
- Acciones
-
-
-
- {filteredGames.map((game) => (
- handleGameClick(game.id)}
- >
- {game.title}
- {game.platform?.name}
- {game.releaseYear || '-'}
-
- {game.rating ? (
-
-
- {game.rating}
-
- ) : (
- '-'
- )}
-
-
-
- {game.tags.map((tag) => (
-
- {tag.name}
-
- ))}
-
-
-
- {game.romFile ? (
- ✓
- ) : (
- -
- )}
-
-
-
- {
- e.stopPropagation();
- navigate({ to: `/games/${game.id}` });
- }}
- >
-
-
- {
- e.stopPropagation();
- navigate({ to: `/games/${game.id}/edit` });
- }}
- >
-
-
- {
- e.stopPropagation();
- // TODO: Implementar eliminación
- }}
- >
-
-
-
-
-
- ))}
-
-
-
-
- {/* Paginación */}
-
-
- Mostrando {filteredGames.length} juegos
-
-
- setCurrentPage(Math.max(1, currentPage - 1))}
- disabled={currentPage === 1}
- >
- Anterior
-
- Página {currentPage}
- setCurrentPage(currentPage + 1)}
- disabled={filteredGames.length < 10}
- >
- Siguiente
-
-
-
-
-
-
- );
-}
diff --git a/frontend/src/query/client.tsx b/frontend/src/query/client.tsx
deleted file mode 100644
index 1030d78..0000000
--- a/frontend/src/query/client.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { QueryClient } from '@tanstack/react-query';
-
-export const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- staleTime: 1000 * 60 * 5, // 5 minutos
- refetchOnWindowFocus: false,
- retry: (failureCount, error) => {
- // No reintentar si es un error de 404 o 401
- if (error instanceof Error) {
- const status = (error as any).status;
- if (status === 404 || status === 401) {
- return false;
- }
- }
- // Reintentar hasta 3 veces para otros errores
- return failureCount < 3;
- },
- retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 30000), // Exponential backoff
- },
- mutations: {
- retry: (failureCount, error) => {
- // No reintentar si es un error de 404 o 401
- if (error instanceof Error) {
- const status = (error as any).status;
- if (status === 404 || status === 401) {
- return false;
- }
- }
- // Reintentar hasta 2 veces para otros errores
- return failureCount < 2;
- },
- retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 30000), // Exponential backoff
- },
- },
-});
diff --git a/frontend/src/router.tsx b/frontend/src/router.tsx
deleted file mode 100644
index 1103e7c..0000000
--- a/frontend/src/router.tsx
+++ /dev/null
@@ -1,99 +0,0 @@
-import { createRootRoute, createRoute, createRouter } from '@tanstack/react-router';
-import { lazy } from 'react';
-
-// Layout principal
-const Layout = lazy(() => import('./components/layout/Layout'));
-
-// Páginas
-const DashboardPage = lazy(() => import('./pages/DashboardPage'));
-const GamesPage = lazy(() => import('./pages/GamesPage'));
-const GameDetailPage = lazy(() => import('./pages/GameDetailPage'));
-const CreateGamePage = lazy(() => import('./pages/CreateGamePage'));
-const ImportRomPage = lazy(() => import('./pages/ImportRomPage'));
-const SettingsPage = lazy(() => import('./pages/SettingsPage'));
-const PlatformsPage = lazy(() => import('./pages/PlatformsPage'));
-const TagsPage = lazy(() => import('./pages/TagsPage'));
-const ExportPage = lazy(() => import('./pages/ExportPage'));
-
-// Ruta raíz
-const rootRoute = createRootRoute({
- component: Layout,
-});
-
-// Rutas principales
-const dashboardRoute = createRoute({
- path: '/',
- component: DashboardPage,
- getParentRoute: () => rootRoute,
-});
-
-const gamesRoute = createRoute({
- path: '/games',
- component: GamesPage,
- getParentRoute: () => rootRoute,
-});
-
-const gameDetailRoute = createRoute({
- path: '/games/$gameId',
- component: GameDetailPage,
- getParentRoute: () => rootRoute,
-});
-
-const createGameRoute = createRoute({
- path: '/games/create',
- component: CreateGamePage,
- getParentRoute: () => rootRoute,
-});
-
-const importRoute = createRoute({
- path: '/import',
- component: ImportRomPage,
- getParentRoute: () => rootRoute,
-});
-
-const settingsRoute = createRoute({
- path: '/settings',
- component: SettingsPage,
- getParentRoute: () => rootRoute,
-});
-
-const platformsRoute = createRoute({
- path: '/platforms',
- component: PlatformsPage,
- getParentRoute: () => rootRoute,
-});
-
-const tagsRoute = createRoute({
- path: '/tags',
- component: TagsPage,
- getParentRoute: () => rootRoute,
-});
-
-const exportRoute = createRoute({
- path: '/export',
- component: ExportPage,
- getParentRoute: () => rootRoute,
-});
-
-// Ruta de not found
-const notFoundRoute = createRoute({
- path: '*',
- component: () => Página no encontrada
,
- getParentRoute: () => rootRoute,
-});
-
-// Crear router
-export const router = createRouter({
- routeTree: rootRoute.addChildren([
- dashboardRoute,
- gamesRoute,
- gameDetailRoute,
- createGameRoute,
- importRoute,
- settingsRoute,
- platformsRoute,
- tagsRoute,
- exportRoute,
- notFoundRoute,
- ]),
-});
diff --git a/frontend/src/styles/globals.css b/frontend/src/styles/globals.css
deleted file mode 100644
index baa1e66..0000000
--- a/frontend/src/styles/globals.css
+++ /dev/null
@@ -1,60 +0,0 @@
-@import "tailwindcss/preflight";
-@import "tailwindcss";
-
-@layer base {
- :root {
- --background: 222.2 84% 4.9%;
- --foreground: 210 40% 98%;
- --card: 222.2 84% 4.9%;
- --card-foreground: 210 40% 98%;
- --popover: 222.2 84% 4.9%;
- --popover-foreground: 210 40% 98%;
- --primary: 263.4 70% 50.4%;
- --primary-foreground: 210 40% 98%;
- --secondary: 217.2 32.6% 17.5%;
- --secondary-foreground: 210 40% 98%;
- --muted: 217.2 32.6% 17.5%;
- --muted-foreground: 215 20.2% 65.1%;
- --accent: 217.2 32.6% 17.5%;
- --accent-foreground: 210 40% 98%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 210 40% 98%;
- --border: 217.2 32.6% 17.5%;
- --input: 217.2 32.6% 17.5%;
- --ring: 263.4 70% 50.4%;
- --radius: 0.5rem;
- }
-
- .dark {
- --background: 222.2 84% 4.9%;
- --foreground: 210 40% 98%;
- --card: 222.2 84% 4.9%;
- --card-foreground: 210 40% 98%;
- --popover: 222.2 84% 4.9%;
- --popover-foreground: 210 40% 98%;
- --primary: 263.4 70% 50.4%;
- --primary-foreground: 210 40% 98%;
- --secondary: 217.2 32.6% 17.5%;
- --secondary-foreground: 210 40% 98%;
- --muted: 217.2 32.6% 17.5%;
- --muted-foreground: 215 20.2% 65.1%;
- --accent: 217.2 32.6% 17.5%;
- --accent-foreground: 210 40% 98%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 210 40% 98%;
- --border: 217.2 32.6% 17.5%;
- --input: 217.2 32.6% 17.5%;
- --ring: 263.4 70% 50.4%;
- }
-}
-
-@layer base {
- * {
- border-color: hsl(var(--border));
- }
- body {
- background-color: hsl(var(--background));
- color: hsl(var(--foreground));
- font-feature-settings: 'rlig' 1, 'calt' 1;
- }
-}
\ No newline at end of file
diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts
deleted file mode 100644
index 99a35fa..0000000
--- a/frontend/src/types/index.ts
+++ /dev/null
@@ -1,238 +0,0 @@
-// Tipos base de la aplicación
-export interface BaseEntity {
- id: number;
- createdAt: Date;
- updatedAt: Date;
-}
-
-// Tipos de Juego
-export interface Game extends BaseEntity {
- title: string;
- description?: string;
- platformId: number;
- platform?: Platform;
- releaseYear?: number;
- rating?: number;
- tags: Tag[];
- romFile?: RomFile;
- metadataSource?: 'igdb' | 'rawg' | 'thegamesdb' | 'manual';
- igdbId?: string;
- rawgId?: string;
- thegamesdbId?: string;
-}
-
-// Tipos de Plataforma
-export interface Platform extends BaseEntity {
- name: string;
- description?: string;
- manufacturer?: string;
- releaseYear?: number;
- romExtension?: string;
- games: Game[];
-}
-
-// Tipos de ROM
-export interface RomFile extends BaseEntity {
- filename: string;
- path: string;
- size: number;
- checksum: string;
- gameId: number;
- game?: Game;
-}
-
-// Tipos de Etiqueta
-export interface Tag extends BaseEntity {
- name: string;
- color: string;
- description?: string;
- games: Game[];
-}
-
-// Tipos de Compra
-export interface Purchase extends BaseEntity {
- gameId: number;
- game?: Game;
- price: number;
- currency: string;
- purchaseDate: Date;
- store?: string;
- notes?: string;
-}
-
-// Tipos de Historial de Precios
-export interface PriceHistory extends BaseEntity {
- gameId: number;
- game?: Game;
- price: number;
- currency: string;
- date: Date;
-}
-
-// Tipos de Arte
-export interface Artwork extends BaseEntity {
- gameId: number;
- game?: Game;
- type: 'cover' | 'screenshot' | 'logo' | 'banner';
- url: string;
- width?: number;
- height?: number;
-}
-
-// Tipos de Configuración
-export interface Settings {
- igdbApiKey?: string;
- rawgApiKey?: string;
- thegamesdbApiKey?: string;
- defaultRomDirectory?: string;
- autoImportEnabled: boolean;
- metadataSourcePriority: ('igdb' | 'rawg' | 'thegamesdb')[];
-}
-
-// Tipos de API Response
-export interface ApiResponse {
- data: T;
- message?: string;
- error?: string;
-}
-
-export interface PaginatedResponse {
- data: T[];
- pagination: {
- page: number;
- limit: number;
- total: number;
- totalPages: number;
- };
-}
-
-// Tipos de Filtros
-export interface GameFilters {
- search?: string;
- platformId?: number;
- tags?: number[];
- rating?: number;
- releaseYear?: number;
- metadataSource?: string;
- hasRom?: boolean;
-}
-
-export interface PlatformFilters {
- search?: string;
- manufacturer?: string;
- releaseYear?: number;
-}
-
-export interface TagFilters {
- search?: string;
- color?: string;
-}
-
-// Tipos de Formularios
-export interface GameFormData {
- title: string;
- description?: string;
- platformId: number;
- releaseYear?: number;
- rating?: number;
- tags?: number[];
- romFile?: File;
- metadataSource?: 'igdb' | 'rawg' | 'thegamesdb' | 'manual';
-}
-
-export interface PlatformFormData {
- name: string;
- description?: string;
- manufacturer?: string;
- releaseYear?: number;
- romExtension?: string;
-}
-
-export interface TagFormData {
- name: string;
- color: string;
- description?: string;
-}
-
-export interface ImportRomFormData {
- romPath: string;
- platformId: number;
- autoScan: boolean;
-}
-
-export interface SettingsFormData {
- igdbApiKey?: string;
- rawgApiKey?: string;
- thegamesdbApiKey?: string;
- defaultRomDirectory?: string;
- autoImportEnabled: boolean;
- metadataSourcePriority: ('igdb' | 'rawg' | 'thegamesdb')[];
-}
-
-// Tipos de Metadata
-export interface GameMetadata {
- title: string;
- description?: string;
- releaseDate?: string;
- rating?: number;
- genres?: string[];
- platforms?: string[];
- coverUrl?: string;
- screenshots?: string[];
- developer?: string;
- publisher?: string;
- region?: string;
- language?: string;
-}
-
-// Tipos de Errores
-export interface ApiError {
- message: string;
- code?: string;
- details?: Record;
-}
-
-export interface ValidationError {
- field: string;
- message: string;
-}
-
-// Tipos de UI
-export interface MenuItem {
- label: string;
- href: string;
- icon?: string;
- children?: MenuItem[];
-}
-
-export interface BreadcrumbItem {
- label: string;
- href?: string;
-}
-
-export interface TableColumn {
- key: keyof T;
- label: string;
- sortable?: boolean;
- render?: (value: any, record: T) => React.ReactNode;
-}
-
-// Tipos de Hooks
-export interface UseQueryOptions {
- enabled?: boolean;
- refetchOnWindowFocus?: boolean;
- refetchOnMount?: boolean;
- refetchOnReconnect?: boolean;
- staleTime?: number;
- cacheTime?: number;
- retry?: number;
- retryDelay?: number;
-}
-
-export interface UseMutationOptions {
- onSuccess?: (data: T) => void;
- onError?: (error: Error) => void;
- onSettled?: () => void;
- retry?: number;
- retryDelay?: number;
-}
diff --git a/frontend/tailwind.config.ts b/frontend/tailwind.config.ts
deleted file mode 100644
index 0c6481c..0000000
--- a/frontend/tailwind.config.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import type { Config } from 'tailwindcss';
-import tailwindcssAnimate from 'tailwindcss-animate';
-
-const config: Config = {
- darkMode: 'class',
- content: ['./src/**/*.{js,ts,jsx,tsx,mdx}', './index.html'],
- prefix: '',
- theme: {
- container: {
- center: true,
- padding: '2rem',
- screens: {
- '2xl': '1400px',
- },
- },
- extend: {
- colors: {
- border: 'hsl(var(--border))',
- input: 'hsl(var(--input))',
- ring: 'hsl(var(--ring))',
- background: 'hsl(var(--background))',
- foreground: 'hsl(var(--foreground))',
- card: 'hsl(var(--card))',
- cardForeground: 'hsl(var(--card-foreground))',
- popover: 'hsl(var(--popover))',
- popoverForeground: 'hsl(var(--popover-foreground))',
- muted: 'hsl(var(--muted))',
- mutedForeground: 'hsl(var(--muted-foreground))',
- accent: 'hsl(var(--accent))',
- accentForeground: 'hsl(var(--accent-foreground))',
- destructive: 'hsl(var(--destructive))',
- destructiveForeground: 'hsl(var(--destructive-foreground))',
- primary: {
- DEFAULT: 'hsl(var(--primary))',
- foreground: 'hsl(var(--primary-foreground))',
- },
- secondary: {
- DEFAULT: 'hsl(var(--secondary))',
- foreground: 'hsl(var(--secondary-foreground))',
- },
- sidebar: {
- DEFAULT: 'hsl(var(--sidebar))',
- foreground: 'hsl(var(--sidebar-foreground))',
- primary: 'hsl(var(--sidebar-primary))',
- primaryForeground: 'hsl(var(--sidebar-primary-foreground))',
- accent: 'hsl(var(--sidebar-accent))',
- accentForeground: 'hsl(var(--sidebar-accent-foreground))',
- border: 'hsl(var(--sidebar-border))',
- ring: 'hsl(var(--sidebar-ring))',
- },
- },
- borderRadius: {
- lg: 'var(--radius)',
- md: 'calc(var(--radius) - 2px)',
- sm: 'calc(var(--radius) - 4px)',
- },
- keyframes: {
- 'accordion-down': {
- from: { height: '0' },
- to: { height: 'var(--radix-accordion-content-height)' },
- },
- 'accordion-up': {
- from: { height: 'var(--radix-accordion-content-height)' },
- to: { height: '0' },
- },
- },
- animation: {
- 'accordion-down': 'accordion-down 0.2s ease-out',
- 'accordion-up': 'accordion-up 0.2s ease-out',
- },
- },
- },
- plugins: [tailwindcssAnimate],
-};
-
-export default config;
diff --git a/frontend/tsconfig.app.json b/frontend/tsconfig.app.json
deleted file mode 100644
index a132313..0000000
--- a/frontend/tsconfig.app.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
- "target": "ES2022",
- "useDefineForClassFields": true,
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
- "module": "ESNext",
- "types": ["vite/client"],
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "verbatimModuleSyntax": true,
- "moduleDetection": "force",
- "noEmit": true,
- "jsx": "react-jsx",
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "erasableSyntaxOnly": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true,
- "baseUrl": ".",
- "paths": {
- "@/*": ["./src/*"]
- }
- },
- "include": ["src"]
-}
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index 1ffef60..cf9c65d 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -1,7 +1,34 @@
{
- "files": [],
- "references": [
- { "path": "./tsconfig.app.json" },
- { "path": "./tsconfig.node.json" }
- ]
+ "compilerOptions": {
+ "target": "ES2017",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "react-jsx",
+ "incremental": true,
+ "plugins": [
+ {
+ "name": "next"
+ }
+ ],
+ "paths": {
+ "@/*": ["./src/*"]
+ }
+ },
+ "include": [
+ "next-env.d.ts",
+ "**/*.ts",
+ "**/*.tsx",
+ ".next/types/**/*.ts",
+ ".next/dev/types/**/*.ts",
+ "**/*.mts"
+ ],
+ "exclude": ["node_modules"]
}
diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json
deleted file mode 100644
index 8a67f62..0000000
--- a/frontend/tsconfig.node.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "compilerOptions": {
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
- "target": "ES2023",
- "lib": ["ES2023"],
- "module": "ESNext",
- "types": ["node"],
- "skipLibCheck": true,
-
- /* Bundler mode */
- "moduleResolution": "bundler",
- "allowImportingTsExtensions": true,
- "verbatimModuleSyntax": true,
- "moduleDetection": "force",
- "noEmit": true,
-
- /* Linting */
- "strict": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "erasableSyntaxOnly": true,
- "noFallthroughCasesInSwitch": true,
- "noUncheckedSideEffectImports": true
- },
- "include": ["vite.config.ts"]
-}
diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts
deleted file mode 100644
index 965c1e3..0000000
--- a/frontend/vite.config.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { defineConfig } from 'vite';
-import react from '@vitejs/plugin-react';
-import tailwindcss from '@tailwindcss/vite';
-import path from 'path';
-
-// https://vite.dev/config/
-export default defineConfig({
- plugins: [react(), tailwindcss()],
- resolve: {
- alias: {
- '@': path.resolve(__dirname, './src'),
- },
- },
- server: {
- port: 5173,
- proxy: {
- '/api': {
- target: 'http://localhost:3000',
- changeOrigin: true,
- },
- },
- },
-});
diff --git a/yarn.lock b/yarn.lock
index 23b014a..4f2e8f2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18,7 +18,27 @@ __metadata:
languageName: node
linkType: hard
-"@babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0":
+"@antfu/ni@npm:^25.0.0":
+ version: 25.0.0
+ resolution: "@antfu/ni@npm:25.0.0"
+ dependencies:
+ ansis: "npm:^4.0.0"
+ fzf: "npm:^0.5.2"
+ package-manager-detector: "npm:^1.3.0"
+ tinyexec: "npm:^1.0.1"
+ bin:
+ na: bin/na.mjs
+ nci: bin/nci.mjs
+ ni: bin/ni.mjs
+ nlx: bin/nlx.mjs
+ nr: bin/nr.mjs
+ nun: bin/nun.mjs
+ nup: bin/nup.mjs
+ checksum: 10c0/a6e5eae4fafde9112088fcb41c3c5aa2e4a8b9a5252ff61ef8c4140c92e57cc85b0a02af48c1d460c66b6ec8adc109395544eaa63942b9af5954e82fdc36f2ea
+ languageName: node
+ linkType: hard
+
+"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/code-frame@npm:7.29.0"
dependencies:
@@ -36,7 +56,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/core@npm:^7.24.4, @babel/core@npm:^7.29.0":
+"@babel/core@npm:^7.24.4, @babel/core@npm:^7.28.0":
version: 7.29.0
resolution: "@babel/core@npm:7.29.0"
dependencies:
@@ -72,6 +92,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-annotate-as-pure@npm:^7.27.3":
+ version: 7.27.3
+ resolution: "@babel/helper-annotate-as-pure@npm:7.27.3"
+ dependencies:
+ "@babel/types": "npm:^7.27.3"
+ checksum: 10c0/94996ce0a05b7229f956033e6dcd69393db2b0886d0db6aff41e704390402b8cdcca11f61449cb4f86cfd9e61b5ad3a73e4fa661eeed7846b125bd1c33dbc633
+ languageName: node
+ linkType: hard
+
"@babel/helper-compilation-targets@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-compilation-targets@npm:7.28.6"
@@ -85,6 +114,23 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-create-class-features-plugin@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/helper-create-class-features-plugin@npm:7.28.6"
+ dependencies:
+ "@babel/helper-annotate-as-pure": "npm:^7.27.3"
+ "@babel/helper-member-expression-to-functions": "npm:^7.28.5"
+ "@babel/helper-optimise-call-expression": "npm:^7.27.1"
+ "@babel/helper-replace-supers": "npm:^7.28.6"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1"
+ "@babel/traverse": "npm:^7.28.6"
+ semver: "npm:^6.3.1"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/0b62b46717891f4366006b88c9b7f277980d4f578c4c3789b7a4f5a2e09e121de4cda9a414ab403986745cd3ad1af3fe2d948c9f78ab80d4dc085afc9602af50
+ languageName: node
+ linkType: hard
+
"@babel/helper-globals@npm:^7.28.0":
version: 7.28.0
resolution: "@babel/helper-globals@npm:7.28.0"
@@ -92,6 +138,16 @@ __metadata:
languageName: node
linkType: hard
+"@babel/helper-member-expression-to-functions@npm:^7.28.5":
+ version: 7.28.5
+ resolution: "@babel/helper-member-expression-to-functions@npm:7.28.5"
+ dependencies:
+ "@babel/traverse": "npm:^7.28.5"
+ "@babel/types": "npm:^7.28.5"
+ checksum: 10c0/4e6e05fbf4dffd0bc3e55e28fcaab008850be6de5a7013994ce874ec2beb90619cda4744b11607a60f8aae0227694502908add6188ceb1b5223596e765b44814
+ languageName: node
+ linkType: hard
+
"@babel/helper-module-imports@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-module-imports@npm:7.28.6"
@@ -115,13 +171,45 @@ __metadata:
languageName: node
linkType: hard
-"@babel/helper-plugin-utils@npm:^7.27.1":
+"@babel/helper-optimise-call-expression@npm:^7.27.1":
+ version: 7.27.1
+ resolution: "@babel/helper-optimise-call-expression@npm:7.27.1"
+ dependencies:
+ "@babel/types": "npm:^7.27.1"
+ checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6
+ languageName: node
+ linkType: hard
+
+"@babel/helper-plugin-utils@npm:^7.27.1, @babel/helper-plugin-utils@npm:^7.28.6":
version: 7.28.6
resolution: "@babel/helper-plugin-utils@npm:7.28.6"
checksum: 10c0/3f5f8acc152fdbb69a84b8624145ff4f9b9f6e776cb989f9f968f8606eb7185c5c3cfcf3ba08534e37e1e0e1c118ac67080610333f56baa4f7376c99b5f1143d
languageName: node
linkType: hard
+"@babel/helper-replace-supers@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/helper-replace-supers@npm:7.28.6"
+ dependencies:
+ "@babel/helper-member-expression-to-functions": "npm:^7.28.5"
+ "@babel/helper-optimise-call-expression": "npm:^7.27.1"
+ "@babel/traverse": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10c0/04663c6389551b99b8c3e7ba4e2638b8ca2a156418c26771516124c53083aa8e74b6a45abe5dd46360af79709a0e9c6b72c076d0eab9efecdd5aaf836e79d8d5
+ languageName: node
+ linkType: hard
+
+"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1":
+ version: 7.27.1
+ resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1"
+ dependencies:
+ "@babel/traverse": "npm:^7.27.1"
+ "@babel/types": "npm:^7.27.1"
+ checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7
+ languageName: node
+ linkType: hard
+
"@babel/helper-string-parser@npm:^7.27.1":
version: 7.27.1
resolution: "@babel/helper-string-parser@npm:7.27.1"
@@ -153,7 +241,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.24.4, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0":
+"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.28.0, @babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/parser@npm:7.29.0"
dependencies:
@@ -164,25 +252,67 @@ __metadata:
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx-self@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-react-jsx-self@npm:7.27.1"
+"@babel/plugin-syntax-jsx@npm:^7.27.1":
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-jsx@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/00a4f917b70a608f9aca2fb39aabe04a60aa33165a7e0105fd44b3a8531630eb85bf5572e9f242f51e6ad2fa38c2e7e780902176c863556c58b5ba6f6e164031
+ checksum: 10c0/b98fc3cd75e4ca3d5ca1162f610c286e14ede1486e0d297c13a5eb0ac85680ac9656d17d348bddd9160a54d797a08cea5eaac02b9330ddebb7b26732b7b99fb5
languageName: node
linkType: hard
-"@babel/plugin-transform-react-jsx-source@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/plugin-transform-react-jsx-source@npm:7.27.1"
+"@babel/plugin-syntax-typescript@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/plugin-syntax-typescript@npm:7.28.6"
dependencies:
- "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
peerDependencies:
"@babel/core": ^7.0.0-0
- checksum: 10c0/5e67b56c39c4d03e59e03ba80692b24c5a921472079b63af711b1d250fc37c1733a17069b63537f750f3e937ec44a42b1ee6a46cd23b1a0df5163b17f741f7f2
+ checksum: 10c0/b0c392a35624883ac480277401ac7d92d8646b66e33639f5d350de7a6723924265985ae11ab9ebd551740ded261c443eaa9a87ea19def9763ca1e0d78c97dea8
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-modules-commonjs@npm:^7.27.1":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-modules-commonjs@npm:7.28.6"
+ dependencies:
+ "@babel/helper-module-transforms": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/7c45992797c6150644c8552feff4a016ba7bd6d59ff2b039ed969a9c5b20a6804cd9d21db5045fc8cca8ca7f08262497e354e93f8f2be6a1cdf3fbfa8c31a9b6
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-typescript@npm:^7.28.0, @babel/plugin-transform-typescript@npm:^7.28.5":
+ version: 7.28.6
+ resolution: "@babel/plugin-transform-typescript@npm:7.28.6"
+ dependencies:
+ "@babel/helper-annotate-as-pure": "npm:^7.27.3"
+ "@babel/helper-create-class-features-plugin": "npm:^7.28.6"
+ "@babel/helper-plugin-utils": "npm:^7.28.6"
+ "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1"
+ "@babel/plugin-syntax-typescript": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/72dbfd3e5f71c4e30445e610758ec0eef65347fafd72bd46f4903733df0d537663a72a81c1626f213a0feab7afc68ba83f1648ffece888dd0868115c9cb748f6
+ languageName: node
+ linkType: hard
+
+"@babel/preset-typescript@npm:^7.27.1":
+ version: 7.28.5
+ resolution: "@babel/preset-typescript@npm:7.28.5"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.27.1"
+ "@babel/helper-validator-option": "npm:^7.27.1"
+ "@babel/plugin-syntax-jsx": "npm:^7.27.1"
+ "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1"
+ "@babel/plugin-transform-typescript": "npm:^7.28.5"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10c0/b3d55548854c105085dd80f638147aa8295bc186d70492289242d6c857cb03a6c61ec15186440ea10ed4a71cdde7d495f5eb3feda46273f36b0ac926e8409629
languageName: node
linkType: hard
@@ -197,7 +327,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0":
+"@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/traverse@npm:7.29.0"
dependencies:
@@ -212,7 +342,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.28.2, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0":
+"@babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.28.5, @babel/types@npm:^7.28.6, @babel/types@npm:^7.29.0":
version: 7.29.0
resolution: "@babel/types@npm:7.29.0"
dependencies:
@@ -231,7 +361,35 @@ __metadata:
languageName: node
linkType: hard
-"@emnapi/core@npm:^1.7.1, @emnapi/core@npm:^1.8.1":
+"@dotenvx/dotenvx@npm:^1.48.4":
+ version: 1.52.0
+ resolution: "@dotenvx/dotenvx@npm:1.52.0"
+ dependencies:
+ commander: "npm:^11.1.0"
+ dotenv: "npm:^17.2.1"
+ eciesjs: "npm:^0.4.10"
+ execa: "npm:^5.1.1"
+ fdir: "npm:^6.2.0"
+ ignore: "npm:^5.3.0"
+ object-treeify: "npm:1.1.33"
+ picomatch: "npm:^4.0.2"
+ which: "npm:^4.0.0"
+ bin:
+ dotenvx: src/cli/dotenvx.js
+ checksum: 10c0/dde557dbb11c16460267ec0e3e4551298f89ea88c6b98fb6fc210dc2c3aa892b15e8e13a9dcb5d30ea1aa0afc4f37045f9150ad670b01c3b9b8e9f778a1eefcf
+ languageName: node
+ linkType: hard
+
+"@ecies/ciphers@npm:^0.2.5":
+ version: 0.2.5
+ resolution: "@ecies/ciphers@npm:0.2.5"
+ peerDependencies:
+ "@noble/ciphers": ^1.0.0
+ checksum: 10c0/fcc08327216d225310596dc5d6a25da919e641e271c1895384e068fdd910e835271a103c5105aaa8ea24b33931b7d1975341b044919d38fd586e8ad8e0f33be6
+ languageName: node
+ linkType: hard
+
+"@emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.7.1, @emnapi/core@npm:^1.8.1":
version: 1.8.1
resolution: "@emnapi/core@npm:1.8.1"
dependencies:
@@ -241,7 +399,7 @@ __metadata:
languageName: node
linkType: hard
-"@emnapi/runtime@npm:^1.7.1, @emnapi/runtime@npm:^1.8.1":
+"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.7.0, @emnapi/runtime@npm:^1.7.1, @emnapi/runtime@npm:^1.8.1":
version: 1.8.1
resolution: "@emnapi/runtime@npm:1.8.1"
dependencies:
@@ -266,13 +424,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/aix-ppc64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/aix-ppc64@npm:0.27.3"
- conditions: os=aix & cpu=ppc64
- languageName: node
- linkType: hard
-
"@esbuild/android-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/android-arm64@npm:0.18.20"
@@ -287,13 +438,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/android-arm64@npm:0.27.3"
- conditions: os=android & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/android-arm@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/android-arm@npm:0.18.20"
@@ -308,13 +452,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-arm@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/android-arm@npm:0.27.3"
- conditions: os=android & cpu=arm
- languageName: node
- linkType: hard
-
"@esbuild/android-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/android-x64@npm:0.18.20"
@@ -329,13 +466,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/android-x64@npm:0.27.3"
- conditions: os=android & cpu=x64
- languageName: node
- linkType: hard
-
"@esbuild/darwin-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/darwin-arm64@npm:0.18.20"
@@ -350,13 +480,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/darwin-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/darwin-arm64@npm:0.27.3"
- conditions: os=darwin & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/darwin-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/darwin-x64@npm:0.18.20"
@@ -371,13 +494,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/darwin-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/darwin-x64@npm:0.27.3"
- conditions: os=darwin & cpu=x64
- languageName: node
- linkType: hard
-
"@esbuild/freebsd-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/freebsd-arm64@npm:0.18.20"
@@ -392,13 +508,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/freebsd-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/freebsd-arm64@npm:0.27.3"
- conditions: os=freebsd & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/freebsd-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/freebsd-x64@npm:0.18.20"
@@ -413,13 +522,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/freebsd-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/freebsd-x64@npm:0.27.3"
- conditions: os=freebsd & cpu=x64
- languageName: node
- linkType: hard
-
"@esbuild/linux-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-arm64@npm:0.18.20"
@@ -434,13 +536,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-arm64@npm:0.27.3"
- conditions: os=linux & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/linux-arm@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-arm@npm:0.18.20"
@@ -455,13 +550,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-arm@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-arm@npm:0.27.3"
- conditions: os=linux & cpu=arm
- languageName: node
- linkType: hard
-
"@esbuild/linux-ia32@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-ia32@npm:0.18.20"
@@ -476,13 +564,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-ia32@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-ia32@npm:0.27.3"
- conditions: os=linux & cpu=ia32
- languageName: node
- linkType: hard
-
"@esbuild/linux-loong64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-loong64@npm:0.18.20"
@@ -497,13 +578,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-loong64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-loong64@npm:0.27.3"
- conditions: os=linux & cpu=loong64
- languageName: node
- linkType: hard
-
"@esbuild/linux-mips64el@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-mips64el@npm:0.18.20"
@@ -518,13 +592,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-mips64el@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-mips64el@npm:0.27.3"
- conditions: os=linux & cpu=mips64el
- languageName: node
- linkType: hard
-
"@esbuild/linux-ppc64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-ppc64@npm:0.18.20"
@@ -539,13 +606,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-ppc64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-ppc64@npm:0.27.3"
- conditions: os=linux & cpu=ppc64
- languageName: node
- linkType: hard
-
"@esbuild/linux-riscv64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-riscv64@npm:0.18.20"
@@ -560,13 +620,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-riscv64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-riscv64@npm:0.27.3"
- conditions: os=linux & cpu=riscv64
- languageName: node
- linkType: hard
-
"@esbuild/linux-s390x@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-s390x@npm:0.18.20"
@@ -581,13 +634,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-s390x@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-s390x@npm:0.27.3"
- conditions: os=linux & cpu=s390x
- languageName: node
- linkType: hard
-
"@esbuild/linux-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-x64@npm:0.18.20"
@@ -602,20 +648,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/linux-x64@npm:0.27.3"
- conditions: os=linux & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/netbsd-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/netbsd-arm64@npm:0.27.3"
- conditions: os=netbsd & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/netbsd-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/netbsd-x64@npm:0.18.20"
@@ -630,20 +662,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/netbsd-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/netbsd-x64@npm:0.27.3"
- conditions: os=netbsd & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/openbsd-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/openbsd-arm64@npm:0.27.3"
- conditions: os=openbsd & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/openbsd-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/openbsd-x64@npm:0.18.20"
@@ -658,20 +676,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/openbsd-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/openbsd-x64@npm:0.27.3"
- conditions: os=openbsd & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/openharmony-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/openharmony-arm64@npm:0.27.3"
- conditions: os=openharmony & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/sunos-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/sunos-x64@npm:0.18.20"
@@ -686,13 +690,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/sunos-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/sunos-x64@npm:0.27.3"
- conditions: os=sunos & cpu=x64
- languageName: node
- linkType: hard
-
"@esbuild/win32-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/win32-arm64@npm:0.18.20"
@@ -707,13 +704,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/win32-arm64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/win32-arm64@npm:0.27.3"
- conditions: os=win32 & cpu=arm64
- languageName: node
- linkType: hard
-
"@esbuild/win32-ia32@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/win32-ia32@npm:0.18.20"
@@ -728,13 +718,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/win32-ia32@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/win32-ia32@npm:0.27.3"
- conditions: os=win32 & cpu=ia32
- languageName: node
- linkType: hard
-
"@esbuild/win32-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/win32-x64@npm:0.18.20"
@@ -749,13 +732,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/win32-x64@npm:0.27.3":
- version: 0.27.3
- resolution: "@esbuild/win32-x64@npm:0.27.3"
- conditions: os=win32 & cpu=x64
- languageName: node
- linkType: hard
-
"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1":
version: 4.9.1
resolution: "@eslint-community/eslint-utils@npm:4.9.1"
@@ -873,7 +849,7 @@ __metadata:
languageName: node
linkType: hard
-"@eslint/js@npm:9.39.3, @eslint/js@npm:^9.39.1":
+"@eslint/js@npm:9.39.3":
version: 9.39.3
resolution: "@eslint/js@npm:9.39.3"
checksum: 10c0/df1c70d6681c8daf4a3c86dfac159fcd98a73c4620c4fbe2be6caab1f30a34c7de0ad88ab0e81162376d2cde1a2eed1c32eff5f917ca369870930a51f8e818f1
@@ -1060,6 +1036,15 @@ __metadata:
languageName: node
linkType: hard
+"@hono/node-server@npm:^1.19.9":
+ version: 1.19.9
+ resolution: "@hono/node-server@npm:1.19.9"
+ peerDependencies:
+ hono: ^4
+ checksum: 10c0/de18c06b6b266dc45fe55fb82053bd1da8fe84939c49b6fbab4d2448b679d54ab5affbf8b15de9bead26f29b1755284d770aafb5ad14a8e4b3cfb4f79334554e
+ languageName: node
+ linkType: hard
+
"@humanfs/core@npm:^0.19.1":
version: 0.19.1
resolution: "@humanfs/core@npm:0.19.1"
@@ -1109,6 +1094,295 @@ __metadata:
languageName: node
linkType: hard
+"@img/colour@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@img/colour@npm:1.0.0"
+ checksum: 10c0/02261719c1e0d7aa5a2d585981954f2ac126f0c432400aa1a01b925aa2c41417b7695da8544ee04fd29eba7ecea8eaf9b8bef06f19dc8faba78f94eeac40667d
+ languageName: node
+ linkType: hard
+
+"@img/sharp-darwin-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-darwin-arm64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-darwin-arm64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-darwin-arm64":
+ optional: true
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-darwin-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-darwin-x64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-darwin-x64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-darwin-x64":
+ optional: true
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-darwin-arm64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.4"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-darwin-x64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.4"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-arm64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.4"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-arm@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-arm@npm:1.2.4"
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-ppc64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.4"
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-riscv64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-riscv64@npm:1.2.4"
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-s390x@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.4"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-x64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-x64@npm:1.2.4"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linuxmusl-x64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.4"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-arm64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-arm64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-arm64":
+ optional: true
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-arm@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-arm@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-arm": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-arm":
+ optional: true
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-ppc64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-ppc64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-ppc64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-ppc64":
+ optional: true
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-riscv64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-riscv64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-riscv64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-riscv64":
+ optional: true
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-s390x@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-s390x@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-s390x": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-s390x":
+ optional: true
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-x64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-x64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-x64":
+ optional: true
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linuxmusl-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linuxmusl-arm64":
+ optional: true
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linuxmusl-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linuxmusl-x64@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linuxmusl-x64":
+ optional: true
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@img/sharp-wasm32@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-wasm32@npm:0.34.5"
+ dependencies:
+ "@emnapi/runtime": "npm:^1.7.0"
+ conditions: cpu=wasm32
+ languageName: node
+ linkType: hard
+
+"@img/sharp-win32-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-win32-arm64@npm:0.34.5"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@img/sharp-win32-ia32@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-win32-ia32@npm:0.34.5"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@img/sharp-win32-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-win32-x64@npm:0.34.5"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@inquirer/ansi@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "@inquirer/ansi@npm:1.0.2"
+ checksum: 10c0/8e408cc628923aa93402e66657482ccaa2ad5174f9db526d9a8b443f9011e9cd8f70f0f534f5fe3857b8a9df3bce1e25f66c96f666d6750490bd46e2b4f3b829
+ languageName: node
+ linkType: hard
+
+"@inquirer/confirm@npm:^5.0.0":
+ version: 5.1.21
+ resolution: "@inquirer/confirm@npm:5.1.21"
+ dependencies:
+ "@inquirer/core": "npm:^10.3.2"
+ "@inquirer/type": "npm:^3.0.10"
+ peerDependencies:
+ "@types/node": ">=18"
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ checksum: 10c0/a95bbdbb17626c484735a4193ed6b6a6fbb078cf62116ec8e1667f647e534dd6618e688ecc7962585efcc56881b544b8c53db3914599bbf2ab842e7f224b0fca
+ languageName: node
+ linkType: hard
+
+"@inquirer/core@npm:^10.3.2":
+ version: 10.3.2
+ resolution: "@inquirer/core@npm:10.3.2"
+ dependencies:
+ "@inquirer/ansi": "npm:^1.0.2"
+ "@inquirer/figures": "npm:^1.0.15"
+ "@inquirer/type": "npm:^3.0.10"
+ cli-width: "npm:^4.1.0"
+ mute-stream: "npm:^2.0.0"
+ signal-exit: "npm:^4.1.0"
+ wrap-ansi: "npm:^6.2.0"
+ yoctocolors-cjs: "npm:^2.1.3"
+ peerDependencies:
+ "@types/node": ">=18"
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ checksum: 10c0/f0f27e07fe288e01e3949b4ad216c19751f025ce77c610366e08d8b0f7a135d064dc074732031d251584b454c576f1e5c849e4abe259186dd5d4974c8f85c13e
+ languageName: node
+ linkType: hard
+
+"@inquirer/figures@npm:^1.0.15":
+ version: 1.0.15
+ resolution: "@inquirer/figures@npm:1.0.15"
+ checksum: 10c0/6e39a040d260ae234ae220180b7994ff852673e20be925f8aa95e78c7934d732b018cbb4d0ec39e600a410461bcb93dca771e7de23caa10630d255692e440f69
+ languageName: node
+ linkType: hard
+
+"@inquirer/type@npm:^3.0.10":
+ version: 3.0.10
+ resolution: "@inquirer/type@npm:3.0.10"
+ peerDependencies:
+ "@types/node": ">=18"
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ checksum: 10c0/a846c7a570e3bf2657d489bcc5dcdc3179d24c7323719de1951dcdb722400ac76e5b2bfe9765d0a789bc1921fac810983d7999f021f30a78a6a174c23fc78dc9
+ languageName: node
+ linkType: hard
+
"@isaacs/balanced-match@npm:^4.0.1":
version: 4.0.1
resolution: "@isaacs/balanced-match@npm:4.0.1"
@@ -1204,6 +1478,64 @@ __metadata:
languageName: node
linkType: hard
+"@modelcontextprotocol/sdk@npm:^1.26.0":
+ version: 1.27.0
+ resolution: "@modelcontextprotocol/sdk@npm:1.27.0"
+ dependencies:
+ "@hono/node-server": "npm:^1.19.9"
+ ajv: "npm:^8.17.1"
+ ajv-formats: "npm:^3.0.1"
+ content-type: "npm:^1.0.5"
+ cors: "npm:^2.8.5"
+ cross-spawn: "npm:^7.0.5"
+ eventsource: "npm:^3.0.2"
+ eventsource-parser: "npm:^3.0.0"
+ express: "npm:^5.2.1"
+ express-rate-limit: "npm:^8.2.1"
+ hono: "npm:^4.11.4"
+ jose: "npm:^6.1.3"
+ json-schema-typed: "npm:^8.0.2"
+ pkce-challenge: "npm:^5.0.0"
+ raw-body: "npm:^3.0.0"
+ zod: "npm:^3.25 || ^4.0"
+ zod-to-json-schema: "npm:^3.25.1"
+ peerDependencies:
+ "@cfworker/json-schema": ^4.1.1
+ zod: ^3.25 || ^4.0
+ peerDependenciesMeta:
+ "@cfworker/json-schema":
+ optional: true
+ zod:
+ optional: false
+ checksum: 10c0/2c1a69d8873753f2152998633c31ae34f2bd434be5483a2a0b64224909068411493a5655f669aec3e9df782f98dcc9bbe95fd7e8eb487de8a8426f8249b583ce
+ languageName: node
+ linkType: hard
+
+"@mswjs/interceptors@npm:^0.41.2":
+ version: 0.41.3
+ resolution: "@mswjs/interceptors@npm:0.41.3"
+ dependencies:
+ "@open-draft/deferred-promise": "npm:^2.2.0"
+ "@open-draft/logger": "npm:^0.3.0"
+ "@open-draft/until": "npm:^2.0.0"
+ is-node-process: "npm:^1.2.0"
+ outvariant: "npm:^1.4.3"
+ strict-event-emitter: "npm:^0.5.1"
+ checksum: 10c0/a259bbfc3bb4caada7a9a3529cc830159818e838c152df89ac890e7203df615a5e070ca63aa1e70a39868322ff5c1441ab74bbadb4081ca55b0c3a462e2903c0
+ languageName: node
+ linkType: hard
+
+"@napi-rs/wasm-runtime@npm:^0.2.11":
+ version: 0.2.12
+ resolution: "@napi-rs/wasm-runtime@npm:0.2.12"
+ dependencies:
+ "@emnapi/core": "npm:^1.4.3"
+ "@emnapi/runtime": "npm:^1.4.3"
+ "@tybys/wasm-util": "npm:^0.10.0"
+ checksum: 10c0/6d07922c0613aab30c6a497f4df297ca7c54e5b480e00035e0209b872d5c6aab7162fc49477267556109c2c7ed1eb9c65a174e27e9b87568106a87b0a6e3ca7d
+ languageName: node
+ linkType: hard
+
"@napi-rs/wasm-runtime@npm:^1.1.1":
version: 1.1.1
resolution: "@napi-rs/wasm-runtime@npm:1.1.1"
@@ -1215,6 +1547,101 @@ __metadata:
languageName: node
linkType: hard
+"@next/env@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/env@npm:16.1.6"
+ checksum: 10c0/ed7023edb94b9b2e5da3f9c99d08b614da9757c1edd0ecec792fce4d336b4f0c64db1a84955e07cfbd848b9e61c4118fff28f4098cd7b0a7f97814a90565ebe6
+ languageName: node
+ linkType: hard
+
+"@next/eslint-plugin-next@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/eslint-plugin-next@npm:16.1.6"
+ dependencies:
+ fast-glob: "npm:3.3.1"
+ checksum: 10c0/1498ded3421326738411eb11e794a5ef6aa01daeff0d89a12d05f360984527ccce2cc9588cc11477ee0e4b09a7570a640e7b6ff79ee3eb49c8cf0fc6b105a24b
+ languageName: node
+ linkType: hard
+
+"@next/swc-darwin-arm64@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-darwin-arm64@npm:16.1.6"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@next/swc-darwin-x64@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-darwin-x64@npm:16.1.6"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-arm64-gnu@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-arm64-gnu@npm:16.1.6"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-arm64-musl@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-arm64-musl@npm:16.1.6"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-x64-gnu@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-x64-gnu@npm:16.1.6"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-x64-musl@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-x64-musl@npm:16.1.6"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@next/swc-win32-arm64-msvc@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-win32-arm64-msvc@npm:16.1.6"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@next/swc-win32-x64-msvc@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-win32-x64-msvc@npm:16.1.6"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@noble/ciphers@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "@noble/ciphers@npm:1.3.0"
+ checksum: 10c0/3ba6da645ce45e2f35e3b2e5c87ceba86b21dfa62b9466ede9edfb397f8116dae284f06652c0cd81d99445a2262b606632e868103d54ecc99fd946ae1af8cd37
+ languageName: node
+ linkType: hard
+
+"@noble/curves@npm:^1.9.7":
+ version: 1.9.7
+ resolution: "@noble/curves@npm:1.9.7"
+ dependencies:
+ "@noble/hashes": "npm:1.8.0"
+ checksum: 10c0/150014751ebe8ca06a8654ca2525108452ea9ee0be23430332769f06808cddabfe84f248b6dbf836916bc869c27c2092957eec62c7506d68a1ed0a624017c2a3
+ languageName: node
+ linkType: hard
+
+"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.8.0":
+ version: 1.8.0
+ resolution: "@noble/hashes@npm:1.8.0"
+ checksum: 10c0/06a0b52c81a6fa7f04d67762e08b2c476a00285858150caeaaff4037356dd5e119f45b2a530f638b77a5eeca013168ec1b655db41bae3236cb2e9d511484fc77
+ languageName: node
+ linkType: hard
+
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -1225,14 +1652,14 @@ __metadata:
languageName: node
linkType: hard
-"@nodelib/fs.stat@npm:2.0.5":
+"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
version: 2.0.5
resolution: "@nodelib/fs.stat@npm:2.0.5"
checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d
languageName: node
linkType: hard
-"@nodelib/fs.walk@npm:^1.2.8":
+"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8":
version: 1.2.8
resolution: "@nodelib/fs.walk@npm:1.2.8"
dependencies:
@@ -1242,6 +1669,13 @@ __metadata:
languageName: node
linkType: hard
+"@nolyfill/is-core-module@npm:1.0.39":
+ version: 1.0.39
+ resolution: "@nolyfill/is-core-module@npm:1.0.39"
+ checksum: 10c0/34ab85fdc2e0250879518841f74a30c276bca4f6c3e13526d2d1fe515e1adf6d46c25fcd5989d22ea056d76f7c39210945180b4859fc83b050e2da411aa86289
+ languageName: node
+ linkType: hard
+
"@npmcli/agent@npm:^4.0.0":
version: 4.0.0
resolution: "@npmcli/agent@npm:4.0.0"
@@ -1264,6 +1698,30 @@ __metadata:
languageName: node
linkType: hard
+"@open-draft/deferred-promise@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "@open-draft/deferred-promise@npm:2.2.0"
+ checksum: 10c0/eafc1b1d0fc8edb5e1c753c5e0f3293410b40dde2f92688211a54806d4136887051f39b98c1950370be258483deac9dfd17cf8b96557553765198ef2547e4549
+ languageName: node
+ linkType: hard
+
+"@open-draft/logger@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "@open-draft/logger@npm:0.3.0"
+ dependencies:
+ is-node-process: "npm:^1.2.0"
+ outvariant: "npm:^1.4.0"
+ checksum: 10c0/90010647b22e9693c16258f4f9adb034824d1771d3baa313057b9a37797f571181005bc50415a934eaf7c891d90ff71dcd7a9d5048b0b6bb438f31bef2c7c5c1
+ languageName: node
+ linkType: hard
+
+"@open-draft/until@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "@open-draft/until@npm:2.1.0"
+ checksum: 10c0/61d3f99718dd86bb393fee2d7a785f961dcaf12f2055f0c693b27f4d0cd5f7a03d498a6d9289773b117590d794a43cd129366fd8e99222e4832f67b1653d54cf
+ languageName: node
+ linkType: hard
+
"@pinojs/redact@npm:^0.4.0":
version: 0.4.0
resolution: "@pinojs/redact@npm:0.4.0"
@@ -1376,6 +1834,76 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-accessible-icon@npm:1.1.7":
+ version: 1.1.7
+ resolution: "@radix-ui/react-accessible-icon@npm:1.1.7"
+ dependencies:
+ "@radix-ui/react-visually-hidden": "npm:1.2.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/2a912454b3f5e1dbea599747be39e94a7d23b1d7c4261fd20b04faf38db9aaf00f4c26fc96922d75871e57a0f94948fe60ec044d3022c934b8df43da94faf18a
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-accordion@npm:1.2.12":
+ version: 1.2.12
+ resolution: "@radix-ui/react-accordion@npm:1.2.12"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-collapsible": "npm:1.1.12"
+ "@radix-ui/react-collection": "npm:1.1.7"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-id": "npm:1.1.1"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/c64a53ce766a1ef529cf6413ed7382598c94f78879b3a83ceda27cb1894ed6eb6e8ad61f6a550ca3c7fa813657045dadfc7328dbf1d736a37e1cf3c446db43de
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-alert-dialog@npm:1.1.15":
+ version: 1.1.15
+ resolution: "@radix-ui/react-alert-dialog@npm:1.1.15"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-dialog": "npm:1.1.15"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-slot": "npm:1.2.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/038de84ad1b36c162e5f5a3b4034de95558698eb6e3f483d2b1a15f4a502c921c4e6a5a723fe6f29e928ed7001ffe38ac6fd16bb720b1e629892ce7beb1da174
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-arrow@npm:1.1.7":
version: 1.1.7
resolution: "@radix-ui/react-arrow@npm:1.1.7"
@@ -1395,12 +1923,31 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-avatar@npm:^1.1.11":
- version: 1.1.11
- resolution: "@radix-ui/react-avatar@npm:1.1.11"
+"@radix-ui/react-aspect-ratio@npm:1.1.7":
+ version: 1.1.7
+ resolution: "@radix-ui/react-aspect-ratio@npm:1.1.7"
dependencies:
- "@radix-ui/react-context": "npm:1.1.3"
- "@radix-ui/react-primitive": "npm:2.1.4"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/12761718749d56393b6135e01434f8384dd05bcebf2c2fedc04f85f414174297d36531e17010df9f40aec7407c76d683e3f309ce5a39536ed1a3e03a12d08f71
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-avatar@npm:1.1.10":
+ version: 1.1.10
+ resolution: "@radix-ui/react-avatar@npm:1.1.10"
+ dependencies:
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-primitive": "npm:2.1.3"
"@radix-ui/react-use-callback-ref": "npm:1.1.1"
"@radix-ui/react-use-is-hydrated": "npm:0.1.0"
"@radix-ui/react-use-layout-effect": "npm:1.1.1"
@@ -1414,11 +1961,11 @@ __metadata:
optional: true
"@types/react-dom":
optional: true
- checksum: 10c0/b1b3d4b11a8e05a8479d2410fb4e7b1bf825135c4cd42f7e5152568a54a55a3073bd87d50325150417a29306e7b1b371289dc3c4f11739af8a2a7bb8dd7c38c9
+ checksum: 10c0/9fb0cf9a9d0fdbeaa2efda476402fc09db2e6ff9cd9aa3ea1d315d9c9579840722a4833725cb196c455e0bd775dfe04221a4f6855685ce89d2133c42e2b07e5f
languageName: node
linkType: hard
-"@radix-ui/react-checkbox@npm:^1.3.3":
+"@radix-ui/react-checkbox@npm:1.3.3":
version: 1.3.3
resolution: "@radix-ui/react-checkbox@npm:1.3.3"
dependencies:
@@ -1444,7 +1991,7 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-collapsible@npm:^1.1.12":
+"@radix-ui/react-collapsible@npm:1.1.12":
version: 1.1.12
resolution: "@radix-ui/react-collapsible@npm:1.1.12"
dependencies:
@@ -1505,6 +2052,30 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-context-menu@npm:2.2.16":
+ version: 2.2.16
+ resolution: "@radix-ui/react-context-menu@npm:2.2.16"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-menu": "npm:2.1.16"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-callback-ref": "npm:1.1.1"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/950f7559e65474a19145238cf44d744cb1e49be2221ff18436ba49b496b05ccf93bd3906aaa2c7ab76bc77daf694911a78442801e0053f57d2e57ebbfd281c49
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-context@npm:1.1.2":
version: 1.1.2
resolution: "@radix-ui/react-context@npm:1.1.2"
@@ -1518,20 +2089,7 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-context@npm:1.1.3":
- version: 1.1.3
- resolution: "@radix-ui/react-context@npm:1.1.3"
- peerDependencies:
- "@types/react": "*"
- react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
- peerDependenciesMeta:
- "@types/react":
- optional: true
- checksum: 10c0/0f271b4100dbb007ad2675f2529453f07454f214b7ce796d72680bf2dff050d0719083ee6e8962919a74048ff853eff2e50de07d8f8c674d6be91bfa76204cc2
- languageName: node
- linkType: hard
-
-"@radix-ui/react-dialog@npm:^1.1.15":
+"@radix-ui/react-dialog@npm:1.1.15":
version: 1.1.15
resolution: "@radix-ui/react-dialog@npm:1.1.15"
dependencies:
@@ -1599,7 +2157,7 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-dropdown-menu@npm:^2.1.16":
+"@radix-ui/react-dropdown-menu@npm:2.1.16":
version: 2.1.16
resolution: "@radix-ui/react-dropdown-menu@npm:2.1.16"
dependencies:
@@ -1658,6 +2216,57 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-form@npm:0.1.8":
+ version: 0.1.8
+ resolution: "@radix-ui/react-form@npm:0.1.8"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-id": "npm:1.1.1"
+ "@radix-ui/react-label": "npm:2.1.7"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/4245a16c9f638f625de2825889f41a5a32e7b1f3dfb785fa78981375b83b551718f69f84d8ea8da1dac0631835cd1fcd6fa3488415a31b3d38c4699a626e54c0
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-hover-card@npm:1.1.15":
+ version: 1.1.15
+ resolution: "@radix-ui/react-hover-card@npm:1.1.15"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-dismissable-layer": "npm:1.1.11"
+ "@radix-ui/react-popper": "npm:1.2.8"
+ "@radix-ui/react-portal": "npm:1.1.9"
+ "@radix-ui/react-presence": "npm:1.1.5"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/c44ab88b0c62a3c1bf274b72e5cc3f5a6aea571a52bf2fcb2d471e1336738adabdbd10c26c8e72071cad444704ac28fcf2679d43132b69279564ad689839cf4e
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-id@npm:1.1.1":
version: 1.1.1
resolution: "@radix-ui/react-id@npm:1.1.1"
@@ -1673,11 +2282,11 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-label@npm:^2.1.8":
- version: 2.1.8
- resolution: "@radix-ui/react-label@npm:2.1.8"
+"@radix-ui/react-label@npm:2.1.7":
+ version: 2.1.7
+ resolution: "@radix-ui/react-label@npm:2.1.7"
dependencies:
- "@radix-ui/react-primitive": "npm:2.1.4"
+ "@radix-ui/react-primitive": "npm:2.1.3"
peerDependencies:
"@types/react": "*"
"@types/react-dom": "*"
@@ -1688,7 +2297,7 @@ __metadata:
optional: true
"@types/react-dom":
optional: true
- checksum: 10c0/8b130380bd54bafb0dc652270c8cf035ceeb78faab82f78c0a76fc33cc0718e8455ff880e0db1b6c10f203ff342bf1f941544eb258c1fd85ae5b49b53cdf1a3d
+ checksum: 10c0/d8c81411d5327b6db5cbf4b900bfcc52030315539911701cf8d82b4970aed80cbd66df5b62d2242859572c666cf4b0e147a8b39dc3c04bd024a4b4405e1183fe
languageName: node
linkType: hard
@@ -1728,6 +2337,155 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-menubar@npm:1.1.16":
+ version: 1.1.16
+ resolution: "@radix-ui/react-menubar@npm:1.1.16"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-collection": "npm:1.1.7"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-id": "npm:1.1.1"
+ "@radix-ui/react-menu": "npm:2.1.16"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-roving-focus": "npm:1.1.11"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/81f8134a178b8e81522280988dfa0327ddbb777e0b0650fb71dd2528b94af18c2a23166fd3497d17473fd3191e5317adda449248fd16945d786728c57ded097e
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-navigation-menu@npm:1.2.14":
+ version: 1.2.14
+ resolution: "@radix-ui/react-navigation-menu@npm:1.2.14"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-collection": "npm:1.1.7"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-dismissable-layer": "npm:1.1.11"
+ "@radix-ui/react-id": "npm:1.1.1"
+ "@radix-ui/react-presence": "npm:1.1.5"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-callback-ref": "npm:1.1.1"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-layout-effect": "npm:1.1.1"
+ "@radix-ui/react-use-previous": "npm:1.1.1"
+ "@radix-ui/react-visually-hidden": "npm:1.2.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/c06ca983fc99bf37f09101b1f423def413e5b7437308e519c878180411a12f837a6a3b293b873293b06e68ca60294597da0f2bf0321efaf9028ab4144e13187e
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-one-time-password-field@npm:0.1.8":
+ version: 0.1.8
+ resolution: "@radix-ui/react-one-time-password-field@npm:0.1.8"
+ dependencies:
+ "@radix-ui/number": "npm:1.1.1"
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-collection": "npm:1.1.7"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-roving-focus": "npm:1.1.11"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-effect-event": "npm:0.0.2"
+ "@radix-ui/react-use-is-hydrated": "npm:0.1.0"
+ "@radix-ui/react-use-layout-effect": "npm:1.1.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/1dded300690d148c71b022ef2fffd271faae906ad6546ec39ae537d5f7cfaab76b8c13567c97660bc3623c38eb1686e248e6a442de289f70226df87230196650
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-password-toggle-field@npm:0.1.3":
+ version: 0.1.3
+ resolution: "@radix-ui/react-password-toggle-field@npm:0.1.3"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-id": "npm:1.1.1"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-effect-event": "npm:0.0.2"
+ "@radix-ui/react-use-is-hydrated": "npm:0.1.0"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/9c4eea5f6a05401e6c77d9bfebfea801c027c0e5a85bac5df71e6982b1162b79dbdeed6e6e52fc7fd2b34533ccc64c63ec47fbf5f9bf621dfd0d1810baec2f4d
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-popover@npm:1.1.15":
+ version: 1.1.15
+ resolution: "@radix-ui/react-popover@npm:1.1.15"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-dismissable-layer": "npm:1.1.11"
+ "@radix-ui/react-focus-guards": "npm:1.1.3"
+ "@radix-ui/react-focus-scope": "npm:1.1.7"
+ "@radix-ui/react-id": "npm:1.1.1"
+ "@radix-ui/react-popper": "npm:1.2.8"
+ "@radix-ui/react-portal": "npm:1.1.9"
+ "@radix-ui/react-presence": "npm:1.1.5"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-slot": "npm:1.2.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ aria-hidden: "npm:^1.2.4"
+ react-remove-scroll: "npm:^2.6.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/c1c76b5e5985b128d03b621424fb453f769931d497759a1977734d303007da9f970570cf3ea1f6968ab609ab4a97f384168bff056197bd2d3d422abea0e3614b
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-popper@npm:1.2.8":
version: 1.2.8
resolution: "@radix-ui/react-popper@npm:1.2.8"
@@ -1815,11 +2573,12 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-primitive@npm:2.1.4":
- version: 2.1.4
- resolution: "@radix-ui/react-primitive@npm:2.1.4"
+"@radix-ui/react-progress@npm:1.1.7":
+ version: 1.1.7
+ resolution: "@radix-ui/react-progress@npm:1.1.7"
dependencies:
- "@radix-ui/react-slot": "npm:1.2.4"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-primitive": "npm:2.1.3"
peerDependencies:
"@types/react": "*"
"@types/react-dom": "*"
@@ -1830,7 +2589,35 @@ __metadata:
optional: true
"@types/react-dom":
optional: true
- checksum: 10c0/90d687b222a25975371ed1f9f08648d75237214b8dec4cbaf09ec9ac951339b17421278f1aff2fb7c5672ba8bd03774a94904efdba73805dd5cc947ce5be8c4a
+ checksum: 10c0/bed5349682a75db02d362c07ac99fefddbbdc0152c4d5035719498223b9d490ebd834e2d9f64d498424048eb3da7eb7e55ba696e202cd0a048d6e319390e69d3
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-radio-group@npm:1.3.8":
+ version: 1.3.8
+ resolution: "@radix-ui/react-radio-group@npm:1.3.8"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-presence": "npm:1.1.5"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-roving-focus": "npm:1.1.11"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-previous": "npm:1.1.1"
+ "@radix-ui/react-use-size": "npm:1.1.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/23af8e8b833da1fc4aa4e67c3607dedee4fc5b39278d2e2b820bec7f7b3c0891b006a8a35c57ba436ddf18735bbd8dad9a598d14632a328753a875fde447975c
languageName: node
linkType: hard
@@ -1861,7 +2648,7 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-scroll-area@npm:^1.2.10":
+"@radix-ui/react-scroll-area@npm:1.2.10":
version: 1.2.10
resolution: "@radix-ui/react-scroll-area@npm:1.2.10"
dependencies:
@@ -1888,7 +2675,7 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-select@npm:^2.2.6":
+"@radix-ui/react-select@npm:2.2.6":
version: 2.2.6
resolution: "@radix-ui/react-select@npm:2.2.6"
dependencies:
@@ -1927,11 +2714,11 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-separator@npm:^1.1.8":
- version: 1.1.8
- resolution: "@radix-ui/react-separator@npm:1.1.8"
+"@radix-ui/react-separator@npm:1.1.7":
+ version: 1.1.7
+ resolution: "@radix-ui/react-separator@npm:1.1.7"
dependencies:
- "@radix-ui/react-primitive": "npm:2.1.4"
+ "@radix-ui/react-primitive": "npm:2.1.3"
peerDependencies:
"@types/react": "*"
"@types/react-dom": "*"
@@ -1942,7 +2729,36 @@ __metadata:
optional: true
"@types/react-dom":
optional: true
- checksum: 10c0/92e1353f696a22167c90f2c610b440be1fae3c05128287560914f124eef83d74c06ad25431923f3595032e6d89c23d479c95434390f4c0d9d4a68ec8d563ae0c
+ checksum: 10c0/32c0eb4fe018397efbe580542e6e33fdc09b76b96395b2bb4c55da7b6d49224b18f46143bdaf9eb6cb01e166c459fb77508a81d20a591a9034949acee5d171d9
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-slider@npm:1.3.6":
+ version: 1.3.6
+ resolution: "@radix-ui/react-slider@npm:1.3.6"
+ dependencies:
+ "@radix-ui/number": "npm:1.1.1"
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-collection": "npm:1.1.7"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-layout-effect": "npm:1.1.1"
+ "@radix-ui/react-use-previous": "npm:1.1.1"
+ "@radix-ui/react-use-size": "npm:1.1.1"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/a53d7854e28c5ef3d29b76c8d04cc3c723b982b643152cd5a8fefc7a8359180f8fd21753e5a08302a290bc837e7be04f2efad9d308b7a4a23326df6a6b1ac882
languageName: node
linkType: hard
@@ -1961,22 +2777,32 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-slot@npm:1.2.4, @radix-ui/react-slot@npm:^1.2.4":
- version: 1.2.4
- resolution: "@radix-ui/react-slot@npm:1.2.4"
+"@radix-ui/react-switch@npm:1.2.6":
+ version: 1.2.6
+ resolution: "@radix-ui/react-switch@npm:1.2.6"
dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
"@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-previous": "npm:1.1.1"
+ "@radix-ui/react-use-size": "npm:1.1.1"
peerDependencies:
"@types/react": "*"
+ "@types/react-dom": "*"
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
"@types/react":
optional: true
- checksum: 10c0/8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/888303cbeb0e69ebba5676b225f9ea0f00f61453c6b8a6b66384b5c5c4c7fb0ccc53493c1eb14ec6d436e5b867b302aadd6af51a1f2e6c04581c583fd9be65be
languageName: node
linkType: hard
-"@radix-ui/react-tabs@npm:^1.1.13":
+"@radix-ui/react-tabs@npm:1.1.13":
version: 1.1.13
resolution: "@radix-ui/react-tabs@npm:1.1.13"
dependencies:
@@ -2002,7 +2828,7 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-toast@npm:^1.2.15":
+"@radix-ui/react-toast@npm:1.2.15":
version: 1.2.15
resolution: "@radix-ui/react-toast@npm:1.2.15"
dependencies:
@@ -2032,7 +2858,78 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-tooltip@npm:^1.2.8":
+"@radix-ui/react-toggle-group@npm:1.1.11":
+ version: 1.1.11
+ resolution: "@radix-ui/react-toggle-group@npm:1.1.11"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-roving-focus": "npm:1.1.11"
+ "@radix-ui/react-toggle": "npm:1.1.10"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/c8cbccda3e25754ed9f3145c67792df2d5d0ee1a910bde6dc07c4577ab508d4b939f145569d4e2af5b17dc4a5c701473380d8695248f8620cf0a372c05b8e958
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-toggle@npm:1.1.10":
+ version: 1.1.10
+ resolution: "@radix-ui/react-toggle@npm:1.1.10"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/5406cdf5dd7299ae6cfdb4865dc5fd43ca3c475ebcd4e86830bd296d734255b61f749c9bde452ebfaad126033f92dd1112ee9d95982344ffad34491238dcc9b1
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-toolbar@npm:1.1.11":
+ version: 1.1.11
+ resolution: "@radix-ui/react-toolbar@npm:1.1.11"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-roving-focus": "npm:1.1.11"
+ "@radix-ui/react-separator": "npm:1.1.7"
+ "@radix-ui/react-toggle-group": "npm:1.1.11"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/3e2ef134608afd08b7a4fd8b222f7638f6d1760f0c3551a9532c91c82b02192b37684c48d5f2bc6c29e3c4be3d3c63ba9a5660d6e99fefa08044c5ded22ee311
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-tooltip@npm:1.2.8":
version: 1.2.8
resolution: "@radix-ui/react-tooltip@npm:1.2.8"
dependencies:
@@ -2218,13 +3115,6 @@ __metadata:
languageName: node
linkType: hard
-"@rolldown/pluginutils@npm:1.0.0-rc.3":
- version: 1.0.0-rc.3
- resolution: "@rolldown/pluginutils@npm:1.0.0-rc.3"
- checksum: 10c0/3928b6282a30f307d1b075d2f217180ae173ea9e00638ce46ab65f089bd5f7a0b2c488ae1ce530f509387793c656a2910337c4cd68fa9d37d7e439365989e699
- languageName: node
- linkType: hard
-
"@rollup/rollup-android-arm-eabi@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-android-arm-eabi@npm:4.57.1"
@@ -2232,13 +3122,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-android-arm-eabi@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-android-arm-eabi@npm:4.59.0"
- conditions: os=android & cpu=arm
- languageName: node
- linkType: hard
-
"@rollup/rollup-android-arm64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-android-arm64@npm:4.57.1"
@@ -2246,13 +3129,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-android-arm64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-android-arm64@npm:4.59.0"
- conditions: os=android & cpu=arm64
- languageName: node
- linkType: hard
-
"@rollup/rollup-darwin-arm64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-darwin-arm64@npm:4.57.1"
@@ -2260,13 +3136,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-darwin-arm64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-darwin-arm64@npm:4.59.0"
- conditions: os=darwin & cpu=arm64
- languageName: node
- linkType: hard
-
"@rollup/rollup-darwin-x64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-darwin-x64@npm:4.57.1"
@@ -2274,13 +3143,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-darwin-x64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-darwin-x64@npm:4.59.0"
- conditions: os=darwin & cpu=x64
- languageName: node
- linkType: hard
-
"@rollup/rollup-freebsd-arm64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-freebsd-arm64@npm:4.57.1"
@@ -2288,13 +3150,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-freebsd-arm64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-freebsd-arm64@npm:4.59.0"
- conditions: os=freebsd & cpu=arm64
- languageName: node
- linkType: hard
-
"@rollup/rollup-freebsd-x64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-freebsd-x64@npm:4.57.1"
@@ -2302,13 +3157,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-freebsd-x64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-freebsd-x64@npm:4.59.0"
- conditions: os=freebsd & cpu=x64
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-arm-gnueabihf@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.57.1"
@@ -2316,13 +3164,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.59.0"
- conditions: os=linux & cpu=arm & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-arm-musleabihf@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.57.1"
@@ -2330,13 +3171,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm-musleabihf@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.59.0"
- conditions: os=linux & cpu=arm & libc=musl
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-arm64-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.57.1"
@@ -2344,13 +3178,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.59.0"
- conditions: os=linux & cpu=arm64 & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-arm64-musl@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.57.1"
@@ -2358,13 +3185,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-arm64-musl@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-arm64-musl@npm:4.59.0"
- conditions: os=linux & cpu=arm64 & libc=musl
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-loong64-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.57.1"
@@ -2372,13 +3192,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-loong64-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.59.0"
- conditions: os=linux & cpu=loong64 & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-loong64-musl@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-loong64-musl@npm:4.57.1"
@@ -2386,13 +3199,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-loong64-musl@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-loong64-musl@npm:4.59.0"
- conditions: os=linux & cpu=loong64 & libc=musl
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-ppc64-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.57.1"
@@ -2400,13 +3206,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-ppc64-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.59.0"
- conditions: os=linux & cpu=ppc64 & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-ppc64-musl@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.57.1"
@@ -2414,13 +3213,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-ppc64-musl@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.59.0"
- conditions: os=linux & cpu=ppc64 & libc=musl
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-riscv64-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.57.1"
@@ -2428,13 +3220,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-riscv64-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.59.0"
- conditions: os=linux & cpu=riscv64 & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-riscv64-musl@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.57.1"
@@ -2442,13 +3227,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-riscv64-musl@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.59.0"
- conditions: os=linux & cpu=riscv64 & libc=musl
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-s390x-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.57.1"
@@ -2456,13 +3234,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-s390x-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.59.0"
- conditions: os=linux & cpu=s390x & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-x64-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.57.1"
@@ -2470,13 +3241,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-x64-gnu@npm:4.59.0"
- conditions: os=linux & cpu=x64 & libc=glibc
- languageName: node
- linkType: hard
-
"@rollup/rollup-linux-x64-musl@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-linux-x64-musl@npm:4.57.1"
@@ -2484,13 +3248,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-linux-x64-musl@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-linux-x64-musl@npm:4.59.0"
- conditions: os=linux & cpu=x64 & libc=musl
- languageName: node
- linkType: hard
-
"@rollup/rollup-openbsd-x64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-openbsd-x64@npm:4.57.1"
@@ -2498,13 +3255,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-openbsd-x64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-openbsd-x64@npm:4.59.0"
- conditions: os=openbsd & cpu=x64
- languageName: node
- linkType: hard
-
"@rollup/rollup-openharmony-arm64@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-openharmony-arm64@npm:4.57.1"
@@ -2512,13 +3262,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-openharmony-arm64@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-openharmony-arm64@npm:4.59.0"
- conditions: os=openharmony & cpu=arm64
- languageName: node
- linkType: hard
-
"@rollup/rollup-win32-arm64-msvc@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.57.1"
@@ -2526,13 +3269,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-win32-arm64-msvc@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.59.0"
- conditions: os=win32 & cpu=arm64
- languageName: node
- linkType: hard
-
"@rollup/rollup-win32-ia32-msvc@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.57.1"
@@ -2540,13 +3276,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-win32-ia32-msvc@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.59.0"
- conditions: os=win32 & cpu=ia32
- languageName: node
- linkType: hard
-
"@rollup/rollup-win32-x64-gnu@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-win32-x64-gnu@npm:4.57.1"
@@ -2554,13 +3283,6 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-win32-x64-gnu@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-win32-x64-gnu@npm:4.59.0"
- conditions: os=win32 & cpu=x64
- languageName: node
- linkType: hard
-
"@rollup/rollup-win32-x64-msvc@npm:4.57.1":
version: 4.57.1
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.57.1"
@@ -2568,10 +3290,17 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/rollup-win32-x64-msvc@npm:4.59.0":
- version: 4.59.0
- resolution: "@rollup/rollup-win32-x64-msvc@npm:4.59.0"
- conditions: os=win32 & cpu=x64
+"@rtsao/scc@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@rtsao/scc@npm:1.1.0"
+ checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b
+ languageName: node
+ linkType: hard
+
+"@sec-ant/readable-stream@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "@sec-ant/readable-stream@npm:0.4.1"
+ checksum: 10c0/64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af
languageName: node
linkType: hard
@@ -2582,6 +3311,13 @@ __metadata:
languageName: node
linkType: hard
+"@sindresorhus/merge-streams@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@sindresorhus/merge-streams@npm:4.0.0"
+ checksum: 10c0/482ee543629aa1933b332f811a1ae805a213681ecdd98c042b1c1b89387df63e7812248bb4df3910b02b3cc5589d3d73e4393f30e197c9dde18046ccd471fc6b
+ languageName: node
+ linkType: hard
+
"@standard-schema/spec@npm:^1.0.0":
version: 1.1.0
resolution: "@standard-schema/spec@npm:1.1.0"
@@ -2589,9 +3325,18 @@ __metadata:
languageName: node
linkType: hard
-"@tailwindcss/node@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/node@npm:4.2.0"
+"@swc/helpers@npm:0.5.15":
+ version: 0.5.15
+ resolution: "@swc/helpers@npm:0.5.15"
+ dependencies:
+ tslib: "npm:^2.8.0"
+ checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4
+ languageName: node
+ linkType: hard
+
+"@tailwindcss/node@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/node@npm:4.2.1"
dependencies:
"@jridgewell/remapping": "npm:^2.3.5"
enhanced-resolve: "npm:^5.19.0"
@@ -2599,77 +3344,77 @@ __metadata:
lightningcss: "npm:1.31.1"
magic-string: "npm:^0.30.21"
source-map-js: "npm:^1.2.1"
- tailwindcss: "npm:4.2.0"
- checksum: 10c0/f9b0bb4826fd8ac4e6961e5fbcd640c2d6946dcdccf8c30be63266566f6c806b388e98478fae80fb6d7e16627dab631ffdd4cd5d352362a8bc44b303da8a419d
+ tailwindcss: "npm:4.2.1"
+ checksum: 10c0/7b1bf77d2d714df98201cc2f308bee8edfebaf2ef520ec15cb9515e2aadabb28b4d2ecb165dd278716b3f6767da10e4d9a445de34ee8f7ec056fc9c1d8e275a1
languageName: node
linkType: hard
-"@tailwindcss/oxide-android-arm64@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-android-arm64@npm:4.2.0"
+"@tailwindcss/oxide-android-arm64@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-android-arm64@npm:4.2.1"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
-"@tailwindcss/oxide-darwin-arm64@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.2.0"
+"@tailwindcss/oxide-darwin-arm64@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-darwin-arm64@npm:4.2.1"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@tailwindcss/oxide-darwin-x64@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-darwin-x64@npm:4.2.0"
+"@tailwindcss/oxide-darwin-x64@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-darwin-x64@npm:4.2.1"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@tailwindcss/oxide-freebsd-x64@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.2.0"
+"@tailwindcss/oxide-freebsd-x64@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-freebsd-x64@npm:4.2.1"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.0"
+"@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-linux-arm-gnueabihf@npm:4.2.1"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.0"
+"@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-linux-arm64-gnu@npm:4.2.1"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-arm64-musl@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.2.0"
+"@tailwindcss/oxide-linux-arm64-musl@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-linux-arm64-musl@npm:4.2.1"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-x64-gnu@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.2.0"
+"@tailwindcss/oxide-linux-x64-gnu@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-linux-x64-gnu@npm:4.2.1"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@tailwindcss/oxide-linux-x64-musl@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.2.0"
+"@tailwindcss/oxide-linux-x64-musl@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-linux-x64-musl@npm:4.2.1"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@tailwindcss/oxide-wasm32-wasi@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.2.0"
+"@tailwindcss/oxide-wasm32-wasi@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-wasm32-wasi@npm:4.2.1"
dependencies:
"@emnapi/core": "npm:^1.8.1"
"@emnapi/runtime": "npm:^1.8.1"
@@ -2681,36 +3426,36 @@ __metadata:
languageName: node
linkType: hard
-"@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.0"
+"@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-win32-arm64-msvc@npm:4.2.1"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@tailwindcss/oxide-win32-x64-msvc@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.2.0"
+"@tailwindcss/oxide-win32-x64-msvc@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide-win32-x64-msvc@npm:4.2.1"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
-"@tailwindcss/oxide@npm:4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/oxide@npm:4.2.0"
+"@tailwindcss/oxide@npm:4.2.1":
+ version: 4.2.1
+ resolution: "@tailwindcss/oxide@npm:4.2.1"
dependencies:
- "@tailwindcss/oxide-android-arm64": "npm:4.2.0"
- "@tailwindcss/oxide-darwin-arm64": "npm:4.2.0"
- "@tailwindcss/oxide-darwin-x64": "npm:4.2.0"
- "@tailwindcss/oxide-freebsd-x64": "npm:4.2.0"
- "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.2.0"
- "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.2.0"
- "@tailwindcss/oxide-linux-arm64-musl": "npm:4.2.0"
- "@tailwindcss/oxide-linux-x64-gnu": "npm:4.2.0"
- "@tailwindcss/oxide-linux-x64-musl": "npm:4.2.0"
- "@tailwindcss/oxide-wasm32-wasi": "npm:4.2.0"
- "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.2.0"
- "@tailwindcss/oxide-win32-x64-msvc": "npm:4.2.0"
+ "@tailwindcss/oxide-android-arm64": "npm:4.2.1"
+ "@tailwindcss/oxide-darwin-arm64": "npm:4.2.1"
+ "@tailwindcss/oxide-darwin-x64": "npm:4.2.1"
+ "@tailwindcss/oxide-freebsd-x64": "npm:4.2.1"
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "npm:4.2.1"
+ "@tailwindcss/oxide-linux-arm64-gnu": "npm:4.2.1"
+ "@tailwindcss/oxide-linux-arm64-musl": "npm:4.2.1"
+ "@tailwindcss/oxide-linux-x64-gnu": "npm:4.2.1"
+ "@tailwindcss/oxide-linux-x64-musl": "npm:4.2.1"
+ "@tailwindcss/oxide-wasm32-wasi": "npm:4.2.1"
+ "@tailwindcss/oxide-win32-arm64-msvc": "npm:4.2.1"
+ "@tailwindcss/oxide-win32-x64-msvc": "npm:4.2.1"
dependenciesMeta:
"@tailwindcss/oxide-android-arm64":
optional: true
@@ -2736,170 +3481,31 @@ __metadata:
optional: true
"@tailwindcss/oxide-win32-x64-msvc":
optional: true
- checksum: 10c0/562cdb36efe4930220f749f10f429c212ed1eb99082325ada1f5b3dcdffbcf0cdafd23a28e0437d12824eb512dc3dc878a6fca4232255a73c99600a2dede8bfa
+ checksum: 10c0/4f9bfa40cde6925eed1759caf857831779a834a1b8776cc7df5bb48a279b7dcd2e761a31ffbd297d135a64b58f25e092d7c781c06cf44667746f7e5a5a3e0183
languageName: node
linkType: hard
-"@tailwindcss/postcss@npm:^4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/postcss@npm:4.2.0"
+"@tailwindcss/postcss@npm:^4":
+ version: 4.2.1
+ resolution: "@tailwindcss/postcss@npm:4.2.1"
dependencies:
"@alloc/quick-lru": "npm:^5.2.0"
- "@tailwindcss/node": "npm:4.2.0"
- "@tailwindcss/oxide": "npm:4.2.0"
+ "@tailwindcss/node": "npm:4.2.1"
+ "@tailwindcss/oxide": "npm:4.2.1"
postcss: "npm:^8.5.6"
- tailwindcss: "npm:4.2.0"
- checksum: 10c0/cf0024b566c17a4cb6aeb1e84a0ea31b7964394e0156caee3872c5b513d2913e17607ffad990f6017e6f33e08f6b9ea5cdf504b975eed237a006f0b3372468cf
+ tailwindcss: "npm:4.2.1"
+ checksum: 10c0/c9869a10c284241b2e51ba25750ae711d1ac3187356093c3a047eb8139124e73412036de7a11ad5c145360a312dcdebde59849f6d65e6296cba525186a8243f6
languageName: node
linkType: hard
-"@tailwindcss/vite@npm:^4.2.0":
- version: 4.2.0
- resolution: "@tailwindcss/vite@npm:4.2.0"
+"@ts-morph/common@npm:~0.27.0":
+ version: 0.27.0
+ resolution: "@ts-morph/common@npm:0.27.0"
dependencies:
- "@tailwindcss/node": "npm:4.2.0"
- "@tailwindcss/oxide": "npm:4.2.0"
- tailwindcss: "npm:4.2.0"
- peerDependencies:
- vite: ^5.2.0 || ^6 || ^7
- checksum: 10c0/4bd28ea2984907930a2ea4818581ce24bbb7276ffc4d316b32143eef2f2bf9f82bd2b937fe6bb78c9be96b61df5464d884b9c7b1e71f0eb3df2c4a890d34ff79
- languageName: node
- linkType: hard
-
-"@tanstack/devtools-event-client@npm:^0.4.0":
- version: 0.4.0
- resolution: "@tanstack/devtools-event-client@npm:0.4.0"
- checksum: 10c0/f6603f9f9542ff0e6037726b7e023b6e32c7228d968e4d301e8970b9a8a9ec021249c1eca054a32b5ffb46aed75bc0d54aefda01bda804246caaee27842f1deb
- languageName: node
- linkType: hard
-
-"@tanstack/form-core@npm:1.28.3":
- version: 1.28.3
- resolution: "@tanstack/form-core@npm:1.28.3"
- dependencies:
- "@tanstack/devtools-event-client": "npm:^0.4.0"
- "@tanstack/pacer-lite": "npm:^0.1.1"
- "@tanstack/store": "npm:^0.8.1"
- checksum: 10c0/ae8f8effcbfb03245cd73b37b07ec93d18154cd948d551fda2a58e5b4630792b87f4f10f8e06e9540398edf316ffabc1e221bf56ef33843b0e02d7a804899587
- languageName: node
- linkType: hard
-
-"@tanstack/history@npm:1.161.4":
- version: 1.161.4
- resolution: "@tanstack/history@npm:1.161.4"
- checksum: 10c0/adfcaab72831dbecb35dbbcfaa75f032efb6e8b4ef7397f21bdccb08fa35234a44372b5f85e2f3c376e9370412e823f70ef94178f714cdabfb79d1f770eaa971
- languageName: node
- linkType: hard
-
-"@tanstack/pacer-lite@npm:^0.1.1":
- version: 0.1.1
- resolution: "@tanstack/pacer-lite@npm:0.1.1"
- checksum: 10c0/c74c2e67dba3a14cd14134c27cff4856977c9019cf4dbe6a545a06960f4c9c8edad846e526595206aa01c42cc5cd5ee217761547ab6d2a3edec6fb3d69864686
- languageName: node
- linkType: hard
-
-"@tanstack/query-core@npm:5.90.20":
- version: 5.90.20
- resolution: "@tanstack/query-core@npm:5.90.20"
- checksum: 10c0/70637dfcecd5ed9d810629aa27f1632af8a4bcd083e75cf29408d058c32f8234704a3231ec280e2c4016ea0485b16124fdf70ab97793b5a7b670f43f7659e9fe
- languageName: node
- linkType: hard
-
-"@tanstack/react-form@npm:^1.28.3":
- version: 1.28.3
- resolution: "@tanstack/react-form@npm:1.28.3"
- dependencies:
- "@tanstack/form-core": "npm:1.28.3"
- "@tanstack/react-store": "npm:^0.8.1"
- peerDependencies:
- react: ^17.0.0 || ^18.0.0 || ^19.0.0
- peerDependenciesMeta:
- "@tanstack/react-start":
- optional: true
- checksum: 10c0/a3a5dfeec19b10e28bfe5e5b08195aac7d90dcb51a33081212a4ed581b34c80b6855d8e17c141666f9b46589c5266386dba78967922ce2a6b4a41e5551f017d6
- languageName: node
- linkType: hard
-
-"@tanstack/react-query@npm:^5.90.21":
- version: 5.90.21
- resolution: "@tanstack/react-query@npm:5.90.21"
- dependencies:
- "@tanstack/query-core": "npm:5.90.20"
- peerDependencies:
- react: ^18 || ^19
- checksum: 10c0/e8994c57f6ceb2c886a4d6486a8c6a3f89bc6b1220de3e732448d7fcbeb386e9358f03c73804de72004c6ac2668d0bf1b44cedbb273d3e4b33afcbaee7b7d24d
- languageName: node
- linkType: hard
-
-"@tanstack/react-router@npm:^1.162.2":
- version: 1.162.2
- resolution: "@tanstack/react-router@npm:1.162.2"
- dependencies:
- "@tanstack/history": "npm:1.161.4"
- "@tanstack/react-store": "npm:^0.9.1"
- "@tanstack/router-core": "npm:1.162.2"
- isbot: "npm:^5.1.22"
- tiny-invariant: "npm:^1.3.3"
- tiny-warning: "npm:^1.0.3"
- peerDependencies:
- react: ">=18.0.0 || >=19.0.0"
- react-dom: ">=18.0.0 || >=19.0.0"
- checksum: 10c0/ab1e442fd98fd0d3fe3a5740ff8302b98d54b6473b176ffad251d6208498323f80154f3042bde39ccbbe5e8862737383be338b0d60d808111f4cb595b222fb20
- languageName: node
- linkType: hard
-
-"@tanstack/react-store@npm:^0.8.1":
- version: 0.8.1
- resolution: "@tanstack/react-store@npm:0.8.1"
- dependencies:
- "@tanstack/store": "npm:0.8.1"
- use-sync-external-store: "npm:^1.6.0"
- peerDependencies:
- 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
- checksum: 10c0/83037681674e34361f5a6141af81a19788e7243892f5fcca45c9e70c73eb9da9693574a46ea80114589060969470a9b9657a3bd74a44f98e80de481c65204778
- languageName: node
- linkType: hard
-
-"@tanstack/react-store@npm:^0.9.1":
- version: 0.9.1
- resolution: "@tanstack/react-store@npm:0.9.1"
- dependencies:
- "@tanstack/store": "npm:0.9.1"
- use-sync-external-store: "npm:^1.6.0"
- peerDependencies:
- 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
- checksum: 10c0/8d03641c8619c2c92b5f05ea6a0c6060fe3efcab6bc2fb0990351f083263ed78fd220df62a427728f11137cba1cc2d0ca80175893a52d62a2e7057a4396e484a
- languageName: node
- linkType: hard
-
-"@tanstack/router-core@npm:1.162.2":
- version: 1.162.2
- resolution: "@tanstack/router-core@npm:1.162.2"
- dependencies:
- "@tanstack/history": "npm:1.161.4"
- "@tanstack/store": "npm:^0.9.1"
- cookie-es: "npm:^2.0.0"
- seroval: "npm:^1.4.2"
- seroval-plugins: "npm:^1.4.2"
- tiny-invariant: "npm:^1.3.3"
- tiny-warning: "npm:^1.0.3"
- checksum: 10c0/18e45379c5970b8184cea62150dd18b1eff7f032de627e67d773797ff21224fb96a7e76cb678ba0ad29f075ba39e05491560f725948cca9a0cba0271814a6700
- languageName: node
- linkType: hard
-
-"@tanstack/store@npm:0.8.1, @tanstack/store@npm:^0.8.1":
- version: 0.8.1
- resolution: "@tanstack/store@npm:0.8.1"
- checksum: 10c0/344180b689f87c3afa6ac3ea1c7d9b14257a1b961afea916f3ac666b2752972caba33c12105d588d297a932767fe0d8d25567e220777ec99d4ca6b61b5b652af
- languageName: node
- linkType: hard
-
-"@tanstack/store@npm:0.9.1, @tanstack/store@npm:^0.9.1":
- version: 0.9.1
- resolution: "@tanstack/store@npm:0.9.1"
- checksum: 10c0/2093bd201ec97e500fe3cdca6a76eec2c92d42790d46ff929819284be9814e768f61ac55d21215f16aefc173f7a910e9ed1abbebced519bbf08e7cc87b6b5d30
+ fast-glob: "npm:^3.3.3"
+ minimatch: "npm:^10.0.1"
+ path-browserify: "npm:^1.0.1"
+ checksum: 10c0/3daa267bd78114ff504eb064c5215da6e46589e775b781ec0da4998d999b0d7130eff287e70d6e13e0a0a897ea16e9387f4cd885b4b9d6d628f318cecb81d473
languageName: node
linkType: hard
@@ -2931,7 +3537,7 @@ __metadata:
languageName: node
linkType: hard
-"@tybys/wasm-util@npm:^0.10.1":
+"@tybys/wasm-util@npm:^0.10.0, @tybys/wasm-util@npm:^0.10.1":
version: 0.10.1
resolution: "@tybys/wasm-util@npm:0.10.1"
dependencies:
@@ -2940,47 +3546,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/babel__core@npm:^7.20.5":
- version: 7.20.5
- resolution: "@types/babel__core@npm:7.20.5"
- dependencies:
- "@babel/parser": "npm:^7.20.7"
- "@babel/types": "npm:^7.20.7"
- "@types/babel__generator": "npm:*"
- "@types/babel__template": "npm:*"
- "@types/babel__traverse": "npm:*"
- checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff
- languageName: node
- linkType: hard
-
-"@types/babel__generator@npm:*":
- version: 7.27.0
- resolution: "@types/babel__generator@npm:7.27.0"
- dependencies:
- "@babel/types": "npm:^7.0.0"
- checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd
- languageName: node
- linkType: hard
-
-"@types/babel__template@npm:*":
- version: 7.4.4
- resolution: "@types/babel__template@npm:7.4.4"
- dependencies:
- "@babel/parser": "npm:^7.1.0"
- "@babel/types": "npm:^7.0.0"
- checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b
- languageName: node
- linkType: hard
-
-"@types/babel__traverse@npm:*":
- version: 7.28.0
- resolution: "@types/babel__traverse@npm:7.28.0"
- dependencies:
- "@babel/types": "npm:^7.28.2"
- checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994
- languageName: node
- linkType: hard
-
"@types/chai-subset@npm:^1.3.3":
version: 1.3.6
resolution: "@types/chai-subset@npm:1.3.6"
@@ -3018,6 +3583,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/json5@npm:^0.0.29":
+ version: 0.0.29
+ resolution: "@types/json5@npm:0.0.29"
+ checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac
+ languageName: node
+ linkType: hard
+
"@types/node@npm:*":
version: 25.2.2
resolution: "@types/node@npm:25.2.2"
@@ -3036,12 +3608,12 @@ __metadata:
languageName: node
linkType: hard
-"@types/node@npm:^24.10.1":
- version: 24.10.13
- resolution: "@types/node@npm:24.10.13"
+"@types/node@npm:^20":
+ version: 20.19.33
+ resolution: "@types/node@npm:20.19.33"
dependencies:
- undici-types: "npm:~7.16.0"
- checksum: 10c0/4ff0b9b060b5477c0fec5b11a176f294be588104ab546295db65b17a92ba0a6077b52ad92dd3c0d2154198c7f9d0021e6c1d42b00c9ac7ebfd85632afbcc48a4
+ undici-types: "npm:~6.21.0"
+ checksum: 10c0/a1a6234a2b6fa577fbb1ccc471e5e54a79c6e1a51be10a67b034461b752a50017854810e943494f20b3c3c6d14df84c93757e0a2ec57aa81c830d6faeab72cf2
languageName: node
linkType: hard
@@ -3054,7 +3626,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/react-dom@npm:^19.2.3":
+"@types/react-dom@npm:^19":
version: 19.2.3
resolution: "@types/react-dom@npm:19.2.3"
peerDependencies:
@@ -3063,7 +3635,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:^19.2.7":
+"@types/react@npm:^19":
version: 19.2.14
resolution: "@types/react@npm:19.2.14"
dependencies:
@@ -3072,6 +3644,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/statuses@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "@types/statuses@npm:2.0.6"
+ checksum: 10c0/dd88c220b0e2c6315686289525fd61472d2204d2e4bef4941acfb76bda01d3066f749ac74782aab5b537a45314fcd7d6261eefa40b6ec872691f5803adaa608d
+ languageName: node
+ linkType: hard
+
"@types/strip-bom@npm:^3.0.0":
version: 3.0.0
resolution: "@types/strip-bom@npm:3.0.0"
@@ -3086,6 +3665,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/validate-npm-package-name@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "@types/validate-npm-package-name@npm:4.0.2"
+ checksum: 10c0/5a109fe12570b7125740fdac8678970e3caf7de0cbd6e15cf93dad67a427a3a83e0759b5d4b64fd75bce6cdf43b0569275456a35183059046cba6c25d096b916
+ languageName: node
+ linkType: hard
+
"@typescript-eslint/eslint-plugin@npm:8.56.0":
version: 8.56.0
resolution: "@typescript-eslint/eslint-plugin@npm:8.56.0"
@@ -3363,19 +3949,138 @@ __metadata:
languageName: node
linkType: hard
-"@vitejs/plugin-react@npm:^5.1.1":
- version: 5.1.4
- resolution: "@vitejs/plugin-react@npm:5.1.4"
+"@unrs/resolver-binding-android-arm-eabi@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-android-arm-eabi@npm:1.11.1"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-android-arm64@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-android-arm64@npm:1.11.1"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-darwin-arm64@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-darwin-arm64@npm:1.11.1"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-darwin-x64@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-darwin-x64@npm:1.11.1"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-freebsd-x64@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-freebsd-x64@npm:1.11.1"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-arm-gnueabihf@npm:1.11.1"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-arm-musleabihf@npm:1.11.1"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-arm64-gnu@npm:1.11.1"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-arm64-musl@npm:1.11.1"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-ppc64-gnu@npm:1.11.1"
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-riscv64-gnu@npm:1.11.1"
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-riscv64-musl@npm:1.11.1"
+ conditions: os=linux & cpu=riscv64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-s390x-gnu@npm:1.11.1"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-x64-gnu@npm:1.11.1"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-linux-x64-musl@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-linux-x64-musl@npm:1.11.1"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-wasm32-wasi@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-wasm32-wasi@npm:1.11.1"
dependencies:
- "@babel/core": "npm:^7.29.0"
- "@babel/plugin-transform-react-jsx-self": "npm:^7.27.1"
- "@babel/plugin-transform-react-jsx-source": "npm:^7.27.1"
- "@rolldown/pluginutils": "npm:1.0.0-rc.3"
- "@types/babel__core": "npm:^7.20.5"
- react-refresh: "npm:^0.18.0"
- peerDependencies:
- vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0
- checksum: 10c0/dd7b8f40717ecd4a5ab18f467134ea8135f9a443359333d71e4114aeacfc8b679be9fd36dc12290d076c78883a02e708bfe1f0d93411c06c9659da0879b952e3
+ "@napi-rs/wasm-runtime": "npm:^0.2.11"
+ conditions: cpu=wasm32
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-win32-arm64-msvc@npm:1.11.1"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-win32-ia32-msvc@npm:1.11.1"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1":
+ version: 1.11.1
+ resolution: "@unrs/resolver-binding-win32-x64-msvc@npm:1.11.1"
+ conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -3509,6 +4214,16 @@ __metadata:
languageName: node
linkType: hard
+"accepts@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "accepts@npm:2.0.0"
+ dependencies:
+ mime-types: "npm:^3.0.0"
+ negotiator: "npm:^1.0.0"
+ checksum: 10c0/98374742097e140891546076215f90c32644feacf652db48412329de4c2a529178a81aa500fbb13dd3e6cbf6e68d829037b123ac037fc9a08bcec4b87b358eef
+ languageName: node
+ linkType: hard
+
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -3595,6 +4310,18 @@ __metadata:
languageName: node
linkType: hard
+"ajv@npm:^8.17.1":
+ version: 8.18.0
+ resolution: "ajv@npm:8.18.0"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.3"
+ fast-uri: "npm:^3.0.1"
+ json-schema-traverse: "npm:^1.0.0"
+ require-from-string: "npm:^2.0.2"
+ checksum: 10c0/e7517c426173513a07391be951879932bdf3348feaebd2199f5b901c20f99d60db8cd1591502d4d551dc82f594e82a05c4fe1c70139b15b8937f7afeaed9532f
+ languageName: node
+ linkType: hard
+
"ansi-regex@npm:^5.0.1":
version: 5.0.1
resolution: "ansi-regex@npm:5.0.1"
@@ -3602,7 +4329,14 @@ __metadata:
languageName: node
linkType: hard
-"ansi-styles@npm:^4.1.0":
+"ansi-regex@npm:^6.0.1":
+ version: 6.2.2
+ resolution: "ansi-regex@npm:6.2.2"
+ checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0":
version: 4.3.0
resolution: "ansi-styles@npm:4.3.0"
dependencies:
@@ -3618,6 +4352,13 @@ __metadata:
languageName: node
linkType: hard
+"ansis@npm:^4.0.0":
+ version: 4.2.0
+ resolution: "ansis@npm:4.2.0"
+ checksum: 10c0/cd6a7a681ecd36e72e0d79c1e34f1f3bcb1b15bcbb6f0f8969b4228062d3bfebbef468e09771b00d93b2294370b34f707599d4a113542a876de26823b795b5d2
+ languageName: node
+ linkType: hard
+
"anymatch@npm:~3.1.2":
version: 3.1.3
resolution: "anymatch@npm:3.1.3"
@@ -3651,6 +4392,120 @@ __metadata:
languageName: node
linkType: hard
+"aria-query@npm:^5.3.2":
+ version: 5.3.2
+ resolution: "aria-query@npm:5.3.2"
+ checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e
+ languageName: node
+ linkType: hard
+
+"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "array-buffer-byte-length@npm:1.0.2"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ is-array-buffer: "npm:^3.0.5"
+ checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d
+ languageName: node
+ linkType: hard
+
+"array-includes@npm:^3.1.6, array-includes@npm:^3.1.8, array-includes@npm:^3.1.9":
+ version: 3.1.9
+ resolution: "array-includes@npm:3.1.9"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.24.0"
+ es-object-atoms: "npm:^1.1.1"
+ get-intrinsic: "npm:^1.3.0"
+ is-string: "npm:^1.1.1"
+ math-intrinsics: "npm:^1.1.0"
+ checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856
+ languageName: node
+ linkType: hard
+
+"array.prototype.findlast@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "array.prototype.findlast@npm:1.2.5"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/ddc952b829145ab45411b9d6adcb51a8c17c76bf89c9dd64b52d5dffa65d033da8c076ed2e17091779e83bc892b9848188d7b4b33453c5565e65a92863cb2775
+ languageName: node
+ linkType: hard
+
+"array.prototype.findlastindex@npm:^1.2.6":
+ version: 1.2.6
+ resolution: "array.prototype.findlastindex@npm:1.2.6"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.9"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.1.1"
+ es-shim-unscopables: "npm:^1.1.0"
+ checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956
+ languageName: node
+ linkType: hard
+
+"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.3":
+ version: 1.3.3
+ resolution: "array.prototype.flat@npm:1.3.3"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.5"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a
+ languageName: node
+ linkType: hard
+
+"array.prototype.flatmap@npm:^1.3.2, array.prototype.flatmap@npm:^1.3.3":
+ version: 1.3.3
+ resolution: "array.prototype.flatmap@npm:1.3.3"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.5"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54
+ languageName: node
+ linkType: hard
+
+"array.prototype.tosorted@npm:^1.1.4":
+ version: 1.1.4
+ resolution: "array.prototype.tosorted@npm:1.1.4"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.3"
+ es-errors: "npm:^1.3.0"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/eb3c4c4fc0381b0bf6dba2ea4d48d367c2827a0d4236a5718d97caaccc6b78f11f4cadf090736e86301d295a6aa4967ed45568f92ced51be8cbbacd9ca410943
+ languageName: node
+ linkType: hard
+
+"arraybuffer.prototype.slice@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "arraybuffer.prototype.slice@npm:1.0.4"
+ dependencies:
+ array-buffer-byte-length: "npm:^1.0.1"
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.5"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.6"
+ is-array-buffer: "npm:^3.0.4"
+ checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06
+ languageName: node
+ linkType: hard
+
"assertion-error@npm:^1.1.0":
version: 1.1.0
resolution: "assertion-error@npm:1.1.0"
@@ -3658,6 +4513,22 @@ __metadata:
languageName: node
linkType: hard
+"ast-types-flow@npm:^0.0.8":
+ version: 0.0.8
+ resolution: "ast-types-flow@npm:0.0.8"
+ checksum: 10c0/f2a0ba8055353b743c41431974521e5e852a9824870cd6fce2db0e538ac7bf4da406bbd018d109af29ff3f8f0993f6a730c9eddbd0abd031fbcb29ca75c1014e
+ languageName: node
+ linkType: hard
+
+"ast-types@npm:^0.16.1":
+ version: 0.16.1
+ resolution: "ast-types@npm:0.16.1"
+ dependencies:
+ tslib: "npm:^2.0.1"
+ checksum: 10c0/abcc49e42eb921a7ebc013d5bec1154651fb6dbc3f497541d488859e681256901b2990b954d530ba0da4d0851271d484f7057d5eff5e07cb73e8b10909f711bf
+ languageName: node
+ linkType: hard
+
"async-function@npm:^1.0.0":
version: 1.0.0
resolution: "async-function@npm:1.0.0"
@@ -3672,13 +4543,6 @@ __metadata:
languageName: node
linkType: hard
-"asynckit@npm:^0.4.0":
- version: 0.4.0
- resolution: "asynckit@npm:0.4.0"
- checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d
- languageName: node
- linkType: hard
-
"atomic-sleep@npm:^1.0.0":
version: 1.0.0
resolution: "atomic-sleep@npm:1.0.0"
@@ -3686,20 +4550,12 @@ __metadata:
languageName: node
linkType: hard
-"autoprefixer@npm:^10.4.24":
- version: 10.4.24
- resolution: "autoprefixer@npm:10.4.24"
+"available-typed-arrays@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "available-typed-arrays@npm:1.0.7"
dependencies:
- browserslist: "npm:^4.28.1"
- caniuse-lite: "npm:^1.0.30001766"
- fraction.js: "npm:^5.3.4"
- picocolors: "npm:^1.1.1"
- postcss-value-parser: "npm:^4.2.0"
- peerDependencies:
- postcss: ^8.1.0
- bin:
- autoprefixer: bin/autoprefixer
- checksum: 10c0/16737dfc865afed338f3166718ece0f77539e53c1ba9f064f2e6369b9dec9ea0542f3fb98bcb7ab37e64897dc3304bae6b2004fbf79ada8b2aeaa3db336e4b77
+ possible-typed-array-names: "npm:^1.0.0"
+ checksum: 10c0/d07226ef4f87daa01bd0fe80f8f310982e345f372926da2e5296aecc25c41cab440916bbaa4c5e1034b453af3392f67df5961124e4b586df1e99793a1374bdb2
languageName: node
linkType: hard
@@ -3713,14 +4569,17 @@ __metadata:
languageName: node
linkType: hard
-"axios@npm:^1.13.5":
- version: 1.13.5
- resolution: "axios@npm:1.13.5"
- dependencies:
- follow-redirects: "npm:^1.15.11"
- form-data: "npm:^4.0.5"
- proxy-from-env: "npm:^1.1.0"
- checksum: 10c0/abf468c34f2d145f3dc7dbc0f1be67e520630624307bda69a41bbe8d386bd672d87b4405c4ee77f9ff54b235ab02f96a9968fb00e75b13ce64706e352a3068fd
+"axe-core@npm:^4.10.0":
+ version: 4.11.1
+ resolution: "axe-core@npm:4.11.1"
+ checksum: 10c0/1e6997454b61c7c9a4d740f395952835dcf87f2c04fd81577217d68634d197d602c224f9e8f17b22815db4c117a2519980cfc8911fc0027c54a6d8ebca47c6a7
+ languageName: node
+ linkType: hard
+
+"axobject-query@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "axobject-query@npm:4.1.0"
+ checksum: 10c0/c470e4f95008f232eadd755b018cb55f16c03ccf39c027b941cd8820ac6b68707ce5d7368a46756db4256fbc91bb4ead368f84f7fb034b2b7932f082f6dc0775
languageName: node
linkType: hard
@@ -3731,6 +4590,13 @@ __metadata:
languageName: node
linkType: hard
+"balanced-match@npm:^4.0.2":
+ version: 4.0.4
+ resolution: "balanced-match@npm:4.0.4"
+ checksum: 10c0/07e86102a3eb2ee2a6a1a89164f29d0dbaebd28f2ca3f5ca786f36b8b23d9e417eb3be45a4acf754f837be5ac0a2317de90d3fcb7f4f4dc95720a1f36b26a17b
+ languageName: node
+ linkType: hard
+
"base64-js@npm:^1.3.1":
version: 1.5.1
resolution: "base64-js@npm:1.5.1"
@@ -3738,6 +4604,15 @@ __metadata:
languageName: node
linkType: hard
+"baseline-browser-mapping@npm:^2.8.3":
+ version: 2.10.0
+ resolution: "baseline-browser-mapping@npm:2.10.0"
+ bin:
+ baseline-browser-mapping: dist/cli.cjs
+ checksum: 10c0/da9c3ec0fcd7f325226a47d2142794d41706b6e0a405718a2c15410bbdb72aacadd65738bedef558c6f1b106ed19458cb25b06f63b66df2c284799905dbbd003
+ languageName: node
+ linkType: hard
+
"baseline-browser-mapping@npm:^2.9.0":
version: 2.9.19
resolution: "baseline-browser-mapping@npm:2.9.19"
@@ -3761,6 +4636,23 @@ __metadata:
languageName: node
linkType: hard
+"body-parser@npm:^2.2.1":
+ version: 2.2.2
+ resolution: "body-parser@npm:2.2.2"
+ dependencies:
+ bytes: "npm:^3.1.2"
+ content-type: "npm:^1.0.5"
+ debug: "npm:^4.4.3"
+ http-errors: "npm:^2.0.0"
+ iconv-lite: "npm:^0.7.0"
+ on-finished: "npm:^2.4.1"
+ qs: "npm:^6.14.1"
+ raw-body: "npm:^3.0.1"
+ type-is: "npm:^2.0.1"
+ checksum: 10c0/95a830a003b38654b75166ca765358aa92ee3d561bf0e41d6ccdde0e1a0c9783cab6b90b20eb635d23172c010b59d3563a137a738e74da4ba714463510d05137
+ languageName: node
+ linkType: hard
+
"brace-expansion@npm:^1.1.7":
version: 1.1.12
resolution: "brace-expansion@npm:1.1.12"
@@ -3780,7 +4672,16 @@ __metadata:
languageName: node
linkType: hard
-"braces@npm:~3.0.2":
+"brace-expansion@npm:^5.0.2":
+ version: 5.0.3
+ resolution: "brace-expansion@npm:5.0.3"
+ dependencies:
+ balanced-match: "npm:^4.0.2"
+ checksum: 10c0/e474d300e581ec56851b3863ff1cf18573170c6d06deb199ccbd03b2119c36975f6ce2abc7b770f5bebddc1ab022661a9fea9b4d56f33315d7bef54d8793869e
+ languageName: node
+ linkType: hard
+
+"braces@npm:^3.0.3, braces@npm:~3.0.2":
version: 3.0.3
resolution: "braces@npm:3.0.3"
dependencies:
@@ -3789,7 +4690,7 @@ __metadata:
languageName: node
linkType: hard
-"browserslist@npm:^4.24.0, browserslist@npm:^4.28.1":
+"browserslist@npm:^4.24.0, browserslist@npm:^4.26.2":
version: 4.28.1
resolution: "browserslist@npm:4.28.1"
dependencies:
@@ -3821,6 +4722,22 @@ __metadata:
languageName: node
linkType: hard
+"bundle-name@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "bundle-name@npm:4.1.0"
+ dependencies:
+ run-applescript: "npm:^7.0.0"
+ checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29
+ languageName: node
+ linkType: hard
+
+"bytes@npm:^3.1.2, bytes@npm:~3.1.2":
+ version: 3.1.2
+ resolution: "bytes@npm:3.1.2"
+ checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e
+ languageName: node
+ linkType: hard
+
"c12@npm:3.1.0":
version: 3.1.0
resolution: "c12@npm:3.1.0"
@@ -3872,7 +4789,7 @@ __metadata:
languageName: node
linkType: hard
-"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2":
+"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2":
version: 1.0.2
resolution: "call-bind-apply-helpers@npm:1.0.2"
dependencies:
@@ -3882,6 +4799,28 @@ __metadata:
languageName: node
linkType: hard
+"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "call-bind@npm:1.0.8"
+ dependencies:
+ call-bind-apply-helpers: "npm:^1.0.0"
+ es-define-property: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.4"
+ set-function-length: "npm:^1.2.2"
+ checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4
+ languageName: node
+ linkType: hard
+
+"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "call-bound@npm:1.0.4"
+ dependencies:
+ call-bind-apply-helpers: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.3.0"
+ checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644
+ languageName: node
+ linkType: hard
+
"callsites@npm:^3.0.0":
version: 3.1.0
resolution: "callsites@npm:3.1.0"
@@ -3889,6 +4828,13 @@ __metadata:
languageName: node
linkType: hard
+"caniuse-lite@npm:^1.0.30001579":
+ version: 1.0.30001774
+ resolution: "caniuse-lite@npm:1.0.30001774"
+ checksum: 10c0/cc6a340a5421b9a67d8fa80889065ee27b2839ad62993571dded5296e18f02bbf685ce7094e93fe908cddc9fefdfad35d6c010b724cc3d22a6479b0d0b679f8c
+ languageName: node
+ linkType: hard
+
"caniuse-lite@npm:^1.0.30001759":
version: 1.0.30001769
resolution: "caniuse-lite@npm:1.0.30001769"
@@ -3896,13 +4842,6 @@ __metadata:
languageName: node
linkType: hard
-"caniuse-lite@npm:^1.0.30001766":
- version: 1.0.30001772
- resolution: "caniuse-lite@npm:1.0.30001772"
- checksum: 10c0/62a29a47e4b728f7e927301392733c3982af74293ccf523e63eafc06f70b66fe48d51a6b6272e4fe34e57af9dced8ef7a3c611f21b51b999c6bed793bb7c7ede
- languageName: node
- linkType: hard
-
"chai@npm:^4.3.10, chai@npm:^4.3.7":
version: 4.5.0
resolution: "chai@npm:4.5.0"
@@ -3928,6 +4867,13 @@ __metadata:
languageName: node
linkType: hard
+"chalk@npm:^5.3.0":
+ version: 5.6.2
+ resolution: "chalk@npm:5.6.2"
+ checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976
+ languageName: node
+ linkType: hard
+
"check-error@npm:^1.0.3":
version: 1.0.3
resolution: "check-error@npm:1.0.3"
@@ -3997,6 +4943,47 @@ __metadata:
languageName: node
linkType: hard
+"cli-cursor@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "cli-cursor@npm:5.0.0"
+ dependencies:
+ restore-cursor: "npm:^5.0.0"
+ checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220
+ languageName: node
+ linkType: hard
+
+"cli-spinners@npm:^2.9.2":
+ version: 2.9.2
+ resolution: "cli-spinners@npm:2.9.2"
+ checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3
+ languageName: node
+ linkType: hard
+
+"cli-width@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "cli-width@npm:4.1.0"
+ checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f
+ languageName: node
+ linkType: hard
+
+"client-only@npm:0.0.1":
+ version: 0.0.1
+ resolution: "client-only@npm:0.0.1"
+ checksum: 10c0/9d6cfd0c19e1c96a434605added99dff48482152af791ec4172fb912a71cff9027ff174efd8cdb2160cc7f377543e0537ffc462d4f279bc4701de3f2a3c4b358
+ languageName: node
+ linkType: hard
+
+"cliui@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "cliui@npm:8.0.1"
+ dependencies:
+ string-width: "npm:^4.2.0"
+ strip-ansi: "npm:^6.0.1"
+ wrap-ansi: "npm:^7.0.0"
+ checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5
+ languageName: node
+ linkType: hard
+
"clsx@npm:^2.1.1":
version: 2.1.1
resolution: "clsx@npm:2.1.1"
@@ -4004,6 +4991,13 @@ __metadata:
languageName: node
linkType: hard
+"code-block-writer@npm:^13.0.3":
+ version: 13.0.3
+ resolution: "code-block-writer@npm:13.0.3"
+ checksum: 10c0/87db97b37583f71cfd7eced8bf3f0a0a0ca53af912751a734372b36c08cd27f3e8a4878ec05591c0cd9ae11bea8add1423e132d660edd86aab952656dd41fd66
+ languageName: node
+ linkType: hard
+
"color-convert@npm:^2.0.1":
version: 2.0.1
resolution: "color-convert@npm:2.0.1"
@@ -4020,12 +5014,17 @@ __metadata:
languageName: node
linkType: hard
-"combined-stream@npm:^1.0.8":
- version: 1.0.8
- resolution: "combined-stream@npm:1.0.8"
- dependencies:
- delayed-stream: "npm:~1.0.0"
- checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5
+"commander@npm:^11.1.0":
+ version: 11.1.0
+ resolution: "commander@npm:11.1.0"
+ checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179
+ languageName: node
+ linkType: hard
+
+"commander@npm:^14.0.0":
+ version: 14.0.3
+ resolution: "commander@npm:14.0.3"
+ checksum: 10c0/755652564bbf56ff2ff083313912b326450d3f8d8c85f4b71416539c9a05c3c67dbd206821ca72635bf6b160e2afdefcb458e86b317827d5cb333b69ce7f1a24
languageName: node
linkType: hard
@@ -4073,6 +5072,20 @@ __metadata:
languageName: node
linkType: hard
+"content-disposition@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "content-disposition@npm:1.0.1"
+ checksum: 10c0/bd7ff1fe8d2542d3a2b9a29428cc3591f6ac27bb5595bba2c69664408a68f9538b14cbd92479796ea835b317a09a527c8c7209c4200381dedb0c34d3b658849e
+ languageName: node
+ linkType: hard
+
+"content-type@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "content-type@npm:1.0.5"
+ checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af
+ languageName: node
+ linkType: hard
+
"convert-source-map@npm:^2.0.0":
version: 2.0.0
resolution: "convert-source-map@npm:2.0.0"
@@ -4080,20 +5093,54 @@ __metadata:
languageName: node
linkType: hard
-"cookie-es@npm:^2.0.0":
- version: 2.0.0
- resolution: "cookie-es@npm:2.0.0"
- checksum: 10c0/3b2459030a5ad2bc715aeb27a32f274340670bfc5031ac29e1fba804212517411bb617880d3fe66ace2b64dfb28f3049e2d1ff40d4bec342154ccdd124deaeaa
+"cookie-signature@npm:^1.2.1":
+ version: 1.2.2
+ resolution: "cookie-signature@npm:1.2.2"
+ checksum: 10c0/54e05df1a293b3ce81589b27dddc445f462f6fa6812147c033350cd3561a42bc14481674e05ed14c7bd0ce1e8bb3dc0e40851bad75415733711294ddce0b7bc6
languageName: node
linkType: hard
-"cookie@npm:^0.7.0":
+"cookie@npm:^0.7.0, cookie@npm:^0.7.1":
version: 0.7.2
resolution: "cookie@npm:0.7.2"
checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2
languageName: node
linkType: hard
+"cookie@npm:^1.0.2":
+ version: 1.1.1
+ resolution: "cookie@npm:1.1.1"
+ checksum: 10c0/79c4ddc0fcad9c4f045f826f42edf54bcc921a29586a4558b0898277fa89fb47be95bc384c2253f493af7b29500c830da28341274527328f18eba9f58afa112c
+ languageName: node
+ linkType: hard
+
+"cors@npm:^2.8.5":
+ version: 2.8.6
+ resolution: "cors@npm:2.8.6"
+ dependencies:
+ object-assign: "npm:^4"
+ vary: "npm:^1"
+ checksum: 10c0/ab2bc57b8af8ef8476682a59647f7c55c1a7d406b559ac06119aa1c5f70b96d35036864d197b24cf86e228e4547231088f1f94ca05061dbb14d89cc0bc9d4cab
+ languageName: node
+ linkType: hard
+
+"cosmiconfig@npm:^9.0.0":
+ version: 9.0.0
+ resolution: "cosmiconfig@npm:9.0.0"
+ dependencies:
+ env-paths: "npm:^2.2.1"
+ import-fresh: "npm:^3.3.0"
+ js-yaml: "npm:^4.1.0"
+ parse-json: "npm:^5.2.0"
+ peerDependencies:
+ typescript: ">=4.9.5"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10c0/1c1703be4f02a250b1d6ca3267e408ce16abfe8364193891afc94c2d5c060b69611fdc8d97af74b7e6d5d1aac0ab2fb94d6b079573146bc2d756c2484ce5f0ee
+ languageName: node
+ linkType: hard
+
"create-require@npm:^1.1.0":
version: 1.1.1
resolution: "create-require@npm:1.1.1"
@@ -4101,7 +5148,7 @@ __metadata:
languageName: node
linkType: hard
-"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.6":
+"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6":
version: 7.0.6
resolution: "cross-spawn@npm:7.0.6"
dependencies:
@@ -4112,6 +5159,15 @@ __metadata:
languageName: node
linkType: hard
+"cssesc@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "cssesc@npm:3.0.0"
+ bin:
+ cssesc: bin/cssesc
+ checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7
+ languageName: node
+ linkType: hard
+
"csstype@npm:^3.2.2":
version: 3.2.3
resolution: "csstype@npm:3.2.3"
@@ -4119,10 +5175,50 @@ __metadata:
languageName: node
linkType: hard
-"date-fns@npm:^4.1.0":
- version: 4.1.0
- resolution: "date-fns@npm:4.1.0"
- checksum: 10c0/b79ff32830e6b7faa009590af6ae0fb8c3fd9ffad46d930548fbb5acf473773b4712ae887e156ba91a7b3dc30591ce0f517d69fd83bd9c38650fdc03b4e0bac8
+"damerau-levenshtein@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "damerau-levenshtein@npm:1.0.8"
+ checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3
+ languageName: node
+ linkType: hard
+
+"data-uri-to-buffer@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "data-uri-to-buffer@npm:4.0.1"
+ checksum: 10c0/20a6b93107597530d71d4cb285acee17f66bcdfc03fd81040921a81252f19db27588d87fc8fc69e1950c55cfb0bf8ae40d0e5e21d907230813eb5d5a7f9eb45b
+ languageName: node
+ linkType: hard
+
+"data-view-buffer@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "data-view-buffer@npm:1.0.2"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ es-errors: "npm:^1.3.0"
+ is-data-view: "npm:^1.0.2"
+ checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c
+ languageName: node
+ linkType: hard
+
+"data-view-byte-length@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "data-view-byte-length@npm:1.0.2"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ es-errors: "npm:^1.3.0"
+ is-data-view: "npm:^1.0.2"
+ checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55
+ languageName: node
+ linkType: hard
+
+"data-view-byte-offset@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "data-view-byte-offset@npm:1.0.1"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ es-errors: "npm:^1.3.0"
+ is-data-view: "npm:^1.0.1"
+ checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4
languageName: node
linkType: hard
@@ -4135,7 +5231,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.3":
+"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.3":
version: 4.4.3
resolution: "debug@npm:4.4.3"
dependencies:
@@ -4147,6 +5243,27 @@ __metadata:
languageName: node
linkType: hard
+"debug@npm:^3.2.7":
+ version: 3.2.7
+ resolution: "debug@npm:3.2.7"
+ dependencies:
+ ms: "npm:^2.1.1"
+ checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a
+ languageName: node
+ linkType: hard
+
+"dedent@npm:^1.6.0":
+ version: 1.7.1
+ resolution: "dedent@npm:1.7.1"
+ peerDependencies:
+ babel-plugin-macros: ^3.1.0
+ peerDependenciesMeta:
+ babel-plugin-macros:
+ optional: true
+ checksum: 10c0/ae29ec1c5bd5216c698c9f23acaa5b720260fd4cef3c8b5af887eb5f8c9e6fdd5fed8668767437b4efea35e2991bd798987717633411a1734807c28255769b78
+ languageName: node
+ linkType: hard
+
"deep-eql@npm:^4.1.3":
version: 4.1.4
resolution: "deep-eql@npm:4.1.4"
@@ -4170,6 +5287,59 @@ __metadata:
languageName: node
linkType: hard
+"deepmerge@npm:^4.3.1":
+ version: 4.3.1
+ resolution: "deepmerge@npm:4.3.1"
+ checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044
+ languageName: node
+ linkType: hard
+
+"default-browser-id@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "default-browser-id@npm:5.0.1"
+ checksum: 10c0/5288b3094c740ef3a86df9b999b04ff5ba4dee6b64e7b355c0fff5217752c8c86908d67f32f6cba9bb4f9b7b61a1b640c0a4f9e34c57e0ff3493559a625245ee
+ languageName: node
+ linkType: hard
+
+"default-browser@npm:^5.4.0":
+ version: 5.5.0
+ resolution: "default-browser@npm:5.5.0"
+ dependencies:
+ bundle-name: "npm:^4.1.0"
+ default-browser-id: "npm:^5.0.0"
+ checksum: 10c0/576593b617b17a7223014b4571bfe1c06a2581a4eb8b130985d90d253afa3f40999caec70eb0e5776e80d4af6a41cce91018cd3f86e57ad578bf59e46fb19abe
+ languageName: node
+ linkType: hard
+
+"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4":
+ version: 1.1.4
+ resolution: "define-data-property@npm:1.1.4"
+ dependencies:
+ es-define-property: "npm:^1.0.0"
+ es-errors: "npm:^1.3.0"
+ gopd: "npm:^1.0.1"
+ checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37
+ languageName: node
+ linkType: hard
+
+"define-lazy-prop@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "define-lazy-prop@npm:3.0.0"
+ checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49
+ languageName: node
+ linkType: hard
+
+"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "define-properties@npm:1.2.1"
+ dependencies:
+ define-data-property: "npm:^1.0.1"
+ has-property-descriptors: "npm:^1.0.0"
+ object-keys: "npm:^1.1.1"
+ checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3
+ languageName: node
+ linkType: hard
+
"defu@npm:^6.1.4":
version: 6.1.4
resolution: "defu@npm:6.1.4"
@@ -4177,10 +5347,10 @@ __metadata:
languageName: node
linkType: hard
-"delayed-stream@npm:~1.0.0":
- version: 1.0.0
- resolution: "delayed-stream@npm:1.0.0"
- checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19
+"depd@npm:^2.0.0, depd@npm:~2.0.0":
+ version: 2.0.0
+ resolution: "depd@npm:2.0.0"
+ checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c
languageName: node
linkType: hard
@@ -4191,7 +5361,7 @@ __metadata:
languageName: node
linkType: hard
-"detect-libc@npm:^2.0.3":
+"detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2":
version: 2.1.2
resolution: "detect-libc@npm:2.1.2"
checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4
@@ -4219,6 +5389,22 @@ __metadata:
languageName: node
linkType: hard
+"diff@npm:^8.0.2":
+ version: 8.0.3
+ resolution: "diff@npm:8.0.3"
+ checksum: 10c0/d29321c70d3545fdcb56c5fdd76028c3f04c012462779e062303d4c3c531af80d2c360c26b871e6e2b9a971d2422d47e1779a859106c4cac4b5d2d143df70e20
+ languageName: node
+ linkType: hard
+
+"doctrine@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "doctrine@npm:2.1.0"
+ dependencies:
+ esutils: "npm:^2.0.2"
+ checksum: 10c0/b6416aaff1f380bf56c3b552f31fdf7a69b45689368deca72d28636f41c16bb28ec3ebc40ace97db4c1afc0ceeb8120e8492fe0046841c94c2933b2e30a7d5ac
+ languageName: node
+ linkType: hard
+
"doctrine@npm:^3.0.0":
version: 3.0.0
resolution: "doctrine@npm:3.0.0"
@@ -4235,7 +5421,14 @@ __metadata:
languageName: node
linkType: hard
-"dunder-proto@npm:^1.0.1":
+"dotenv@npm:^17.2.1":
+ version: 17.3.1
+ resolution: "dotenv@npm:17.3.1"
+ checksum: 10c0/c78e0c2d5a549c751e544cc60e2b95e7cb67e0c551f42e094d161c6b297aa44b630a3c2dcacf5569e529a6c2a6b84e2ab9be8d37b299d425df5a18b81ce4a35f
+ languageName: node
+ linkType: hard
+
+"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1":
version: 1.0.1
resolution: "dunder-proto@npm:1.0.1"
dependencies:
@@ -4255,6 +5448,25 @@ __metadata:
languageName: node
linkType: hard
+"eciesjs@npm:^0.4.10":
+ version: 0.4.17
+ resolution: "eciesjs@npm:0.4.17"
+ dependencies:
+ "@ecies/ciphers": "npm:^0.2.5"
+ "@noble/ciphers": "npm:^1.3.0"
+ "@noble/curves": "npm:^1.9.7"
+ "@noble/hashes": "npm:^1.8.0"
+ checksum: 10c0/18fc6c1f9591ac5c80bd5bcc0741a99583ca41363de63db232118b5b61ae1a1fe3b8ac68f2d06e6a0ca24e59a608c53eb51f304e7c438215a1dcdf5dc0ba0aa6
+ languageName: node
+ linkType: hard
+
+"ee-first@npm:1.1.1":
+ version: 1.1.1
+ resolution: "ee-first@npm:1.1.1"
+ checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7
+ languageName: node
+ linkType: hard
+
"effect@npm:3.18.4":
version: 3.18.4
resolution: "effect@npm:3.18.4"
@@ -4272,6 +5484,27 @@ __metadata:
languageName: node
linkType: hard
+"emoji-regex@npm:^10.3.0":
+ version: 10.6.0
+ resolution: "emoji-regex@npm:10.6.0"
+ checksum: 10c0/1e4aa097bb007301c3b4b1913879ae27327fdc48e93eeefefe3b87e495eb33c5af155300be951b4349ff6ac084f4403dc9eff970acba7c1c572d89396a9a32d7
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "emoji-regex@npm:8.0.0"
+ checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^9.2.2":
+ version: 9.2.2
+ resolution: "emoji-regex@npm:9.2.2"
+ checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639
+ languageName: node
+ linkType: hard
+
"empathic@npm:2.0.0":
version: 2.0.0
resolution: "empathic@npm:2.0.0"
@@ -4279,6 +5512,13 @@ __metadata:
languageName: node
linkType: hard
+"encodeurl@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "encodeurl@npm:2.0.0"
+ checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb
+ languageName: node
+ linkType: hard
+
"encoding@npm:^0.1.13":
version: 0.1.13
resolution: "encoding@npm:0.1.13"
@@ -4298,7 +5538,7 @@ __metadata:
languageName: node
linkType: hard
-"env-paths@npm:^2.2.0":
+"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1":
version: 2.2.1
resolution: "env-paths@npm:2.2.1"
checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4
@@ -4312,7 +5552,78 @@ __metadata:
languageName: node
linkType: hard
-"es-define-property@npm:^1.0.1":
+"error-ex@npm:^1.3.1":
+ version: 1.3.4
+ resolution: "error-ex@npm:1.3.4"
+ dependencies:
+ is-arrayish: "npm:^0.2.1"
+ checksum: 10c0/b9e34ff4778b8f3b31a8377e1c654456f4c41aeaa3d10a1138c3b7635d8b7b2e03eb2475d46d8ae055c1f180a1063e100bffabf64ea7e7388b37735df5328664
+ languageName: node
+ linkType: hard
+
+"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0, es-abstract@npm:^1.24.1":
+ version: 1.24.1
+ resolution: "es-abstract@npm:1.24.1"
+ dependencies:
+ array-buffer-byte-length: "npm:^1.0.2"
+ arraybuffer.prototype.slice: "npm:^1.0.4"
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ data-view-buffer: "npm:^1.0.2"
+ data-view-byte-length: "npm:^1.0.2"
+ data-view-byte-offset: "npm:^1.0.1"
+ es-define-property: "npm:^1.0.1"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.1.1"
+ es-set-tostringtag: "npm:^2.1.0"
+ es-to-primitive: "npm:^1.3.0"
+ function.prototype.name: "npm:^1.1.8"
+ get-intrinsic: "npm:^1.3.0"
+ get-proto: "npm:^1.0.1"
+ get-symbol-description: "npm:^1.1.0"
+ globalthis: "npm:^1.0.4"
+ gopd: "npm:^1.2.0"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.2.0"
+ has-symbols: "npm:^1.1.0"
+ hasown: "npm:^2.0.2"
+ internal-slot: "npm:^1.1.0"
+ is-array-buffer: "npm:^3.0.5"
+ is-callable: "npm:^1.2.7"
+ is-data-view: "npm:^1.0.2"
+ is-negative-zero: "npm:^2.0.3"
+ is-regex: "npm:^1.2.1"
+ is-set: "npm:^2.0.3"
+ is-shared-array-buffer: "npm:^1.0.4"
+ is-string: "npm:^1.1.1"
+ is-typed-array: "npm:^1.1.15"
+ is-weakref: "npm:^1.1.1"
+ math-intrinsics: "npm:^1.1.0"
+ object-inspect: "npm:^1.13.4"
+ object-keys: "npm:^1.1.1"
+ object.assign: "npm:^4.1.7"
+ own-keys: "npm:^1.0.1"
+ regexp.prototype.flags: "npm:^1.5.4"
+ safe-array-concat: "npm:^1.1.3"
+ safe-push-apply: "npm:^1.0.0"
+ safe-regex-test: "npm:^1.1.0"
+ set-proto: "npm:^1.0.0"
+ stop-iteration-iterator: "npm:^1.1.0"
+ string.prototype.trim: "npm:^1.2.10"
+ string.prototype.trimend: "npm:^1.0.9"
+ string.prototype.trimstart: "npm:^1.0.8"
+ typed-array-buffer: "npm:^1.0.3"
+ typed-array-byte-length: "npm:^1.0.3"
+ typed-array-byte-offset: "npm:^1.0.4"
+ typed-array-length: "npm:^1.0.7"
+ unbox-primitive: "npm:^1.1.0"
+ which-typed-array: "npm:^1.1.19"
+ checksum: 10c0/fca062ef8b5daacf743732167d319a212d45cb655b0bb540821d38d715416ae15b04b84fc86da9e2c89135aa7b337337b6c867f84dcde698d75d55688d5d765c
+ languageName: node
+ linkType: hard
+
+"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1":
version: 1.0.1
resolution: "es-define-property@npm:1.0.1"
checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c
@@ -4326,6 +5637,30 @@ __metadata:
languageName: node
linkType: hard
+"es-iterator-helpers@npm:^1.2.1":
+ version: 1.2.2
+ resolution: "es-iterator-helpers@npm:1.2.2"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.24.1"
+ es-errors: "npm:^1.3.0"
+ es-set-tostringtag: "npm:^2.1.0"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.3.0"
+ globalthis: "npm:^1.0.4"
+ gopd: "npm:^1.2.0"
+ has-property-descriptors: "npm:^1.0.2"
+ has-proto: "npm:^1.2.0"
+ has-symbols: "npm:^1.1.0"
+ internal-slot: "npm:^1.1.0"
+ iterator.prototype: "npm:^1.1.5"
+ safe-array-concat: "npm:^1.1.3"
+ checksum: 10c0/1ced8abf845a45e660dd77b5f3a64358421df70e4a0bd1897d5ddfefffed8409a6a2ca21241b9367e639df9eca74abc1c678b3020bffe6bee1f1826393658ddb
+ languageName: node
+ linkType: hard
+
"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1":
version: 1.1.1
resolution: "es-object-atoms@npm:1.1.1"
@@ -4347,6 +5682,26 @@ __metadata:
languageName: node
linkType: hard
+"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "es-shim-unscopables@npm:1.1.0"
+ dependencies:
+ hasown: "npm:^2.0.2"
+ checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb
+ languageName: node
+ linkType: hard
+
+"es-to-primitive@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "es-to-primitive@npm:1.3.0"
+ dependencies:
+ is-callable: "npm:^1.2.7"
+ is-date-object: "npm:^1.0.5"
+ is-symbol: "npm:^1.0.4"
+ checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b
+ languageName: node
+ linkType: hard
+
"esbuild@npm:^0.18.10":
version: 0.18.20
resolution: "esbuild@npm:0.18.20"
@@ -4504,102 +5859,20 @@ __metadata:
languageName: node
linkType: hard
-"esbuild@npm:^0.27.0":
- version: 0.27.3
- resolution: "esbuild@npm:0.27.3"
- dependencies:
- "@esbuild/aix-ppc64": "npm:0.27.3"
- "@esbuild/android-arm": "npm:0.27.3"
- "@esbuild/android-arm64": "npm:0.27.3"
- "@esbuild/android-x64": "npm:0.27.3"
- "@esbuild/darwin-arm64": "npm:0.27.3"
- "@esbuild/darwin-x64": "npm:0.27.3"
- "@esbuild/freebsd-arm64": "npm:0.27.3"
- "@esbuild/freebsd-x64": "npm:0.27.3"
- "@esbuild/linux-arm": "npm:0.27.3"
- "@esbuild/linux-arm64": "npm:0.27.3"
- "@esbuild/linux-ia32": "npm:0.27.3"
- "@esbuild/linux-loong64": "npm:0.27.3"
- "@esbuild/linux-mips64el": "npm:0.27.3"
- "@esbuild/linux-ppc64": "npm:0.27.3"
- "@esbuild/linux-riscv64": "npm:0.27.3"
- "@esbuild/linux-s390x": "npm:0.27.3"
- "@esbuild/linux-x64": "npm:0.27.3"
- "@esbuild/netbsd-arm64": "npm:0.27.3"
- "@esbuild/netbsd-x64": "npm:0.27.3"
- "@esbuild/openbsd-arm64": "npm:0.27.3"
- "@esbuild/openbsd-x64": "npm:0.27.3"
- "@esbuild/openharmony-arm64": "npm:0.27.3"
- "@esbuild/sunos-x64": "npm:0.27.3"
- "@esbuild/win32-arm64": "npm:0.27.3"
- "@esbuild/win32-ia32": "npm:0.27.3"
- "@esbuild/win32-x64": "npm:0.27.3"
- dependenciesMeta:
- "@esbuild/aix-ppc64":
- optional: true
- "@esbuild/android-arm":
- optional: true
- "@esbuild/android-arm64":
- optional: true
- "@esbuild/android-x64":
- optional: true
- "@esbuild/darwin-arm64":
- optional: true
- "@esbuild/darwin-x64":
- optional: true
- "@esbuild/freebsd-arm64":
- optional: true
- "@esbuild/freebsd-x64":
- optional: true
- "@esbuild/linux-arm":
- optional: true
- "@esbuild/linux-arm64":
- optional: true
- "@esbuild/linux-ia32":
- optional: true
- "@esbuild/linux-loong64":
- optional: true
- "@esbuild/linux-mips64el":
- optional: true
- "@esbuild/linux-ppc64":
- optional: true
- "@esbuild/linux-riscv64":
- optional: true
- "@esbuild/linux-s390x":
- optional: true
- "@esbuild/linux-x64":
- optional: true
- "@esbuild/netbsd-arm64":
- optional: true
- "@esbuild/netbsd-x64":
- optional: true
- "@esbuild/openbsd-arm64":
- optional: true
- "@esbuild/openbsd-x64":
- optional: true
- "@esbuild/openharmony-arm64":
- optional: true
- "@esbuild/sunos-x64":
- optional: true
- "@esbuild/win32-arm64":
- optional: true
- "@esbuild/win32-ia32":
- optional: true
- "@esbuild/win32-x64":
- optional: true
- bin:
- esbuild: bin/esbuild
- checksum: 10c0/fdc3f87a3f08b3ef98362f37377136c389a0d180fda4b8d073b26ba930cf245521db0a368f119cc7624bc619248fff1439f5811f062d853576f8ffa3df8ee5f1
- languageName: node
- linkType: hard
-
-"escalade@npm:^3.2.0":
+"escalade@npm:^3.1.1, escalade@npm:^3.2.0":
version: 3.2.0
resolution: "escalade@npm:3.2.0"
checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65
languageName: node
linkType: hard
+"escape-html@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "escape-html@npm:1.0.3"
+ checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^4.0.0":
version: 4.0.0
resolution: "escape-string-regexp@npm:4.0.0"
@@ -4607,6 +5880,29 @@ __metadata:
languageName: node
linkType: hard
+"eslint-config-next@npm:16.1.6":
+ version: 16.1.6
+ resolution: "eslint-config-next@npm:16.1.6"
+ dependencies:
+ "@next/eslint-plugin-next": "npm:16.1.6"
+ eslint-import-resolver-node: "npm:^0.3.6"
+ eslint-import-resolver-typescript: "npm:^3.5.2"
+ eslint-plugin-import: "npm:^2.32.0"
+ eslint-plugin-jsx-a11y: "npm:^6.10.0"
+ eslint-plugin-react: "npm:^7.37.0"
+ eslint-plugin-react-hooks: "npm:^7.0.0"
+ globals: "npm:16.4.0"
+ typescript-eslint: "npm:^8.46.0"
+ peerDependencies:
+ eslint: ">=9.0.0"
+ typescript: ">=3.3.1"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ checksum: 10c0/2b4c13c3d556daf7b559d032276cd4ac2454413a574946cf1a689844784523ad44dd3bca525d4530e2cef5f5ecc036643e562792aea0a9140276b84866775bf2
+ languageName: node
+ linkType: hard
+
"eslint-config-prettier@npm:^10.1.8":
version: 10.1.8
resolution: "eslint-config-prettier@npm:10.1.8"
@@ -4618,6 +5914,107 @@ __metadata:
languageName: node
linkType: hard
+"eslint-import-resolver-node@npm:^0.3.6, eslint-import-resolver-node@npm:^0.3.9":
+ version: 0.3.9
+ resolution: "eslint-import-resolver-node@npm:0.3.9"
+ dependencies:
+ debug: "npm:^3.2.7"
+ is-core-module: "npm:^2.13.0"
+ resolve: "npm:^1.22.4"
+ checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61
+ languageName: node
+ linkType: hard
+
+"eslint-import-resolver-typescript@npm:^3.5.2":
+ version: 3.10.1
+ resolution: "eslint-import-resolver-typescript@npm:3.10.1"
+ dependencies:
+ "@nolyfill/is-core-module": "npm:1.0.39"
+ debug: "npm:^4.4.0"
+ get-tsconfig: "npm:^4.10.0"
+ is-bun-module: "npm:^2.0.0"
+ stable-hash: "npm:^0.0.5"
+ tinyglobby: "npm:^0.2.13"
+ unrs-resolver: "npm:^1.6.2"
+ peerDependencies:
+ eslint: "*"
+ eslint-plugin-import: "*"
+ eslint-plugin-import-x: "*"
+ peerDependenciesMeta:
+ eslint-plugin-import:
+ optional: true
+ eslint-plugin-import-x:
+ optional: true
+ checksum: 10c0/02ba72cf757753ab9250806c066d09082e00807b7b6525d7687e1c0710bc3f6947e39120227fe1f93dabea3510776d86fb3fd769466ba3c46ce67e9f874cb702
+ languageName: node
+ linkType: hard
+
+"eslint-module-utils@npm:^2.12.1":
+ version: 2.12.1
+ resolution: "eslint-module-utils@npm:2.12.1"
+ dependencies:
+ debug: "npm:^3.2.7"
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ checksum: 10c0/6f4efbe7a91ae49bf67b4ab3644cb60bc5bd7db4cb5521de1b65be0847ffd3fb6bce0dd68f0995e1b312d137f768e2a1f842ee26fe73621afa05f850628fdc40
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-import@npm:^2.32.0":
+ version: 2.32.0
+ resolution: "eslint-plugin-import@npm:2.32.0"
+ dependencies:
+ "@rtsao/scc": "npm:^1.1.0"
+ array-includes: "npm:^3.1.9"
+ array.prototype.findlastindex: "npm:^1.2.6"
+ array.prototype.flat: "npm:^1.3.3"
+ array.prototype.flatmap: "npm:^1.3.3"
+ debug: "npm:^3.2.7"
+ doctrine: "npm:^2.1.0"
+ eslint-import-resolver-node: "npm:^0.3.9"
+ eslint-module-utils: "npm:^2.12.1"
+ hasown: "npm:^2.0.2"
+ is-core-module: "npm:^2.16.1"
+ is-glob: "npm:^4.0.3"
+ minimatch: "npm:^3.1.2"
+ object.fromentries: "npm:^2.0.8"
+ object.groupby: "npm:^1.0.3"
+ object.values: "npm:^1.2.1"
+ semver: "npm:^6.3.1"
+ string.prototype.trimend: "npm:^1.0.9"
+ tsconfig-paths: "npm:^3.15.0"
+ peerDependencies:
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
+ checksum: 10c0/bfb1b8fc8800398e62ddfefbf3638d185286edfed26dfe00875cc2846d954491b4f5112457831588b757fa789384e1ae585f812614c4797f0499fa234fd4a48b
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-jsx-a11y@npm:^6.10.0":
+ version: 6.10.2
+ resolution: "eslint-plugin-jsx-a11y@npm:6.10.2"
+ dependencies:
+ aria-query: "npm:^5.3.2"
+ array-includes: "npm:^3.1.8"
+ array.prototype.flatmap: "npm:^1.3.2"
+ ast-types-flow: "npm:^0.0.8"
+ axe-core: "npm:^4.10.0"
+ axobject-query: "npm:^4.1.0"
+ damerau-levenshtein: "npm:^1.0.8"
+ emoji-regex: "npm:^9.2.2"
+ hasown: "npm:^2.0.2"
+ jsx-ast-utils: "npm:^3.3.5"
+ language-tags: "npm:^1.0.9"
+ minimatch: "npm:^3.1.2"
+ object.fromentries: "npm:^2.0.8"
+ safe-regex-test: "npm:^1.0.3"
+ string.prototype.includes: "npm:^2.0.1"
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
+ checksum: 10c0/d93354e03b0cf66f018d5c50964e074dffe4ddf1f9b535fa020d19c4ae45f89c1a16e9391ca61ac3b19f7042c751ac0d361a056a65cbd1de24718a53ff8daa6e
+ languageName: node
+ linkType: hard
+
"eslint-plugin-prettier@npm:^5.5.5":
version: 5.5.5
resolution: "eslint-plugin-prettier@npm:5.5.5"
@@ -4638,7 +6035,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-react-hooks@npm:^7.0.1":
+"eslint-plugin-react-hooks@npm:^7.0.0":
version: 7.0.1
resolution: "eslint-plugin-react-hooks@npm:7.0.1"
dependencies:
@@ -4653,12 +6050,31 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-react-refresh@npm:^0.4.24":
- version: 0.4.26
- resolution: "eslint-plugin-react-refresh@npm:0.4.26"
+"eslint-plugin-react@npm:^7.37.0":
+ version: 7.37.5
+ resolution: "eslint-plugin-react@npm:7.37.5"
+ dependencies:
+ array-includes: "npm:^3.1.8"
+ array.prototype.findlast: "npm:^1.2.5"
+ array.prototype.flatmap: "npm:^1.3.3"
+ array.prototype.tosorted: "npm:^1.1.4"
+ doctrine: "npm:^2.1.0"
+ es-iterator-helpers: "npm:^1.2.1"
+ estraverse: "npm:^5.3.0"
+ hasown: "npm:^2.0.2"
+ jsx-ast-utils: "npm:^2.4.1 || ^3.0.0"
+ minimatch: "npm:^3.1.2"
+ object.entries: "npm:^1.1.9"
+ object.fromentries: "npm:^2.0.8"
+ object.values: "npm:^1.2.1"
+ prop-types: "npm:^15.8.1"
+ resolve: "npm:^2.0.0-next.5"
+ semver: "npm:^6.3.1"
+ string.prototype.matchall: "npm:^4.0.12"
+ string.prototype.repeat: "npm:^1.0.0"
peerDependencies:
- eslint: ">=8.40"
- checksum: 10c0/11c2b25b7a7025e621b02970c4cf3815b0b77486027df9f8bb731cc52972156804fd163b0f99404b33e36a3c60cd1a1be8199ba64c66b5276da3173bbb5ab6e7
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+ checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57
languageName: node
linkType: hard
@@ -4808,7 +6224,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint@npm:^9.39.1":
+"eslint@npm:^9":
version: 9.39.3
resolution: "eslint@npm:9.39.3"
dependencies:
@@ -4890,6 +6306,16 @@ __metadata:
languageName: node
linkType: hard
+"esprima@npm:~4.0.0":
+ version: 4.0.1
+ resolution: "esprima@npm:4.0.1"
+ bin:
+ esparse: ./bin/esparse.js
+ esvalidate: ./bin/esvalidate.js
+ checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3
+ languageName: node
+ linkType: hard
+
"esquery@npm:^1.4.2, esquery@npm:^1.5.0, esquery@npm:^1.7.0":
version: 1.7.0
resolution: "esquery@npm:1.7.0"
@@ -4908,7 +6334,7 @@ __metadata:
languageName: node
linkType: hard
-"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
version: 5.3.0
resolution: "estraverse@npm:5.3.0"
checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107
@@ -4922,6 +6348,13 @@ __metadata:
languageName: node
linkType: hard
+"etag@npm:^1.8.1":
+ version: 1.8.1
+ resolution: "etag@npm:1.8.1"
+ checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84
+ languageName: node
+ linkType: hard
+
"event-target-shim@npm:^5.0.0":
version: 5.0.1
resolution: "event-target-shim@npm:5.0.1"
@@ -4936,6 +6369,59 @@ __metadata:
languageName: node
linkType: hard
+"eventsource-parser@npm:^3.0.0, eventsource-parser@npm:^3.0.1":
+ version: 3.0.6
+ resolution: "eventsource-parser@npm:3.0.6"
+ checksum: 10c0/70b8ccec7dac767ef2eca43f355e0979e70415701691382a042a2df8d6a68da6c2fca35363669821f3da876d29c02abe9b232964637c1b6635c940df05ada78a
+ languageName: node
+ linkType: hard
+
+"eventsource@npm:^3.0.2":
+ version: 3.0.7
+ resolution: "eventsource@npm:3.0.7"
+ dependencies:
+ eventsource-parser: "npm:^3.0.1"
+ checksum: 10c0/c48a73c38f300e33e9f11375d4ee969f25cbb0519608a12378a38068055ae8b55b6e0e8a49c3f91c784068434efe1d9f01eb49b6315b04b0da9157879ce2f67d
+ languageName: node
+ linkType: hard
+
+"execa@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "execa@npm:5.1.1"
+ dependencies:
+ cross-spawn: "npm:^7.0.3"
+ get-stream: "npm:^6.0.0"
+ human-signals: "npm:^2.1.0"
+ is-stream: "npm:^2.0.0"
+ merge-stream: "npm:^2.0.0"
+ npm-run-path: "npm:^4.0.1"
+ onetime: "npm:^5.1.2"
+ signal-exit: "npm:^3.0.3"
+ strip-final-newline: "npm:^2.0.0"
+ checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f
+ languageName: node
+ linkType: hard
+
+"execa@npm:^9.6.0":
+ version: 9.6.1
+ resolution: "execa@npm:9.6.1"
+ dependencies:
+ "@sindresorhus/merge-streams": "npm:^4.0.0"
+ cross-spawn: "npm:^7.0.6"
+ figures: "npm:^6.1.0"
+ get-stream: "npm:^9.0.0"
+ human-signals: "npm:^8.0.1"
+ is-plain-obj: "npm:^4.1.0"
+ is-stream: "npm:^4.0.1"
+ npm-run-path: "npm:^6.0.0"
+ pretty-ms: "npm:^9.2.0"
+ signal-exit: "npm:^4.1.0"
+ strip-final-newline: "npm:^4.0.0"
+ yoctocolors: "npm:^2.1.1"
+ checksum: 10c0/636b36585306a3c8bc3a9d7b25d2d915fb06d8c9b9b02a804280d62562de3b34535affc1b7702b039320e0953daa6545a073f3c4b63fe974c1fe11336c56b467
+ languageName: node
+ linkType: hard
+
"exponential-backoff@npm:^3.1.1":
version: 3.1.3
resolution: "exponential-backoff@npm:3.1.3"
@@ -4943,6 +6429,53 @@ __metadata:
languageName: node
linkType: hard
+"express-rate-limit@npm:^8.2.1":
+ version: 8.2.1
+ resolution: "express-rate-limit@npm:8.2.1"
+ dependencies:
+ ip-address: "npm:10.0.1"
+ peerDependencies:
+ express: ">= 4.11"
+ checksum: 10c0/54185f211c25655382436b8ad1a2136df0d5dc88f4d9d4438ca7cbc87cef0cd34cb01b8fc62d290445326aa6581470d2ff44502c3f1a34a5ed2c2ce56809fa01
+ languageName: node
+ linkType: hard
+
+"express@npm:^5.2.1":
+ version: 5.2.1
+ resolution: "express@npm:5.2.1"
+ dependencies:
+ accepts: "npm:^2.0.0"
+ body-parser: "npm:^2.2.1"
+ content-disposition: "npm:^1.0.0"
+ content-type: "npm:^1.0.5"
+ cookie: "npm:^0.7.1"
+ cookie-signature: "npm:^1.2.1"
+ debug: "npm:^4.4.0"
+ depd: "npm:^2.0.0"
+ encodeurl: "npm:^2.0.0"
+ escape-html: "npm:^1.0.3"
+ etag: "npm:^1.8.1"
+ finalhandler: "npm:^2.1.0"
+ fresh: "npm:^2.0.0"
+ http-errors: "npm:^2.0.0"
+ merge-descriptors: "npm:^2.0.0"
+ mime-types: "npm:^3.0.0"
+ on-finished: "npm:^2.4.1"
+ once: "npm:^1.4.0"
+ parseurl: "npm:^1.3.3"
+ proxy-addr: "npm:^2.0.7"
+ qs: "npm:^6.14.0"
+ range-parser: "npm:^1.2.1"
+ router: "npm:^2.2.0"
+ send: "npm:^1.1.0"
+ serve-static: "npm:^2.2.0"
+ statuses: "npm:^2.0.1"
+ type-is: "npm:^2.0.1"
+ vary: "npm:^1.1.2"
+ checksum: 10c0/45e8c841ad188a41402ddcd1294901e861ee0819f632fb494f2ed344ef9c43315d294d443fb48d594e6586a3b779785120f43321417adaef8567316a55072949
+ languageName: node
+ linkType: hard
+
"exsolve@npm:^1.0.7":
version: 1.0.8
resolution: "exsolve@npm:1.0.8"
@@ -4987,6 +6520,32 @@ __metadata:
languageName: node
linkType: hard
+"fast-glob@npm:3.3.1":
+ version: 3.3.1
+ resolution: "fast-glob@npm:3.3.1"
+ dependencies:
+ "@nodelib/fs.stat": "npm:^2.0.2"
+ "@nodelib/fs.walk": "npm:^1.2.3"
+ glob-parent: "npm:^5.1.2"
+ merge2: "npm:^1.3.0"
+ micromatch: "npm:^4.0.4"
+ checksum: 10c0/b68431128fb6ce4b804c5f9622628426d990b66c75b21c0d16e3d80e2d1398bf33f7e1724e66a2e3f299285dcf5b8d745b122d0304e7dd66f5231081f33ec67c
+ languageName: node
+ linkType: hard
+
+"fast-glob@npm:^3.3.3":
+ version: 3.3.3
+ resolution: "fast-glob@npm:3.3.3"
+ dependencies:
+ "@nodelib/fs.stat": "npm:^2.0.2"
+ "@nodelib/fs.walk": "npm:^1.2.3"
+ glob-parent: "npm:^5.1.2"
+ merge2: "npm:^1.3.0"
+ micromatch: "npm:^4.0.8"
+ checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe
+ languageName: node
+ linkType: hard
+
"fast-json-stable-stringify@npm:^2.0.0":
version: 2.1.0
resolution: "fast-json-stable-stringify@npm:2.1.0"
@@ -5104,7 +6663,7 @@ __metadata:
languageName: node
linkType: hard
-"fdir@npm:^6.5.0":
+"fdir@npm:^6.2.0, fdir@npm:^6.5.0":
version: 6.5.0
resolution: "fdir@npm:6.5.0"
peerDependencies:
@@ -5116,6 +6675,25 @@ __metadata:
languageName: node
linkType: hard
+"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4":
+ version: 3.2.0
+ resolution: "fetch-blob@npm:3.2.0"
+ dependencies:
+ node-domexception: "npm:^1.0.0"
+ web-streams-polyfill: "npm:^3.0.3"
+ checksum: 10c0/60054bf47bfa10fb0ba6cb7742acec2f37c1f56344f79a70bb8b1c48d77675927c720ff3191fa546410a0442c998d27ab05e9144c32d530d8a52fbe68f843b69
+ languageName: node
+ linkType: hard
+
+"figures@npm:^6.1.0":
+ version: 6.1.0
+ resolution: "figures@npm:6.1.0"
+ dependencies:
+ is-unicode-supported: "npm:^2.0.0"
+ checksum: 10c0/9159df4264d62ef447a3931537de92f5012210cf5135c35c010df50a2169377581378149abfe1eb238bd6acbba1c0d547b1f18e0af6eee49e30363cedaffcfe4
+ languageName: node
+ linkType: hard
+
"file-entry-cache@npm:^6.0.1":
version: 6.0.1
resolution: "file-entry-cache@npm:6.0.1"
@@ -5143,6 +6721,20 @@ __metadata:
languageName: node
linkType: hard
+"finalhandler@npm:^2.1.0":
+ version: 2.1.1
+ resolution: "finalhandler@npm:2.1.1"
+ dependencies:
+ debug: "npm:^4.4.0"
+ encodeurl: "npm:^2.0.0"
+ escape-html: "npm:^1.0.3"
+ on-finished: "npm:^2.4.1"
+ parseurl: "npm:^1.3.3"
+ statuses: "npm:^2.0.1"
+ checksum: 10c0/6bd664e21b7b2e79efcaace7d1a427169f61cce048fae68eb56290e6934e676b78e55d89f5998c5508871345bc59a61f47002dc505dc7288be68cceac1b701e2
+ languageName: node
+ linkType: hard
+
"find-my-way@npm:^8.0.0":
version: 8.2.2
resolution: "find-my-way@npm:8.2.2"
@@ -5192,26 +6784,21 @@ __metadata:
languageName: node
linkType: hard
-"follow-redirects@npm:^1.15.11":
- version: 1.15.11
- resolution: "follow-redirects@npm:1.15.11"
- peerDependenciesMeta:
- debug:
- optional: true
- checksum: 10c0/d301f430542520a54058d4aeeb453233c564aaccac835d29d15e050beb33f339ad67d9bddbce01739c5dc46a6716dbe3d9d0d5134b1ca203effa11a7ef092343
+"for-each@npm:^0.3.3, for-each@npm:^0.3.5":
+ version: 0.3.5
+ resolution: "for-each@npm:0.3.5"
+ dependencies:
+ is-callable: "npm:^1.2.7"
+ checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee
languageName: node
linkType: hard
-"form-data@npm:^4.0.5":
- version: 4.0.5
- resolution: "form-data@npm:4.0.5"
+"formdata-polyfill@npm:^4.0.10":
+ version: 4.0.10
+ resolution: "formdata-polyfill@npm:4.0.10"
dependencies:
- asynckit: "npm:^0.4.0"
- combined-stream: "npm:^1.0.8"
- es-set-tostringtag: "npm:^2.1.0"
- hasown: "npm:^2.0.2"
- mime-types: "npm:^2.1.12"
- checksum: 10c0/dd6b767ee0bbd6d84039db12a0fa5a2028160ffbfaba1800695713b46ae974a5f6e08b3356c3195137f8530dcd9dfcb5d5ae1eeff53d0db1e5aad863b619ce3b
+ fetch-blob: "npm:^3.1.2"
+ checksum: 10c0/5392ec484f9ce0d5e0d52fb5a78e7486637d516179b0eb84d81389d7eccf9ca2f663079da56f761355c0a65792810e3b345dc24db9a8bbbcf24ef3c8c88570c6
languageName: node
linkType: hard
@@ -5222,10 +6809,10 @@ __metadata:
languageName: node
linkType: hard
-"fraction.js@npm:^5.3.4":
- version: 5.3.4
- resolution: "fraction.js@npm:5.3.4"
- checksum: 10c0/f90079fe9bfc665e0a07079938e8ff71115bce9462f17b32fc283f163b0540ec34dc33df8ed41bb56f028316b04361b9a9995b9ee9258617f8338e0b05c5f95a
+"fresh@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "fresh@npm:2.0.0"
+ checksum: 10c0/0557548194cb9a809a435bf92bcfbc20c89e8b5eb38861b73ced36750437251e39a111fc3a18b98531be9dd91fe1411e4969f229dc579ec0251ce6c5d4900bbc
languageName: node
linkType: hard
@@ -5233,52 +6820,38 @@ __metadata:
version: 0.0.0-use.local
resolution: "frontend@workspace:frontend"
dependencies:
- "@eslint/js": "npm:^9.39.1"
- "@radix-ui/react-avatar": "npm:^1.1.11"
- "@radix-ui/react-checkbox": "npm:^1.3.3"
- "@radix-ui/react-collapsible": "npm:^1.1.12"
- "@radix-ui/react-dialog": "npm:^1.1.15"
- "@radix-ui/react-dropdown-menu": "npm:^2.1.16"
- "@radix-ui/react-label": "npm:^2.1.8"
- "@radix-ui/react-scroll-area": "npm:^1.2.10"
- "@radix-ui/react-select": "npm:^2.2.6"
- "@radix-ui/react-separator": "npm:^1.1.8"
- "@radix-ui/react-slot": "npm:^1.2.4"
- "@radix-ui/react-tabs": "npm:^1.1.13"
- "@radix-ui/react-toast": "npm:^1.2.15"
- "@radix-ui/react-tooltip": "npm:^1.2.8"
- "@tailwindcss/postcss": "npm:^4.2.0"
- "@tailwindcss/vite": "npm:^4.2.0"
- "@tanstack/react-form": "npm:^1.28.3"
- "@tanstack/react-query": "npm:^5.90.21"
- "@tanstack/react-router": "npm:^1.162.2"
- "@types/node": "npm:^24.10.1"
- "@types/react": "npm:^19.2.7"
- "@types/react-dom": "npm:^19.2.3"
- "@vitejs/plugin-react": "npm:^5.1.1"
- autoprefixer: "npm:^10.4.24"
- axios: "npm:^1.13.5"
+ "@tailwindcss/postcss": "npm:^4"
+ "@types/node": "npm:^20"
+ "@types/react": "npm:^19"
+ "@types/react-dom": "npm:^19"
class-variance-authority: "npm:^0.7.1"
clsx: "npm:^2.1.1"
- date-fns: "npm:^4.1.0"
- eslint: "npm:^9.39.1"
- eslint-plugin-react-hooks: "npm:^7.0.1"
- eslint-plugin-react-refresh: "npm:^0.4.24"
- globals: "npm:^16.5.0"
+ eslint: "npm:^9"
+ eslint-config-next: "npm:16.1.6"
lucide-react: "npm:^0.575.0"
- postcss: "npm:^8.5.6"
- react: "npm:^19.2.0"
- react-dom: "npm:^19.2.0"
+ next: "npm:16.1.6"
+ radix-ui: "npm:^1.4.3"
+ react: "npm:19.2.3"
+ react-dom: "npm:19.2.3"
+ shadcn: "npm:^3.8.5"
tailwind-merge: "npm:^3.5.0"
- tailwindcss: "npm:^4.2.0"
- tailwindcss-animate: "npm:^1.0.7"
- typescript: "npm:~5.9.3"
- typescript-eslint: "npm:^8.48.0"
- vite: "npm:^7.3.1"
- zod: "npm:^4.3.6"
+ tailwindcss: "npm:^4"
+ tw-animate-css: "npm:^1.4.0"
+ typescript: "npm:^5"
languageName: unknown
linkType: soft
+"fs-extra@npm:^11.3.1":
+ version: 11.3.3
+ resolution: "fs-extra@npm:11.3.3"
+ dependencies:
+ graceful-fs: "npm:^4.2.0"
+ jsonfile: "npm:^6.0.1"
+ universalify: "npm:^2.0.0"
+ checksum: 10c0/984924ff4104e3e9f351b658a864bf3b354b2c90429f57aec0acd12d92c4e6b762cbacacdffb4e745b280adce882e1f980c485d9f02c453f769ab4e7fc646ce3
+ languageName: node
+ linkType: hard
+
"fs-minipass@npm:^3.0.0":
version: 3.0.3
resolution: "fs-minipass@npm:3.0.3"
@@ -5340,6 +6913,41 @@ __metadata:
languageName: node
linkType: hard
+"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8":
+ version: 1.1.8
+ resolution: "function.prototype.name@npm:1.1.8"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
+ functions-have-names: "npm:^1.2.3"
+ hasown: "npm:^2.0.2"
+ is-callable: "npm:^1.2.7"
+ checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253
+ languageName: node
+ linkType: hard
+
+"functions-have-names@npm:^1.2.3":
+ version: 1.2.3
+ resolution: "functions-have-names@npm:1.2.3"
+ checksum: 10c0/33e77fd29bddc2d9bb78ab3eb854c165909201f88c75faa8272e35899e2d35a8a642a15e7420ef945e1f64a9670d6aa3ec744106b2aa42be68ca5114025954ca
+ languageName: node
+ linkType: hard
+
+"fuzzysort@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "fuzzysort@npm:3.1.0"
+ checksum: 10c0/da9bb32de16f2a5c2c000b99031d9f4f8a01380c12d5d3b67296443a1152c55987ce3c4ddbfe97481b0e9b6f2fb77d61dceba29a93ad36ee23ef5bab6a31afb8
+ languageName: node
+ linkType: hard
+
+"fzf@npm:^0.5.2":
+ version: 0.5.2
+ resolution: "fzf@npm:0.5.2"
+ checksum: 10c0/5b1f945b289855891c4e3cb03db35381f8d85464dceb15b6d32f0fc74e43d7d2b9a13554cf78a86760ba762de39134d40644ccb54e60668a4bc5b15c4765d36e
+ languageName: node
+ linkType: hard
+
"generator-function@npm:^2.0.0":
version: 2.0.1
resolution: "generator-function@npm:2.0.1"
@@ -5354,6 +6962,20 @@ __metadata:
languageName: node
linkType: hard
+"get-caller-file@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "get-caller-file@npm:2.0.5"
+ checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde
+ languageName: node
+ linkType: hard
+
+"get-east-asian-width@npm:^1.0.0":
+ version: 1.5.0
+ resolution: "get-east-asian-width@npm:1.5.0"
+ checksum: 10c0/bff8bbc8d81790b9477f7aa55b1806b9f082a8dc1359fff7bd8b96939622c86b729685afc2bfeb22def1fc6ef1e5228e4d87dd4e6da60bc43a5edfb03c4ee167
+ languageName: node
+ linkType: hard
+
"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2":
version: 2.0.2
resolution: "get-func-name@npm:2.0.2"
@@ -5361,7 +6983,7 @@ __metadata:
languageName: node
linkType: hard
-"get-intrinsic@npm:^1.2.6":
+"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0":
version: 1.3.1
resolution: "get-intrinsic@npm:1.3.1"
dependencies:
@@ -5389,7 +7011,14 @@ __metadata:
languageName: node
linkType: hard
-"get-proto@npm:^1.0.1":
+"get-own-enumerable-keys@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "get-own-enumerable-keys@npm:1.0.0"
+ checksum: 10c0/3e14fbcf7cbb27a09f4335b3fe28ec4ac73254cd5007c141ff8e248c854fb1f4b44271fcc707c9aec1de7ae889eb28ffbd5b8a82f6abd9adb91df926fb7cec44
+ languageName: node
+ linkType: hard
+
+"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1":
version: 1.0.1
resolution: "get-proto@npm:1.0.1"
dependencies:
@@ -5399,6 +7028,43 @@ __metadata:
languageName: node
linkType: hard
+"get-stream@npm:^6.0.0":
+ version: 6.0.1
+ resolution: "get-stream@npm:6.0.1"
+ checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341
+ languageName: node
+ linkType: hard
+
+"get-stream@npm:^9.0.0":
+ version: 9.0.1
+ resolution: "get-stream@npm:9.0.1"
+ dependencies:
+ "@sec-ant/readable-stream": "npm:^0.4.1"
+ is-stream: "npm:^4.0.1"
+ checksum: 10c0/d70e73857f2eea1826ac570c3a912757dcfbe8a718a033fa0c23e12ac8e7d633195b01710e0559af574cbb5af101009b42df7b6f6b29ceec8dbdf7291931b948
+ languageName: node
+ linkType: hard
+
+"get-symbol-description@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "get-symbol-description@npm:1.1.0"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.6"
+ checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b
+ languageName: node
+ linkType: hard
+
+"get-tsconfig@npm:^4.10.0":
+ version: 4.13.6
+ resolution: "get-tsconfig@npm:4.13.6"
+ dependencies:
+ resolve-pkg-maps: "npm:^1.0.0"
+ checksum: 10c0/bab6937302f542f97217cbe7cbbdfa7e85a56a377bc7a73e69224c1f0b7c9ae8365918e55752ae8648265903f506c1705f63c0de1d4bab1ec2830fef3e539a1a
+ languageName: node
+ linkType: hard
+
"giget@npm:^2.0.0":
version: 2.0.0
resolution: "giget@npm:2.0.0"
@@ -5415,6 +7081,15 @@ __metadata:
languageName: node
linkType: hard
+"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2":
+ version: 5.1.2
+ resolution: "glob-parent@npm:5.1.2"
+ dependencies:
+ is-glob: "npm:^4.0.1"
+ checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee
+ languageName: node
+ linkType: hard
+
"glob-parent@npm:^6.0.2":
version: 6.0.2
resolution: "glob-parent@npm:6.0.2"
@@ -5424,15 +7099,6 @@ __metadata:
languageName: node
linkType: hard
-"glob-parent@npm:~5.1.2":
- version: 5.1.2
- resolution: "glob-parent@npm:5.1.2"
- dependencies:
- is-glob: "npm:^4.0.1"
- checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee
- languageName: node
- linkType: hard
-
"glob@npm:^13.0.0":
version: 13.0.1
resolution: "glob@npm:13.0.1"
@@ -5458,6 +7124,13 @@ __metadata:
languageName: node
linkType: hard
+"globals@npm:16.4.0":
+ version: 16.4.0
+ resolution: "globals@npm:16.4.0"
+ checksum: 10c0/a14b447a78b664b42f6d324e8675fcae6fe5e57924fecc1f6328dce08af9b2ca3a3138501e1b1f244a49814a732dc60cfc1aa24e714e0b64ac8bd18910bfac90
+ languageName: node
+ linkType: hard
+
"globals@npm:^13.19.0":
version: 13.24.0
resolution: "globals@npm:13.24.0"
@@ -5474,21 +7147,24 @@ __metadata:
languageName: node
linkType: hard
-"globals@npm:^16.5.0":
- version: 16.5.0
- resolution: "globals@npm:16.5.0"
- checksum: 10c0/615241dae7851c8012f5aa0223005b1ed6607713d6813de0741768bd4ddc39353117648f1a7086b4b0fa45eae733f1c0a0fe369aa4e543bb63f8de8990178ea9
+"globalthis@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "globalthis@npm:1.0.4"
+ dependencies:
+ define-properties: "npm:^1.2.1"
+ gopd: "npm:^1.0.1"
+ checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846
languageName: node
linkType: hard
-"gopd@npm:^1.2.0":
+"gopd@npm:^1.0.1, gopd@npm:^1.2.0":
version: 1.2.0
resolution: "gopd@npm:1.2.0"
checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead
languageName: node
linkType: hard
-"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6":
+"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
@@ -5502,6 +7178,20 @@ __metadata:
languageName: node
linkType: hard
+"graphql@npm:^16.12.0":
+ version: 16.12.0
+ resolution: "graphql@npm:16.12.0"
+ checksum: 10c0/b6fffa4e8a4e4a9933ebe85e7470b346dbf49050c1a482fac5e03e4a1a7bed2ecd3a4c97e29f04457af929464bc5e4f2aac991090c2f320111eef26e902a5c75
+ languageName: node
+ linkType: hard
+
+"has-bigints@npm:^1.0.2":
+ version: 1.1.0
+ resolution: "has-bigints@npm:1.1.0"
+ checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788
+ languageName: node
+ linkType: hard
+
"has-flag@npm:^4.0.0":
version: 4.0.0
resolution: "has-flag@npm:4.0.0"
@@ -5509,6 +7199,24 @@ __metadata:
languageName: node
linkType: hard
+"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "has-property-descriptors@npm:1.0.2"
+ dependencies:
+ es-define-property: "npm:^1.0.0"
+ checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236
+ languageName: node
+ linkType: hard
+
+"has-proto@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "has-proto@npm:1.2.0"
+ dependencies:
+ dunder-proto: "npm:^1.0.0"
+ checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95
+ languageName: node
+ linkType: hard
+
"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0":
version: 1.1.0
resolution: "has-symbols@npm:1.1.0"
@@ -5534,6 +7242,13 @@ __metadata:
languageName: node
linkType: hard
+"headers-polyfill@npm:^4.0.2":
+ version: 4.0.3
+ resolution: "headers-polyfill@npm:4.0.3"
+ checksum: 10c0/53e85b2c6385f8d411945fb890c5369f1469ce8aa32a6e8d28196df38568148de640c81cf88cbc7c67767103dd9acba48f4f891982da63178fc6e34560022afe
+ languageName: node
+ linkType: hard
+
"helmet@npm:^7.0.0":
version: 7.2.0
resolution: "helmet@npm:7.2.0"
@@ -5557,6 +7272,13 @@ __metadata:
languageName: node
linkType: hard
+"hono@npm:^4.11.4":
+ version: 4.12.2
+ resolution: "hono@npm:4.12.2"
+ checksum: 10c0/c7a60969ea03384898b3ddd216912fee3ecb7640a250b95078ea6548afe5ad29ad2d378f45fa49eee5969dcbb2a5849dff808d0d38e7472ca2d886b59ba25e11
+ languageName: node
+ linkType: hard
+
"http-cache-semantics@npm:^4.1.1":
version: 4.2.0
resolution: "http-cache-semantics@npm:4.2.0"
@@ -5564,6 +7286,19 @@ __metadata:
languageName: node
linkType: hard
+"http-errors@npm:^2.0.0, http-errors@npm:^2.0.1, http-errors@npm:~2.0.1":
+ version: 2.0.1
+ resolution: "http-errors@npm:2.0.1"
+ dependencies:
+ depd: "npm:~2.0.0"
+ inherits: "npm:~2.0.4"
+ setprototypeof: "npm:~1.2.0"
+ statuses: "npm:~2.0.2"
+ toidentifier: "npm:~1.0.1"
+ checksum: 10c0/fb38906cef4f5c83952d97661fe14dc156cb59fe54812a42cd448fa57b5c5dfcb38a40a916957737bd6b87aab257c0648d63eb5b6a9ca9f548e105b6072712d4
+ languageName: node
+ linkType: hard
+
"http-proxy-agent@npm:^7.0.0":
version: 7.0.2
resolution: "http-proxy-agent@npm:7.0.2"
@@ -5574,7 +7309,7 @@ __metadata:
languageName: node
linkType: hard
-"https-proxy-agent@npm:^7.0.1":
+"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6":
version: 7.0.6
resolution: "https-proxy-agent@npm:7.0.6"
dependencies:
@@ -5584,6 +7319,20 @@ __metadata:
languageName: node
linkType: hard
+"human-signals@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "human-signals@npm:2.1.0"
+ checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a
+ languageName: node
+ linkType: hard
+
+"human-signals@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "human-signals@npm:8.0.1"
+ checksum: 10c0/195ac607108c56253757717242e17cd2e21b29f06c5d2dad362e86c672bf2d096e8a3bbb2601841c376c2301c4ae7cff129e87f740aa4ebff1390c163114c7c4
+ languageName: node
+ linkType: hard
+
"iconv-lite@npm:^0.6.2":
version: 0.6.3
resolution: "iconv-lite@npm:0.6.3"
@@ -5593,6 +7342,15 @@ __metadata:
languageName: node
linkType: hard
+"iconv-lite@npm:^0.7.0, iconv-lite@npm:~0.7.0":
+ version: 0.7.2
+ resolution: "iconv-lite@npm:0.7.2"
+ dependencies:
+ safer-buffer: "npm:>= 2.1.2 < 3.0.0"
+ checksum: 10c0/3c228920f3bd307f56bf8363706a776f4a060eb042f131cd23855ceca962951b264d0997ab38a1ad340e1c5df8499ed26e1f4f0db6b2a2ad9befaff22f14b722
+ languageName: node
+ linkType: hard
+
"ieee754@npm:^1.2.1":
version: 1.2.1
resolution: "ieee754@npm:1.2.1"
@@ -5600,7 +7358,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^5.2.0":
+"ignore@npm:^5.2.0, ignore@npm:^5.3.0":
version: 5.3.2
resolution: "ignore@npm:5.3.2"
checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337
@@ -5614,7 +7372,7 @@ __metadata:
languageName: node
linkType: hard
-"import-fresh@npm:^3.2.1":
+"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0":
version: 3.3.1
resolution: "import-fresh@npm:3.3.1"
dependencies:
@@ -5641,13 +7399,31 @@ __metadata:
languageName: node
linkType: hard
-"inherits@npm:2":
+"inherits@npm:2, inherits@npm:~2.0.4":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
languageName: node
linkType: hard
+"internal-slot@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "internal-slot@npm:1.1.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ hasown: "npm:^2.0.2"
+ side-channel: "npm:^1.1.0"
+ checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7
+ languageName: node
+ linkType: hard
+
+"ip-address@npm:10.0.1":
+ version: 10.0.1
+ resolution: "ip-address@npm:10.0.1"
+ checksum: 10c0/1634d79dae18394004775cb6d699dc46b7c23df6d2083164025a2b15240c1164fccde53d0e08bd5ee4fc53913d033ab6b5e395a809ad4b956a940c446e948843
+ languageName: node
+ linkType: hard
+
"ip-address@npm:^10.0.1":
version: 10.1.0
resolution: "ip-address@npm:10.1.0"
@@ -5662,6 +7438,46 @@ __metadata:
languageName: node
linkType: hard
+"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5":
+ version: 3.0.5
+ resolution: "is-array-buffer@npm:3.0.5"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ get-intrinsic: "npm:^1.2.6"
+ checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d
+ languageName: node
+ linkType: hard
+
+"is-arrayish@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "is-arrayish@npm:0.2.1"
+ checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729
+ languageName: node
+ linkType: hard
+
+"is-async-function@npm:^2.0.0":
+ version: 2.1.1
+ resolution: "is-async-function@npm:2.1.1"
+ dependencies:
+ async-function: "npm:^1.0.0"
+ call-bound: "npm:^1.0.3"
+ get-proto: "npm:^1.0.1"
+ has-tostringtag: "npm:^1.0.2"
+ safe-regex-test: "npm:^1.1.0"
+ checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298
+ languageName: node
+ linkType: hard
+
+"is-bigint@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "is-bigint@npm:1.1.0"
+ dependencies:
+ has-bigints: "npm:^1.0.2"
+ checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4
+ languageName: node
+ linkType: hard
+
"is-binary-path@npm:~2.1.0":
version: 2.1.0
resolution: "is-binary-path@npm:2.1.0"
@@ -5671,7 +7487,33 @@ __metadata:
languageName: node
linkType: hard
-"is-core-module@npm:^2.16.1":
+"is-boolean-object@npm:^1.2.1":
+ version: 1.2.2
+ resolution: "is-boolean-object@npm:1.2.2"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e
+ languageName: node
+ linkType: hard
+
+"is-bun-module@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-bun-module@npm:2.0.0"
+ dependencies:
+ semver: "npm:^7.7.1"
+ checksum: 10c0/7d27a0679cfa5be1f5052650391f9b11040cd70c48d45112e312c56bc6b6ca9c9aea70dcce6cc40b1e8947bfff8567a5c5715d3b066fb478522dab46ea379240
+ languageName: node
+ linkType: hard
+
+"is-callable@npm:^1.2.7":
+ version: 1.2.7
+ resolution: "is-callable@npm:1.2.7"
+ checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f
+ languageName: node
+ linkType: hard
+
+"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1":
version: 2.16.1
resolution: "is-core-module@npm:2.16.1"
dependencies:
@@ -5680,6 +7522,36 @@ __metadata:
languageName: node
linkType: hard
+"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "is-data-view@npm:1.0.2"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.2.6"
+ is-typed-array: "npm:^1.1.13"
+ checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153
+ languageName: node
+ linkType: hard
+
+"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "is-date-object@npm:1.1.0"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f
+ languageName: node
+ linkType: hard
+
+"is-docker@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-docker@npm:3.0.0"
+ bin:
+ is-docker: cli.js
+ checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856
+ languageName: node
+ linkType: hard
+
"is-extglob@npm:^2.1.1":
version: 2.1.1
resolution: "is-extglob@npm:2.1.1"
@@ -5687,6 +7559,35 @@ __metadata:
languageName: node
linkType: hard
+"is-finalizationregistry@npm:^1.1.0":
+ version: 1.1.1
+ resolution: "is-finalizationregistry@npm:1.1.1"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-fullwidth-code-point@npm:3.0.0"
+ checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc
+ languageName: node
+ linkType: hard
+
+"is-generator-function@npm:^1.0.10":
+ version: 1.1.2
+ resolution: "is-generator-function@npm:1.1.2"
+ dependencies:
+ call-bound: "npm:^1.0.4"
+ generator-function: "npm:^2.0.0"
+ get-proto: "npm:^1.0.1"
+ has-tostringtag: "npm:^1.0.2"
+ safe-regex-test: "npm:^1.1.0"
+ checksum: 10c0/83da102e89c3e3b71d67b51d47c9f9bc862bceb58f87201727e27f7fa19d1d90b0ab223644ecaee6fc6e3d2d622bb25c966fbdaf87c59158b01ce7c0fe2fa372
+ languageName: node
+ linkType: hard
+
"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1":
version: 4.0.3
resolution: "is-glob@npm:4.0.3"
@@ -5696,6 +7597,62 @@ __metadata:
languageName: node
linkType: hard
+"is-in-ssh@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-in-ssh@npm:1.0.0"
+ checksum: 10c0/fbb4c25d85c543df09997fbe7aeca410ae0c839c5825bba2d4c672df765e9ce0e7558e781b371c0a21d6ef9bbac39b31875617a68eaaea5504438d07db9a2ffa
+ languageName: node
+ linkType: hard
+
+"is-inside-container@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "is-inside-container@npm:1.0.0"
+ dependencies:
+ is-docker: "npm:^3.0.0"
+ bin:
+ is-inside-container: cli.js
+ checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd
+ languageName: node
+ linkType: hard
+
+"is-interactive@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "is-interactive@npm:2.0.0"
+ checksum: 10c0/801c8f6064f85199dc6bf99b5dd98db3282e930c3bc197b32f2c5b89313bb578a07d1b8a01365c4348c2927229234f3681eb861b9c2c92bee72ff397390fa600
+ languageName: node
+ linkType: hard
+
+"is-map@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-map@npm:2.0.3"
+ checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc
+ languageName: node
+ linkType: hard
+
+"is-negative-zero@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-negative-zero@npm:2.0.3"
+ checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e
+ languageName: node
+ linkType: hard
+
+"is-node-process@npm:^1.2.0":
+ version: 1.2.0
+ resolution: "is-node-process@npm:1.2.0"
+ checksum: 10c0/5b24fda6776d00e42431d7bcd86bce81cb0b6cabeb944142fe7b077a54ada2e155066ad06dbe790abdb397884bdc3151e04a9707b8cd185099efbc79780573ed
+ languageName: node
+ linkType: hard
+
+"is-number-object@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-number-object@npm:1.1.1"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53
+ languageName: node
+ linkType: hard
+
"is-number@npm:^7.0.0":
version: 7.0.0
resolution: "is-number@npm:7.0.0"
@@ -5703,6 +7660,13 @@ __metadata:
languageName: node
linkType: hard
+"is-obj@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-obj@npm:3.0.0"
+ checksum: 10c0/48d678fa15c56fd38353634ae2106a538827af9050211b18df13540dba0b38aa25c5cb498648a01311bf493a99ac3ce416576649b8cace10bcce7344611fa56a
+ languageName: node
+ linkType: hard
+
"is-path-inside@npm:^3.0.3":
version: 3.0.3
resolution: "is-path-inside@npm:3.0.3"
@@ -5710,10 +7674,152 @@ __metadata:
languageName: node
linkType: hard
-"isbot@npm:^5.1.22":
- version: 5.1.35
- resolution: "isbot@npm:5.1.35"
- checksum: 10c0/7e13d264ef41ea69ca8addf7bdf49751903fbcab8d1e63458c581f0908f8d915c3c072188c43dc8d142b3708338290ad35476421131202f851301bfcc9c2c29f
+"is-plain-obj@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "is-plain-obj@npm:4.1.0"
+ checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e
+ languageName: node
+ linkType: hard
+
+"is-promise@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "is-promise@npm:4.0.0"
+ checksum: 10c0/ebd5c672d73db781ab33ccb155fb9969d6028e37414d609b115cc534654c91ccd061821d5b987eefaa97cf4c62f0b909bb2f04db88306de26e91bfe8ddc01503
+ languageName: node
+ linkType: hard
+
+"is-regex@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "is-regex@npm:1.2.1"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ gopd: "npm:^1.2.0"
+ has-tostringtag: "npm:^1.0.2"
+ hasown: "npm:^2.0.2"
+ checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04
+ languageName: node
+ linkType: hard
+
+"is-regexp@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "is-regexp@npm:3.1.0"
+ checksum: 10c0/99dbaea41bddee2205db468c0946f5fee25cc4ae486333cb4d2b8095ab4b0a500e74ba61afd9e6e4f63ececcd55b4df5ae2a555b1c3e26308e516ff53c9533cd
+ languageName: node
+ linkType: hard
+
+"is-set@npm:^2.0.3":
+ version: 2.0.3
+ resolution: "is-set@npm:2.0.3"
+ checksum: 10c0/f73732e13f099b2dc879c2a12341cfc22ccaca8dd504e6edae26484bd5707a35d503fba5b4daad530a9b088ced1ae6c9d8200fd92e09b428fe14ea79ce8080b7
+ languageName: node
+ linkType: hard
+
+"is-shared-array-buffer@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "is-shared-array-buffer@npm:1.0.4"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db
+ languageName: node
+ linkType: hard
+
+"is-stream@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "is-stream@npm:2.0.1"
+ checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5
+ languageName: node
+ linkType: hard
+
+"is-stream@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "is-stream@npm:4.0.1"
+ checksum: 10c0/2706c7f19b851327ba374687bc4a3940805e14ca496dc672b9629e744d143b1ad9c6f1b162dece81c7bfbc0f83b32b61ccc19ad2e05aad2dd7af347408f60c7f
+ languageName: node
+ linkType: hard
+
+"is-string@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-string@npm:1.1.1"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d
+ languageName: node
+ linkType: hard
+
+"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-symbol@npm:1.1.1"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ has-symbols: "npm:^1.1.0"
+ safe-regex-test: "npm:^1.1.0"
+ checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e
+ languageName: node
+ linkType: hard
+
+"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15":
+ version: 1.1.15
+ resolution: "is-typed-array@npm:1.1.15"
+ dependencies:
+ which-typed-array: "npm:^1.1.16"
+ checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4
+ languageName: node
+ linkType: hard
+
+"is-unicode-supported@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "is-unicode-supported@npm:1.3.0"
+ checksum: 10c0/b8674ea95d869f6faabddc6a484767207058b91aea0250803cbf1221345cb0c56f466d4ecea375dc77f6633d248d33c47bd296fb8f4cdba0b4edba8917e83d8a
+ languageName: node
+ linkType: hard
+
+"is-unicode-supported@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "is-unicode-supported@npm:2.1.0"
+ checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5
+ languageName: node
+ linkType: hard
+
+"is-weakmap@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "is-weakmap@npm:2.0.2"
+ checksum: 10c0/443c35bb86d5e6cc5929cd9c75a4024bb0fff9586ed50b092f94e700b89c43a33b186b76dbc6d54f3d3d09ece689ab38dcdc1af6a482cbe79c0f2da0a17f1299
+ languageName: node
+ linkType: hard
+
+"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-weakref@npm:1.1.1"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b
+ languageName: node
+ linkType: hard
+
+"is-weakset@npm:^2.0.3":
+ version: 2.0.4
+ resolution: "is-weakset@npm:2.0.4"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ get-intrinsic: "npm:^1.2.6"
+ checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647
+ languageName: node
+ linkType: hard
+
+"is-wsl@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "is-wsl@npm:3.1.1"
+ dependencies:
+ is-inside-container: "npm:^1.0.0"
+ checksum: 10c0/7e5023522bfb8f27de4de960b0d82c4a8146c0bddb186529a3616d78b5bbbfc19ef0c5fc60d0b3a3cc0bf95a415fbdedc18454310ea3049587c879b07ace5107
+ languageName: node
+ linkType: hard
+
+"isarray@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "isarray@npm:2.0.5"
+ checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd
languageName: node
linkType: hard
@@ -5731,6 +7837,20 @@ __metadata:
languageName: node
linkType: hard
+"iterator.prototype@npm:^1.1.5":
+ version: 1.1.5
+ resolution: "iterator.prototype@npm:1.1.5"
+ dependencies:
+ define-data-property: "npm:^1.1.4"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.6"
+ get-proto: "npm:^1.0.0"
+ has-symbols: "npm:^1.1.0"
+ set-function-name: "npm:^2.0.2"
+ checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0
+ languageName: node
+ linkType: hard
+
"jiti@npm:^2.4.2, jiti@npm:^2.6.1":
version: 2.6.1
resolution: "jiti@npm:2.6.1"
@@ -5740,6 +7860,13 @@ __metadata:
languageName: node
linkType: hard
+"jose@npm:^6.1.3":
+ version: 6.1.3
+ resolution: "jose@npm:6.1.3"
+ checksum: 10c0/b9577b4a7a5e84131011c23823db9f5951eae3ba796771a6a2401ae5dd50daf71104febc8ded9c38146aa5ebe94a92ac09c725e699e613ef26949b9f5a8bc30f
+ languageName: node
+ linkType: hard
+
"js-string-escape@npm:^1.0.1":
version: 1.0.1
resolution: "js-string-escape@npm:1.0.1"
@@ -5747,7 +7874,7 @@ __metadata:
languageName: node
linkType: hard
-"js-tokens@npm:^4.0.0":
+"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
version: 4.0.0
resolution: "js-tokens@npm:4.0.0"
checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed
@@ -5781,6 +7908,13 @@ __metadata:
languageName: node
linkType: hard
+"json-parse-even-better-errors@npm:^2.3.0":
+ version: 2.3.1
+ resolution: "json-parse-even-better-errors@npm:2.3.1"
+ checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3
+ languageName: node
+ linkType: hard
+
"json-schema-ref-resolver@npm:^1.0.1":
version: 1.0.1
resolution: "json-schema-ref-resolver@npm:1.0.1"
@@ -5804,6 +7938,13 @@ __metadata:
languageName: node
linkType: hard
+"json-schema-typed@npm:^8.0.2":
+ version: 8.0.2
+ resolution: "json-schema-typed@npm:8.0.2"
+ checksum: 10c0/89f5e2fb1495483b705c027203c07277ee6bf2665165ad25a9cb55de5af7f72570326d13d32565180781e4083ad5c9688102f222baed7b353c2f39c1e02b0428
+ languageName: node
+ linkType: hard
+
"json-stable-stringify-without-jsonify@npm:^1.0.1":
version: 1.0.1
resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
@@ -5811,7 +7952,18 @@ __metadata:
languageName: node
linkType: hard
-"json5@npm:^2.2.3":
+"json5@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "json5@npm:1.0.2"
+ dependencies:
+ minimist: "npm:^1.2.0"
+ bin:
+ json5: lib/cli.js
+ checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f
+ languageName: node
+ linkType: hard
+
+"json5@npm:^2.2.2, json5@npm:^2.2.3":
version: 2.2.3
resolution: "json5@npm:2.2.3"
bin:
@@ -5820,6 +7972,31 @@ __metadata:
languageName: node
linkType: hard
+"jsonfile@npm:^6.0.1":
+ version: 6.2.0
+ resolution: "jsonfile@npm:6.2.0"
+ dependencies:
+ graceful-fs: "npm:^4.1.6"
+ universalify: "npm:^2.0.0"
+ dependenciesMeta:
+ graceful-fs:
+ optional: true
+ checksum: 10c0/7f4f43b08d1869ded8a6822213d13ae3b99d651151d77efd1557ced0889c466296a7d9684e397bd126acf5eb2cfcb605808c3e681d0fdccd2fe5a04b47e76c0d
+ languageName: node
+ linkType: hard
+
+"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5":
+ version: 3.3.5
+ resolution: "jsx-ast-utils@npm:3.3.5"
+ dependencies:
+ array-includes: "npm:^3.1.6"
+ array.prototype.flat: "npm:^1.3.1"
+ object.assign: "npm:^4.1.4"
+ object.values: "npm:^1.1.6"
+ checksum: 10c0/a32679e9cb55469cb6d8bbc863f7d631b2c98b7fc7bf172629261751a6e7bc8da6ae374ddb74d5fbd8b06cf0eb4572287b259813d92b36e384024ed35e4c13e1
+ languageName: node
+ linkType: hard
+
"keyv@npm:^4.5.3, keyv@npm:^4.5.4":
version: 4.5.4
resolution: "keyv@npm:4.5.4"
@@ -5829,6 +8006,36 @@ __metadata:
languageName: node
linkType: hard
+"kleur@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "kleur@npm:3.0.3"
+ checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b
+ languageName: node
+ linkType: hard
+
+"kleur@npm:^4.1.5":
+ version: 4.1.5
+ resolution: "kleur@npm:4.1.5"
+ checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a
+ languageName: node
+ linkType: hard
+
+"language-subtag-registry@npm:^0.3.20":
+ version: 0.3.23
+ resolution: "language-subtag-registry@npm:0.3.23"
+ checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c
+ languageName: node
+ linkType: hard
+
+"language-tags@npm:^1.0.9":
+ version: 1.0.9
+ resolution: "language-tags@npm:1.0.9"
+ dependencies:
+ language-subtag-registry: "npm:^0.3.20"
+ checksum: 10c0/9ab911213c4bd8bd583c850201c17794e52cb0660d1ab6e32558aadc8324abebf6844e46f92b80a5d600d0fbba7eface2c207bfaf270a1c7fd539e4c3a880bff
+ languageName: node
+ linkType: hard
+
"levn@npm:^0.4.1":
version: 0.4.1
resolution: "levn@npm:0.4.1"
@@ -5970,6 +8177,13 @@ __metadata:
languageName: node
linkType: hard
+"lines-and-columns@npm:^1.1.6":
+ version: 1.2.4
+ resolution: "lines-and-columns@npm:1.2.4"
+ checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d
+ languageName: node
+ linkType: hard
+
"local-pkg@npm:^0.4.3":
version: 0.4.3
resolution: "local-pkg@npm:0.4.3"
@@ -6000,6 +8214,27 @@ __metadata:
languageName: node
linkType: hard
+"log-symbols@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "log-symbols@npm:6.0.0"
+ dependencies:
+ chalk: "npm:^5.3.0"
+ is-unicode-supported: "npm:^1.3.0"
+ checksum: 10c0/36636cacedba8f067d2deb4aad44e91a89d9efb3ead27e1846e7b82c9a10ea2e3a7bd6ce28a7ca616bebc60954ff25c67b0f92d20a6a746bb3cc52c3701891f6
+ languageName: node
+ linkType: hard
+
+"loose-envify@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "loose-envify@npm:1.4.0"
+ dependencies:
+ js-tokens: "npm:^3.0.0 || ^4.0.0"
+ bin:
+ loose-envify: cli.js
+ checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e
+ languageName: node
+ linkType: hard
+
"loupe@npm:^2.3.6":
version: 2.3.7
resolution: "loupe@npm:2.3.7"
@@ -6085,19 +8320,80 @@ __metadata:
languageName: node
linkType: hard
-"mime-db@npm:1.52.0":
- version: 1.52.0
- resolution: "mime-db@npm:1.52.0"
- checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa
+"media-typer@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "media-typer@npm:1.1.0"
+ checksum: 10c0/7b4baa40b25964bb90e2121ee489ec38642127e48d0cc2b6baa442688d3fde6262bfdca86d6bbf6ba708784afcac168c06840c71facac70e390f5f759ac121b9
languageName: node
linkType: hard
-"mime-types@npm:^2.1.12":
- version: 2.1.35
- resolution: "mime-types@npm:2.1.35"
+"merge-descriptors@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "merge-descriptors@npm:2.0.0"
+ checksum: 10c0/95389b7ced3f9b36fbdcf32eb946dc3dd1774c2fdf164609e55b18d03aa499b12bd3aae3a76c1c7185b96279e9803525550d3eb292b5224866060a288f335cb3
+ languageName: node
+ linkType: hard
+
+"merge-stream@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "merge-stream@npm:2.0.0"
+ checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5
+ languageName: node
+ linkType: hard
+
+"merge2@npm:^1.3.0":
+ version: 1.4.1
+ resolution: "merge2@npm:1.4.1"
+ checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb
+ languageName: node
+ linkType: hard
+
+"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8":
+ version: 4.0.8
+ resolution: "micromatch@npm:4.0.8"
dependencies:
- mime-db: "npm:1.52.0"
- checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2
+ braces: "npm:^3.0.3"
+ picomatch: "npm:^2.3.1"
+ checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8
+ languageName: node
+ linkType: hard
+
+"mime-db@npm:^1.54.0":
+ version: 1.54.0
+ resolution: "mime-db@npm:1.54.0"
+ checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284
+ languageName: node
+ linkType: hard
+
+"mime-types@npm:^3.0.0, mime-types@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "mime-types@npm:3.0.2"
+ dependencies:
+ mime-db: "npm:^1.54.0"
+ checksum: 10c0/35a0dd1035d14d185664f346efcdb72e93ef7a9b6e9ae808bd1f6358227010267fab52657b37562c80fc888ff76becb2b2938deb5e730818b7983bf8bd359767
+ languageName: node
+ linkType: hard
+
+"mimic-fn@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "mimic-fn@npm:2.1.0"
+ checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4
+ languageName: node
+ linkType: hard
+
+"mimic-function@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "mimic-function@npm:5.0.1"
+ checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^10.0.1":
+ version: 10.2.2
+ resolution: "minimatch@npm:10.2.2"
+ dependencies:
+ brace-expansion: "npm:^5.0.2"
+ checksum: 10c0/098831f2f542cb802e1f249c809008a016e1fef6b3a9eda9cf9ecb2b3d7979083951bd47c0c82fcf34330bd3b36638a493d4fa8e24cce58caf5b481de0f4e238
languageName: node
linkType: hard
@@ -6128,7 +8424,7 @@ __metadata:
languageName: node
linkType: hard
-"minimist@npm:^1.2.6":
+"minimist@npm:^1.2.0, minimist@npm:^1.2.6":
version: 1.2.8
resolution: "minimist@npm:1.2.8"
checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6
@@ -6241,14 +8537,54 @@ __metadata:
languageName: node
linkType: hard
-"ms@npm:^2.1.3":
+"ms@npm:^2.1.1, ms@npm:^2.1.3":
version: 2.1.3
resolution: "ms@npm:2.1.3"
checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48
languageName: node
linkType: hard
-"nanoid@npm:^3.3.11":
+"msw@npm:^2.10.4":
+ version: 2.12.10
+ resolution: "msw@npm:2.12.10"
+ dependencies:
+ "@inquirer/confirm": "npm:^5.0.0"
+ "@mswjs/interceptors": "npm:^0.41.2"
+ "@open-draft/deferred-promise": "npm:^2.2.0"
+ "@types/statuses": "npm:^2.0.6"
+ cookie: "npm:^1.0.2"
+ graphql: "npm:^16.12.0"
+ headers-polyfill: "npm:^4.0.2"
+ is-node-process: "npm:^1.2.0"
+ outvariant: "npm:^1.4.3"
+ path-to-regexp: "npm:^6.3.0"
+ picocolors: "npm:^1.1.1"
+ rettime: "npm:^0.10.1"
+ statuses: "npm:^2.0.2"
+ strict-event-emitter: "npm:^0.5.1"
+ tough-cookie: "npm:^6.0.0"
+ type-fest: "npm:^5.2.0"
+ until-async: "npm:^3.0.2"
+ yargs: "npm:^17.7.2"
+ peerDependencies:
+ typescript: ">= 4.8.x"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ bin:
+ msw: cli/index.js
+ checksum: 10c0/14b67e607e071965a7119261a0bf75febdf0d17f3ea62b97938ece03fffd05eea63d0c1b52f81c1dec778107aae1c11a3400cf873c9029982a3ccab3764fc149
+ languageName: node
+ linkType: hard
+
+"mute-stream@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "mute-stream@npm:2.0.0"
+ checksum: 10c0/2cf48a2087175c60c8dcdbc619908b49c07f7adcfc37d29236b0c5c612d6204f789104c98cc44d38acab7b3c96f4a3ec2cfdc4934d0738d876dbefa2a12c69f4
+ languageName: node
+ linkType: hard
+
+"nanoid@npm:^3.3.11, nanoid@npm:^3.3.6":
version: 3.3.11
resolution: "nanoid@npm:3.3.11"
bin:
@@ -6257,6 +8593,15 @@ __metadata:
languageName: node
linkType: hard
+"napi-postinstall@npm:^0.3.0":
+ version: 0.3.4
+ resolution: "napi-postinstall@npm:0.3.4"
+ bin:
+ napi-postinstall: lib/cli.js
+ checksum: 10c0/b33d64150828bdade3a5d07368a8b30da22ee393f8dd8432f1b9e5486867be21c84ec443dd875dd3ef3c7401a079a7ab7e2aa9d3538a889abbcd96495d5104fe
+ languageName: node
+ linkType: hard
+
"natural-compare@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare@npm:1.4.0"
@@ -6271,6 +8616,85 @@ __metadata:
languageName: node
linkType: hard
+"next@npm:16.1.6":
+ version: 16.1.6
+ resolution: "next@npm:16.1.6"
+ dependencies:
+ "@next/env": "npm:16.1.6"
+ "@next/swc-darwin-arm64": "npm:16.1.6"
+ "@next/swc-darwin-x64": "npm:16.1.6"
+ "@next/swc-linux-arm64-gnu": "npm:16.1.6"
+ "@next/swc-linux-arm64-musl": "npm:16.1.6"
+ "@next/swc-linux-x64-gnu": "npm:16.1.6"
+ "@next/swc-linux-x64-musl": "npm:16.1.6"
+ "@next/swc-win32-arm64-msvc": "npm:16.1.6"
+ "@next/swc-win32-x64-msvc": "npm:16.1.6"
+ "@swc/helpers": "npm:0.5.15"
+ baseline-browser-mapping: "npm:^2.8.3"
+ caniuse-lite: "npm:^1.0.30001579"
+ postcss: "npm:8.4.31"
+ sharp: "npm:^0.34.4"
+ styled-jsx: "npm:5.1.6"
+ peerDependencies:
+ "@opentelemetry/api": ^1.1.0
+ "@playwright/test": ^1.51.1
+ babel-plugin-react-compiler: "*"
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ sass: ^1.3.0
+ dependenciesMeta:
+ "@next/swc-darwin-arm64":
+ optional: true
+ "@next/swc-darwin-x64":
+ optional: true
+ "@next/swc-linux-arm64-gnu":
+ optional: true
+ "@next/swc-linux-arm64-musl":
+ optional: true
+ "@next/swc-linux-x64-gnu":
+ optional: true
+ "@next/swc-linux-x64-musl":
+ optional: true
+ "@next/swc-win32-arm64-msvc":
+ optional: true
+ "@next/swc-win32-x64-msvc":
+ optional: true
+ sharp:
+ optional: true
+ peerDependenciesMeta:
+ "@opentelemetry/api":
+ optional: true
+ "@playwright/test":
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+ bin:
+ next: dist/bin/next
+ checksum: 10c0/543766bf879bb5a5d454dc18cb302953270a92efba1d01dd028ea83c64b69573ce7d6e6c3759ecbaabec0a84131b0237263c24d1ccd7c8a97205e776dcd34e0b
+ languageName: node
+ linkType: hard
+
+"node-domexception@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "node-domexception@npm:1.0.0"
+ checksum: 10c0/5e5d63cda29856402df9472335af4bb13875e1927ad3be861dc5ebde38917aecbf9ae337923777af52a48c426b70148815e890a5d72760f1b4d758cc671b1a2b
+ languageName: node
+ linkType: hard
+
+"node-exports-info@npm:^1.6.0":
+ version: 1.6.0
+ resolution: "node-exports-info@npm:1.6.0"
+ dependencies:
+ array.prototype.flatmap: "npm:^1.3.3"
+ es-errors: "npm:^1.3.0"
+ object.entries: "npm:^1.1.9"
+ semver: "npm:^6.3.1"
+ checksum: 10c0/3613f21c60b047e66f168d3499a6be0060d89fb01ddceaa7032c2fb318aff12e4b9b111449c1a9aeb3b848bfdc1d4b6bc8fab327af692319597d21a1e7063692
+ languageName: node
+ linkType: hard
+
"node-fetch-native@npm:^1.6.6":
version: 1.6.7
resolution: "node-fetch-native@npm:1.6.7"
@@ -6278,6 +8702,17 @@ __metadata:
languageName: node
linkType: hard
+"node-fetch@npm:^3.3.2":
+ version: 3.3.2
+ resolution: "node-fetch@npm:3.3.2"
+ dependencies:
+ data-uri-to-buffer: "npm:^4.0.0"
+ fetch-blob: "npm:^3.1.4"
+ formdata-polyfill: "npm:^4.0.10"
+ checksum: 10c0/f3d5e56190562221398c9f5750198b34cf6113aa304e34ee97c94fd300ec578b25b2c2906edba922050fce983338fde0d5d34fcb0fc3336ade5bd0e429ad7538
+ languageName: node
+ linkType: hard
+
"node-gyp@npm:latest":
version: 12.2.0
resolution: "node-gyp@npm:12.2.0"
@@ -6323,6 +8758,25 @@ __metadata:
languageName: node
linkType: hard
+"npm-run-path@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "npm-run-path@npm:4.0.1"
+ dependencies:
+ path-key: "npm:^3.0.0"
+ checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac
+ languageName: node
+ linkType: hard
+
+"npm-run-path@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "npm-run-path@npm:6.0.0"
+ dependencies:
+ path-key: "npm:^4.0.0"
+ unicorn-magic: "npm:^0.3.0"
+ checksum: 10c0/b223c8a0dcd608abf95363ea5c3c0ccc3cd877daf0102eaf1b0f2390d6858d8337fbb7c443af2403b067a7d2c116d10691ecd22ab3c5273c44da1ff8d07753bd
+ languageName: node
+ linkType: hard
+
"nypm@npm:^0.6.0":
version: 0.6.5
resolution: "nypm@npm:0.6.5"
@@ -6336,6 +8790,95 @@ __metadata:
languageName: node
linkType: hard
+"object-assign@npm:^4, object-assign@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "object-assign@npm:4.1.1"
+ checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414
+ languageName: node
+ linkType: hard
+
+"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4":
+ version: 1.13.4
+ resolution: "object-inspect@npm:1.13.4"
+ checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692
+ languageName: node
+ linkType: hard
+
+"object-keys@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "object-keys@npm:1.1.1"
+ checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d
+ languageName: node
+ linkType: hard
+
+"object-treeify@npm:1.1.33":
+ version: 1.1.33
+ resolution: "object-treeify@npm:1.1.33"
+ checksum: 10c0/5b735ac552200bf14f9892ce58295303e8d15a8cc7a0fd4fe6ff99923ab0c196fb70a870ab2a0eefc6820c4acb49e614b88c72d344b9c6bd22584a3efbd386fe
+ languageName: node
+ linkType: hard
+
+"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7":
+ version: 4.1.7
+ resolution: "object.assign@npm:4.1.7"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ has-symbols: "npm:^1.1.0"
+ object-keys: "npm:^1.1.1"
+ checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc
+ languageName: node
+ linkType: hard
+
+"object.entries@npm:^1.1.9":
+ version: 1.1.9
+ resolution: "object.entries@npm:1.1.9"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.1.1"
+ checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db
+ languageName: node
+ linkType: hard
+
+"object.fromentries@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "object.fromentries@npm:2.0.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/cd4327e6c3369cfa805deb4cbbe919bfb7d3aeebf0bcaba291bb568ea7169f8f8cdbcabe2f00b40db0c20cd20f08e11b5f3a5a36fb7dd3fe04850c50db3bf83b
+ languageName: node
+ linkType: hard
+
+"object.groupby@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "object.groupby@npm:1.0.3"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.2"
+ checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c
+ languageName: node
+ linkType: hard
+
+"object.values@npm:^1.1.6, object.values@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "object.values@npm:1.2.1"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9
+ languageName: node
+ linkType: hard
+
"obliterator@npm:^2.0.1":
version: 2.0.5
resolution: "obliterator@npm:2.0.5"
@@ -6357,7 +8900,16 @@ __metadata:
languageName: node
linkType: hard
-"once@npm:^1.3.0":
+"on-finished@npm:^2.4.1":
+ version: 2.4.1
+ resolution: "on-finished@npm:2.4.1"
+ dependencies:
+ ee-first: "npm:1.1.1"
+ checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4
+ languageName: node
+ linkType: hard
+
+"once@npm:^1.3.0, once@npm:^1.4.0":
version: 1.4.0
resolution: "once@npm:1.4.0"
dependencies:
@@ -6366,6 +8918,38 @@ __metadata:
languageName: node
linkType: hard
+"onetime@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "onetime@npm:5.1.2"
+ dependencies:
+ mimic-fn: "npm:^2.1.0"
+ checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f
+ languageName: node
+ linkType: hard
+
+"onetime@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "onetime@npm:7.0.0"
+ dependencies:
+ mimic-function: "npm:^5.0.0"
+ checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221
+ languageName: node
+ linkType: hard
+
+"open@npm:^11.0.0":
+ version: 11.0.0
+ resolution: "open@npm:11.0.0"
+ dependencies:
+ default-browser: "npm:^5.4.0"
+ define-lazy-prop: "npm:^3.0.0"
+ is-in-ssh: "npm:^1.0.0"
+ is-inside-container: "npm:^1.0.0"
+ powershell-utils: "npm:^0.1.0"
+ wsl-utils: "npm:^0.3.0"
+ checksum: 10c0/7aeeda4131268ed90f90e7728dda5c46bb0c6205b27a4be3e86ea33593e30dd393423e20e31c00802a8e635ef59becaee33ef9749a8ceb027567cd253e9e7b1e
+ languageName: node
+ linkType: hard
+
"optionator@npm:^0.9.3":
version: 0.9.4
resolution: "optionator@npm:0.9.4"
@@ -6380,6 +8964,41 @@ __metadata:
languageName: node
linkType: hard
+"ora@npm:^8.2.0":
+ version: 8.2.0
+ resolution: "ora@npm:8.2.0"
+ dependencies:
+ chalk: "npm:^5.3.0"
+ cli-cursor: "npm:^5.0.0"
+ cli-spinners: "npm:^2.9.2"
+ is-interactive: "npm:^2.0.0"
+ is-unicode-supported: "npm:^2.0.0"
+ log-symbols: "npm:^6.0.0"
+ stdin-discarder: "npm:^0.2.2"
+ string-width: "npm:^7.2.0"
+ strip-ansi: "npm:^7.1.0"
+ checksum: 10c0/7d9291255db22e293ea164f520b6042a3e906576ab06c9cf408bf9ef5664ba0a9f3bd258baa4ada058cfcc2163ef9b6696d51237a866682ce33295349ba02c3a
+ languageName: node
+ linkType: hard
+
+"outvariant@npm:^1.4.0, outvariant@npm:^1.4.3":
+ version: 1.4.3
+ resolution: "outvariant@npm:1.4.3"
+ checksum: 10c0/5976ca7740349cb8c71bd3382e2a762b1aeca6f33dc984d9d896acdf3c61f78c3afcf1bfe9cc633a7b3c4b295ec94d292048f83ea2b2594fae4496656eba992c
+ languageName: node
+ linkType: hard
+
+"own-keys@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "own-keys@npm:1.0.1"
+ dependencies:
+ get-intrinsic: "npm:^1.2.6"
+ object-keys: "npm:^1.1.1"
+ safe-push-apply: "npm:^1.0.0"
+ checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a
+ languageName: node
+ linkType: hard
+
"p-limit@npm:^3.0.2":
version: 3.1.0
resolution: "p-limit@npm:3.1.0"
@@ -6414,6 +9033,13 @@ __metadata:
languageName: node
linkType: hard
+"package-manager-detector@npm:^1.3.0":
+ version: 1.6.0
+ resolution: "package-manager-detector@npm:1.6.0"
+ checksum: 10c0/6419d0b840be64fd45bcdcb7a19f09b81b65456d5e7f7a3daac305a4c90643052122f6ac0308afe548ffee75e36148532a2002ea9d292754f1e385aa2e1ea03b
+ languageName: node
+ linkType: hard
+
"parent-module@npm:^1.0.0":
version: 1.0.1
resolution: "parent-module@npm:1.0.1"
@@ -6423,6 +9049,39 @@ __metadata:
languageName: node
linkType: hard
+"parse-json@npm:^5.2.0":
+ version: 5.2.0
+ resolution: "parse-json@npm:5.2.0"
+ dependencies:
+ "@babel/code-frame": "npm:^7.0.0"
+ error-ex: "npm:^1.3.1"
+ json-parse-even-better-errors: "npm:^2.3.0"
+ lines-and-columns: "npm:^1.1.6"
+ checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585
+ languageName: node
+ linkType: hard
+
+"parse-ms@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "parse-ms@npm:4.0.0"
+ checksum: 10c0/a7900f4f1ebac24cbf5e9708c16fb2fd482517fad353aecd7aefb8c2ba2f85ce017913ccb8925d231770404780df46244ea6fec598b3bde6490882358b4d2d16
+ languageName: node
+ linkType: hard
+
+"parseurl@npm:^1.3.3":
+ version: 1.3.3
+ resolution: "parseurl@npm:1.3.3"
+ checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5
+ languageName: node
+ linkType: hard
+
+"path-browserify@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "path-browserify@npm:1.0.1"
+ checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66
+ languageName: node
+ linkType: hard
+
"path-exists@npm:^4.0.0":
version: 4.0.0
resolution: "path-exists@npm:4.0.0"
@@ -6437,13 +9096,20 @@ __metadata:
languageName: node
linkType: hard
-"path-key@npm:^3.1.0":
+"path-key@npm:^3.0.0, path-key@npm:^3.1.0":
version: 3.1.1
resolution: "path-key@npm:3.1.1"
checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c
languageName: node
linkType: hard
+"path-key@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-key@npm:4.0.0"
+ checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3
+ languageName: node
+ linkType: hard
+
"path-parse@npm:^1.0.7":
version: 1.0.7
resolution: "path-parse@npm:1.0.7"
@@ -6461,6 +9127,20 @@ __metadata:
languageName: node
linkType: hard
+"path-to-regexp@npm:^6.3.0":
+ version: 6.3.0
+ resolution: "path-to-regexp@npm:6.3.0"
+ checksum: 10c0/73b67f4638b41cde56254e6354e46ae3a2ebc08279583f6af3d96fe4664fc75788f74ed0d18ca44fa4a98491b69434f9eee73b97bb5314bd1b5adb700f5c18d6
+ languageName: node
+ linkType: hard
+
+"path-to-regexp@npm:^8.0.0":
+ version: 8.3.0
+ resolution: "path-to-regexp@npm:8.3.0"
+ checksum: 10c0/ee1544a73a3f294a97a4c663b0ce71bbf1621d732d80c9c9ed201b3e911a86cb628ebad691b9d40f40a3742fe22011e5a059d8eed2cf63ec2cb94f6fb4efe67c
+ languageName: node
+ linkType: hard
+
"pathe@npm:^1.1.0, pathe@npm:^1.1.1":
version: 1.1.2
resolution: "pathe@npm:1.1.2"
@@ -6496,14 +9176,14 @@ __metadata:
languageName: node
linkType: hard
-"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1":
+"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1":
version: 2.3.1
resolution: "picomatch@npm:2.3.1"
checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be
languageName: node
linkType: hard
-"picomatch@npm:^4.0.3":
+"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3":
version: 4.0.3
resolution: "picomatch@npm:4.0.3"
checksum: 10c0/9582c951e95eebee5434f59e426cddd228a7b97a0161a375aed4be244bd3fe8e3a31b846808ea14ef2c8a2527a6eeab7b3946a67d5979e81694654f939473ae2
@@ -6585,6 +9265,13 @@ __metadata:
languageName: node
linkType: hard
+"pkce-challenge@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "pkce-challenge@npm:5.0.1"
+ checksum: 10c0/207f4cb976682f27e8324eb49cf71937c98fbb8341a0b8f6142bc6f664825b30e049a54a21b5c034e823ee3c3d412f10d74bd21de78e17452a6a496c2991f57c
+ languageName: node
+ linkType: hard
+
"pkg-types@npm:^1.3.1":
version: 1.3.1
resolution: "pkg-types@npm:1.3.1"
@@ -6631,10 +9318,31 @@ __metadata:
languageName: node
linkType: hard
-"postcss-value-parser@npm:^4.2.0":
- version: 4.2.0
- resolution: "postcss-value-parser@npm:4.2.0"
- checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161
+"possible-typed-array-names@npm:^1.0.0":
+ version: 1.1.0
+ resolution: "possible-typed-array-names@npm:1.1.0"
+ checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196
+ languageName: node
+ linkType: hard
+
+"postcss-selector-parser@npm:^7.1.0":
+ version: 7.1.1
+ resolution: "postcss-selector-parser@npm:7.1.1"
+ dependencies:
+ cssesc: "npm:^3.0.0"
+ util-deprecate: "npm:^1.0.2"
+ checksum: 10c0/02d3b1589ddcddceed4b583b098b95a7266dacd5135f041e5d913ebb48e874fd333a36e564cc9a2ec426a464cb18db11cb192ac76247aced5eba8c951bf59507
+ languageName: node
+ linkType: hard
+
+"postcss@npm:8.4.31":
+ version: 8.4.31
+ resolution: "postcss@npm:8.4.31"
+ dependencies:
+ nanoid: "npm:^3.3.6"
+ picocolors: "npm:^1.0.0"
+ source-map-js: "npm:^1.0.2"
+ checksum: 10c0/748b82e6e5fc34034dcf2ae88ea3d11fd09f69b6c50ecdd3b4a875cfc7cdca435c958b211e2cb52355422ab6fccb7d8f2f2923161d7a1b281029e4a913d59acf
languageName: node
linkType: hard
@@ -6649,6 +9357,13 @@ __metadata:
languageName: node
linkType: hard
+"powershell-utils@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "powershell-utils@npm:0.1.0"
+ checksum: 10c0/a64713cf3583259c9ed6be211c06b4b19e8608bcb0f7f6287ffac0a95b8c7582b6b662eea0e201fd659492c8e9f9c5fd0bfc4579645c5add9c1a600075621c95
+ languageName: node
+ linkType: hard
+
"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
@@ -6705,6 +9420,15 @@ __metadata:
languageName: node
linkType: hard
+"pretty-ms@npm:^9.2.0":
+ version: 9.3.0
+ resolution: "pretty-ms@npm:9.3.0"
+ dependencies:
+ parse-ms: "npm:^4.0.0"
+ checksum: 10c0/555ea39a1de48a30601938aedb76d682871d33b6dee015281c37108921514b11e1792928b1648c2e5589acc73c8ef0fb5e585fb4c718e340a28b86799e90fb34
+ languageName: node
+ linkType: hard
+
"prisma@npm:6.19.2":
version: 6.19.2
resolution: "prisma@npm:6.19.2"
@@ -6760,6 +9484,27 @@ __metadata:
languageName: node
linkType: hard
+"prompts@npm:^2.4.2":
+ version: 2.4.2
+ resolution: "prompts@npm:2.4.2"
+ dependencies:
+ kleur: "npm:^3.0.3"
+ sisteransi: "npm:^1.0.5"
+ checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4
+ languageName: node
+ linkType: hard
+
+"prop-types@npm:^15.8.1":
+ version: 15.8.1
+ resolution: "prop-types@npm:15.8.1"
+ dependencies:
+ loose-envify: "npm:^1.4.0"
+ object-assign: "npm:^4.1.1"
+ react-is: "npm:^16.13.1"
+ checksum: 10c0/59ece7ca2fb9838031d73a48d4becb9a7cc1ed10e610517c7d8f19a1e02fa47f7c27d557d8a5702bec3cfeccddc853579832b43f449e54635803f277b1c78077
+ languageName: node
+ linkType: hard
+
"proxy-addr@npm:^2.0.7":
version: 2.0.7
resolution: "proxy-addr@npm:2.0.7"
@@ -6770,13 +9515,6 @@ __metadata:
languageName: node
linkType: hard
-"proxy-from-env@npm:^1.1.0":
- version: 1.1.0
- resolution: "proxy-from-env@npm:1.1.0"
- checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b
- languageName: node
- linkType: hard
-
"punycode@npm:^2.1.0":
version: 2.3.1
resolution: "punycode@npm:2.3.1"
@@ -6791,6 +9529,15 @@ __metadata:
languageName: node
linkType: hard
+"qs@npm:^6.14.0, qs@npm:^6.14.1":
+ version: 6.15.0
+ resolution: "qs@npm:6.15.0"
+ dependencies:
+ side-channel: "npm:^1.1.0"
+ checksum: 10c0/ff341078a78a991d8a48b4524d52949211447b4b1ad907f489cac0770cbc346a28e47304455c0320e5fb000f8762d64b03331e3b71865f663bf351bcba8cdb4b
+ languageName: node
+ linkType: hard
+
"quasar-backend@workspace:backend":
version: 0.0.0-use.local
resolution: "quasar-backend@workspace:backend"
@@ -6849,6 +9596,98 @@ __metadata:
languageName: node
linkType: hard
+"radix-ui@npm:^1.4.3":
+ version: 1.4.3
+ resolution: "radix-ui@npm:1.4.3"
+ dependencies:
+ "@radix-ui/primitive": "npm:1.1.3"
+ "@radix-ui/react-accessible-icon": "npm:1.1.7"
+ "@radix-ui/react-accordion": "npm:1.2.12"
+ "@radix-ui/react-alert-dialog": "npm:1.1.15"
+ "@radix-ui/react-arrow": "npm:1.1.7"
+ "@radix-ui/react-aspect-ratio": "npm:1.1.7"
+ "@radix-ui/react-avatar": "npm:1.1.10"
+ "@radix-ui/react-checkbox": "npm:1.3.3"
+ "@radix-ui/react-collapsible": "npm:1.1.12"
+ "@radix-ui/react-collection": "npm:1.1.7"
+ "@radix-ui/react-compose-refs": "npm:1.1.2"
+ "@radix-ui/react-context": "npm:1.1.2"
+ "@radix-ui/react-context-menu": "npm:2.2.16"
+ "@radix-ui/react-dialog": "npm:1.1.15"
+ "@radix-ui/react-direction": "npm:1.1.1"
+ "@radix-ui/react-dismissable-layer": "npm:1.1.11"
+ "@radix-ui/react-dropdown-menu": "npm:2.1.16"
+ "@radix-ui/react-focus-guards": "npm:1.1.3"
+ "@radix-ui/react-focus-scope": "npm:1.1.7"
+ "@radix-ui/react-form": "npm:0.1.8"
+ "@radix-ui/react-hover-card": "npm:1.1.15"
+ "@radix-ui/react-label": "npm:2.1.7"
+ "@radix-ui/react-menu": "npm:2.1.16"
+ "@radix-ui/react-menubar": "npm:1.1.16"
+ "@radix-ui/react-navigation-menu": "npm:1.2.14"
+ "@radix-ui/react-one-time-password-field": "npm:0.1.8"
+ "@radix-ui/react-password-toggle-field": "npm:0.1.3"
+ "@radix-ui/react-popover": "npm:1.1.15"
+ "@radix-ui/react-popper": "npm:1.2.8"
+ "@radix-ui/react-portal": "npm:1.1.9"
+ "@radix-ui/react-presence": "npm:1.1.5"
+ "@radix-ui/react-primitive": "npm:2.1.3"
+ "@radix-ui/react-progress": "npm:1.1.7"
+ "@radix-ui/react-radio-group": "npm:1.3.8"
+ "@radix-ui/react-roving-focus": "npm:1.1.11"
+ "@radix-ui/react-scroll-area": "npm:1.2.10"
+ "@radix-ui/react-select": "npm:2.2.6"
+ "@radix-ui/react-separator": "npm:1.1.7"
+ "@radix-ui/react-slider": "npm:1.3.6"
+ "@radix-ui/react-slot": "npm:1.2.3"
+ "@radix-ui/react-switch": "npm:1.2.6"
+ "@radix-ui/react-tabs": "npm:1.1.13"
+ "@radix-ui/react-toast": "npm:1.2.15"
+ "@radix-ui/react-toggle": "npm:1.1.10"
+ "@radix-ui/react-toggle-group": "npm:1.1.11"
+ "@radix-ui/react-toolbar": "npm:1.1.11"
+ "@radix-ui/react-tooltip": "npm:1.2.8"
+ "@radix-ui/react-use-callback-ref": "npm:1.1.1"
+ "@radix-ui/react-use-controllable-state": "npm:1.2.2"
+ "@radix-ui/react-use-effect-event": "npm:0.0.2"
+ "@radix-ui/react-use-escape-keydown": "npm:1.1.1"
+ "@radix-ui/react-use-is-hydrated": "npm:0.1.0"
+ "@radix-ui/react-use-layout-effect": "npm:1.1.1"
+ "@radix-ui/react-use-size": "npm:1.1.1"
+ "@radix-ui/react-visually-hidden": "npm:1.2.3"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/6f227ece95a4804e85627bd20cb8c7f244ac38cead34f941210a9a9d1adc02c793850c6339b39db94ac0d57e30e95e6f7bbba2bfce951e98a91c88376a6e7da7
+ languageName: node
+ linkType: hard
+
+"range-parser@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "range-parser@npm:1.2.1"
+ checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0
+ languageName: node
+ linkType: hard
+
+"raw-body@npm:^3.0.0, raw-body@npm:^3.0.1":
+ version: 3.0.2
+ resolution: "raw-body@npm:3.0.2"
+ dependencies:
+ bytes: "npm:~3.1.2"
+ http-errors: "npm:~2.0.1"
+ iconv-lite: "npm:~0.7.0"
+ unpipe: "npm:~1.0.0"
+ checksum: 10c0/d266678d08e1e7abea62c0ce5864344e980fa81c64f6b481e9842c5beaed2cdcf975f658a3ccd67ad35fc919c1f6664ccc106067801850286a6cbe101de89f29
+ languageName: node
+ linkType: hard
+
"rc9@npm:^2.1.2":
version: 2.1.2
resolution: "rc9@npm:2.1.2"
@@ -6859,14 +9698,21 @@ __metadata:
languageName: node
linkType: hard
-"react-dom@npm:^19.2.0":
- version: 19.2.4
- resolution: "react-dom@npm:19.2.4"
+"react-dom@npm:19.2.3":
+ version: 19.2.3
+ resolution: "react-dom@npm:19.2.3"
dependencies:
scheduler: "npm:^0.27.0"
peerDependencies:
- react: ^19.2.4
- checksum: 10c0/f0c63f1794dedb154136d4d0f59af00b41907f4859571c155940296808f4b94bf9c0c20633db75b5b2112ec13d8d7dd4f9bf57362ed48782f317b11d05a44f35
+ react: ^19.2.3
+ checksum: 10c0/dc43f7ede06f46f3acc16ee83107c925530de9b91d1d0b3824583814746ff4c498ea64fd65cd83aba363205268adff52e2827c582634ae7b15069deaeabc4892
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^16.13.1":
+ version: 16.13.1
+ resolution: "react-is@npm:16.13.1"
+ checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1
languageName: node
linkType: hard
@@ -6884,13 +9730,6 @@ __metadata:
languageName: node
linkType: hard
-"react-refresh@npm:^0.18.0":
- version: 0.18.0
- resolution: "react-refresh@npm:0.18.0"
- checksum: 10c0/34a262f7fd803433a534f50deb27a148112a81adcae440c7d1cbae7ef14d21ea8f2b3d783e858cb7698968183b77755a38b4d4b5b1d79b4f4689c2f6d358fff2
- languageName: node
- linkType: hard
-
"react-remove-scroll-bar@npm:^2.3.7":
version: 2.3.8
resolution: "react-remove-scroll-bar@npm:2.3.8"
@@ -6942,10 +9781,10 @@ __metadata:
languageName: node
linkType: hard
-"react@npm:^19.2.0":
- version: 19.2.4
- resolution: "react@npm:19.2.4"
- checksum: 10c0/cd2c9ff67a720799cc3b38a516009986f7fc4cb8d3e15716c6211cf098d1357ee3e348ab05ad0600042bbb0fd888530ba92e329198c92eafa0994f5213396596
+"react@npm:19.2.3":
+ version: 19.2.3
+ resolution: "react@npm:19.2.3"
+ checksum: 10c0/094220b3ba3a76c1b668f972ace1dd15509b157aead1b40391d1c8e657e720c201d9719537375eff08f5e0514748c0319063392a6f000e31303aafc4471f1436
languageName: node
linkType: hard
@@ -6985,6 +9824,56 @@ __metadata:
languageName: node
linkType: hard
+"recast@npm:^0.23.11":
+ version: 0.23.11
+ resolution: "recast@npm:0.23.11"
+ dependencies:
+ ast-types: "npm:^0.16.1"
+ esprima: "npm:~4.0.0"
+ source-map: "npm:~0.6.1"
+ tiny-invariant: "npm:^1.3.3"
+ tslib: "npm:^2.0.1"
+ checksum: 10c0/45b520a8f0868a5a24ecde495be9de3c48e69a54295d82a7331106554b75cfba75d16c909959d056e9ceed47a1be5e061e2db8b9ecbcd6ba44c2f3ef9a47bd18
+ languageName: node
+ linkType: hard
+
+"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9":
+ version: 1.0.10
+ resolution: "reflect.getprototypeof@npm:1.0.10"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.9"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.7"
+ get-proto: "npm:^1.0.1"
+ which-builtin-type: "npm:^1.2.1"
+ checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac
+ languageName: node
+ linkType: hard
+
+"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4":
+ version: 1.5.4
+ resolution: "regexp.prototype.flags@npm:1.5.4"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-errors: "npm:^1.3.0"
+ get-proto: "npm:^1.0.1"
+ gopd: "npm:^1.2.0"
+ set-function-name: "npm:^2.0.2"
+ checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77
+ languageName: node
+ linkType: hard
+
+"require-directory@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "require-directory@npm:2.1.1"
+ checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99
+ languageName: node
+ linkType: hard
+
"require-from-string@npm:^2.0.2":
version: 2.0.2
resolution: "require-from-string@npm:2.0.2"
@@ -6999,7 +9888,14 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.0.0":
+"resolve-pkg-maps@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "resolve-pkg-maps@npm:1.0.0"
+ checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab
+ languageName: node
+ linkType: hard
+
+"resolve@npm:^1.0.0, resolve@npm:^1.22.4":
version: 1.22.11
resolution: "resolve@npm:1.22.11"
dependencies:
@@ -7012,7 +9908,23 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin":
+"resolve@npm:^2.0.0-next.5":
+ version: 2.0.0-next.6
+ resolution: "resolve@npm:2.0.0-next.6"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ is-core-module: "npm:^2.16.1"
+ node-exports-info: "npm:^1.6.0"
+ object-keys: "npm:^1.1.1"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/4e44cb84aa9a3c7c82d4a98e8111879671150496160a53ca6cdbed6101bf239f19105f8b8b84e40c0b76d46b0d9626813510b19a80e01f4ae18692e9d0b47749
+ languageName: node
+ linkType: hard
+
+"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
version: 1.22.11
resolution: "resolve@patch:resolve@npm%3A1.22.11#optional!builtin::version=1.22.11&hash=c3c19d"
dependencies:
@@ -7025,6 +9937,32 @@ __metadata:
languageName: node
linkType: hard
+"resolve@patch:resolve@npm%3A^2.0.0-next.5#optional!builtin":
+ version: 2.0.0-next.6
+ resolution: "resolve@patch:resolve@npm%3A2.0.0-next.6#optional!builtin::version=2.0.0-next.6&hash=c3c19d"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ is-core-module: "npm:^2.16.1"
+ node-exports-info: "npm:^1.6.0"
+ object-keys: "npm:^1.1.1"
+ path-parse: "npm:^1.0.7"
+ supports-preserve-symlinks-flag: "npm:^1.0.0"
+ bin:
+ resolve: bin/resolve
+ checksum: 10c0/dca533e38820b0d8d636f269824cef3b7435802ab7401211c6f10af03be0e2f7e216047234e1623046c0a6791577079767e0c04f0d36e42c7f567b1bff7b0742
+ languageName: node
+ linkType: hard
+
+"restore-cursor@npm:^5.0.0":
+ version: 5.1.0
+ resolution: "restore-cursor@npm:5.1.0"
+ dependencies:
+ onetime: "npm:^7.0.0"
+ signal-exit: "npm:^4.1.0"
+ checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60
+ languageName: node
+ linkType: hard
+
"ret@npm:~0.4.0":
version: 0.4.3
resolution: "ret@npm:0.4.3"
@@ -7039,6 +9977,13 @@ __metadata:
languageName: node
linkType: hard
+"rettime@npm:^0.10.1":
+ version: 0.10.1
+ resolution: "rettime@npm:0.10.1"
+ checksum: 10c0/94fb30cd13684386c70301c4cff4391bc0c6dc7aeac49364fdfeeaba167897bdb28a58bbb46d1a415f1c5c6240fda3f765cb329e471f37fdc513c739f0b04fbe
+ languageName: node
+ linkType: hard
+
"reusify@npm:^1.0.4":
version: 1.1.0
resolution: "reusify@npm:1.1.0"
@@ -7179,93 +10124,23 @@ __metadata:
languageName: node
linkType: hard
-"rollup@npm:^4.43.0":
- version: 4.59.0
- resolution: "rollup@npm:4.59.0"
+"router@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "router@npm:2.2.0"
dependencies:
- "@rollup/rollup-android-arm-eabi": "npm:4.59.0"
- "@rollup/rollup-android-arm64": "npm:4.59.0"
- "@rollup/rollup-darwin-arm64": "npm:4.59.0"
- "@rollup/rollup-darwin-x64": "npm:4.59.0"
- "@rollup/rollup-freebsd-arm64": "npm:4.59.0"
- "@rollup/rollup-freebsd-x64": "npm:4.59.0"
- "@rollup/rollup-linux-arm-gnueabihf": "npm:4.59.0"
- "@rollup/rollup-linux-arm-musleabihf": "npm:4.59.0"
- "@rollup/rollup-linux-arm64-gnu": "npm:4.59.0"
- "@rollup/rollup-linux-arm64-musl": "npm:4.59.0"
- "@rollup/rollup-linux-loong64-gnu": "npm:4.59.0"
- "@rollup/rollup-linux-loong64-musl": "npm:4.59.0"
- "@rollup/rollup-linux-ppc64-gnu": "npm:4.59.0"
- "@rollup/rollup-linux-ppc64-musl": "npm:4.59.0"
- "@rollup/rollup-linux-riscv64-gnu": "npm:4.59.0"
- "@rollup/rollup-linux-riscv64-musl": "npm:4.59.0"
- "@rollup/rollup-linux-s390x-gnu": "npm:4.59.0"
- "@rollup/rollup-linux-x64-gnu": "npm:4.59.0"
- "@rollup/rollup-linux-x64-musl": "npm:4.59.0"
- "@rollup/rollup-openbsd-x64": "npm:4.59.0"
- "@rollup/rollup-openharmony-arm64": "npm:4.59.0"
- "@rollup/rollup-win32-arm64-msvc": "npm:4.59.0"
- "@rollup/rollup-win32-ia32-msvc": "npm:4.59.0"
- "@rollup/rollup-win32-x64-gnu": "npm:4.59.0"
- "@rollup/rollup-win32-x64-msvc": "npm:4.59.0"
- "@types/estree": "npm:1.0.8"
- fsevents: "npm:~2.3.2"
- dependenciesMeta:
- "@rollup/rollup-android-arm-eabi":
- optional: true
- "@rollup/rollup-android-arm64":
- optional: true
- "@rollup/rollup-darwin-arm64":
- optional: true
- "@rollup/rollup-darwin-x64":
- optional: true
- "@rollup/rollup-freebsd-arm64":
- optional: true
- "@rollup/rollup-freebsd-x64":
- optional: true
- "@rollup/rollup-linux-arm-gnueabihf":
- optional: true
- "@rollup/rollup-linux-arm-musleabihf":
- optional: true
- "@rollup/rollup-linux-arm64-gnu":
- optional: true
- "@rollup/rollup-linux-arm64-musl":
- optional: true
- "@rollup/rollup-linux-loong64-gnu":
- optional: true
- "@rollup/rollup-linux-loong64-musl":
- optional: true
- "@rollup/rollup-linux-ppc64-gnu":
- optional: true
- "@rollup/rollup-linux-ppc64-musl":
- optional: true
- "@rollup/rollup-linux-riscv64-gnu":
- optional: true
- "@rollup/rollup-linux-riscv64-musl":
- optional: true
- "@rollup/rollup-linux-s390x-gnu":
- optional: true
- "@rollup/rollup-linux-x64-gnu":
- optional: true
- "@rollup/rollup-linux-x64-musl":
- optional: true
- "@rollup/rollup-openbsd-x64":
- optional: true
- "@rollup/rollup-openharmony-arm64":
- optional: true
- "@rollup/rollup-win32-arm64-msvc":
- optional: true
- "@rollup/rollup-win32-ia32-msvc":
- optional: true
- "@rollup/rollup-win32-x64-gnu":
- optional: true
- "@rollup/rollup-win32-x64-msvc":
- optional: true
- fsevents:
- optional: true
- bin:
- rollup: dist/bin/rollup
- checksum: 10c0/f38742da34cfee5e899302615fa157aa77cb6a2a1495e5e3ce4cc9c540d3262e235bbe60caa31562bbfe492b01fdb3e7a8c43c39d842d3293bcf843123b766fc
+ debug: "npm:^4.4.0"
+ depd: "npm:^2.0.0"
+ is-promise: "npm:^4.0.0"
+ parseurl: "npm:^1.3.3"
+ path-to-regexp: "npm:^8.0.0"
+ checksum: 10c0/3279de7450c8eae2f6e095e9edacbdeec0abb5cb7249c6e719faa0db2dba43574b4fff5892d9220631c9abaff52dd3cad648cfea2aaace845e1a071915ac8867
+ languageName: node
+ linkType: hard
+
+"run-applescript@npm:^7.0.0":
+ version: 7.1.0
+ resolution: "run-applescript@npm:7.1.0"
+ checksum: 10c0/ab826c57c20f244b2ee807704b1ef4ba7f566aa766481ae5922aac785e2570809e297c69afcccc3593095b538a8a77d26f2b2e9a1d9dffee24e0e039502d1a03
languageName: node
linkType: hard
@@ -7278,6 +10153,19 @@ __metadata:
languageName: node
linkType: hard
+"safe-array-concat@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "safe-array-concat@npm:1.1.3"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.2.6"
+ has-symbols: "npm:^1.1.0"
+ isarray: "npm:^2.0.5"
+ checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d
+ languageName: node
+ linkType: hard
+
"safe-buffer@npm:~5.2.0":
version: 5.2.1
resolution: "safe-buffer@npm:5.2.1"
@@ -7285,6 +10173,27 @@ __metadata:
languageName: node
linkType: hard
+"safe-push-apply@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "safe-push-apply@npm:1.0.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ isarray: "npm:^2.0.5"
+ checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750
+ languageName: node
+ linkType: hard
+
+"safe-regex-test@npm:^1.0.3, safe-regex-test@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "safe-regex-test@npm:1.1.0"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ es-errors: "npm:^1.3.0"
+ is-regex: "npm:^1.2.1"
+ checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665
+ languageName: node
+ linkType: hard
+
"safe-regex2@npm:^3.1.0":
version: 3.1.0
resolution: "safe-regex2@npm:3.1.0"
@@ -7338,7 +10247,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.7.3":
+"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.7.1, semver@npm:^7.7.3":
version: 7.7.4
resolution: "semver@npm:7.7.4"
bin:
@@ -7347,19 +10256,34 @@ __metadata:
languageName: node
linkType: hard
-"seroval-plugins@npm:^1.4.2":
- version: 1.5.0
- resolution: "seroval-plugins@npm:1.5.0"
- peerDependencies:
- seroval: ^1.0
- checksum: 10c0/a70636d35e0644e37efad37963e6d41ae9e4a02fbf1b57c89dbe4d62122908039e8a0fda1720b8a56aea93741735b2028ada6d3d50c1d40bbb67661f0de92042
+"send@npm:^1.1.0, send@npm:^1.2.0":
+ version: 1.2.1
+ resolution: "send@npm:1.2.1"
+ dependencies:
+ debug: "npm:^4.4.3"
+ encodeurl: "npm:^2.0.0"
+ escape-html: "npm:^1.0.3"
+ etag: "npm:^1.8.1"
+ fresh: "npm:^2.0.0"
+ http-errors: "npm:^2.0.1"
+ mime-types: "npm:^3.0.2"
+ ms: "npm:^2.1.3"
+ on-finished: "npm:^2.4.1"
+ range-parser: "npm:^1.2.1"
+ statuses: "npm:^2.0.2"
+ checksum: 10c0/fbbbbdc902a913d65605274be23f3d604065cfc3ee3d78bf9fc8af1dc9fc82667c50d3d657f5e601ac657bac9b396b50ee97bd29cd55436320cf1cddebdcec72
languageName: node
linkType: hard
-"seroval@npm:^1.4.2":
- version: 1.5.0
- resolution: "seroval@npm:1.5.0"
- checksum: 10c0/aff16b14a7145388555cefd4ebd41759024ee1c2c064080fd8d4fabea4b7c89d103155cd98f5109523b8878e577da73cc6cd8abf98965f2d1f0ba19dc38317ab
+"serve-static@npm:^2.2.0":
+ version: 2.2.1
+ resolution: "serve-static@npm:2.2.1"
+ dependencies:
+ encodeurl: "npm:^2.0.0"
+ escape-html: "npm:^1.0.3"
+ parseurl: "npm:^1.3.3"
+ send: "npm:^1.2.0"
+ checksum: 10c0/37986096e8572e2dfaad35a3925fa8da0c0969f8814fd7788e84d4d388bc068cf0c06d1658509788e55bed942a6b6d040a8a267fa92bb9ffb1179f8bacde5fd7
languageName: node
linkType: hard
@@ -7370,6 +10294,179 @@ __metadata:
languageName: node
linkType: hard
+"set-function-length@npm:^1.2.2":
+ version: 1.2.2
+ resolution: "set-function-length@npm:1.2.2"
+ dependencies:
+ define-data-property: "npm:^1.1.4"
+ es-errors: "npm:^1.3.0"
+ function-bind: "npm:^1.1.2"
+ get-intrinsic: "npm:^1.2.4"
+ gopd: "npm:^1.0.1"
+ has-property-descriptors: "npm:^1.0.2"
+ checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c
+ languageName: node
+ linkType: hard
+
+"set-function-name@npm:^2.0.2":
+ version: 2.0.2
+ resolution: "set-function-name@npm:2.0.2"
+ dependencies:
+ define-data-property: "npm:^1.1.4"
+ es-errors: "npm:^1.3.0"
+ functions-have-names: "npm:^1.2.3"
+ has-property-descriptors: "npm:^1.0.2"
+ checksum: 10c0/fce59f90696c450a8523e754abb305e2b8c73586452619c2bad5f7bf38c7b6b4651895c9db895679c5bef9554339cf3ef1c329b66ece3eda7255785fbe299316
+ languageName: node
+ linkType: hard
+
+"set-proto@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "set-proto@npm:1.0.0"
+ dependencies:
+ dunder-proto: "npm:^1.0.1"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a
+ languageName: node
+ linkType: hard
+
+"setprototypeof@npm:~1.2.0":
+ version: 1.2.0
+ resolution: "setprototypeof@npm:1.2.0"
+ checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc
+ languageName: node
+ linkType: hard
+
+"shadcn@npm:^3.8.5":
+ version: 3.8.5
+ resolution: "shadcn@npm:3.8.5"
+ dependencies:
+ "@antfu/ni": "npm:^25.0.0"
+ "@babel/core": "npm:^7.28.0"
+ "@babel/parser": "npm:^7.28.0"
+ "@babel/plugin-transform-typescript": "npm:^7.28.0"
+ "@babel/preset-typescript": "npm:^7.27.1"
+ "@dotenvx/dotenvx": "npm:^1.48.4"
+ "@modelcontextprotocol/sdk": "npm:^1.26.0"
+ "@types/validate-npm-package-name": "npm:^4.0.2"
+ browserslist: "npm:^4.26.2"
+ commander: "npm:^14.0.0"
+ cosmiconfig: "npm:^9.0.0"
+ dedent: "npm:^1.6.0"
+ deepmerge: "npm:^4.3.1"
+ diff: "npm:^8.0.2"
+ execa: "npm:^9.6.0"
+ fast-glob: "npm:^3.3.3"
+ fs-extra: "npm:^11.3.1"
+ fuzzysort: "npm:^3.1.0"
+ https-proxy-agent: "npm:^7.0.6"
+ kleur: "npm:^4.1.5"
+ msw: "npm:^2.10.4"
+ node-fetch: "npm:^3.3.2"
+ open: "npm:^11.0.0"
+ ora: "npm:^8.2.0"
+ postcss: "npm:^8.5.6"
+ postcss-selector-parser: "npm:^7.1.0"
+ prompts: "npm:^2.4.2"
+ recast: "npm:^0.23.11"
+ stringify-object: "npm:^5.0.0"
+ tailwind-merge: "npm:^3.0.1"
+ ts-morph: "npm:^26.0.0"
+ tsconfig-paths: "npm:^4.2.0"
+ validate-npm-package-name: "npm:^7.0.1"
+ zod: "npm:^3.24.1"
+ zod-to-json-schema: "npm:^3.24.6"
+ bin:
+ shadcn: dist/index.js
+ checksum: 10c0/86401246725399fa9ce61721a03136b0466e2cb18f888d35f706926425bbfa08468204ec2673317c7d500939eb71d07bb410927acb54a79049ef726f5453e2ea
+ languageName: node
+ linkType: hard
+
+"sharp@npm:^0.34.4":
+ version: 0.34.5
+ resolution: "sharp@npm:0.34.5"
+ dependencies:
+ "@img/colour": "npm:^1.0.0"
+ "@img/sharp-darwin-arm64": "npm:0.34.5"
+ "@img/sharp-darwin-x64": "npm:0.34.5"
+ "@img/sharp-libvips-darwin-arm64": "npm:1.2.4"
+ "@img/sharp-libvips-darwin-x64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-arm": "npm:1.2.4"
+ "@img/sharp-libvips-linux-arm64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-ppc64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-riscv64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-s390x": "npm:1.2.4"
+ "@img/sharp-libvips-linux-x64": "npm:1.2.4"
+ "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4"
+ "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4"
+ "@img/sharp-linux-arm": "npm:0.34.5"
+ "@img/sharp-linux-arm64": "npm:0.34.5"
+ "@img/sharp-linux-ppc64": "npm:0.34.5"
+ "@img/sharp-linux-riscv64": "npm:0.34.5"
+ "@img/sharp-linux-s390x": "npm:0.34.5"
+ "@img/sharp-linux-x64": "npm:0.34.5"
+ "@img/sharp-linuxmusl-arm64": "npm:0.34.5"
+ "@img/sharp-linuxmusl-x64": "npm:0.34.5"
+ "@img/sharp-wasm32": "npm:0.34.5"
+ "@img/sharp-win32-arm64": "npm:0.34.5"
+ "@img/sharp-win32-ia32": "npm:0.34.5"
+ "@img/sharp-win32-x64": "npm:0.34.5"
+ detect-libc: "npm:^2.1.2"
+ semver: "npm:^7.7.3"
+ dependenciesMeta:
+ "@img/sharp-darwin-arm64":
+ optional: true
+ "@img/sharp-darwin-x64":
+ optional: true
+ "@img/sharp-libvips-darwin-arm64":
+ optional: true
+ "@img/sharp-libvips-darwin-x64":
+ optional: true
+ "@img/sharp-libvips-linux-arm":
+ optional: true
+ "@img/sharp-libvips-linux-arm64":
+ optional: true
+ "@img/sharp-libvips-linux-ppc64":
+ optional: true
+ "@img/sharp-libvips-linux-riscv64":
+ optional: true
+ "@img/sharp-libvips-linux-s390x":
+ optional: true
+ "@img/sharp-libvips-linux-x64":
+ optional: true
+ "@img/sharp-libvips-linuxmusl-arm64":
+ optional: true
+ "@img/sharp-libvips-linuxmusl-x64":
+ optional: true
+ "@img/sharp-linux-arm":
+ optional: true
+ "@img/sharp-linux-arm64":
+ optional: true
+ "@img/sharp-linux-ppc64":
+ optional: true
+ "@img/sharp-linux-riscv64":
+ optional: true
+ "@img/sharp-linux-s390x":
+ optional: true
+ "@img/sharp-linux-x64":
+ optional: true
+ "@img/sharp-linuxmusl-arm64":
+ optional: true
+ "@img/sharp-linuxmusl-x64":
+ optional: true
+ "@img/sharp-wasm32":
+ optional: true
+ "@img/sharp-win32-arm64":
+ optional: true
+ "@img/sharp-win32-ia32":
+ optional: true
+ "@img/sharp-win32-x64":
+ optional: true
+ checksum: 10c0/fd79e29df0597a7d5704b8461c51f944ead91a5243691697be6e8243b966402beda53ddc6f0a53b96ea3cb8221f0b244aa588114d3ebf8734fb4aefd41ab802f
+ languageName: node
+ linkType: hard
+
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
@@ -7386,6 +10483,54 @@ __metadata:
languageName: node
linkType: hard
+"side-channel-list@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "side-channel-list@npm:1.0.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ object-inspect: "npm:^1.13.3"
+ checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d
+ languageName: node
+ linkType: hard
+
+"side-channel-map@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "side-channel-map@npm:1.0.1"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.5"
+ object-inspect: "npm:^1.13.3"
+ checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672
+ languageName: node
+ linkType: hard
+
+"side-channel-weakmap@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "side-channel-weakmap@npm:1.0.2"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.5"
+ object-inspect: "npm:^1.13.3"
+ side-channel-map: "npm:^1.0.1"
+ checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185
+ languageName: node
+ linkType: hard
+
+"side-channel@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "side-channel@npm:1.1.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ object-inspect: "npm:^1.13.3"
+ side-channel-list: "npm:^1.0.0"
+ side-channel-map: "npm:^1.0.1"
+ side-channel-weakmap: "npm:^1.0.2"
+ checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6
+ languageName: node
+ linkType: hard
+
"siginfo@npm:^2.0.0":
version: 2.0.0
resolution: "siginfo@npm:2.0.0"
@@ -7393,6 +10538,27 @@ __metadata:
languageName: node
linkType: hard
+"signal-exit@npm:^3.0.3":
+ version: 3.0.7
+ resolution: "signal-exit@npm:3.0.7"
+ checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912
+ languageName: node
+ linkType: hard
+
+"signal-exit@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "signal-exit@npm:4.1.0"
+ checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
+ languageName: node
+ linkType: hard
+
+"sisteransi@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "sisteransi@npm:1.0.5"
+ checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46
+ languageName: node
+ linkType: hard
+
"smart-buffer@npm:^4.2.0":
version: 4.2.0
resolution: "smart-buffer@npm:4.2.0"
@@ -7439,7 +10605,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-js@npm:^1.2.1":
+"source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1":
version: 1.2.1
resolution: "source-map-js@npm:1.2.1"
checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf
@@ -7456,7 +10622,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map@npm:^0.6.0":
+"source-map@npm:^0.6.0, source-map@npm:~0.6.1":
version: 0.6.1
resolution: "source-map@npm:0.6.1"
checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011
@@ -7479,6 +10645,13 @@ __metadata:
languageName: node
linkType: hard
+"stable-hash@npm:^0.0.5":
+ version: 0.0.5
+ resolution: "stable-hash@npm:0.0.5"
+ checksum: 10c0/ca670cb6d172f1c834950e4ec661e2055885df32fee3ebf3647c5df94993b7c2666a5dbc1c9a62ee11fc5c24928579ec5e81bb5ad31971d355d5a341aab493b3
+ languageName: node
+ linkType: hard
+
"stackback@npm:0.0.2":
version: 0.0.2
resolution: "stackback@npm:0.0.2"
@@ -7486,6 +10659,13 @@ __metadata:
languageName: node
linkType: hard
+"statuses@npm:^2.0.1, statuses@npm:^2.0.2, statuses@npm:~2.0.2":
+ version: 2.0.2
+ resolution: "statuses@npm:2.0.2"
+ checksum: 10c0/a9947d98ad60d01f6b26727570f3bcceb6c8fa789da64fe6889908fe2e294d57503b14bf2b5af7605c2d36647259e856635cd4c49eab41667658ec9d0080ec3f
+ languageName: node
+ linkType: hard
+
"std-env@npm:^3.3.2, std-env@npm:^3.3.3":
version: 3.10.0
resolution: "std-env@npm:3.10.0"
@@ -7493,6 +10673,132 @@ __metadata:
languageName: node
linkType: hard
+"stdin-discarder@npm:^0.2.2":
+ version: 0.2.2
+ resolution: "stdin-discarder@npm:0.2.2"
+ checksum: 10c0/c78375e82e956d7a64be6e63c809c7f058f5303efcaf62ea48350af072bacdb99c06cba39209b45a071c1acbd49116af30df1df9abb448df78a6005b72f10537
+ languageName: node
+ linkType: hard
+
+"stop-iteration-iterator@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "stop-iteration-iterator@npm:1.1.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ internal-slot: "npm:^1.1.0"
+ checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09
+ languageName: node
+ linkType: hard
+
+"strict-event-emitter@npm:^0.5.1":
+ version: 0.5.1
+ resolution: "strict-event-emitter@npm:0.5.1"
+ checksum: 10c0/f5228a6e6b6393c57f52f62e673cfe3be3294b35d6f7842fc24b172ae0a6e6c209fa83241d0e433fc267c503bc2f4ffdbe41a9990ff8ffd5ac425ec0489417f7
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
+ version: 4.2.3
+ resolution: "string-width@npm:4.2.3"
+ dependencies:
+ emoji-regex: "npm:^8.0.0"
+ is-fullwidth-code-point: "npm:^3.0.0"
+ strip-ansi: "npm:^6.0.1"
+ checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^7.2.0":
+ version: 7.2.0
+ resolution: "string-width@npm:7.2.0"
+ dependencies:
+ emoji-regex: "npm:^10.3.0"
+ get-east-asian-width: "npm:^1.0.0"
+ strip-ansi: "npm:^7.1.0"
+ checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9
+ languageName: node
+ linkType: hard
+
+"string.prototype.includes@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "string.prototype.includes@npm:2.0.1"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.3"
+ checksum: 10c0/25ce9c9b49128352a2618fbe8758b46f945817a58a4420f4799419e40a8d28f116e176c7590d767d5327a61e75c8f32c86171063f48e389b9fdd325f1bd04ee5
+ languageName: node
+ linkType: hard
+
+"string.prototype.matchall@npm:^4.0.12":
+ version: 4.0.12
+ resolution: "string.prototype.matchall@npm:4.0.12"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.6"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.6"
+ gopd: "npm:^1.2.0"
+ has-symbols: "npm:^1.1.0"
+ internal-slot: "npm:^1.1.0"
+ regexp.prototype.flags: "npm:^1.5.3"
+ set-function-name: "npm:^2.0.2"
+ side-channel: "npm:^1.1.0"
+ checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c
+ languageName: node
+ linkType: hard
+
+"string.prototype.repeat@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "string.prototype.repeat@npm:1.0.0"
+ dependencies:
+ define-properties: "npm:^1.1.3"
+ es-abstract: "npm:^1.17.5"
+ checksum: 10c0/94c7978566cffa1327d470fd924366438af9b04b497c43a9805e476e2e908aa37a1fd34cc0911156c17556dab62159d12c7b92b3cc304c3e1281fe4c8e668f40
+ languageName: node
+ linkType: hard
+
+"string.prototype.trim@npm:^1.2.10":
+ version: 1.2.10
+ resolution: "string.prototype.trim@npm:1.2.10"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.2"
+ define-data-property: "npm:^1.1.4"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.5"
+ es-object-atoms: "npm:^1.0.0"
+ has-property-descriptors: "npm:^1.0.2"
+ checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8
+ languageName: node
+ linkType: hard
+
+"string.prototype.trimend@npm:^1.0.9":
+ version: 1.0.9
+ resolution: "string.prototype.trimend@npm:1.0.9"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.2"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6
+ languageName: node
+ linkType: hard
+
+"string.prototype.trimstart@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "string.prototype.trimstart@npm:1.0.8"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/d53af1899959e53c83b64a5fd120be93e067da740e7e75acb433849aa640782fb6c7d4cd5b84c954c84413745a3764df135a8afeb22908b86a835290788d8366
+ languageName: node
+ linkType: hard
+
"string_decoder@npm:^1.3.0":
version: 1.3.0
resolution: "string_decoder@npm:1.3.0"
@@ -7502,7 +10808,18 @@ __metadata:
languageName: node
linkType: hard
-"strip-ansi@npm:^6.0.1":
+"stringify-object@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "stringify-object@npm:5.0.0"
+ dependencies:
+ get-own-enumerable-keys: "npm:^1.0.0"
+ is-obj: "npm:^3.0.0"
+ is-regexp: "npm:^3.1.0"
+ checksum: 10c0/f955bb0b41edb0a200bf5ba24d516a2d409c749a01224e14a088ecf07fec3d930ec90da3a681f6798b9d6a1b187cb3bb57f0d17525190006ef3bd609d0300bb9
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
version: 6.0.1
resolution: "strip-ansi@npm:6.0.1"
dependencies:
@@ -7511,6 +10828,15 @@ __metadata:
languageName: node
linkType: hard
+"strip-ansi@npm:^7.1.0":
+ version: 7.1.2
+ resolution: "strip-ansi@npm:7.1.2"
+ dependencies:
+ ansi-regex: "npm:^6.0.1"
+ checksum: 10c0/0d6d7a023de33368fd042aab0bf48f4f4077abdfd60e5393e73c7c411e85e1b3a83507c11af2e656188511475776215df9ca589b4da2295c9455cc399ce1858b
+ languageName: node
+ linkType: hard
+
"strip-bom@npm:^3.0.0":
version: 3.0.0
resolution: "strip-bom@npm:3.0.0"
@@ -7518,6 +10844,20 @@ __metadata:
languageName: node
linkType: hard
+"strip-final-newline@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "strip-final-newline@npm:2.0.0"
+ checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f
+ languageName: node
+ linkType: hard
+
+"strip-final-newline@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "strip-final-newline@npm:4.0.0"
+ checksum: 10c0/b0cf2b62d597a1b0e3ebc42b88767f0a0d45601f89fd379a928a1812c8779440c81abba708082c946445af1d6b62d5f16e2a7cf4f30d9d6587b89425fae801ff
+ languageName: node
+ linkType: hard
+
"strip-json-comments@npm:^2.0.0":
version: 2.0.1
resolution: "strip-json-comments@npm:2.0.1"
@@ -7548,6 +10888,22 @@ __metadata:
languageName: node
linkType: hard
+"styled-jsx@npm:5.1.6":
+ version: 5.1.6
+ resolution: "styled-jsx@npm:5.1.6"
+ dependencies:
+ client-only: "npm:0.0.1"
+ peerDependencies:
+ react: ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
+ peerDependenciesMeta:
+ "@babel/core":
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ checksum: 10c0/ace50e7ea5ae5ae6a3b65a50994c51fca6ae7df9c7ecfd0104c36be0b4b3a9c5c1a2374d16e2a11e256d0b20be6d47256d768ecb4f91ab390f60752a075780f5
+ languageName: node
+ linkType: hard
+
"supports-color@npm:^7.1.0":
version: 7.2.0
resolution: "supports-color@npm:7.2.0"
@@ -7573,26 +10929,24 @@ __metadata:
languageName: node
linkType: hard
-"tailwind-merge@npm:^3.5.0":
+"tagged-tag@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "tagged-tag@npm:1.0.0"
+ checksum: 10c0/91d25c9ffb86a91f20522cefb2cbec9b64caa1febe27ad0df52f08993ff60888022d771e868e6416cf2e72dab68449d2139e8709ba009b74c6c7ecd4000048d1
+ languageName: node
+ linkType: hard
+
+"tailwind-merge@npm:^3.0.1, tailwind-merge@npm:^3.5.0":
version: 3.5.0
resolution: "tailwind-merge@npm:3.5.0"
checksum: 10c0/4dc588f5b5296ba3f38e1ebb41f02b6d24a8c5bb45e44b33748c118fb4b5767dd0efc464431ca3e75404056b618b5f67bec3708158baa65fed8a2fc9201e0c53
languageName: node
linkType: hard
-"tailwindcss-animate@npm:^1.0.7":
- version: 1.0.7
- resolution: "tailwindcss-animate@npm:1.0.7"
- peerDependencies:
- tailwindcss: "*"
- checksum: 10c0/ec7dbd1631076b97d66a1fbaaa06e0725fccfa63119221e8d87a997b02dcede98ad88bb1ef6665b968f5d260fcefb10592e0299ca70208d365b37761edf5e19a
- languageName: node
- linkType: hard
-
-"tailwindcss@npm:4.2.0, tailwindcss@npm:^4.2.0":
- version: 4.2.0
- resolution: "tailwindcss@npm:4.2.0"
- checksum: 10c0/f3152625466651a44b4e397a47f571158477c9ebf35442842f6bbe9728039724e57567ae35972cbfebbc13aaadb053dfa32d20907b971e79dab20568e11b197f
+"tailwindcss@npm:4.2.1, tailwindcss@npm:^4":
+ version: 4.2.1
+ resolution: "tailwindcss@npm:4.2.1"
+ checksum: 10c0/482d734b582e9da509042ff59c1d7564d99e39e238c50ae907c20fa56177a8a00c3902f6971329971bd6a1c5357026ac76a849b8f2c69c94f0f59be99530ba54
languageName: node
linkType: hard
@@ -7655,13 +11009,6 @@ __metadata:
languageName: node
linkType: hard
-"tiny-warning@npm:^1.0.3":
- version: 1.0.3
- resolution: "tiny-warning@npm:1.0.3"
- checksum: 10c0/ef8531f581b30342f29670cb41ca248001c6fd7975ce22122bd59b8d62b4fc84ad4207ee7faa95cde982fa3357cd8f4be650142abc22805538c3b1392d7084fa
- languageName: node
- linkType: hard
-
"tinybench@npm:^2.5.0":
version: 2.9.0
resolution: "tinybench@npm:2.9.0"
@@ -7669,14 +11016,14 @@ __metadata:
languageName: node
linkType: hard
-"tinyexec@npm:^1.0.2":
+"tinyexec@npm:^1.0.1, tinyexec@npm:^1.0.2":
version: 1.0.2
resolution: "tinyexec@npm:1.0.2"
checksum: 10c0/1261a8e34c9b539a9aae3b7f0bb5372045ff28ee1eba035a2a059e532198fe1a182ec61ac60fa0b4a4129f0c4c4b1d2d57355b5cb9aa2d17ac9454ecace502ee
languageName: node
linkType: hard
-"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.15":
+"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.15":
version: 0.2.15
resolution: "tinyglobby@npm:0.2.15"
dependencies:
@@ -7707,6 +11054,24 @@ __metadata:
languageName: node
linkType: hard
+"tldts-core@npm:^7.0.23":
+ version: 7.0.23
+ resolution: "tldts-core@npm:7.0.23"
+ checksum: 10c0/b3d936a75b5f65614c356a58ef37563681c6224187dcce9f57aac76d92aae83b1a6fe6ab910f77472b35456bc145a8441cb3e572b4850be43cb4f3465e0610ec
+ languageName: node
+ linkType: hard
+
+"tldts@npm:^7.0.5":
+ version: 7.0.23
+ resolution: "tldts@npm:7.0.23"
+ dependencies:
+ tldts-core: "npm:^7.0.23"
+ bin:
+ tldts: bin/cli.js
+ checksum: 10c0/492874770afaade724a10f8a97cce511d74bed07735c7f1100b7957254d7a5bbbc18becaf5cd049f9d7b0feeb945a64af64d5a300dfb851a4ac57cf3a5998afc
+ languageName: node
+ linkType: hard
+
"to-regex-range@npm:^5.0.1":
version: 5.0.1
resolution: "to-regex-range@npm:5.0.1"
@@ -7723,6 +11088,22 @@ __metadata:
languageName: node
linkType: hard
+"toidentifier@npm:~1.0.1":
+ version: 1.0.1
+ resolution: "toidentifier@npm:1.0.1"
+ checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1
+ languageName: node
+ linkType: hard
+
+"tough-cookie@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "tough-cookie@npm:6.0.0"
+ dependencies:
+ tldts: "npm:^7.0.5"
+ checksum: 10c0/7b17a461e9c2ac0d0bea13ab57b93b4346d0b8c00db174c963af1e46e4ea8d04148d2a55f2358fc857db0c0c65208a98e319d0c60693e32e0c559a9d9cf20cb5
+ languageName: node
+ linkType: hard
+
"tree-kill@npm:^1.2.2":
version: 1.2.2
resolution: "tree-kill@npm:1.2.2"
@@ -7741,6 +11122,16 @@ __metadata:
languageName: node
linkType: hard
+"ts-morph@npm:^26.0.0":
+ version: 26.0.0
+ resolution: "ts-morph@npm:26.0.0"
+ dependencies:
+ "@ts-morph/common": "npm:~0.27.0"
+ code-block-writer: "npm:^13.0.3"
+ checksum: 10c0/c6880d90a1eefe0ce6555bf8c11cc104b1f36f84bd36a37a82b9ae0b974f51fe6b1bc91bb0ec42550158dc1c812329d6433e1237cba64f1ef515c129b321dd5d
+ languageName: node
+ linkType: hard
+
"ts-node-dev@npm:^2.0.0":
version: 2.0.0
resolution: "ts-node-dev@npm:2.0.0"
@@ -7806,6 +11197,29 @@ __metadata:
languageName: node
linkType: hard
+"tsconfig-paths@npm:^3.15.0":
+ version: 3.15.0
+ resolution: "tsconfig-paths@npm:3.15.0"
+ dependencies:
+ "@types/json5": "npm:^0.0.29"
+ json5: "npm:^1.0.2"
+ minimist: "npm:^1.2.6"
+ strip-bom: "npm:^3.0.0"
+ checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5
+ languageName: node
+ linkType: hard
+
+"tsconfig-paths@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "tsconfig-paths@npm:4.2.0"
+ dependencies:
+ json5: "npm:^2.2.2"
+ minimist: "npm:^1.2.6"
+ strip-bom: "npm:^3.0.0"
+ checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea
+ languageName: node
+ linkType: hard
+
"tsconfig@npm:^7.0.0":
version: 7.0.0
resolution: "tsconfig@npm:7.0.0"
@@ -7818,13 +11232,20 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.8.1":
+"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.8.0, tslib@npm:^2.8.1":
version: 2.8.1
resolution: "tslib@npm:2.8.1"
checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62
languageName: node
linkType: hard
+"tw-animate-css@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "tw-animate-css@npm:1.4.0"
+ checksum: 10c0/6cfbc19ccc73883ec80ef1f9147f43e736cb01ee99c8172968b37eb81b720523d30e38b1a96aef92db3c586d864204db5510b51744ddacbbf0ad8e3c7fb56ec7
+ languageName: node
+ linkType: hard
+
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"
@@ -7848,7 +11269,80 @@ __metadata:
languageName: node
linkType: hard
-"typescript-eslint@npm:^8.48.0":
+"type-fest@npm:^5.2.0":
+ version: 5.4.4
+ resolution: "type-fest@npm:5.4.4"
+ dependencies:
+ tagged-tag: "npm:^1.0.0"
+ checksum: 10c0/bf9c6d7df5383fd720aac71da8ce8690ff1c554459d19cf3c72d61eac98255dba57abe20c628f91f4116f66211791462fdafa90b2be2d7405a5a4c295e4d849d
+ languageName: node
+ linkType: hard
+
+"type-is@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "type-is@npm:2.0.1"
+ dependencies:
+ content-type: "npm:^1.0.5"
+ media-typer: "npm:^1.1.0"
+ mime-types: "npm:^3.0.0"
+ checksum: 10c0/7f7ec0a060b16880bdad36824ab37c26019454b67d73e8a465ed5a3587440fbe158bc765f0da68344498235c877e7dbbb1600beccc94628ed05599d667951b99
+ languageName: node
+ linkType: hard
+
+"typed-array-buffer@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "typed-array-buffer@npm:1.0.3"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ es-errors: "npm:^1.3.0"
+ is-typed-array: "npm:^1.1.14"
+ checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079
+ languageName: node
+ linkType: hard
+
+"typed-array-byte-length@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "typed-array-byte-length@npm:1.0.3"
+ dependencies:
+ call-bind: "npm:^1.0.8"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.2.0"
+ has-proto: "npm:^1.2.0"
+ is-typed-array: "npm:^1.1.14"
+ checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e
+ languageName: node
+ linkType: hard
+
+"typed-array-byte-offset@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "typed-array-byte-offset@npm:1.0.4"
+ dependencies:
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.2.0"
+ has-proto: "npm:^1.2.0"
+ is-typed-array: "npm:^1.1.15"
+ reflect.getprototypeof: "npm:^1.0.9"
+ checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53
+ languageName: node
+ linkType: hard
+
+"typed-array-length@npm:^1.0.7":
+ version: 1.0.7
+ resolution: "typed-array-length@npm:1.0.7"
+ dependencies:
+ call-bind: "npm:^1.0.7"
+ for-each: "npm:^0.3.3"
+ gopd: "npm:^1.0.1"
+ is-typed-array: "npm:^1.1.13"
+ possible-typed-array-names: "npm:^1.0.0"
+ reflect.getprototypeof: "npm:^1.0.6"
+ checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295
+ languageName: node
+ linkType: hard
+
+"typescript-eslint@npm:^8.46.0":
version: 8.56.0
resolution: "typescript-eslint@npm:8.56.0"
dependencies:
@@ -7863,7 +11357,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@npm:^5.2.0, typescript@npm:^5.9.3, typescript@npm:~5.9.3":
+"typescript@npm:^5, typescript@npm:^5.2.0, typescript@npm:^5.9.3":
version: 5.9.3
resolution: "typescript@npm:5.9.3"
bin:
@@ -7873,7 +11367,7 @@ __metadata:
languageName: node
linkType: hard
-"typescript@patch:typescript@npm%3A^5.2.0#optional!builtin, typescript@patch:typescript@npm%3A^5.9.3#optional!builtin, typescript@patch:typescript@npm%3A~5.9.3#optional!builtin":
+"typescript@patch:typescript@npm%3A^5#optional!builtin, typescript@patch:typescript@npm%3A^5.2.0#optional!builtin, typescript@patch:typescript@npm%3A^5.9.3#optional!builtin":
version: 5.9.3
resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5"
bin:
@@ -7890,6 +11384,18 @@ __metadata:
languageName: node
linkType: hard
+"unbox-primitive@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "unbox-primitive@npm:1.1.0"
+ dependencies:
+ call-bound: "npm:^1.0.3"
+ has-bigints: "npm:^1.0.2"
+ has-symbols: "npm:^1.1.0"
+ which-boxed-primitive: "npm:^1.1.1"
+ checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982
+ languageName: node
+ linkType: hard
+
"undici-types@npm:~5.26.4":
version: 5.26.5
resolution: "undici-types@npm:5.26.5"
@@ -7897,6 +11403,13 @@ __metadata:
languageName: node
linkType: hard
+"undici-types@npm:~6.21.0":
+ version: 6.21.0
+ resolution: "undici-types@npm:6.21.0"
+ checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
+ languageName: node
+ linkType: hard
+
"undici-types@npm:~7.16.0":
version: 7.16.0
resolution: "undici-types@npm:7.16.0"
@@ -7913,6 +11426,13 @@ __metadata:
languageName: node
linkType: hard
+"unicorn-magic@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "unicorn-magic@npm:0.3.0"
+ checksum: 10c0/0a32a997d6c15f1c2a077a15b1c4ca6f268d574cf5b8975e778bb98e6f8db4ef4e86dfcae4e158cd4c7e38fb4dd383b93b13eefddc7f178dea13d3ac8a603271
+ languageName: node
+ linkType: hard
+
"unique-filename@npm:^5.0.0":
version: 5.0.0
resolution: "unique-filename@npm:5.0.0"
@@ -7931,6 +11451,94 @@ __metadata:
languageName: node
linkType: hard
+"universalify@npm:^2.0.0":
+ version: 2.0.1
+ resolution: "universalify@npm:2.0.1"
+ checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a
+ languageName: node
+ linkType: hard
+
+"unpipe@npm:~1.0.0":
+ version: 1.0.0
+ resolution: "unpipe@npm:1.0.0"
+ checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c
+ languageName: node
+ linkType: hard
+
+"unrs-resolver@npm:^1.6.2":
+ version: 1.11.1
+ resolution: "unrs-resolver@npm:1.11.1"
+ dependencies:
+ "@unrs/resolver-binding-android-arm-eabi": "npm:1.11.1"
+ "@unrs/resolver-binding-android-arm64": "npm:1.11.1"
+ "@unrs/resolver-binding-darwin-arm64": "npm:1.11.1"
+ "@unrs/resolver-binding-darwin-x64": "npm:1.11.1"
+ "@unrs/resolver-binding-freebsd-x64": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-arm-gnueabihf": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-arm-musleabihf": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-arm64-gnu": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-arm64-musl": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-ppc64-gnu": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-riscv64-gnu": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-riscv64-musl": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-s390x-gnu": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-x64-gnu": "npm:1.11.1"
+ "@unrs/resolver-binding-linux-x64-musl": "npm:1.11.1"
+ "@unrs/resolver-binding-wasm32-wasi": "npm:1.11.1"
+ "@unrs/resolver-binding-win32-arm64-msvc": "npm:1.11.1"
+ "@unrs/resolver-binding-win32-ia32-msvc": "npm:1.11.1"
+ "@unrs/resolver-binding-win32-x64-msvc": "npm:1.11.1"
+ napi-postinstall: "npm:^0.3.0"
+ dependenciesMeta:
+ "@unrs/resolver-binding-android-arm-eabi":
+ optional: true
+ "@unrs/resolver-binding-android-arm64":
+ optional: true
+ "@unrs/resolver-binding-darwin-arm64":
+ optional: true
+ "@unrs/resolver-binding-darwin-x64":
+ optional: true
+ "@unrs/resolver-binding-freebsd-x64":
+ optional: true
+ "@unrs/resolver-binding-linux-arm-gnueabihf":
+ optional: true
+ "@unrs/resolver-binding-linux-arm-musleabihf":
+ optional: true
+ "@unrs/resolver-binding-linux-arm64-gnu":
+ optional: true
+ "@unrs/resolver-binding-linux-arm64-musl":
+ optional: true
+ "@unrs/resolver-binding-linux-ppc64-gnu":
+ optional: true
+ "@unrs/resolver-binding-linux-riscv64-gnu":
+ optional: true
+ "@unrs/resolver-binding-linux-riscv64-musl":
+ optional: true
+ "@unrs/resolver-binding-linux-s390x-gnu":
+ optional: true
+ "@unrs/resolver-binding-linux-x64-gnu":
+ optional: true
+ "@unrs/resolver-binding-linux-x64-musl":
+ optional: true
+ "@unrs/resolver-binding-wasm32-wasi":
+ optional: true
+ "@unrs/resolver-binding-win32-arm64-msvc":
+ optional: true
+ "@unrs/resolver-binding-win32-ia32-msvc":
+ optional: true
+ "@unrs/resolver-binding-win32-x64-msvc":
+ optional: true
+ checksum: 10c0/c91b112c71a33d6b24e5c708dab43ab80911f2df8ee65b87cd7a18fb5af446708e98c4b415ca262026ad8df326debcc7ca6a801b2935504d87fd6f0b9d70dce1
+ languageName: node
+ linkType: hard
+
+"until-async@npm:^3.0.2":
+ version: 3.0.2
+ resolution: "until-async@npm:3.0.2"
+ checksum: 10c0/61c8b03895dbe18fe3d90316d0a1894e0c131ea4b1673f6ce78eed993d0bb81bbf4b7adf8477e9ff7725782a76767eed9d077561cfc9f89b4a1ebe61f7c9828e
+ languageName: node
+ linkType: hard
+
"update-browserslist-db@npm:^1.2.0":
version: 1.2.3
resolution: "update-browserslist-db@npm:1.2.3"
@@ -7985,7 +11593,7 @@ __metadata:
languageName: node
linkType: hard
-"use-sync-external-store@npm:^1.5.0, use-sync-external-store@npm:^1.6.0":
+"use-sync-external-store@npm:^1.5.0":
version: 1.6.0
resolution: "use-sync-external-store@npm:1.6.0"
peerDependencies:
@@ -7994,6 +11602,13 @@ __metadata:
languageName: node
linkType: hard
+"util-deprecate@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "util-deprecate@npm:1.0.2"
+ checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942
+ languageName: node
+ linkType: hard
+
"v8-compile-cache-lib@npm:^3.0.1":
version: 3.0.1
resolution: "v8-compile-cache-lib@npm:3.0.1"
@@ -8001,6 +11616,20 @@ __metadata:
languageName: node
linkType: hard
+"validate-npm-package-name@npm:^7.0.1":
+ version: 7.0.2
+ resolution: "validate-npm-package-name@npm:7.0.2"
+ checksum: 10c0/adf32e943148e13e8df13d06b855493908e6ae7a847610e8543c6291cbf42f40e653249a5b2275e2e615e3224c574ade5a9064a9e2d1ab629386284ea99e8f39
+ languageName: node
+ linkType: hard
+
+"vary@npm:^1, vary@npm:^1.1.2":
+ version: 1.1.2
+ resolution: "vary@npm:1.1.2"
+ checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f
+ languageName: node
+ linkType: hard
+
"vite-node@npm:0.31.4":
version: 0.31.4
resolution: "vite-node@npm:0.31.4"
@@ -8116,61 +11745,6 @@ __metadata:
languageName: node
linkType: hard
-"vite@npm:^7.3.1":
- version: 7.3.1
- resolution: "vite@npm:7.3.1"
- dependencies:
- esbuild: "npm:^0.27.0"
- fdir: "npm:^6.5.0"
- fsevents: "npm:~2.3.3"
- picomatch: "npm:^4.0.3"
- postcss: "npm:^8.5.6"
- rollup: "npm:^4.43.0"
- tinyglobby: "npm:^0.2.15"
- peerDependencies:
- "@types/node": ^20.19.0 || >=22.12.0
- jiti: ">=1.21.0"
- less: ^4.0.0
- lightningcss: ^1.21.0
- sass: ^1.70.0
- sass-embedded: ^1.70.0
- stylus: ">=0.54.8"
- sugarss: ^5.0.0
- terser: ^5.16.0
- tsx: ^4.8.1
- yaml: ^2.4.2
- dependenciesMeta:
- fsevents:
- optional: true
- peerDependenciesMeta:
- "@types/node":
- optional: true
- jiti:
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- sass-embedded:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
- tsx:
- optional: true
- yaml:
- optional: true
- bin:
- vite: bin/vite.js
- checksum: 10c0/5c7548f5f43a23533e53324304db4ad85f1896b1bfd3ee32ae9b866bac2933782c77b350eb2b52a02c625c8ad1ddd4c000df077419410650c982cd97fde8d014
- languageName: node
- linkType: hard
-
"vitest@npm:^0.31.0":
version: 0.31.4
resolution: "vitest@npm:0.31.4"
@@ -8292,6 +11866,13 @@ __metadata:
languageName: node
linkType: hard
+"web-streams-polyfill@npm:^3.0.3":
+ version: 3.3.3
+ resolution: "web-streams-polyfill@npm:3.3.3"
+ checksum: 10c0/64e855c47f6c8330b5436147db1c75cb7e7474d924166800e8e2aab5eb6c76aac4981a84261dd2982b3e754490900b99791c80ae1407a9fa0dcff74f82ea3a7f
+ languageName: node
+ linkType: hard
+
"well-known-symbols@npm:^2.0.0":
version: 2.0.0
resolution: "well-known-symbols@npm:2.0.0"
@@ -8299,6 +11880,67 @@ __metadata:
languageName: node
linkType: hard
+"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "which-boxed-primitive@npm:1.1.1"
+ dependencies:
+ is-bigint: "npm:^1.1.0"
+ is-boolean-object: "npm:^1.2.1"
+ is-number-object: "npm:^1.1.1"
+ is-string: "npm:^1.1.1"
+ is-symbol: "npm:^1.1.1"
+ checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe
+ languageName: node
+ linkType: hard
+
+"which-builtin-type@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "which-builtin-type@npm:1.2.1"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ function.prototype.name: "npm:^1.1.6"
+ has-tostringtag: "npm:^1.0.2"
+ is-async-function: "npm:^2.0.0"
+ is-date-object: "npm:^1.1.0"
+ is-finalizationregistry: "npm:^1.1.0"
+ is-generator-function: "npm:^1.0.10"
+ is-regex: "npm:^1.2.1"
+ is-weakref: "npm:^1.0.2"
+ isarray: "npm:^2.0.5"
+ which-boxed-primitive: "npm:^1.1.0"
+ which-collection: "npm:^1.0.2"
+ which-typed-array: "npm:^1.1.16"
+ checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471
+ languageName: node
+ linkType: hard
+
+"which-collection@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "which-collection@npm:1.0.2"
+ dependencies:
+ is-map: "npm:^2.0.3"
+ is-set: "npm:^2.0.3"
+ is-weakmap: "npm:^2.0.2"
+ is-weakset: "npm:^2.0.3"
+ checksum: 10c0/3345fde20964525a04cdf7c4a96821f85f0cc198f1b2ecb4576e08096746d129eb133571998fe121c77782ac8f21cbd67745a3d35ce100d26d4e684c142ea1f2
+ languageName: node
+ linkType: hard
+
+"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19":
+ version: 1.1.20
+ resolution: "which-typed-array@npm:1.1.20"
+ dependencies:
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ for-each: "npm:^0.3.5"
+ get-proto: "npm:^1.0.1"
+ gopd: "npm:^1.2.0"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/16fcdada95c8afb821cd1117f0ab50b4d8551677ac08187f21d4e444530913c9ffd2dac634f0c1183345f96344b69280f40f9a8bc52164ef409e555567c2604b
+ languageName: node
+ linkType: hard
+
"which@npm:^2.0.1":
version: 2.0.2
resolution: "which@npm:2.0.2"
@@ -8310,6 +11952,17 @@ __metadata:
languageName: node
linkType: hard
+"which@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "which@npm:4.0.0"
+ dependencies:
+ isexe: "npm:^3.1.1"
+ bin:
+ node-which: bin/which.js
+ checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a
+ languageName: node
+ linkType: hard
+
"which@npm:^6.0.0":
version: 6.0.0
resolution: "which@npm:6.0.0"
@@ -8340,6 +11993,28 @@ __metadata:
languageName: node
linkType: hard
+"wrap-ansi@npm:^6.2.0":
+ version: 6.2.0
+ resolution: "wrap-ansi@npm:6.2.0"
+ dependencies:
+ ansi-styles: "npm:^4.0.0"
+ string-width: "npm:^4.1.0"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c
+ languageName: node
+ linkType: hard
+
+"wrap-ansi@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "wrap-ansi@npm:7.0.0"
+ dependencies:
+ ansi-styles: "npm:^4.0.0"
+ string-width: "npm:^4.1.0"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da
+ languageName: node
+ linkType: hard
+
"wrappy@npm:1":
version: 1.0.2
resolution: "wrappy@npm:1.0.2"
@@ -8347,6 +12022,16 @@ __metadata:
languageName: node
linkType: hard
+"wsl-utils@npm:^0.3.0":
+ version: 0.3.1
+ resolution: "wsl-utils@npm:0.3.1"
+ dependencies:
+ is-wsl: "npm:^3.1.0"
+ powershell-utils: "npm:^0.1.0"
+ checksum: 10c0/b3ba99cc6b71f66457eef598d529beeb8cb57a72646877fe25993894b808c60b82f6d47df5463f0b6e54632272f62f5eaea105c12784fd09b06f500f3f53aa2e
+ languageName: node
+ linkType: hard
+
"xtend@npm:^4.0.0":
version: 4.0.2
resolution: "xtend@npm:4.0.2"
@@ -8354,6 +12039,13 @@ __metadata:
languageName: node
linkType: hard
+"y18n@npm:^5.0.5":
+ version: 5.0.8
+ resolution: "y18n@npm:5.0.8"
+ checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249
+ languageName: node
+ linkType: hard
+
"yallist@npm:^3.0.2":
version: 3.1.1
resolution: "yallist@npm:3.1.1"
@@ -8384,6 +12076,28 @@ __metadata:
languageName: node
linkType: hard
+"yargs-parser@npm:^21.1.1":
+ version: 21.1.1
+ resolution: "yargs-parser@npm:21.1.1"
+ checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2
+ languageName: node
+ linkType: hard
+
+"yargs@npm:^17.7.2":
+ version: 17.7.2
+ resolution: "yargs@npm:17.7.2"
+ dependencies:
+ cliui: "npm:^8.0.1"
+ escalade: "npm:^3.1.1"
+ get-caller-file: "npm:^2.0.5"
+ require-directory: "npm:^2.1.1"
+ string-width: "npm:^4.2.3"
+ y18n: "npm:^5.0.5"
+ yargs-parser: "npm:^21.1.1"
+ checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05
+ languageName: node
+ linkType: hard
+
"yn@npm:3.1.1":
version: 3.1.1
resolution: "yn@npm:3.1.1"
@@ -8405,6 +12119,29 @@ __metadata:
languageName: node
linkType: hard
+"yoctocolors-cjs@npm:^2.1.3":
+ version: 2.1.3
+ resolution: "yoctocolors-cjs@npm:2.1.3"
+ checksum: 10c0/584168ef98eb5d913473a4858dce128803c4a6cd87c0f09e954fa01126a59a33ab9e513b633ad9ab953786ed16efdd8c8700097a51635aafaeed3fef7712fa79
+ languageName: node
+ linkType: hard
+
+"yoctocolors@npm:^2.1.1":
+ version: 2.1.2
+ resolution: "yoctocolors@npm:2.1.2"
+ checksum: 10c0/b220f30f53ebc2167330c3adc86a3c7f158bcba0236f6c67e25644c3188e2571a6014ffc1321943bb619460259d3d27eb4c9cc58c2d884c1b195805883ec7066
+ languageName: node
+ linkType: hard
+
+"zod-to-json-schema@npm:^3.24.6, zod-to-json-schema@npm:^3.25.1":
+ version: 3.25.1
+ resolution: "zod-to-json-schema@npm:3.25.1"
+ peerDependencies:
+ zod: ^3.25 || ^4
+ checksum: 10c0/711b30e34d1f1211f1afe64bf457f0d799234199dc005cca720b236ea808804c03164039c232f5df33c46f462023874015a8a0b3aab1585eca14124c324db7e2
+ languageName: node
+ linkType: hard
+
"zod-validation-error@npm:^3.5.0 || ^4.0.0":
version: 4.0.2
resolution: "zod-validation-error@npm:4.0.2"
@@ -8414,14 +12151,14 @@ __metadata:
languageName: node
linkType: hard
-"zod@npm:^3.22.0":
+"zod@npm:^3.22.0, zod@npm:^3.24.1":
version: 3.25.76
resolution: "zod@npm:3.25.76"
checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c
languageName: node
linkType: hard
-"zod@npm:^3.25.0 || ^4.0.0, zod@npm:^4.3.6":
+"zod@npm:^3.25 || ^4.0, zod@npm:^3.25.0 || ^4.0.0":
version: 4.3.6
resolution: "zod@npm:4.3.6"
checksum: 10c0/860d25a81ab41d33aa25f8d0d07b091a04acb426e605f396227a796e9e800c44723ed96d0f53a512b57be3d1520f45bf69c0cb3b378a232a00787a2609625307