From 8d6f0d6cfd492e97ea866064968cf29f6e2c6936 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Fri, 28 Nov 2025 10:43:51 -0500 Subject: [PATCH 1/3] [FA-misc] Astro migration works, probably want to touchup the frontend but that can be in Phase 4 --- FictionArchive.API/Program.cs | 18 +- FictionArchive.API/appsettings.json | 7 +- .../appsettings.json | 4 +- .../appsettings.json | 4 +- .../appsettings.json | 4 +- .../appsettings.json | 4 +- docker-compose.yml | 1 + .../.dockerignore | 26 +- fictionarchive-web-astro/.env.example | 12 + fictionarchive-web-astro/.gitignore | 24 + .../.vscode/extensions.json | 4 + fictionarchive-web-astro/.vscode/launch.json | 11 + fictionarchive-web-astro/Dockerfile | 45 + fictionarchive-web-astro/README.md | 43 + fictionarchive-web-astro/astro.config.mjs | 17 + fictionarchive-web-astro/codegen.ts | 28 + fictionarchive-web-astro/components.json | 16 + fictionarchive-web-astro/package-lock.json | 10562 ++++++++++++++++ fictionarchive-web-astro/package.json | 38 + fictionarchive-web-astro/public/favicon.svg | 9 + .../src/layouts/AppLayout.astro | 29 + .../src/lib/auth/authStore.ts | 115 + .../src/lib/auth/oidcConfig.ts | 27 +- .../src/lib/components/AuthInit.svelte | 8 + .../components/AuthenticationDisplay.svelte | 55 + .../src/lib/components/Navbar.svelte | 21 + .../src/lib/components/NovelCard.svelte | 45 + .../src/lib/components/NovelDetailPage.svelte | 25 + .../src/lib/components/NovelsPage.svelte | 117 + .../src/lib/components/ui/badge/badge.svelte | 50 + .../src/lib/components/ui/badge/index.ts | 2 + .../lib/components/ui/button/button.svelte | 82 + .../src/lib/components/ui/button/index.ts | 17 + .../lib/components/ui/card/card-action.svelte | 20 + .../components/ui/card/card-content.svelte | 15 + .../ui/card/card-description.svelte | 20 + .../lib/components/ui/card/card-footer.svelte | 20 + .../lib/components/ui/card/card-header.svelte | 23 + .../lib/components/ui/card/card-title.svelte | 20 + .../src/lib/components/ui/card/card.svelte | 23 + .../src/lib/components/ui/card/index.ts | 25 + .../src/lib/components/ui/input/index.ts | 7 + .../src/lib/components/ui/input/input.svelte | 52 + .../src/lib/graphql}/__generated__/graphql.ts | 13 +- .../src/lib/graphql/client.ts | 21 + .../src/lib/graphql/queries}/novels.graphql | 0 .../src/lib/graphql/urqlStore.ts | 49 + fictionarchive-web-astro/src/lib/utils.ts | 13 + fictionarchive-web-astro/src/pages/404.astro | 23 + .../src/pages/index.astro | 10 + .../src/pages/novels/[id].astro | 11 + .../src/styles/global.css | 141 + fictionarchive-web-astro/svelte.config.js | 5 + fictionarchive-web-astro/tsconfig.json | 14 + fictionarchive-web/.env | 1 - fictionarchive-web/.gitignore | 24 - fictionarchive-web/Dockerfile | 32 - fictionarchive-web/README.md | 42 - fictionarchive-web/codegen.ts | 42 - fictionarchive-web/eslint.config.js | 23 - fictionarchive-web/index.html | 15 - fictionarchive-web/nginx.conf | 21 - fictionarchive-web/package-lock.json | 7727 ----------- fictionarchive-web/package.json | 48 - fictionarchive-web/postcss.config.cjs | 6 - fictionarchive-web/public/favicon-180.png | Bin 37217 -> 0 bytes fictionarchive-web/public/favicon-32.png | Bin 1912 -> 0 bytes fictionarchive-web/public/favicon-64.png | Bin 5837 -> 0 bytes fictionarchive-web/public/favicon.png | Bin 355795 -> 0 bytes fictionarchive-web/public/vite.svg | 1 - fictionarchive-web/src/App.css | 158 - fictionarchive-web/src/App.tsx | 19 - fictionarchive-web/src/apolloClient.ts | 30 - fictionarchive-web/src/assets/react.svg | 1 - fictionarchive-web/src/auth/AuthContext.tsx | 168 - .../src/components/AuthenticationDisplay.tsx | 103 - fictionarchive-web/src/components/Navbar.tsx | 50 - .../src/components/NovelCard.tsx | 49 - .../src/components/ui/badge.tsx | 35 - .../src/components/ui/button.tsx | 55 - fictionarchive-web/src/components/ui/card.tsx | 76 - .../src/components/ui/input.tsx | 24 - fictionarchive-web/src/index.css | 69 - fictionarchive-web/src/layouts/AppLayout.tsx | 13 - fictionarchive-web/src/lib/utils.ts | 6 - fictionarchive-web/src/main.tsx | 20 - fictionarchive-web/src/pages/NotFoundPage.tsx | 17 - .../src/pages/NovelDetailPage.tsx | 17 - fictionarchive-web/src/pages/NovelsPage.tsx | 111 - fictionarchive-web/tailwind.config.cjs | 69 - fictionarchive-web/tsconfig.app.json | 28 - fictionarchive-web/tsconfig.json | 7 - fictionarchive-web/tsconfig.node.json | 26 - fictionarchive-web/vite.config.ts | 22 - 94 files changed, 11948 insertions(+), 9202 deletions(-) rename {fictionarchive-web => fictionarchive-web-astro}/.dockerignore (51%) create mode 100644 fictionarchive-web-astro/.env.example create mode 100644 fictionarchive-web-astro/.gitignore create mode 100644 fictionarchive-web-astro/.vscode/extensions.json create mode 100644 fictionarchive-web-astro/.vscode/launch.json create mode 100644 fictionarchive-web-astro/Dockerfile create mode 100644 fictionarchive-web-astro/README.md create mode 100644 fictionarchive-web-astro/astro.config.mjs create mode 100644 fictionarchive-web-astro/codegen.ts create mode 100644 fictionarchive-web-astro/components.json create mode 100644 fictionarchive-web-astro/package-lock.json create mode 100644 fictionarchive-web-astro/package.json create mode 100644 fictionarchive-web-astro/public/favicon.svg create mode 100644 fictionarchive-web-astro/src/layouts/AppLayout.astro create mode 100644 fictionarchive-web-astro/src/lib/auth/authStore.ts rename fictionarchive-web/src/auth/oidcClient.ts => fictionarchive-web-astro/src/lib/auth/oidcConfig.ts (54%) create mode 100644 fictionarchive-web-astro/src/lib/components/AuthInit.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/AuthenticationDisplay.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/Navbar.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/NovelCard.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/NovelDetailPage.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/NovelsPage.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/badge/badge.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/badge/index.ts create mode 100644 fictionarchive-web-astro/src/lib/components/ui/button/button.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/button/index.ts create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card-action.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card-content.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card-description.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card-footer.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card-header.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card-title.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/card.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/card/index.ts create mode 100644 fictionarchive-web-astro/src/lib/components/ui/input/index.ts create mode 100644 fictionarchive-web-astro/src/lib/components/ui/input/input.svelte rename {fictionarchive-web/src => fictionarchive-web-astro/src/lib/graphql}/__generated__/graphql.ts (98%) create mode 100644 fictionarchive-web-astro/src/lib/graphql/client.ts rename {fictionarchive-web/src/graphql => fictionarchive-web-astro/src/lib/graphql/queries}/novels.graphql (100%) create mode 100644 fictionarchive-web-astro/src/lib/graphql/urqlStore.ts create mode 100644 fictionarchive-web-astro/src/lib/utils.ts create mode 100644 fictionarchive-web-astro/src/pages/404.astro create mode 100644 fictionarchive-web-astro/src/pages/index.astro create mode 100644 fictionarchive-web-astro/src/pages/novels/[id].astro create mode 100644 fictionarchive-web-astro/src/styles/global.css create mode 100644 fictionarchive-web-astro/svelte.config.js create mode 100644 fictionarchive-web-astro/tsconfig.json delete mode 100644 fictionarchive-web/.env delete mode 100644 fictionarchive-web/.gitignore delete mode 100644 fictionarchive-web/Dockerfile delete mode 100644 fictionarchive-web/README.md delete mode 100644 fictionarchive-web/codegen.ts delete mode 100644 fictionarchive-web/eslint.config.js delete mode 100644 fictionarchive-web/index.html delete mode 100644 fictionarchive-web/nginx.conf delete mode 100644 fictionarchive-web/package-lock.json delete mode 100644 fictionarchive-web/package.json delete mode 100644 fictionarchive-web/postcss.config.cjs delete mode 100644 fictionarchive-web/public/favicon-180.png delete mode 100644 fictionarchive-web/public/favicon-32.png delete mode 100644 fictionarchive-web/public/favicon-64.png delete mode 100644 fictionarchive-web/public/favicon.png delete mode 100644 fictionarchive-web/public/vite.svg delete mode 100644 fictionarchive-web/src/App.css delete mode 100644 fictionarchive-web/src/App.tsx delete mode 100644 fictionarchive-web/src/apolloClient.ts delete mode 100644 fictionarchive-web/src/assets/react.svg delete mode 100644 fictionarchive-web/src/auth/AuthContext.tsx delete mode 100644 fictionarchive-web/src/components/AuthenticationDisplay.tsx delete mode 100644 fictionarchive-web/src/components/Navbar.tsx delete mode 100644 fictionarchive-web/src/components/NovelCard.tsx delete mode 100644 fictionarchive-web/src/components/ui/badge.tsx delete mode 100644 fictionarchive-web/src/components/ui/button.tsx delete mode 100644 fictionarchive-web/src/components/ui/card.tsx delete mode 100644 fictionarchive-web/src/components/ui/input.tsx delete mode 100644 fictionarchive-web/src/index.css delete mode 100644 fictionarchive-web/src/layouts/AppLayout.tsx delete mode 100644 fictionarchive-web/src/lib/utils.ts delete mode 100644 fictionarchive-web/src/main.tsx delete mode 100644 fictionarchive-web/src/pages/NotFoundPage.tsx delete mode 100644 fictionarchive-web/src/pages/NovelDetailPage.tsx delete mode 100644 fictionarchive-web/src/pages/NovelsPage.tsx delete mode 100644 fictionarchive-web/tailwind.config.cjs delete mode 100644 fictionarchive-web/tsconfig.app.json delete mode 100644 fictionarchive-web/tsconfig.json delete mode 100644 fictionarchive-web/tsconfig.node.json delete mode 100644 fictionarchive-web/vite.config.ts diff --git a/FictionArchive.API/Program.cs b/FictionArchive.API/Program.cs index f0608ee..fa5d4e9 100644 --- a/FictionArchive.API/Program.cs +++ b/FictionArchive.API/Program.cs @@ -12,28 +12,30 @@ public class Program #region Fusion Gateway + // Register header propagation service to forward Authorization header to subgraphs builder.Services.AddHttpClient("Fusion") - .AddHeaderPropagation(opt => - { - opt.Headers.Add("Authorization"); - }); + .AddHeaderPropagation(); + builder.Services.AddHeaderPropagation(opt => + { + opt.Headers.Add("Authorization"); + }); builder.Services .AddFusionGatewayServer() .ConfigureFromFile("gateway.fgp") .CoreBuilder.ApplySaneDefaults(); - #endregion - - // Add authentication builder.Services.AddOidcAuthentication(builder.Configuration); + #endregion + + var allowedOrigin = builder.Configuration["Cors:AllowedOrigin"] ?? "http://localhost:4321"; builder.Services.AddCors(options => { options.AddPolicy("AllowFictionArchiveOrigins", policyBuilder => { - policyBuilder.WithOrigins("https://fictionarchive.orfl.xyz", "http://localhost:5173") + policyBuilder.WithOrigins(allowedOrigin) .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); diff --git a/FictionArchive.API/appsettings.json b/FictionArchive.API/appsettings.json index b581c6a..6a4b8e0 100644 --- a/FictionArchive.API/appsettings.json +++ b/FictionArchive.API/appsettings.json @@ -6,10 +6,13 @@ } }, "AllowedHosts": "*", + "Cors": { + "AllowedOrigin": "http://localhost:4321" + }, "OIDC": { "Authority": "https://auth.orfl.xyz/application/o/fiction-archive/", - "ClientId": "fictionarchive-api", - "Audience": "fictionarchive-api", + "ClientId": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", + "Audience": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", "ValidIssuer": "https://auth.orfl.xyz/application/o/fiction-archive/", "ValidateIssuer": true, "ValidateAudience": true, diff --git a/FictionArchive.Service.FileService/appsettings.json b/FictionArchive.Service.FileService/appsettings.json index ffe7eae..0ec37b4 100644 --- a/FictionArchive.Service.FileService/appsettings.json +++ b/FictionArchive.Service.FileService/appsettings.json @@ -20,8 +20,8 @@ }, "OIDC": { "Authority": "https://auth.orfl.xyz/application/o/fiction-archive/", - "ClientId": "fictionarchive-files", - "Audience": "fictionarchive-api", + "ClientId": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", + "Audience": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", "ValidIssuer": "https://auth.orfl.xyz/application/o/fiction-archive/", "ValidateIssuer": true, "ValidateAudience": true, diff --git a/FictionArchive.Service.SchedulerService/appsettings.json b/FictionArchive.Service.SchedulerService/appsettings.json index 043f775..4b087a3 100644 --- a/FictionArchive.Service.SchedulerService/appsettings.json +++ b/FictionArchive.Service.SchedulerService/appsettings.json @@ -15,8 +15,8 @@ "AllowedHosts": "*", "OIDC": { "Authority": "https://auth.orfl.xyz/application/o/fiction-archive/", - "ClientId": "fictionarchive-api", - "Audience": "fictionarchive-api", + "ClientId": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", + "Audience": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", "ValidIssuer": "https://auth.orfl.xyz/application/o/fiction-archive/", "ValidateIssuer": true, "ValidateAudience": true, diff --git a/FictionArchive.Service.TranslationService/appsettings.json b/FictionArchive.Service.TranslationService/appsettings.json index c38b978..7f2534b 100644 --- a/FictionArchive.Service.TranslationService/appsettings.json +++ b/FictionArchive.Service.TranslationService/appsettings.json @@ -18,8 +18,8 @@ "AllowedHosts": "*", "OIDC": { "Authority": "https://auth.orfl.xyz/application/o/fiction-archive/", - "ClientId": "fictionarchive-api", - "Audience": "fictionarchive-api", + "ClientId": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", + "Audience": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", "ValidIssuer": "https://auth.orfl.xyz/application/o/fiction-archive/", "ValidateIssuer": true, "ValidateAudience": true, diff --git a/FictionArchive.Service.UserService/appsettings.json b/FictionArchive.Service.UserService/appsettings.json index f6ac2c3..11f3af1 100644 --- a/FictionArchive.Service.UserService/appsettings.json +++ b/FictionArchive.Service.UserService/appsettings.json @@ -15,8 +15,8 @@ "AllowedHosts": "*", "OIDC": { "Authority": "https://auth.orfl.xyz/application/o/fiction-archive/", - "ClientId": "fictionarchive-api", - "Audience": "fictionarchive-api", + "ClientId": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", + "Audience": "ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh", "ValidIssuer": "https://auth.orfl.xyz/application/o/fiction-archive/", "ValidateIssuer": true, "ValidateAudience": true, diff --git a/docker-compose.yml b/docker-compose.yml index 1590f28..8a2a923 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -157,6 +157,7 @@ services: OIDC__Authority: https://auth.orfl.xyz/application/o/fictionarchive/ OIDC__ClientId: fictionarchive-api OIDC__Audience: fictionarchive-api + Cors__AllowedOrigin: https://fictionarchive.orfl.xyz healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/healthz"] interval: 30s diff --git a/fictionarchive-web/.dockerignore b/fictionarchive-web-astro/.dockerignore similarity index 51% rename from fictionarchive-web/.dockerignore rename to fictionarchive-web-astro/.dockerignore index 8d3531b..9e3135a 100644 --- a/fictionarchive-web/.dockerignore +++ b/fictionarchive-web-astro/.dockerignore @@ -4,37 +4,35 @@ node_modules # Build output dist -# Environment files +# Development files .env .env.local .env.*.local -# IDE and editor +# IDE .vscode .idea *.swp *.swo +# OS +.DS_Store +Thumbs.db + # Git .git .gitignore # Logs +*.log npm-debug.log* -yarn-debug.log* -yarn-error.log* -# Test coverage +# Test files +*.test.* +*.spec.* +__tests__ coverage -# Docker -Dockerfile -.dockerignore -docker-compose* - # Documentation README.md -*.md - -# TypeScript build info -*.tsbuildinfo +CHANGELOG.md diff --git a/fictionarchive-web-astro/.env.example b/fictionarchive-web-astro/.env.example new file mode 100644 index 0000000..92b85e6 --- /dev/null +++ b/fictionarchive-web-astro/.env.example @@ -0,0 +1,12 @@ +# GraphQL endpoint +PUBLIC_GRAPHQL_URI=https://localhost:7063/graphql/ + +# OIDC Configuration +PUBLIC_OIDC_AUTHORITY=https://auth.orfl.xyz/application/o/fiction-archive/ +PUBLIC_OIDC_CLIENT_ID=ldi5IpEidq2WW0Ka1lehVskb2SOBjnYRaZCpEyBh +PUBLIC_OIDC_REDIRECT_URI=http://localhost:4321/ +PUBLIC_OIDC_POST_LOGOUT_REDIRECT_URI=http://localhost:4321/ +PUBLIC_OIDC_SCOPE=openid profile email + +# Optional: Token for GraphQL codegen (for authenticated schema introspection) +# CODEGEN_TOKEN=your_token_here diff --git a/fictionarchive-web-astro/.gitignore b/fictionarchive-web-astro/.gitignore new file mode 100644 index 0000000..16d54bb --- /dev/null +++ b/fictionarchive-web-astro/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/fictionarchive-web-astro/.vscode/extensions.json b/fictionarchive-web-astro/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/fictionarchive-web-astro/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/fictionarchive-web-astro/.vscode/launch.json b/fictionarchive-web-astro/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/fictionarchive-web-astro/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/fictionarchive-web-astro/Dockerfile b/fictionarchive-web-astro/Dockerfile new file mode 100644 index 0000000..7fcc36b --- /dev/null +++ b/fictionarchive-web-astro/Dockerfile @@ -0,0 +1,45 @@ +FROM node:20-alpine AS build + +WORKDIR /app + +# Build arguments for environment variables +ARG PUBLIC_GRAPHQL_URI +ARG PUBLIC_OIDC_AUTHORITY +ARG PUBLIC_OIDC_CLIENT_ID +ARG PUBLIC_OIDC_REDIRECT_URI +ARG PUBLIC_OIDC_POST_LOGOUT_REDIRECT_URI +ARG PUBLIC_OIDC_SCOPE + +# Set environment variables for build +ENV PUBLIC_GRAPHQL_URI=$PUBLIC_GRAPHQL_URI +ENV PUBLIC_OIDC_AUTHORITY=$PUBLIC_OIDC_AUTHORITY +ENV PUBLIC_OIDC_CLIENT_ID=$PUBLIC_OIDC_CLIENT_ID +ENV PUBLIC_OIDC_REDIRECT_URI=$PUBLIC_OIDC_REDIRECT_URI +ENV PUBLIC_OIDC_POST_LOGOUT_REDIRECT_URI=$PUBLIC_OIDC_POST_LOGOUT_REDIRECT_URI +ENV PUBLIC_OIDC_SCOPE=$PUBLIC_OIDC_SCOPE + +# Install dependencies +COPY package*.json ./ +RUN npm ci + +# Copy source and build +COPY . . +RUN npm run build + +# Production runtime +FROM node:20-alpine AS runtime + +WORKDIR /app + +# Copy built output and production dependencies +COPY --from=build /app/dist ./dist +COPY --from=build /app/node_modules ./node_modules +COPY --from=build /app/package.json ./ + +# Runtime configuration +ENV HOST=0.0.0.0 +ENV PORT=80 +EXPOSE 80 + +# Start the Node.js server +CMD ["node", "./dist/server/entry.mjs"] diff --git a/fictionarchive-web-astro/README.md b/fictionarchive-web-astro/README.md new file mode 100644 index 0000000..87b813a --- /dev/null +++ b/fictionarchive-web-astro/README.md @@ -0,0 +1,43 @@ +# Astro Starter Kit: Minimal + +```sh +npm create astro@latest -- --template minimal +``` + +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! + +## 🚀 Project Structure + +Inside of your Astro project, you'll see the following folders and files: + +```text +/ +├── public/ +├── src/ +│ └── pages/ +│ └── index.astro +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. + +Any static assets, like images, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## 👀 Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/fictionarchive-web-astro/astro.config.mjs b/fictionarchive-web-astro/astro.config.mjs new file mode 100644 index 0000000..8583336 --- /dev/null +++ b/fictionarchive-web-astro/astro.config.mjs @@ -0,0 +1,17 @@ +import { defineConfig } from 'astro/config'; +import svelte from '@astrojs/svelte'; +import tailwindcss from '@tailwindcss/vite'; +import node from '@astrojs/node'; + +export default defineConfig({ + output: 'server', // SSR mode - use prerender = true for static pages + adapter: node({ + mode: 'standalone', + }), + integrations: [ + svelte(), + ], + vite: { + plugins: [tailwindcss()], + }, +}); diff --git a/fictionarchive-web-astro/codegen.ts b/fictionarchive-web-astro/codegen.ts new file mode 100644 index 0000000..4e65432 --- /dev/null +++ b/fictionarchive-web-astro/codegen.ts @@ -0,0 +1,28 @@ +import type { CodegenConfig } from '@graphql-codegen/cli'; +import * as dotenv from 'dotenv'; + +dotenv.config({ path: '.env.local' }); +dotenv.config(); + +const schema = process.env.PUBLIC_GRAPHQL_URI ?? 'https://localhost:7063/graphql/'; +const authToken = process.env.CODEGEN_TOKEN; + +const config: CodegenConfig = { + schema: { + [schema]: authToken ? { headers: { Authorization: `Bearer ${authToken}` } } : {}, + }, + documents: 'src/**/*.graphql', + generates: { + 'src/lib/graphql/__generated__/graphql.ts': { + plugins: ['typescript', 'typescript-operations', 'typed-document-node'], + config: { + avoidOptionals: { field: true }, + enumsAsConst: true, + skipTypename: true, + useTypeImports: true, + }, + }, + }, +}; + +export default config; diff --git a/fictionarchive-web-astro/components.json b/fictionarchive-web-astro/components.json new file mode 100644 index 0000000..b965d84 --- /dev/null +++ b/fictionarchive-web-astro/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://shadcn-svelte.com/schema.json", + "tailwind": { + "css": "src\\styles\\global.css", + "baseColor": "gray" + }, + "aliases": { + "components": "$lib/components", + "utils": "$lib/utils", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks", + "lib": "$lib" + }, + "typescript": true, + "registry": "https://shadcn-svelte.com/registry" +} diff --git a/fictionarchive-web-astro/package-lock.json b/fictionarchive-web-astro/package-lock.json new file mode 100644 index 0000000..763c194 --- /dev/null +++ b/fictionarchive-web-astro/package-lock.json @@ -0,0 +1,10562 @@ +{ + "name": "fictionarchive-web-astro", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fictionarchive-web-astro", + "version": "0.0.1", + "dependencies": { + "@astrojs/node": "^9.5.1", + "@astrojs/svelte": "^7.2.2", + "@tailwindcss/vite": "^4.1.17", + "@urql/core": "^6.0.1", + "@urql/svelte": "^5.0.0", + "astro": "^5.16.2", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "graphql": "^16.12.0", + "oidc-client-ts": "^3.4.1", + "svelte": "^5.45.2", + "tailwind-merge": "^3.4.0", + "tailwindcss": "^4.1.17", + "typescript": "^5.9.3" + }, + "devDependencies": { + "@graphql-codegen/cli": "^6.1.0", + "@graphql-codegen/typed-document-node": "^6.1.3", + "@graphql-codegen/typescript": "^5.0.5", + "@graphql-codegen/typescript-operations": "^5.0.5", + "@lucide/svelte": "^0.555.0", + "dotenv": "^16.6.1", + "tailwind-variants": "^3.2.2", + "tw-animate-css": "^1.4.0" + } + }, + "node_modules/@0no-co/graphql.web": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.2.0.tgz", + "integrity": "sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==", + "license": "MIT", + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "graphql": { + "optional": true + } + } + }, + "node_modules/@ardatan/relay-compiler": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-12.0.3.tgz", + "integrity": "sha512-mBDFOGvAoVlWaWqs3hm1AciGHSQE1rqFc/liZTyYz/Oek9yZdT5H26pH2zAFuEiTiBVPPyMuqf5VjOFPI2DGsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/runtime": "^7.26.10", + "chalk": "^4.0.0", + "fb-watchman": "^2.0.0", + "immutable": "~3.7.6", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "relay-runtime": "12.0.0", + "signedsource": "^1.0.0" + }, + "bin": { + "relay-compiler": "bin/relay-compiler" + }, + "peerDependencies": { + "graphql": "*" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", + "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.5.tgz", + "integrity": "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==", + "license": "MIT" + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.9", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.9.tgz", + "integrity": "sha512-hX2cLC/KW74Io1zIbn92kI482j9J7LleBLGCVU9EP3BeH5MVrnFawOnqD0t/q6D1Z+ZNeQG2gNKMslCcO36wng==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.0", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.13.0", + "smol-toml": "^1.4.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/node": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/node/-/node-9.5.1.tgz", + "integrity": "sha512-7k+SU877OUQylPr0mFcWrGvNuC78Lp9w+GInY8Rwc+LkHyDP9xls+nZAioK0WDWd+fyeQnlHbpDGURO3ZHuDVg==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "send": "^1.2.0", + "server-destroy": "^1.0.1" + }, + "peerDependencies": { + "astro": "^5.14.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/svelte": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@astrojs/svelte/-/svelte-7.2.2.tgz", + "integrity": "sha512-Eb9ahZ2BD2kPx5u7c/U6+FVNLxtuUcx0vL6kkGPP0hEikoSy0PavdjwYfZiuOtPCE7ZpQHGikGZMzrIFpjH9pQ==", + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte": "^5.1.1", + "svelte2tsx": "^0.7.42", + "vite": "^6.4.1" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0", + "svelte": "^5.1.16", + "typescript": "^5.3.3" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-3.0.1.tgz", + "integrity": "sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==", + "license": "MIT", + "dependencies": { + "fontkit": "^2.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@envelop/core": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@envelop/core/-/core-5.4.0.tgz", + "integrity": "sha512-/1fat63pySE8rw/dZZArEVytLD90JApY85deDJ0/34gm+yhQ3k70CloSUevxoOE4YCGveG3s9SJJfQeeB4NAtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/instrumentation": "^1.0.0", + "@envelop/types": "^5.2.1", + "@whatwg-node/promise-helpers": "^1.2.4", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/instrumentation": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", + "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.2.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@envelop/types": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@envelop/types/-/types-5.2.1.tgz", + "integrity": "sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fastify/busboy": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz", + "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@graphql-codegen/add": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.0.tgz", + "integrity": "sha512-biFdaURX0KTwEJPQ1wkT6BRgNasqgQ5KbCI1a3zwtLtO7XTo7/vKITPylmiU27K5DSOWYnY/1jfSqUAEBuhZrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/add/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/cli": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-6.1.0.tgz", + "integrity": "sha512-7w3Zq5IFONVOBcyOiP01Nv9WRxGS/TEaBCAb/ALYA3xHq95dqKCpoGnxt/Ut9R18jiS+aMgT0gc8Tr8sHy44jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.18.13", + "@babel/template": "^7.18.10", + "@babel/types": "^7.18.13", + "@graphql-codegen/client-preset": "^5.2.0", + "@graphql-codegen/core": "^5.0.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-tools/apollo-engine-loader": "^8.0.0", + "@graphql-tools/code-file-loader": "^8.0.0", + "@graphql-tools/git-loader": "^8.0.0", + "@graphql-tools/github-loader": "^9.0.0", + "@graphql-tools/graphql-file-loader": "^8.0.0", + "@graphql-tools/json-file-loader": "^8.0.0", + "@graphql-tools/load": "^8.1.0", + "@graphql-tools/url-loader": "^9.0.0", + "@graphql-tools/utils": "^10.0.0", + "@inquirer/prompts": "^7.8.2", + "@whatwg-node/fetch": "^0.10.0", + "chalk": "^4.1.0", + "cosmiconfig": "^9.0.0", + "debounce": "^2.0.0", + "detect-indent": "^6.0.0", + "graphql-config": "^5.1.1", + "is-glob": "^4.0.1", + "jiti": "^2.3.0", + "json-to-pretty-yaml": "^1.2.2", + "listr2": "^9.0.0", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.5", + "shell-quote": "^1.7.3", + "string-env-interpolation": "^1.0.1", + "ts-log": "^2.2.3", + "tslib": "^2.4.0", + "yaml": "^2.3.1", + "yargs": "^17.0.0" + }, + "bin": { + "gql-gen": "cjs/bin.js", + "graphql-code-generator": "cjs/bin.js", + "graphql-codegen": "cjs/bin.js", + "graphql-codegen-esm": "esm/bin.js" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@parcel/watcher": "^2.1.0", + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "@parcel/watcher": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/client-preset": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.2.0.tgz", + "integrity": "sha512-I8mcyNmuEoQGaUGiJHl9lAgyqCkMD/3TyUU3W2DS/aF4pwCpys378ZyYIE/Tw0Ods/tdPUvq/6p+JRkPlxtk1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7", + "@graphql-codegen/add": "^6.0.0", + "@graphql-codegen/gql-tag-operations": "5.1.0", + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/typed-document-node": "^6.1.3", + "@graphql-codegen/typescript": "^5.0.5", + "@graphql-codegen/typescript-operations": "^5.0.5", + "@graphql-codegen/visitor-plugin-common": "^6.2.0", + "@graphql-tools/documents": "^1.0.0", + "@graphql-tools/utils": "^10.0.0", + "@graphql-typed-document-node/core": "3.2.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "graphql-sock": "^1.0.0" + }, + "peerDependenciesMeta": { + "graphql-sock": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/client-preset/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/core": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-5.0.0.tgz", + "integrity": "sha512-vLTEW0m8LbE4xgRwbFwCdYxVkJ1dBlVJbQyLb9Q7bHnVFgHAP982Xo8Uv7FuPBmON+2IbTjkCqhFLHVZbqpvjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.0.0", + "@graphql-tools/schema": "^10.0.0", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/core/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/gql-tag-operations": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.1.0.tgz", + "integrity": "sha512-acb0AKLSpNd5Wx3nl1pWR8+AckMTlzggOzQ7GUORznGkpK5mZBTNaOmIiUqT5bbu0fxADZfYpsiz+xmocFNedg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/visitor-plugin-common": "6.2.0", + "@graphql-tools/utils": "^10.0.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/gql-tag-operations/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/plugin-helpers": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.1.0.tgz", + "integrity": "sha512-JJypehWTcty9kxKiqH7TQOetkGdOYjY78RHlI+23qB59cV2wxjFFVf8l7kmuXS4cpGVUNfIjFhVr7A1W7JMtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.0.0", + "change-case-all": "1.0.15", + "common-tags": "1.8.2", + "import-from": "4.0.0", + "lodash": "~4.17.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/schema-ast": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-5.0.0.tgz", + "integrity": "sha512-jn7Q3PKQc0FxXjbpo9trxzlz/GSFQWxL042l0iC8iSbM/Ar+M7uyBwMtXPsev/3Razk+osQyreghIz0d2+6F7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.0.0", + "@graphql-tools/utils": "^10.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/schema-ast/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/typed-document-node": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.3.tgz", + "integrity": "sha512-U1+16S3EWnR4T5b9219pu/47InfDB3UZ2E/CihJXgkeSklNteNBtw3D8m9R+ZanIq/GIsEin2hYpR++PO6neLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/visitor-plugin-common": "6.2.0", + "auto-bind": "~4.0.0", + "change-case-all": "1.0.15", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typed-document-node/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/typescript": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.5.tgz", + "integrity": "sha512-NwrUTjKALbeOrFyL/741DP/uRfcHKLD+kYL+e1de+X9b1wa1CfpMIdRIhGTuivuD5y6PYh3VePrE98Q5qz0+Ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/schema-ast": "^5.0.0", + "@graphql-codegen/visitor-plugin-common": "6.2.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/typescript-operations": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.0.5.tgz", + "integrity": "sha512-4PpndN6teJ/mN/QxGYhaBwkpN+Q3/lOeM5sArZ5tiDDI4ItxjPRCEm/gOGv52nRHmB6xoQ5/9uqY52KWcf9AWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-codegen/typescript": "^5.0.5", + "@graphql-codegen/visitor-plugin-common": "6.2.0", + "auto-bind": "~4.0.0", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", + "graphql-sock": "^1.0.0" + }, + "peerDependenciesMeta": { + "graphql-sock": { + "optional": true + } + } + }, + "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/typescript/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-codegen/visitor-plugin-common": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.2.0.tgz", + "integrity": "sha512-8mx5uDDEwhP3G1jdeBdvVm4QhbEdkwXQa1hAXBWGofL87ePs5PUhz4IuQpwiS/CfFa4cqxcAWbe0k74x8iWfKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-codegen/plugin-helpers": "^6.1.0", + "@graphql-tools/optimize": "^2.0.0", + "@graphql-tools/relay-operation-optimizer": "^7.0.0", + "@graphql-tools/utils": "^10.0.0", + "auto-bind": "~4.0.0", + "change-case-all": "1.0.15", + "dependency-graph": "^1.0.0", + "graphql-tag": "^2.11.0", + "parse-filepath": "^1.0.2", + "tslib": "~2.6.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@graphql-hive/signal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-2.0.0.tgz", + "integrity": "sha512-Pz8wB3K0iU6ae9S1fWfsmJX24CcGeTo6hE7T44ucmV/ALKRj+bxClmqrYcDT7v3f0d12Rh4FAXBb6gon+WkDpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@graphql-tools/apollo-engine-loader": { + "version": "8.0.27", + "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.27.tgz", + "integrity": "sha512-XT4BvqmRXkVaT8GgNb9/pr8u4M4vTcvGuI2GlvK+albrJNIV8VxTpsdVYma3kw+VtSIYrxEvLixlfDA/KdmDpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.11.0", + "@whatwg-node/fetch": "^0.10.13", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/batch-execute": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-10.0.4.tgz", + "integrity": "sha512-t8E0ILelbaIju0aNujMkKetUmbv3/07nxGSv0kEGLBk9GNtEmQ/Bjj8ZTo2WN35/Fy70zCHz2F/48Nx/Ec48cA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.10.3", + "@whatwg-node/promise-helpers": "^1.3.2", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/code-file-loader": { + "version": "8.1.27", + "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.27.tgz", + "integrity": "sha512-q3GDbm+7m3DiAnqxa+lYMgYZd49+ez6iGFfXHmzP6qAnf5WlBxRNKNjNVuxOgoV30DCr+vOJfoXeU7VN1qqGWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-tag-pluck": "8.3.26", + "@graphql-tools/utils": "^10.11.0", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/delegate": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-11.1.3.tgz", + "integrity": "sha512-4Fd4s0T4Cv+Hl+4NXRUWtedhQjTOfpPP8MQJOtfX4jnBmwAP88/EhKIIPDssSFPGiyJkL5MLKPVJzVgY4ezDTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/batch-execute": "^10.0.4", + "@graphql-tools/executor": "^1.4.13", + "@graphql-tools/schema": "^10.0.29", + "@graphql-tools/utils": "^10.10.3", + "@repeaterjs/repeater": "^3.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/documents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/documents/-/documents-1.0.1.tgz", + "integrity": "sha512-aweoMH15wNJ8g7b2r4C4WRuJxZ0ca8HtNO54rkye/3duxTkW4fGBEutCx03jCIr5+a1l+4vFJNP859QnAVBVCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.0.tgz", + "integrity": "sha512-3HzAxfexmynEWwRB56t/BT+xYKEYLGPvJudR1jfs+XZX8bpfqujEhqVFoxmkpEE8BbFcKuBNoQyGkTi1eFJ+hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.11.0", + "@graphql-typed-document-node/core": "^3.2.0", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-common": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-1.0.5.tgz", + "integrity": "sha512-gsBRxP4ui8s7/ppKGCJUQ9xxTNoFpNYmEirgM52EHo74hL5hrpS5o4zOmBH33+9t2ZasBziIfupYtLNa0DgK0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.4.0", + "@graphql-tools/utils": "^10.10.3" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-3.1.3.tgz", + "integrity": "sha512-q4k8KLoH2U51XdWJRdiW/KIKbBOtJ1mcILv0ALvBkOF99C3vwGj2zr4U0AMGCD3HzML2mPZuajhfYo/xB/pnZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-common": "^1.0.5", + "@graphql-tools/utils": "^10.10.3", + "@whatwg-node/disposablestack": "^0.0.6", + "graphql-ws": "^6.0.6", + "isows": "^1.0.7", + "tslib": "^2.8.1", + "ws": "^8.18.3" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-http": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-3.0.7.tgz", + "integrity": "sha512-sHjtiUZmRtkjhpSzMhxT2ywAGzHjuB1rHsiaSLAq8U5BQg5WoLakKYD7BajgVHwNbfWEc+NnFiJI7ldyhiciiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-hive/signal": "^2.0.0", + "@graphql-tools/executor-common": "^1.0.5", + "@graphql-tools/utils": "^10.10.3", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.3.2", + "meros": "^1.3.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-legacy-ws": { + "version": "1.1.24", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.24.tgz", + "integrity": "sha512-wfSpOJCxeBcwVXy3JS4TB4oLwVICuVKPlPQhcAjTRPWYwKerE0HosgUzxCX1fEQ4l1B1OMgKWRglGpoXExKqsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.11.0", + "@types/ws": "^8.0.0", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/git-loader": { + "version": "8.0.31", + "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.31.tgz", + "integrity": "sha512-xVHM1JecjpU2P0aOj/IaIUc3w6It8sWOdrJElWFZdY9yfWRqXFYwfemtsn/JOrJDIJXYeGpJ304OeqJD5vFIEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-tag-pluck": "8.3.26", + "@graphql-tools/utils": "^10.11.0", + "is-glob": "4.0.3", + "micromatch": "^4.0.8", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/github-loader": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-9.0.5.tgz", + "integrity": "sha512-89FRDQGMlzL3607BCQtJhKEiQaZtTmdAnyC5Hmi9giTQXVzEXBbMEZOU0qILxj64cr+smNBx5XqxQ1xn0uZeEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-http": "^3.0.6", + "@graphql-tools/graphql-tag-pluck": "^8.3.26", + "@graphql-tools/utils": "^10.11.0", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-file-loader": { + "version": "8.1.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.8.tgz", + "integrity": "sha512-dZi9Cw+NWEzJAqzIUON9qjZfjebjcoT4H6jqLkEoAv6kRtTq52m4BLXgFWjMHU7PNLE9OOHB9St7UeZQL+GYrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/import": "7.1.8", + "@graphql-tools/utils": "^10.11.0", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/graphql-tag-pluck": { + "version": "8.3.26", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.26.tgz", + "integrity": "sha512-hLsX++KA3YR/PnNJGBq1weSAY8XUUAQFfOSHanLHA2qs5lcNgU6KWbiLiRsJ/B/ZNi2ZO687dhzeZ4h4Yt0V6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.26.10", + "@babel/parser": "^7.26.10", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/traverse": "^7.26.10", + "@babel/types": "^7.26.10", + "@graphql-tools/utils": "^10.11.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/import": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.8.tgz", + "integrity": "sha512-aUKHMbaeHhCkS867mNCk9sJuvd9xE3Ocr+alwdvILkDxHf7Xaumx4mK8tN9FAXeKhQWGGD5QpkIBnUzt2xoX/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.11.0", + "@theguild/federation-composition": "^0.21.0", + "resolve-from": "5.0.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/json-file-loader": { + "version": "8.0.25", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.25.tgz", + "integrity": "sha512-Dnr9z818Kdn3rfoZO/+/ZQUqWavjV7AhEp4edV1mGsX+J1HFkNC3WMl6MD3W0hth2HWLQpCFJDdOPnchxnFNfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.11.0", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load": { + "version": "8.1.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.7.tgz", + "integrity": "sha512-RxrHOC4vVI50+Q1mwgpmTVCB/UDDYVEGD/g/hP3tT2BW9F3rJ7Z3Lmt/nGfPQuWPao3w6vgJ9oSAWtism7CU5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/schema": "^10.0.30", + "@graphql-tools/utils": "^10.11.0", + "p-limit": "3.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "9.1.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.6.tgz", + "integrity": "sha512-bTnP+4oom4nDjmkS3Ykbe+ljAp/RIiWP3R35COMmuucS24iQxGLa9Hn8VMkLIoaoPxgz6xk+dbC43jtkNsFoBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.11.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/optimize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-2.0.0.tgz", + "integrity": "sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/relay-operation-optimizer": { + "version": "7.0.26", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.26.tgz", + "integrity": "sha512-cVdS2Hw4hg/WgPVV2wRIzZM975pW5k4vdih3hR4SvEDQVr6MmozmlTQSqzMyi9yg8LKTq540Oz3bYQa286yGmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ardatan/relay-compiler": "^12.0.3", + "@graphql-tools/utils": "^10.11.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "10.0.30", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.30.tgz", + "integrity": "sha512-yPXU17uM/LR90t92yYQqn9mAJNOVZJc0nQtYeZyZeQZeQjwIGlTubvvoDL0fFVk+wZzs4YQOgds2NwSA4npodA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/merge": "^9.1.6", + "@graphql-tools/utils": "^10.11.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-9.0.5.tgz", + "integrity": "sha512-EPNhZBBL48TudLdyenOw1wV9dI7vsinWLLxSTtkx4zUQxmU+p/LxMyf7MUwjmp3yFZhR/9XchsTZX6uvOyXWqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^3.1.2", + "@graphql-tools/executor-http": "^3.0.6", + "@graphql-tools/executor-legacy-ws": "^1.1.24", + "@graphql-tools/utils": "^10.11.0", + "@graphql-tools/wrap": "^11.0.0", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.13", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz", + "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@whatwg-node/promise-helpers": "^1.0.0", + "cross-inspect": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/wrap": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-11.0.5.tgz", + "integrity": "sha512-W0lm1AWLUAF2uKyrplC5PmyVJGCD/n7HO/R+bxoAIGQlZ2ESTbdB1DqZalMUF3D6AwmdzgTsDgoZBJgndnWs9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^11.1.3", + "@graphql-tools/schema": "^10.0.29", + "@graphql-tools/utils": "^10.10.3", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.23", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/external-editor": "^1.0.3", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.23", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.3.2", + "@inquirer/confirm": "^5.1.21", + "@inquirer/editor": "^4.2.23", + "@inquirer/expand": "^4.0.23", + "@inquirer/input": "^4.3.1", + "@inquirer/number": "^3.0.23", + "@inquirer/password": "^4.0.23", + "@inquirer/rawlist": "^4.1.11", + "@inquirer/search": "^3.2.2", + "@inquirer/select": "^4.4.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/core": "^10.3.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "yoctocolors-cjs": "^2.1.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lucide/svelte": { + "version": "0.555.0", + "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.555.0.tgz", + "integrity": "sha512-aqTOMjBjf/HNwrhggRdb83T0QslZdpJTyTwr/chtXTGw7u4Hcu4zQb/5uA+csF0KKawKWVnsNI1MdHEHeEXTcQ==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "svelte": "^5" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@repeaterjs/repeater": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", + "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.17.0.tgz", + "integrity": "sha512-/HjeOnbc62C+n33QFNFrAhUlIADKwfuoS50Ht0pxujxP4QjZAlFp5Q+OkDo531SCTzivx5T18khwyBdKoPdkuw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.17.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.17.0.tgz", + "integrity": "sha512-WwF99xdP8KfuDrIbT4wxyypfhoIxMeeOCp1AiuvzzZ6JT5B3vIuoclL8xOuuydA6LBeeNXUF/XV5zlwwex1jlA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.17.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.17.0.tgz", + "integrity": "sha512-flSbHZAiOZDNTrEbULY8DLWavu/TyVu/E7RChpLB4WvKX4iHMfj80C6Hi3TjIWaQtHOW0KC6kzMcuB5TO1hZ8Q==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.17.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.17.0.tgz", + "integrity": "sha512-icmur2n5Ojb+HAiQu6NEcIIJ8oWDFGGEpiqSCe43539Sabpx7Y829WR3QuUW2zjTM4l6V8Sazgb3rrHO2orEAw==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.17.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.17.0.tgz", + "integrity": "sha512-/xEizMHLBmMHwtx4JuOkRf3zwhWD2bmG5BRr0IPjpcWpaq4C3mYEuTk/USAEglN0qPrTwEHwKVpSu/y2jhferA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.17.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.17.0.tgz", + "integrity": "sha512-wjLVfutYWVUnxAjsWEob98xgyaGv0dTEnMZDruU5mRjVN7szcGOfgO+997W2yR6odp+1PtSBNeSITRRTfUzK/g==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.7.tgz", + "integrity": "sha512-znp1A/Y1Jj4l/Zy7PX5DZKBE0ZNY+5QBngiE21NJkfSTyzzC5iKNWOtwFXKtIrn7MXEFBck4jD95iBNkGjK92Q==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.1.tgz", + "integrity": "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", + "debug": "^4.4.1", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.17", + "vitefu": "^1.0.6" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", + "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.7" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.17.tgz", + "integrity": "sha512-csIkHIgLb3JisEFQ0vxr2Y57GUNYh447C8xzwj89U/8fdW8LhProdxvnVH6U8M2Y73QKiTIH+LWbK3V2BBZsAg==", + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.17" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.17.tgz", + "integrity": "sha512-F0F7d01fmkQhsTjXezGBLdrl1KresJTcI3DB8EkScCldyKp3Msz4hub4uyYaVnk88BAS1g5DQjjF6F5qczheLA==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.17", + "@tailwindcss/oxide-darwin-arm64": "4.1.17", + "@tailwindcss/oxide-darwin-x64": "4.1.17", + "@tailwindcss/oxide-freebsd-x64": "4.1.17", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.17", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.17", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.17", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.17", + "@tailwindcss/oxide-linux-x64-musl": "4.1.17", + "@tailwindcss/oxide-wasm32-wasi": "4.1.17", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.17", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.17" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.17.tgz", + "integrity": "sha512-BMqpkJHgOZ5z78qqiGE6ZIRExyaHyuxjgrJ6eBO5+hfrfGkuya0lYfw8fRHG77gdTjWkNWEEm+qeG2cDMxArLQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.17.tgz", + "integrity": "sha512-EquyumkQweUBNk1zGEU/wfZo2qkp/nQKRZM8bUYO0J+Lums5+wl2CcG1f9BgAjn/u9pJzdYddHWBiFXJTcxmOg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.17.tgz", + "integrity": "sha512-gdhEPLzke2Pog8s12oADwYu0IAw04Y2tlmgVzIN0+046ytcgx8uZmCzEg4VcQh+AHKiS7xaL8kGo/QTiNEGRog==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.17.tgz", + "integrity": "sha512-hxGS81KskMxML9DXsaXT1H0DyA+ZBIbyG/sSAjWNe2EDl7TkPOBI42GBV3u38itzGUOmFfCzk1iAjDXds8Oh0g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.17.tgz", + "integrity": "sha512-k7jWk5E3ldAdw0cNglhjSgv501u7yrMf8oeZ0cElhxU6Y2o7f8yqelOp3fhf7evjIS6ujTI3U8pKUXV2I4iXHQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.17.tgz", + "integrity": "sha512-HVDOm/mxK6+TbARwdW17WrgDYEGzmoYayrCgmLEw7FxTPLcp/glBisuyWkFz/jb7ZfiAXAXUACfyItn+nTgsdQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.17.tgz", + "integrity": "sha512-HvZLfGr42i5anKtIeQzxdkw/wPqIbpeZqe7vd3V9vI3RQxe3xU1fLjss0TjyhxWcBaipk7NYwSrwTwK1hJARMg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.17.tgz", + "integrity": "sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.17.tgz", + "integrity": "sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.17.tgz", + "integrity": "sha512-cEytGqSSoy7zK4JRWiTCx43FsKP/zGr0CsuMawhH67ONlH+T79VteQeJQRO/X7L0juEUA8ZyuYikcRBf0vsxhg==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.6.0", + "@emnapi/runtime": "^1.6.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.7", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.17.tgz", + "integrity": "sha512-JU5AHr7gKbZlOGvMdb4722/0aYbU+tN6lv1kONx0JK2cGsh7g148zVWLM0IKR3NeKLv+L90chBVYcJ8uJWbC9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.17.tgz", + "integrity": "sha512-SKWM4waLuqx0IH+FMDUw6R66Hu4OuTALFgnleKbqhgGU30DY20NORZMZUKgLRjQXNN2TLzKvh48QXTig4h4bGw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.17.tgz", + "integrity": "sha512-4+9w8ZHOiGnpcGI6z1TVVfWaX/koK7fKeSYF3qlYg2xpBtbteP2ddBxiarL+HVgfSJGeK5RIxRQmKm4rTJJAwA==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.17", + "@tailwindcss/oxide": "4.1.17", + "tailwindcss": "4.1.17" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@theguild/federation-composition": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@theguild/federation-composition/-/federation-composition-0.21.0.tgz", + "integrity": "sha512-cdQ9rDEtBpT553DLLtcsSjtSDIadibIxAD3K5r0eUuDOfxx+es7Uk+aOucfqMlNOM3eybsgJN3T2SQmEsINwmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "constant-case": "^3.0.4", + "debug": "4.4.3", + "json5": "^2.2.3", + "lodash.sortby": "^4.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "graphql": "^16.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/fontkit": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/fontkit/-/fontkit-2.0.8.tgz", + "integrity": "sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@urql/core": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@urql/core/-/core-6.0.1.tgz", + "integrity": "sha512-FZDiQk6jxbj5hixf2rEPv0jI+IZz0EqqGW8mJBEug68/zHTtT+f34guZDmyjJZyiWbj0vL165LoMr/TkeDHaug==", + "license": "MIT", + "dependencies": { + "@0no-co/graphql.web": "^1.0.13", + "wonka": "^6.3.2" + } + }, + "node_modules/@urql/svelte": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@urql/svelte/-/svelte-5.0.0.tgz", + "integrity": "sha512-tHYEyFZwWsBW9GfpXbK+GImWhyZO1TJkhHsquosza0D0qOZyL+wGp/qT74WPUBJaF4gkUSXOQtUidDI7uvnuoQ==", + "license": "MIT", + "dependencies": { + "@urql/core": "^6.0.0", + "wonka": "^6.3.2" + }, + "peerDependencies": { + "@urql/core": "^6.0.0", + "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/@whatwg-node/disposablestack": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", + "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/promise-helpers": "^1.0.0", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.10.13", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.13.tgz", + "integrity": "sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@whatwg-node/node-fetch": "^0.8.3", + "urlpattern-polyfill": "^10.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.8.4.tgz", + "integrity": "sha512-AlKLc57loGoyYlrzDbejB9EeR+pfdJdGzbYnkEuZaGekFboBwzfVYVMsy88PMriqPI1ORpiGYGgSSWpx7a2sDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@fastify/busboy": "^3.1.1", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/promise-helpers": "^1.3.2", + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@whatwg-node/promise-helpers": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz", + "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.6.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz", + "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/astro": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.2.tgz", + "integrity": "sha512-NFXqhB1UgBvleF5rLZ7a31Qzprf1lSch+k8o2XTvsw1d97gxGrjVVeWa8AnZUFtirz84YPW6+5NbLVNzS2y+uQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/markdown-remark": "6.3.9", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^3.0.1", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.0.2", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.5.0", + "diff": "^5.2.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.25.0", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.3.1", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.5.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.15.0", + "smol-toml": "^1.5.2", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.6.0", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.3", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.0", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro/node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/astro/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/astro/node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.32", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.32.tgz", + "integrity": "sha512-OPz5aBThlyLFgxyhdwf/s2+8ab3OvT7AdTNvKHBwpXomIYeXqpUUuT8LrdtxZSsWJ4R4CU1un4XGh5Ez3nlTpw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserslist": { + "version": "4.28.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.8.25", + "caniuse-lite": "^1.0.30001754", + "electron-to-chromium": "^1.5.249", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001757", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", + "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/capital-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", + "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/change-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", + "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "capital-case": "^1.0.4", + "constant-case": "^3.0.4", + "dot-case": "^3.0.4", + "header-case": "^2.0.4", + "no-case": "^3.0.4", + "param-case": "^3.0.4", + "pascal-case": "^3.1.2", + "path-case": "^3.0.4", + "sentence-case": "^3.0.4", + "snake-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/change-case-all": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.15.tgz", + "integrity": "sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "change-case": "^4.1.2", + "is-lower-case": "^2.0.2", + "is-upper-case": "^2.0.2", + "lower-case": "^2.0.2", + "lower-case-first": "^2.0.2", + "sponge-case": "^1.0.1", + "swap-case": "^2.0.2", + "title-case": "^3.0.3", + "upper-case": "^2.0.2", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", + "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^7.1.0", + "string-width": "^8.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz", + "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/constant-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", + "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case": "^2.0.2" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/cross-inspect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz", + "integrity": "sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/dataloader": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.3.tgz", + "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/debounce": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.2.0.tgz", + "integrity": "sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", + "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.5.0.tgz", + "integrity": "sha512-69sM5yrHfFLJt0AZ9QqZXGCPfJ7fQjvpln3Rq5+PS03LD32Ost1Q9N+eEnaQwGRIriKkMImXD56ocjQmfjbV3w==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.262", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz", + "integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "license": "MIT" + }, + "node_modules/esrap": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.0.tgz", + "integrity": "sha512-WBmtxe7R9C5mvL4n2le8nMUe4mD5V9oiK2vJpQ9I3y20ENPUomPcphBXE8D1x/Bm84oN1V+lOfgXxtqmxTp3Xg==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.3.1.tgz", + "integrity": "sha512-9f5g4feWT1jWT8+SbL85aLIRLIXUaDygaM2xPXRmzPYxrOMNok79Lr3FGJoKVNKibE0WCunNiEVG2mwuE+2qEg==", + "license": "MIT", + "dependencies": { + "@types/fontkit": "^2.0.8", + "fontkit": "^2.0.4" + } + }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphql": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", + "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-config": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.5.tgz", + "integrity": "sha512-mG2LL1HccpU8qg5ajLROgdsBzx/o2M6kgI3uAmoaXiSH9PCUbtIyLomLqUtCFaAeG2YCFsl0M5cfQ9rKmDoMVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/graphql-file-loader": "^8.0.0", + "@graphql-tools/json-file-loader": "^8.0.0", + "@graphql-tools/load": "^8.1.0", + "@graphql-tools/merge": "^9.0.0", + "@graphql-tools/url-loader": "^8.0.0", + "@graphql-tools/utils": "^10.0.0", + "cosmiconfig": "^8.1.0", + "jiti": "^2.0.0", + "minimatch": "^9.0.5", + "string-env-interpolation": "^1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 16.0.0" + }, + "peerDependencies": { + "cosmiconfig-toml-loader": "^1.0.0", + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "cosmiconfig-toml-loader": { + "optional": true + } + } + }, + "node_modules/graphql-config/node_modules/@graphql-hive/signal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz", + "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/batch-execute": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.19.tgz", + "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/delegate": { + "version": "10.2.23", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.23.tgz", + "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/batch-execute": "^9.0.19", + "@graphql-tools/executor": "^1.4.9", + "@graphql-tools/schema": "^10.0.25", + "@graphql-tools/utils": "^10.9.1", + "@repeaterjs/repeater": "^3.0.6", + "@whatwg-node/promise-helpers": "^1.3.0", + "dataloader": "^2.2.3", + "dset": "^3.1.2", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-common": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.6.tgz", + "integrity": "sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.3.0", + "@graphql-tools/utils": "^10.9.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-graphql-ws": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-2.0.7.tgz", + "integrity": "sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-common": "^0.0.6", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/disposablestack": "^0.0.6", + "graphql-ws": "^6.0.6", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.8.1", + "ws": "^8.18.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-http": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.3.tgz", + "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-hive/signal": "^1.0.0", + "@graphql-tools/executor-common": "^0.0.4", + "@graphql-tools/utils": "^10.8.1", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/disposablestack": "^0.0.6", + "@whatwg-node/fetch": "^0.10.4", + "@whatwg-node/promise-helpers": "^1.3.0", + "meros": "^1.2.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/executor-http/node_modules/@graphql-tools/executor-common": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz", + "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@envelop/core": "^5.2.3", + "@graphql-tools/utils": "^10.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/url-loader": { + "version": "8.0.33", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.33.tgz", + "integrity": "sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/executor-graphql-ws": "^2.0.1", + "@graphql-tools/executor-http": "^1.1.9", + "@graphql-tools/executor-legacy-ws": "^1.1.19", + "@graphql-tools/utils": "^10.9.1", + "@graphql-tools/wrap": "^10.0.16", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.10.0", + "@whatwg-node/promise-helpers": "^1.0.0", + "isomorphic-ws": "^5.0.0", + "sync-fetch": "0.6.0-2", + "tslib": "^2.4.0", + "ws": "^8.17.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/@graphql-tools/wrap": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.1.4.tgz", + "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@graphql-tools/delegate": "^10.2.23", + "@graphql-tools/schema": "^10.0.25", + "@graphql-tools/utils": "^10.9.1", + "@whatwg-node/promise-helpers": "^1.3.0", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/graphql-config/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-ws": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.6.tgz", + "integrity": "sha512-zgfER9s+ftkGKUZgc0xbx8T7/HMO4AV5/YuYiFc+AtgcO5T0v8AxYYNQ+ltzuzDZgNkYJaFspm5MMYLjQzrkmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "@fastify/websocket": "^10 || ^11", + "crossws": "~0.3", + "graphql": "^15.10.1 || ^16", + "uWebSockets.js": "^20", + "ws": "^8" + }, + "peerDependenciesMeta": { + "@fastify/websocket": { + "optional": true + }, + "crossws": { + "optional": true + }, + "uWebSockets.js": { + "optional": true + }, + "ws": { + "optional": true + } + } + }, + "node_modules/h3": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz", + "integrity": "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.2", + "radix3": "^1.1.2", + "ufo": "^1.6.1", + "uncrypto": "^0.1.3" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5/node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/header-case": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", + "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "capital-case": "^1.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", + "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-2.0.2.tgz", + "integrity": "sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz", + "integrity": "sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isomorphic-ws": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", + "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/isows": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz", + "integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-to-pretty-yaml": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz", + "integrity": "sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "remedial": "^1.0.7", + "remove-trailing-spaces": "^1.0.6" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", + "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^5.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT" + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lower-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz", + "integrity": "sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", + "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "source-map-js": "^1.2.1" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/meros": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/meros/-/meros-1.3.2.tgz", + "integrity": "sha512-Q3mobPbvEx7XbwhnC1J1r60+5H6EZyNccdzSz0eGexJRwouUtTZxPVRGdqKtxlpD84ScK4+tIGldkqDtCKdI0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=13" + }, + "peerDependencies": { + "@types/node": ">=13" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.3.tgz", + "integrity": "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oidc-client-ts": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/oidc-client-ts/-/oidc-client-ts-3.4.1.tgz", + "integrity": "sha512-jNdst/U28Iasukx/L5MP6b274Vr7ftQs6qAhPBCvz6Wt5rPCA+Q/tUmCzfCHHWweWw5szeMy2Gfrm1rITwUKrw==", + "license": "Apache-2.0", + "dependencies": { + "jwt-decode": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", + "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz", + "integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relay-runtime": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-12.0.0.tgz", + "integrity": "sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.0.0", + "fbjs": "^3.0.0", + "invariant": "^2.2.4" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remedial": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz", + "integrity": "sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "engines": { + "node": "*" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "license": "ISC" + }, + "node_modules/remove-trailing-spaces": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.9.tgz", + "integrity": "sha512-xzG7w5IRijvIkHIjDk65URsJJ7k4J95wmcArY5PRcmjldIOl7oTvG8+X2Ag690R7SfwiOcHrWZKVc1Pp5WIOzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.53.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.53.3", + "@rollup/rollup-android-arm64": "4.53.3", + "@rollup/rollup-darwin-arm64": "4.53.3", + "@rollup/rollup-darwin-x64": "4.53.3", + "@rollup/rollup-freebsd-arm64": "4.53.3", + "@rollup/rollup-freebsd-x64": "4.53.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", + "@rollup/rollup-linux-arm64-gnu": "4.53.3", + "@rollup/rollup-linux-arm64-musl": "4.53.3", + "@rollup/rollup-linux-loong64-gnu": "4.53.3", + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", + "@rollup/rollup-linux-riscv64-musl": "4.53.3", + "@rollup/rollup-linux-s390x-gnu": "4.53.3", + "@rollup/rollup-linux-x64-gnu": "4.53.3", + "@rollup/rollup-linux-x64-musl": "4.53.3", + "@rollup/rollup-openharmony-arm64": "4.53.3", + "@rollup/rollup-win32-arm64-msvc": "4.53.3", + "@rollup/rollup-win32-ia32-msvc": "4.53.3", + "@rollup/rollup-win32-x64-gnu": "4.53.3", + "@rollup/rollup-win32-x64-msvc": "4.53.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", + "integrity": "sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==", + "license": "BlueOak-1.0.0" + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/sentence-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", + "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" + } + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "license": "ISC" + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true, + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/sharp/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shiki": { + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.17.0.tgz", + "integrity": "sha512-lUZfWsyW7czITYTdo/Tb6ZM4VfyXlzmKYBQBjTz+pBzPPkP08RgIt00Ls1Z50Cl3SfwJsue6WbJeF3UgqLVI9Q==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.17.0", + "@shikijs/engine-javascript": "3.17.0", + "@shikijs/engine-oniguruma": "3.17.0", + "@shikijs/langs": "3.17.0", + "@shikijs/themes": "3.17.0", + "@shikijs/types": "3.17.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/signedsource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", + "integrity": "sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smol-toml": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.5.2.tgz", + "integrity": "sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sponge-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sponge-case/-/sponge-case-1.0.1.tgz", + "integrity": "sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string-env-interpolation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svelte": { + "version": "5.45.2", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.45.2.tgz", + "integrity": "sha512-yyXdW2u3H0H/zxxWoGwJoQlRgaSJLp+Vhktv12iRw2WRDlKqUPT54Fi0K/PkXqrdkcQ98aBazpy0AH4BCBVfoA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "devalue": "^5.5.0", + "esm-env": "^1.2.1", + "esrap": "^2.2.0", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte2tsx": { + "version": "0.7.45", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.45.tgz", + "integrity": "sha512-cSci+mYGygYBHIZLHlm/jYlEc1acjAHqaQaDFHdEBpUueM9kSTnPpvPtSl5VkJOU1qSJ7h1K+6F/LIUYiqC8VA==", + "license": "MIT", + "dependencies": { + "dedent-js": "^1.0.1", + "scule": "^1.3.0" + }, + "peerDependencies": { + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", + "typescript": "^4.9.4 || ^5.0.0" + } + }, + "node_modules/svgo": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", + "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.4.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/swap-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz", + "integrity": "sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/sync-fetch": { + "version": "0.6.0-2", + "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", + "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "^3.3.2", + "timeout-signal": "^2.0.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/sync-fetch/node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/tailwind-merge": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", + "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", + "license": "MIT", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwind-variants": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-3.2.2.tgz", + "integrity": "sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.x", + "pnpm": ">=7.x" + }, + "peerDependencies": { + "tailwind-merge": ">=3.0.0", + "tailwindcss": "*" + }, + "peerDependenciesMeta": { + "tailwind-merge": { + "optional": true + } + } + }, + "node_modules/tailwindcss": { + "version": "4.1.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.17.tgz", + "integrity": "sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==", + "license": "MIT", + "peer": true + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/timeout-signal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timeout-signal/-/timeout-signal-2.0.0.tgz", + "integrity": "sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/title-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz", + "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-log": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.7.tgz", + "integrity": "sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tw-animate-css": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", + "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", + "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.6.0.tgz", + "integrity": "sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0", + "ofetch": "^1.4.1", + "ohash": "^2.0.0" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "normalize-path": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unstorage": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.3.tgz", + "integrity": "sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.4", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.1" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/upper-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", + "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/upper-case-first": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", + "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", + "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "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 + } + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wonka": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz", + "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==", + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "devOptional": true, + "license": "ISC", + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zimmerframe": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", + "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", + "license": "MIT" + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.0.tgz", + "integrity": "sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/fictionarchive-web-astro/package.json b/fictionarchive-web-astro/package.json new file mode 100644 index 0000000..73e0bbe --- /dev/null +++ b/fictionarchive-web-astro/package.json @@ -0,0 +1,38 @@ +{ + "name": "fictionarchive-web-astro", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro", + "codegen": "graphql-codegen --config codegen.ts -r dotenv/config --use-system-ca" + }, + "dependencies": { + "@astrojs/node": "^9.5.1", + "@astrojs/svelte": "^7.2.2", + "@tailwindcss/vite": "^4.1.17", + "@urql/core": "^6.0.1", + "@urql/svelte": "^5.0.0", + "astro": "^5.16.2", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "graphql": "^16.12.0", + "oidc-client-ts": "^3.4.1", + "svelte": "^5.45.2", + "tailwind-merge": "^3.4.0", + "tailwindcss": "^4.1.17", + "typescript": "^5.9.3" + }, + "devDependencies": { + "@graphql-codegen/cli": "^6.1.0", + "@graphql-codegen/typed-document-node": "^6.1.3", + "@graphql-codegen/typescript": "^5.0.5", + "@graphql-codegen/typescript-operations": "^5.0.5", + "@lucide/svelte": "^0.555.0", + "dotenv": "^16.6.1", + "tailwind-variants": "^3.2.2", + "tw-animate-css": "^1.4.0" + } +} diff --git a/fictionarchive-web-astro/public/favicon.svg b/fictionarchive-web-astro/public/favicon.svg new file mode 100644 index 0000000..f157bd1 --- /dev/null +++ b/fictionarchive-web-astro/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/fictionarchive-web-astro/src/layouts/AppLayout.astro b/fictionarchive-web-astro/src/layouts/AppLayout.astro new file mode 100644 index 0000000..c8591ec --- /dev/null +++ b/fictionarchive-web-astro/src/layouts/AppLayout.astro @@ -0,0 +1,29 @@ +--- +import Navbar from '../lib/components/Navbar.svelte'; +import AuthInit from '../lib/components/AuthInit.svelte'; +import '../styles/global.css'; + +interface Props { + title?: string; +} + +const { title = 'FictionArchive' } = Astro.props; +--- + + + + + + + + + {title} + + + + +
+ +
+ + diff --git a/fictionarchive-web-astro/src/lib/auth/authStore.ts b/fictionarchive-web-astro/src/lib/auth/authStore.ts new file mode 100644 index 0000000..1d40d2e --- /dev/null +++ b/fictionarchive-web-astro/src/lib/auth/authStore.ts @@ -0,0 +1,115 @@ +import { writable, derived } from 'svelte/store'; +import type { User } from 'oidc-client-ts'; +import { userManager, isOidcConfigured } from './oidcConfig'; + +// Stores +export const user = writable(null); +export const isLoading = writable(true); +export const isAuthenticated = derived(user, ($user) => $user !== null); +export const isConfigured = isOidcConfigured; + +// Cookie management +function setCookieFromUser(u: User) { + if (!u?.access_token) return; + + const isProduction = window.location.hostname !== 'localhost'; + const domain = isProduction ? '.orfl.xyz' : undefined; + const secure = isProduction; + const sameSite = isProduction ? 'None' : 'Lax'; + + const cookieValue = `fa_session=${u.access_token}; path=/; ${secure ? 'secure; ' : ''}samesite=${sameSite}${domain ? `; domain=${domain}` : ''}`; + document.cookie = cookieValue; +} + +function clearFaSessionCookie() { + const isProduction = window.location.hostname !== 'localhost'; + const domain = isProduction ? '.orfl.xyz' : undefined; + + const cookieValue = `fa_session=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT${domain ? `; domain=${domain}` : ''}`; + document.cookie = cookieValue; +} + +// Track if callback has been handled to prevent double processing +let callbackHandled = false; + +export async function initAuth() { + if (!userManager) { + isLoading.set(false); + return; + } + + // Handle callback if auth params are present + const url = new URL(window.location.href); + const hasAuthParams = + url.searchParams.has('code') || + url.searchParams.has('id_token') || + url.searchParams.has('error'); + + if (hasAuthParams && !callbackHandled) { + callbackHandled = true; + try { + const result = await userManager.signinRedirectCallback(); + user.set(result ?? null); + if (result) { + setCookieFromUser(result); + } + } catch (e) { + console.error('Failed to complete sign-in redirect', e); + } finally { + const cleanUrl = `${url.origin}${url.pathname}`; + window.history.replaceState({}, document.title, cleanUrl); + } + } + + // Load existing user + try { + const loadedUser = await userManager.getUser(); + user.set(loadedUser ?? null); + if (loadedUser) { + setCookieFromUser(loadedUser); + } + } catch (e) { + console.error('Failed to load user', e); + } + + isLoading.set(false); + + // Event listeners + userManager.events.addUserLoaded((u) => { + user.set(u); + setCookieFromUser(u); + }); + + userManager.events.addUserUnloaded(() => { + user.set(null); + clearFaSessionCookie(); + }); + + userManager.events.addUserSignedOut(() => { + user.set(null); + clearFaSessionCookie(); + }); +} + +export async function login() { + if (!userManager) { + console.warn('OIDC is not configured; set PUBLIC_OIDC_* environment variables.'); + return; + } + await userManager.signinRedirect(); +} + +export async function logout() { + if (!userManager) { + console.warn('OIDC is not configured; set PUBLIC_OIDC_* environment variables.'); + return; + } + try { + clearFaSessionCookie(); + await userManager.signoutRedirect(); + } catch (error) { + console.error('Failed to sign out via redirect, clearing local session instead.', error); + await userManager.removeUser(); + user.set(null); + } +} diff --git a/fictionarchive-web/src/auth/oidcClient.ts b/fictionarchive-web-astro/src/lib/auth/oidcConfig.ts similarity index 54% rename from fictionarchive-web/src/auth/oidcClient.ts rename to fictionarchive-web-astro/src/lib/auth/oidcConfig.ts index 9e8ed63..17ae4cc 100644 --- a/fictionarchive-web/src/auth/oidcClient.ts +++ b/fictionarchive-web-astro/src/lib/auth/oidcConfig.ts @@ -1,17 +1,16 @@ -import { UserManager, WebStorageStateStore, type UserManagerSettings } from 'oidc-client-ts' +import { UserManager, WebStorageStateStore, type UserManagerSettings } from 'oidc-client-ts'; -const authority = import.meta.env.VITE_OIDC_AUTHORITY -const clientId = import.meta.env.VITE_OIDC_CLIENT_ID -const redirectUri = import.meta.env.VITE_OIDC_REDIRECT_URI -const postLogoutRedirectUri = - import.meta.env.VITE_OIDC_POST_LOGOUT_REDIRECT_URI ?? redirectUri -const scope = import.meta.env.VITE_OIDC_SCOPE ?? 'openid profile email' +const authority = import.meta.env.PUBLIC_OIDC_AUTHORITY; +const clientId = import.meta.env.PUBLIC_OIDC_CLIENT_ID; +const redirectUri = import.meta.env.PUBLIC_OIDC_REDIRECT_URI; +const postLogoutRedirectUri = import.meta.env.PUBLIC_OIDC_POST_LOGOUT_REDIRECT_URI ?? redirectUri; +const scope = import.meta.env.PUBLIC_OIDC_SCOPE ?? 'openid profile email'; export const isOidcConfigured = - Boolean(authority) && Boolean(clientId) && Boolean(redirectUri) + Boolean(authority) && Boolean(clientId) && Boolean(redirectUri); function buildSettings(): UserManagerSettings | null { - if (!isOidcConfigured) return null + if (!isOidcConfigured) return null; return { authority: authority!, @@ -26,11 +25,11 @@ function buildSettings(): UserManagerSettings | null { typeof window !== 'undefined' ? new WebStorageStateStore({ store: window.localStorage }) : undefined, - } + }; } export const userManager = (() => { - const settings = buildSettings() - if (!settings) return null - return new UserManager(settings) -})() + const settings = buildSettings(); + if (!settings) return null; + return new UserManager(settings); +})(); diff --git a/fictionarchive-web-astro/src/lib/components/AuthInit.svelte b/fictionarchive-web-astro/src/lib/components/AuthInit.svelte new file mode 100644 index 0000000..b366f46 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/AuthInit.svelte @@ -0,0 +1,8 @@ + diff --git a/fictionarchive-web-astro/src/lib/components/AuthenticationDisplay.svelte b/fictionarchive-web-astro/src/lib/components/AuthenticationDisplay.svelte new file mode 100644 index 0000000..3c9d578 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/AuthenticationDisplay.svelte @@ -0,0 +1,55 @@ + + + + +{#if $isLoading} + +{:else if !isConfigured} + Auth not configured +{:else if $user} +
+ + {#if isOpen} +
+ +
+ {/if} +
+{:else} + +{/if} diff --git a/fictionarchive-web-astro/src/lib/components/Navbar.svelte b/fictionarchive-web-astro/src/lib/components/Navbar.svelte new file mode 100644 index 0000000..db7b066 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/Navbar.svelte @@ -0,0 +1,21 @@ + + +
+ +
diff --git a/fictionarchive-web-astro/src/lib/components/NovelCard.svelte b/fictionarchive-web-astro/src/lib/components/NovelCard.svelte new file mode 100644 index 0000000..e5512a5 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/NovelCard.svelte @@ -0,0 +1,45 @@ + + + + + + {#if coverSrc} +
+ {title} +
+ {:else} +
+ {/if} + + + {title} + + + +

+ {description} +

+
+
diff --git a/fictionarchive-web-astro/src/lib/components/NovelDetailPage.svelte b/fictionarchive-web-astro/src/lib/components/NovelDetailPage.svelte new file mode 100644 index 0000000..4e35272 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/NovelDetailPage.svelte @@ -0,0 +1,25 @@ + + + + + Novel Details + + +

+ {#if novelId} + Viewing novel ID: {novelId} + {/if} +

+

+ Detail view coming soon. Select a novel to explore chapters and metadata once implemented. +

+
+
diff --git a/fictionarchive-web-astro/src/lib/components/NovelsPage.svelte b/fictionarchive-web-astro/src/lib/components/NovelsPage.svelte new file mode 100644 index 0000000..a9e8cc7 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/NovelsPage.svelte @@ -0,0 +1,117 @@ + + +
+ + + Latest Novels +

Novels that have recently been updated.

+
+
+ + {#if fetching && initialLoad} + + +
+
+
+
+
+ {/if} + + {#if error} + + +

Could not load novels: {error}

+
+
+ {/if} + + {#if !fetching && novels.length === 0 && !error && !initialLoad} + + +

+ No novels found yet. Try adding content to the gateway. +

+
+
+ {/if} + + {#if novels.length > 0} +
+ {#each novels as novel (novel.id)} + + {/each} +
+ {/if} + + {#if hasNextPage} +
+ +
+ {/if} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/badge/badge.svelte b/fictionarchive-web-astro/src/lib/components/ui/badge/badge.svelte new file mode 100644 index 0000000..bfaa9c5 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/badge/badge.svelte @@ -0,0 +1,50 @@ + + + + + + {@render children?.()} + diff --git a/fictionarchive-web-astro/src/lib/components/ui/badge/index.ts b/fictionarchive-web-astro/src/lib/components/ui/badge/index.ts new file mode 100644 index 0000000..64e0aa9 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/badge/index.ts @@ -0,0 +1,2 @@ +export { default as Badge } from "./badge.svelte"; +export { badgeVariants, type BadgeVariant } from "./badge.svelte"; diff --git a/fictionarchive-web-astro/src/lib/components/ui/button/button.svelte b/fictionarchive-web-astro/src/lib/components/ui/button/button.svelte new file mode 100644 index 0000000..2105474 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/button/button.svelte @@ -0,0 +1,82 @@ + + + + +{#if href} + + {@render children?.()} + +{:else} + +{/if} diff --git a/fictionarchive-web-astro/src/lib/components/ui/button/index.ts b/fictionarchive-web-astro/src/lib/components/ui/button/index.ts new file mode 100644 index 0000000..fb585d7 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/button/index.ts @@ -0,0 +1,17 @@ +import Root, { + type ButtonProps, + type ButtonSize, + type ButtonVariant, + buttonVariants, +} from "./button.svelte"; + +export { + Root, + type ButtonProps as Props, + // + Root as Button, + buttonVariants, + type ButtonProps, + type ButtonSize, + type ButtonVariant, +}; diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card-action.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card-action.svelte new file mode 100644 index 0000000..cc36c56 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card-action.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card-content.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card-content.svelte new file mode 100644 index 0000000..bc90b83 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card-content.svelte @@ -0,0 +1,15 @@ + + +
+ {@render children?.()} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card-description.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card-description.svelte new file mode 100644 index 0000000..9b20ac7 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card-description.svelte @@ -0,0 +1,20 @@ + + +

+ {@render children?.()} +

diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card-footer.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card-footer.svelte new file mode 100644 index 0000000..cf43353 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card-footer.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card-header.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card-header.svelte new file mode 100644 index 0000000..8a91abb --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card-header.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card-title.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card-title.svelte new file mode 100644 index 0000000..22586e6 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card-title.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/card.svelte b/fictionarchive-web-astro/src/lib/components/ui/card/card.svelte new file mode 100644 index 0000000..99448cc --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/card.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/card/index.ts b/fictionarchive-web-astro/src/lib/components/ui/card/index.ts new file mode 100644 index 0000000..4d3fce4 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/card/index.ts @@ -0,0 +1,25 @@ +import Root from "./card.svelte"; +import Content from "./card-content.svelte"; +import Description from "./card-description.svelte"; +import Footer from "./card-footer.svelte"; +import Header from "./card-header.svelte"; +import Title from "./card-title.svelte"; +import Action from "./card-action.svelte"; + +export { + Root, + Content, + Description, + Footer, + Header, + Title, + Action, + // + Root as Card, + Content as CardContent, + Description as CardDescription, + Footer as CardFooter, + Header as CardHeader, + Title as CardTitle, + Action as CardAction, +}; diff --git a/fictionarchive-web-astro/src/lib/components/ui/input/index.ts b/fictionarchive-web-astro/src/lib/components/ui/input/index.ts new file mode 100644 index 0000000..f47b6d3 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/input/index.ts @@ -0,0 +1,7 @@ +import Root from "./input.svelte"; + +export { + Root, + // + Root as Input, +}; diff --git a/fictionarchive-web-astro/src/lib/components/ui/input/input.svelte b/fictionarchive-web-astro/src/lib/components/ui/input/input.svelte new file mode 100644 index 0000000..960167d --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/input/input.svelte @@ -0,0 +1,52 @@ + + +{#if type === "file"} + +{:else} + +{/if} diff --git a/fictionarchive-web/src/__generated__/graphql.ts b/fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts similarity index 98% rename from fictionarchive-web/src/__generated__/graphql.ts rename to fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts index 1780522..1ec658e 100644 --- a/fictionarchive-web/src/__generated__/graphql.ts +++ b/fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts @@ -1,6 +1,6 @@ import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; export type Maybe = T | null; -export type InputMaybe = T | null; +export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K] }; export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; @@ -18,6 +18,17 @@ export type Scalars = { UnsignedInt: { input: any; output: any; } }; +/** Defines when a policy shall be executed. */ +export const ApplyPolicy = { + /** After the resolver was executed. */ + AfterResolver: 'AFTER_RESOLVER', + /** Before the resolver was executed. */ + BeforeResolver: 'BEFORE_RESOLVER', + /** The policy is applied in the validation step before the execution. */ + Validation: 'VALIDATION' +} as const; + +export type ApplyPolicy = typeof ApplyPolicy[keyof typeof ApplyPolicy]; export type Chapter = { body: LocalizationKey; createdTime: Scalars['Instant']['output']; diff --git a/fictionarchive-web-astro/src/lib/graphql/client.ts b/fictionarchive-web-astro/src/lib/graphql/client.ts new file mode 100644 index 0000000..3ba35b5 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/graphql/client.ts @@ -0,0 +1,21 @@ +import { Client, cacheExchange, fetchExchange } from '@urql/core'; +import { get } from 'svelte/store'; +import { user } from '../auth/authStore'; + +export function createClient() { + return new Client({ + url: import.meta.env.PUBLIC_GRAPHQL_URI, + exchanges: [cacheExchange, fetchExchange], + fetchOptions: () => { + const currentUser = get(user); + return { + headers: currentUser?.access_token + ? { Authorization: `Bearer ${currentUser.access_token}` } + : {}, + }; + }, + }); +} + +// Singleton for use in components +export const client = createClient(); diff --git a/fictionarchive-web/src/graphql/novels.graphql b/fictionarchive-web-astro/src/lib/graphql/queries/novels.graphql similarity index 100% rename from fictionarchive-web/src/graphql/novels.graphql rename to fictionarchive-web-astro/src/lib/graphql/queries/novels.graphql diff --git a/fictionarchive-web-astro/src/lib/graphql/urqlStore.ts b/fictionarchive-web-astro/src/lib/graphql/urqlStore.ts new file mode 100644 index 0000000..2dab607 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/graphql/urqlStore.ts @@ -0,0 +1,49 @@ +import { writable } from 'svelte/store'; +import type { OperationResult, TypedDocumentNode } from '@urql/core'; +import { client } from './client'; + +export function queryStore( + query: TypedDocumentNode, + variables: Variables +) { + const result = writable | null>(null); + const fetching = writable(true); + + async function execute(vars: Variables = variables) { + fetching.set(true); + const res = await client.query(query, vars).toPromise(); + result.set(res); + fetching.set(false); + return res; + } + + // Initial fetch + execute(); + + return { + subscribe: result.subscribe, + fetching: { subscribe: fetching.subscribe }, + refetch: execute, + }; +} + +export function mutationStore( + mutation: TypedDocumentNode +) { + const result = writable | null>(null); + const fetching = writable(false); + + async function execute(variables: Variables) { + fetching.set(true); + const res = await client.mutation(mutation, variables).toPromise(); + result.set(res); + fetching.set(false); + return res; + } + + return { + subscribe: result.subscribe, + fetching: { subscribe: fetching.subscribe }, + execute, + }; +} diff --git a/fictionarchive-web-astro/src/lib/utils.ts b/fictionarchive-web-astro/src/lib/utils.ts new file mode 100644 index 0000000..55b3a91 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/utils.ts @@ -0,0 +1,13 @@ +import { clsx, type ClassValue } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type WithoutChild = T extends { child?: any } ? Omit : T; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type WithoutChildren = T extends { children?: any } ? Omit : T; +export type WithoutChildrenOrChild = WithoutChildren>; +export type WithElementRef = T & { ref?: U | null }; diff --git a/fictionarchive-web-astro/src/pages/404.astro b/fictionarchive-web-astro/src/pages/404.astro new file mode 100644 index 0000000..b19615e --- /dev/null +++ b/fictionarchive-web-astro/src/pages/404.astro @@ -0,0 +1,23 @@ +--- +export const prerender = true; // Static page + +import AppLayout from '../layouts/AppLayout.astro'; +import { Card, CardContent, CardHeader, CardTitle } from '../lib/components/ui/card'; +import { Button } from '../lib/components/ui/button'; +--- + + +
+ + + 404 + + +

+ The page you're looking for doesn't exist or has been moved. +

+ +
+
+
+
diff --git a/fictionarchive-web-astro/src/pages/index.astro b/fictionarchive-web-astro/src/pages/index.astro new file mode 100644 index 0000000..52bfa60 --- /dev/null +++ b/fictionarchive-web-astro/src/pages/index.astro @@ -0,0 +1,10 @@ +--- +export const prerender = true; // Static page + +import AppLayout from '../layouts/AppLayout.astro'; +import NovelsPage from '../lib/components/NovelsPage.svelte'; +--- + + + + diff --git a/fictionarchive-web-astro/src/pages/novels/[id].astro b/fictionarchive-web-astro/src/pages/novels/[id].astro new file mode 100644 index 0000000..1208132 --- /dev/null +++ b/fictionarchive-web-astro/src/pages/novels/[id].astro @@ -0,0 +1,11 @@ +--- +// SSR page (default in server mode, no prerender export needed) +import AppLayout from '../../layouts/AppLayout.astro'; +import NovelDetailPage from '../../lib/components/NovelDetailPage.svelte'; + +const { id } = Astro.params; +--- + + + + diff --git a/fictionarchive-web-astro/src/styles/global.css b/fictionarchive-web-astro/src/styles/global.css new file mode 100644 index 0000000..3c543c0 --- /dev/null +++ b/fictionarchive-web-astro/src/styles/global.css @@ -0,0 +1,141 @@ +@import "tailwindcss"; + +@import "tw-animate-css"; + +@custom-variant dark (&:is(.dark *)); + +:root { + --radius: 0.75rem; + /* Purple/Indigo theme matching original React app */ + --background: oklch(0.98 0.01 250); + --foreground: oklch(0.2 0.04 260); + --card: oklch(1 0 0); + --card-foreground: oklch(0.2 0.04 260); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.2 0.04 260); + --primary: oklch(0.55 0.25 270); + --primary-foreground: oklch(1 0 0); + --secondary: oklch(0.95 0.02 270); + --secondary-foreground: oklch(0.2 0.04 260); + --muted: oklch(0.93 0.02 250); + --muted-foreground: oklch(0.5 0.03 250); + --accent: oklch(0.96 0.03 250); + --accent-foreground: oklch(0.2 0.04 260); + --destructive: oklch(0.6 0.24 25); + --destructive-foreground: oklch(1 0 0); + --border: oklch(0.92 0.02 250); + --input: oklch(0.92 0.02 250); + --ring: oklch(0.55 0.25 270); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.985 0.002 247.839); + --sidebar-foreground: oklch(0.2 0.04 260); + --sidebar-primary: oklch(0.55 0.25 270); + --sidebar-primary-foreground: oklch(1 0 0); + --sidebar-accent: oklch(0.95 0.02 270); + --sidebar-accent-foreground: oklch(0.2 0.04 260); + --sidebar-border: oklch(0.92 0.02 250); + --sidebar-ring: oklch(0.55 0.25 270); +} + +.dark { + --background: oklch(0.2 0.04 260); + --foreground: oklch(0.98 0.01 250); + --card: oklch(0.2 0.04 260); + --card-foreground: oklch(0.98 0.01 250); + --popover: oklch(0.2 0.04 260); + --popover-foreground: oklch(0.98 0.01 250); + --primary: oklch(0.7 0.2 270); + --primary-foreground: oklch(0.2 0.04 260); + --secondary: oklch(0.25 0.04 260); + --secondary-foreground: oklch(0.98 0.01 250); + --muted: oklch(0.25 0.04 260); + --muted-foreground: oklch(0.65 0.02 250); + --accent: oklch(0.25 0.04 260); + --accent-foreground: oklch(0.98 0.01 250); + --destructive: oklch(0.6 0.24 25); + --destructive-foreground: oklch(0.98 0.01 250); + --border: oklch(0.3 0.04 260); + --input: oklch(0.3 0.04 260); + --ring: oklch(0.7 0.2 270); + --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.2 0.04 260); + --sidebar-foreground: oklch(0.98 0.01 250); + --sidebar-primary: oklch(0.7 0.2 270); + --sidebar-primary-foreground: oklch(0.98 0.01 250); + --sidebar-accent: oklch(0.25 0.04 260); + --sidebar-accent-foreground: oklch(0.98 0.01 250); + --sidebar-border: oklch(0.3 0.04 260); + --sidebar-ring: oklch(0.7 0.2 270); +} + +@theme inline { + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + + body { + @apply bg-background text-foreground min-h-screen antialiased; + font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif; + /* Subtle gradient background matching original React app */ + background-image: + radial-gradient(circle at 20% 20%, oklch(0.95 0.05 270 / 50%), transparent 32%), + radial-gradient(circle at 80% 10%, oklch(0.95 0.05 150 / 40%), transparent 25%), + radial-gradient(circle at 50% 80%, oklch(0.95 0.05 25 / 30%), transparent 20%), + linear-gradient(180deg, oklch(1 0 0 / 90%), oklch(0.98 0.01 250 / 95%)); + } + + .dark body { + background-image: none; + } + + /* Link styling */ + a:not([class]) { + @apply text-primary font-medium hover:underline; + } +} diff --git a/fictionarchive-web-astro/svelte.config.js b/fictionarchive-web-astro/svelte.config.js new file mode 100644 index 0000000..522c1ef --- /dev/null +++ b/fictionarchive-web-astro/svelte.config.js @@ -0,0 +1,5 @@ +import { vitePreprocess } from '@astrojs/svelte'; + +export default { + preprocess: vitePreprocess(), +} diff --git a/fictionarchive-web-astro/tsconfig.json b/fictionarchive-web-astro/tsconfig.json new file mode 100644 index 0000000..fcbe4f2 --- /dev/null +++ b/fictionarchive-web-astro/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"], + "compilerOptions": { + // ... + "baseUrl": ".", + "paths": { + "$lib": ["./src/lib"], + "$lib/*": ["./src/lib/*"] + } + // ... + } +} diff --git a/fictionarchive-web/.env b/fictionarchive-web/.env deleted file mode 100644 index 0ded18b..0000000 --- a/fictionarchive-web/.env +++ /dev/null @@ -1 +0,0 @@ -VITE_GRAPHQL_URI=http://localhost:5234/graphql/ \ No newline at end of file diff --git a/fictionarchive-web/.gitignore b/fictionarchive-web/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/fictionarchive-web/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/fictionarchive-web/Dockerfile b/fictionarchive-web/Dockerfile deleted file mode 100644 index 9b9a813..0000000 --- a/fictionarchive-web/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM node:20-alpine AS build - -WORKDIR /app - -# Build arguments for Vite environment variables -ARG VITE_GRAPHQL_URI -ARG VITE_OIDC_AUTHORITY -ARG VITE_OIDC_CLIENT_ID -ARG VITE_OIDC_REDIRECT_URI -ARG VITE_OIDC_POST_LOGOUT_REDIRECT_URI - -# Set environment variables for build -ENV VITE_GRAPHQL_URI=$VITE_GRAPHQL_URI -ENV VITE_OIDC_AUTHORITY=$VITE_OIDC_AUTHORITY -ENV VITE_OIDC_CLIENT_ID=$VITE_OIDC_CLIENT_ID -ENV VITE_OIDC_REDIRECT_URI=$VITE_OIDC_REDIRECT_URI -ENV VITE_OIDC_POST_LOGOUT_REDIRECT_URI=$VITE_OIDC_POST_LOGOUT_REDIRECT_URI - -COPY package*.json ./ -RUN npm ci - -COPY . . -RUN npm run build - -FROM nginx:alpine - -COPY --from=build /app/dist /usr/share/nginx/html -COPY nginx.conf /etc/nginx/conf.d/default.conf - -EXPOSE 80 - -CMD ["nginx", "-g", "daemon off;"] diff --git a/fictionarchive-web/README.md b/fictionarchive-web/README.md deleted file mode 100644 index 03b9e20..0000000 --- a/fictionarchive-web/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# FictionArchive React Starter - -A minimal React + Vite + Apollo Client scaffold ready to connect to the FictionArchive Fusion gateway. Point it at your own endpoint by changing `VITE_GRAPHQL_URI`. - -## Getting started - -```bash -cd fictionarchive-web -npm install -npm run dev -``` - -Then open the printed local URL. Update `.env` (create it if missing) with your endpoint: - -``` -VITE_GRAPHQL_URI=https://localhost:5001/graphql -VITE_OIDC_AUTHORITY=https://your-idp -VITE_OIDC_CLIENT_ID=fictionarchive-web -VITE_OIDC_REDIRECT_URI=http://localhost:5173 -VITE_OIDC_POST_LOGOUT_REDIRECT_URI=http://localhost:5173 -# Optional: token used only by codegen if your gateway requires auth -VITE_CODEGEN_TOKEN=your_api_token -``` - -## Scripts - -- `npm run dev`: start Vite dev server. -- `npm run build`: type-check + production build. -- `npm run codegen`: generate typed hooks from `src/**/*.graphql` into `src/__generated__/graphql.ts`. **Run this manually after changing GraphQL operations or when the gateway schema changes.** - -## Project notes - -- `src/apolloClient.ts` configures the Apollo client with `InMemoryCache`, reads `VITE_GRAPHQL_URI`, and attaches an `Authorization: Bearer` header when an OIDC user is present. -- GraphQL code generation is configured via `codegen.ts` (loads `.env`/`.env.local` automatically); run `npm run codegen` to emit typed hooks to `src/__generated__/graphql.ts` (ignored by git) or rely on the `prebuild` hook. -- Routing is handled in `src/App.tsx` with `react-router-dom`; `/` renders the novels listing and `/novels/:id` is stubbed for future detail pages. -- Styles live primarily in `src/index.css` alongside the shared UI components. - -## Codegen tips - -- Default schema URL: `CODEGEN_SCHEMA_URL` (falls back to `VITE_GRAPHQL_URI`, then `https://localhost:5001/graphql`). -- Add `VITE_CODEGEN_TOKEN` (or `CODEGEN_TOKEN`) if your gateway requires a bearer token during introspection. -- Generated outputs land in `src/__generated__/graphql.ts` (committed to git). Run `npm run codegen` after schema/operation changes. diff --git a/fictionarchive-web/codegen.ts b/fictionarchive-web/codegen.ts deleted file mode 100644 index 89136b3..0000000 --- a/fictionarchive-web/codegen.ts +++ /dev/null @@ -1,42 +0,0 @@ -import type { CodegenConfig } from '@graphql-codegen/cli' - -const schema = - process.env.CODEGEN_SCHEMA_URL ?? - process.env.VITE_GRAPHQL_URI ?? - 'https://localhost:5001/graphql' - -const authToken = process.env.VITE_CODEGEN_TOKEN ?? process.env.CODEGEN_TOKEN -const headers = authToken - ? { - Authorization: `Bearer ${authToken}`, - } - : undefined - -const config: CodegenConfig = { - schema: { - [schema]: { headers }, - }, - documents: 'src/**/*.graphql', - generates: { - 'src/__generated__/graphql.ts': { - plugins: [ - 'typescript', - 'typescript-operations', - 'typed-document-node', - ], - config: { - avoidOptionals: { - field: true, - inputValue: false, - }, - enumsAsConst: true, - maybeValue: 'T | null', - skipTypename: true, - useTypeImports: true, - }, - }, - }, - ignoreNoDocuments: true, -} - -export default config diff --git a/fictionarchive-web/eslint.config.js b/fictionarchive-web/eslint.config.js deleted file mode 100644 index 7dd669d..0000000 --- a/fictionarchive-web/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', 'src/__generated__']), - { - 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/fictionarchive-web/index.html b/fictionarchive-web/index.html deleted file mode 100644 index 3111aea..0000000 --- a/fictionarchive-web/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - FictionArchive - - -
- - - diff --git a/fictionarchive-web/nginx.conf b/fictionarchive-web/nginx.conf deleted file mode 100644 index da7ddcb..0000000 --- a/fictionarchive-web/nginx.conf +++ /dev/null @@ -1,21 +0,0 @@ -server { - listen 80; - server_name localhost; - root /usr/share/nginx/html; - index index.html; - - # Gzip compression - gzip on; - gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; - - # Handle SPA routing - serve index.html for all routes - location / { - try_files $uri $uri/ /index.html; - } - - # Cache static assets - location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { - expires 1y; - add_header Cache-Control "public, immutable"; - } -} diff --git a/fictionarchive-web/package-lock.json b/fictionarchive-web/package-lock.json deleted file mode 100644 index f01efe1..0000000 --- a/fictionarchive-web/package-lock.json +++ /dev/null @@ -1,7727 +0,0 @@ -{ - "name": "fictionarchive-web", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "fictionarchive-web", - "version": "0.0.0", - "dependencies": { - "@apollo/client": "^4.0.9", - "@radix-ui/react-slot": "^1.1.2", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "graphql": "^16.12.0", - "oidc-client-ts": "^3.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "react-router-dom": "^6.27.0", - "tailwind-merge": "^2.5.4" - }, - "devDependencies": { - "@eslint/js": "^9.39.1", - "@graphql-codegen/cli": "^5.0.3", - "@graphql-codegen/typed-document-node": "^6.1.1", - "@graphql-codegen/typescript": "^4.0.9", - "@graphql-codegen/typescript-operations": "^4.0.9", - "@types/node": "^24.10.1", - "@types/react": "^19.2.5", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^5.1.1", - "autoprefixer": "^10.4.20", - "dotenv": "^16.4.5", - "eslint": "^9.39.1", - "eslint-plugin-react-hooks": "^7.0.1", - "eslint-plugin-react-refresh": "^0.4.24", - "globals": "^16.5.0", - "postcss": "^8.4.49", - "tailwindcss": "^3.4.16", - "tailwindcss-animate": "^1.0.7", - "typescript": "~5.9.3", - "typescript-eslint": "^8.46.4", - "vite": "^7.2.4" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@apollo/client": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.0.9.tgz", - "integrity": "sha512-Lh2drMzFE9x5jVS8RKmlGL5SORkvpyUJIT+wTErxDUR2HpWePiBfhhcHHRSlZFiCR866ewCv4euTc4IDF0GWxw==", - "license": "MIT", - "workspaces": [ - "dist", - "codegen", - "scripts/codemods/ac3-to-ac4" - ], - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@wry/caches": "^1.0.0", - "@wry/equality": "^0.5.6", - "@wry/trie": "^0.5.0", - "graphql-tag": "^2.12.6", - "optimism": "^0.18.0", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "graphql": "^16.0.0", - "graphql-ws": "^5.5.5 || ^6.0.3", - "react": "^17.0.0 || ^18.0.0 || >=19.0.0-rc", - "react-dom": "^17.0.0 || ^18.0.0 || >=19.0.0-rc", - "rxjs": "^7.3.0", - "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" - }, - "peerDependenciesMeta": { - "graphql-ws": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "subscriptions-transport-ws": { - "optional": true - } - } - }, - "node_modules/@ardatan/relay-compiler": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-12.0.3.tgz", - "integrity": "sha512-mBDFOGvAoVlWaWqs3hm1AciGHSQE1rqFc/liZTyYz/Oek9yZdT5H26pH2zAFuEiTiBVPPyMuqf5VjOFPI2DGsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/generator": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/runtime": "^7.26.10", - "chalk": "^4.0.0", - "fb-watchman": "^2.0.0", - "immutable": "~3.7.6", - "invariant": "^2.2.4", - "nullthrows": "^1.1.1", - "relay-runtime": "12.0.0", - "signedsource": "^1.0.0" - }, - "bin": { - "relay-compiler": "bin/relay-compiler" - }, - "peerDependencies": { - "graphql": "*" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", - "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@envelop/core": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@envelop/core/-/core-5.4.0.tgz", - "integrity": "sha512-/1fat63pySE8rw/dZZArEVytLD90JApY85deDJ0/34gm+yhQ3k70CloSUevxoOE4YCGveG3s9SJJfQeeB4NAtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@envelop/instrumentation": "^1.0.0", - "@envelop/types": "^5.2.1", - "@whatwg-node/promise-helpers": "^1.2.4", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@envelop/instrumentation": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz", - "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@whatwg-node/promise-helpers": "^1.2.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@envelop/types": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@envelop/types/-/types-5.2.1.tgz", - "integrity": "sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@whatwg-node/promise-helpers": "^1.0.0", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@fastify/busboy": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz", - "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@graphql-codegen/add": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-5.0.3.tgz", - "integrity": "sha512-SxXPmramkth8XtBlAHu4H4jYcYXM/o3p01+psU+0NADQowA8jtYkK6MW5rV6T+CxkEaNZItfSmZRPgIuypcqnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.0.3", - "tslib": "~2.6.0" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/add/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/cli": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-5.0.7.tgz", - "integrity": "sha512-h/sxYvSaWtxZxo8GtaA8SvcHTyViaaPd7dweF/hmRDpaQU1o3iU3EZxlcJ+oLTunU0tSMFsnrIXm/mhXxI11Cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/generator": "^7.18.13", - "@babel/template": "^7.18.10", - "@babel/types": "^7.18.13", - "@graphql-codegen/client-preset": "^4.8.2", - "@graphql-codegen/core": "^4.0.2", - "@graphql-codegen/plugin-helpers": "^5.1.1", - "@graphql-tools/apollo-engine-loader": "^8.0.0", - "@graphql-tools/code-file-loader": "^8.0.0", - "@graphql-tools/git-loader": "^8.0.0", - "@graphql-tools/github-loader": "^8.0.0", - "@graphql-tools/graphql-file-loader": "^8.0.0", - "@graphql-tools/json-file-loader": "^8.0.0", - "@graphql-tools/load": "^8.1.0", - "@graphql-tools/prisma-loader": "^8.0.0", - "@graphql-tools/url-loader": "^8.0.0", - "@graphql-tools/utils": "^10.0.0", - "@whatwg-node/fetch": "^0.10.0", - "chalk": "^4.1.0", - "cosmiconfig": "^8.1.3", - "debounce": "^1.2.0", - "detect-indent": "^6.0.0", - "graphql-config": "^5.1.1", - "inquirer": "^8.0.0", - "is-glob": "^4.0.1", - "jiti": "^1.17.1", - "json-to-pretty-yaml": "^1.2.2", - "listr2": "^4.0.5", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.5", - "shell-quote": "^1.7.3", - "string-env-interpolation": "^1.0.1", - "ts-log": "^2.2.3", - "tslib": "^2.4.0", - "yaml": "^2.3.1", - "yargs": "^17.0.0" - }, - "bin": { - "gql-gen": "cjs/bin.js", - "graphql-code-generator": "cjs/bin.js", - "graphql-codegen": "cjs/bin.js", - "graphql-codegen-esm": "esm/bin.js" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "@parcel/watcher": "^2.1.0", - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - }, - "peerDependenciesMeta": { - "@parcel/watcher": { - "optional": true - } - } - }, - "node_modules/@graphql-codegen/client-preset": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-4.8.3.tgz", - "integrity": "sha512-QpEsPSO9fnRxA6Z66AmBuGcwHjZ6dYSxYo5ycMlYgSPzAbyG8gn/kWljofjJfWqSY+T/lRn+r8IXTH14ml24vQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7", - "@graphql-codegen/add": "^5.0.3", - "@graphql-codegen/gql-tag-operations": "4.0.17", - "@graphql-codegen/plugin-helpers": "^5.1.1", - "@graphql-codegen/typed-document-node": "^5.1.2", - "@graphql-codegen/typescript": "^4.1.6", - "@graphql-codegen/typescript-operations": "^4.6.1", - "@graphql-codegen/visitor-plugin-common": "^5.8.0", - "@graphql-tools/documents": "^1.0.0", - "@graphql-tools/utils": "^10.0.0", - "@graphql-typed-document-node/core": "3.2.0", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", - "graphql-sock": "^1.0.0" - }, - "peerDependenciesMeta": { - "graphql-sock": { - "optional": true - } - } - }, - "node_modules/@graphql-codegen/client-preset/node_modules/@graphql-codegen/typed-document-node": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-5.1.2.tgz", - "integrity": "sha512-jaxfViDqFRbNQmfKwUY8hDyjnLTw2Z7DhGutxoOiiAI0gE/LfPe0LYaVFKVmVOOD7M3bWxoWfu4slrkbWbUbEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.1.0", - "@graphql-codegen/visitor-plugin-common": "5.8.0", - "auto-bind": "~4.0.0", - "change-case-all": "1.0.15", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/client-preset/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/core": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-4.0.2.tgz", - "integrity": "sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.0.3", - "@graphql-tools/schema": "^10.0.0", - "@graphql-tools/utils": "^10.0.0", - "tslib": "~2.6.0" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/core/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/gql-tag-operations": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-4.0.17.tgz", - "integrity": "sha512-2pnvPdIG6W9OuxkrEZ6hvZd142+O3B13lvhrZ48yyEBh2ujtmKokw0eTwDHtlXUqjVS0I3q7+HB2y12G/m69CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.1.0", - "@graphql-codegen/visitor-plugin-common": "5.8.0", - "@graphql-tools/utils": "^10.0.0", - "auto-bind": "~4.0.0", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/gql-tag-operations/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/plugin-helpers": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-5.1.1.tgz", - "integrity": "sha512-28GHODK2HY1NhdyRcPP3sCz0Kqxyfiz7boIZ8qIxFYmpLYnlDgiYok5fhFLVSZihyOpCs4Fa37gVHf/Q4I2FEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.0.0", - "change-case-all": "1.0.15", - "common-tags": "1.8.2", - "import-from": "4.0.0", - "lodash": "~4.17.0", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/schema-ast": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-4.1.0.tgz", - "integrity": "sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.0.3", - "@graphql-tools/utils": "^10.0.0", - "tslib": "~2.6.0" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/schema-ast/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/typed-document-node": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.3.tgz", - "integrity": "sha512-U1+16S3EWnR4T5b9219pu/47InfDB3UZ2E/CihJXgkeSklNteNBtw3D8m9R+ZanIq/GIsEin2hYpR++PO6neLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/visitor-plugin-common": "6.2.0", - "auto-bind": "~4.0.0", - "change-case-all": "1.0.15", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/typed-document-node/node_modules/@graphql-codegen/plugin-helpers": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-6.1.0.tgz", - "integrity": "sha512-JJypehWTcty9kxKiqH7TQOetkGdOYjY78RHlI+23qB59cV2wxjFFVf8l7kmuXS4cpGVUNfIjFhVr7A1W7JMtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.0.0", - "change-case-all": "1.0.15", - "common-tags": "1.8.2", - "import-from": "4.0.0", - "lodash": "~4.17.0", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/typed-document-node/node_modules/@graphql-codegen/visitor-plugin-common": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.2.0.tgz", - "integrity": "sha512-8mx5uDDEwhP3G1jdeBdvVm4QhbEdkwXQa1hAXBWGofL87ePs5PUhz4IuQpwiS/CfFa4cqxcAWbe0k74x8iWfKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-tools/optimize": "^2.0.0", - "@graphql-tools/relay-operation-optimizer": "^7.0.0", - "@graphql-tools/utils": "^10.0.0", - "auto-bind": "~4.0.0", - "change-case-all": "1.0.15", - "dependency-graph": "^1.0.0", - "graphql-tag": "^2.11.0", - "parse-filepath": "^1.0.2", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/typed-document-node/node_modules/dependency-graph": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", - "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@graphql-codegen/typed-document-node/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/typescript": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-4.1.6.tgz", - "integrity": "sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.1.0", - "@graphql-codegen/schema-ast": "^4.0.2", - "@graphql-codegen/visitor-plugin-common": "5.8.0", - "auto-bind": "~4.0.0", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/typescript-operations": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-4.6.1.tgz", - "integrity": "sha512-k92laxhih7s0WZ8j5WMIbgKwhe64C0As6x+PdcvgZFMudDJ7rPJ/hFqJ9DCRxNjXoHmSjnr6VUuQZq4lT1RzCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.1.0", - "@graphql-codegen/typescript": "^4.1.6", - "@graphql-codegen/visitor-plugin-common": "5.8.0", - "auto-bind": "~4.0.0", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", - "graphql-sock": "^1.0.0" - }, - "peerDependenciesMeta": { - "graphql-sock": { - "optional": true - } - } - }, - "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/typescript/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-codegen/visitor-plugin-common": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-5.8.0.tgz", - "integrity": "sha512-lC1E1Kmuzi3WZUlYlqB4fP6+CvbKH9J+haU1iWmgsBx5/sO2ROeXJG4Dmt8gP03bI2BwjiwV5WxCEMlyeuzLnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-codegen/plugin-helpers": "^5.1.0", - "@graphql-tools/optimize": "^2.0.0", - "@graphql-tools/relay-operation-optimizer": "^7.0.0", - "@graphql-tools/utils": "^10.0.0", - "auto-bind": "~4.0.0", - "change-case-all": "1.0.15", - "dependency-graph": "^0.11.0", - "graphql-tag": "^2.11.0", - "parse-filepath": "^1.0.2", - "tslib": "~2.6.0" - }, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@graphql-hive/signal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz", - "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@graphql-tools/apollo-engine-loader": { - "version": "8.0.26", - "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.26.tgz", - "integrity": "sha512-vNeWX/hGpHMVaDJNBbf7yhmy95ueZ3f4rUjl6v819Emsfo0ItnyTM2FmOPUwpWIm7DpCKCSt134ERy/fgo14rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.10.3", - "@whatwg-node/fetch": "^0.10.13", - "sync-fetch": "0.6.0-2", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/batch-execute": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.19.tgz", - "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/promise-helpers": "^1.3.0", - "dataloader": "^2.2.3", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/code-file-loader": { - "version": "8.1.26", - "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.26.tgz", - "integrity": "sha512-VamhpBEbrABCjtJqEFBUrHBBVX4Iw7q4Ga8H3W0P7mO+sE1HuTfpWirSdBLlhc6nGcSyTb6FA1mEgGjjUASIHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/graphql-tag-pluck": "8.3.25", - "@graphql-tools/utils": "^10.10.3", - "globby": "^11.0.3", - "tslib": "^2.4.0", - "unixify": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/delegate": { - "version": "10.2.23", - "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.23.tgz", - "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/batch-execute": "^9.0.19", - "@graphql-tools/executor": "^1.4.9", - "@graphql-tools/schema": "^10.0.25", - "@graphql-tools/utils": "^10.9.1", - "@repeaterjs/repeater": "^3.0.6", - "@whatwg-node/promise-helpers": "^1.3.0", - "dataloader": "^2.2.3", - "dset": "^3.1.2", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/documents": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/documents/-/documents-1.0.1.tgz", - "integrity": "sha512-aweoMH15wNJ8g7b2r4C4WRuJxZ0ca8HtNO54rkye/3duxTkW4fGBEutCx03jCIr5+a1l+4vFJNP859QnAVBVCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.4.13.tgz", - "integrity": "sha512-2hTSRfH2kb4ua0ANOV/K6xUoCZsHAE6igE1bimtWUK7v0bowPIxGRKRPpF8JLbImpsJuTCC4HGOCMy7otg3FIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.10.3", - "@graphql-typed-document-node/core": "^3.2.0", - "@repeaterjs/repeater": "^3.0.4", - "@whatwg-node/disposablestack": "^0.0.6", - "@whatwg-node/promise-helpers": "^1.0.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor-common": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz", - "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@envelop/core": "^5.2.3", - "@graphql-tools/utils": "^10.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor-graphql-ws": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-2.0.7.tgz", - "integrity": "sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/executor-common": "^0.0.6", - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/disposablestack": "^0.0.6", - "graphql-ws": "^6.0.6", - "isomorphic-ws": "^5.0.0", - "tslib": "^2.8.1", - "ws": "^8.18.3" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor-graphql-ws/node_modules/@graphql-tools/executor-common": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.6.tgz", - "integrity": "sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@envelop/core": "^5.3.0", - "@graphql-tools/utils": "^10.9.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor-http": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.3.tgz", - "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-hive/signal": "^1.0.0", - "@graphql-tools/executor-common": "^0.0.4", - "@graphql-tools/utils": "^10.8.1", - "@repeaterjs/repeater": "^3.0.4", - "@whatwg-node/disposablestack": "^0.0.6", - "@whatwg-node/fetch": "^0.10.4", - "@whatwg-node/promise-helpers": "^1.3.0", - "meros": "^1.2.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/executor-legacy-ws": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.23.tgz", - "integrity": "sha512-wwS6ZlJDaC+zxE1DcfYrPJk1ynQ0xcbOWS/x8dy4hO6ZCjRawkogoqN3Muab0E9RzuwF29LRu+aOH6isO5mQKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.10.3", - "@types/ws": "^8.0.0", - "isomorphic-ws": "^5.0.0", - "tslib": "^2.4.0", - "ws": "^8.17.1" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/git-loader": { - "version": "8.0.30", - "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.30.tgz", - "integrity": "sha512-Rx3rphMFBKrILkCrjB6k5JF2z+3XYEnc5wUOw2rMxFAHBHeZjBfA6TDLUtd8EKnaf6h5y0pKpb+uZ72EYJaH2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/graphql-tag-pluck": "8.3.25", - "@graphql-tools/utils": "^10.10.3", - "is-glob": "4.0.3", - "micromatch": "^4.0.8", - "tslib": "^2.4.0", - "unixify": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/github-loader": { - "version": "8.0.22", - "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-8.0.22.tgz", - "integrity": "sha512-uQ4JNcNPsyMkTIgzeSbsoT9hogLjYrZooLUYd173l5eUGUi49EAcsGdiBCKaKfEjanv410FE8hjaHr7fjSRkJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/executor-http": "^1.1.9", - "@graphql-tools/graphql-tag-pluck": "^8.3.21", - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/fetch": "^0.10.0", - "@whatwg-node/promise-helpers": "^1.0.0", - "sync-fetch": "0.6.0-2", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/graphql-file-loader": { - "version": "8.1.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.7.tgz", - "integrity": "sha512-IE7tDdxVIt8OCPn3bdjz+NwQmUAZbLB33p6yNP26Az1RRBuxrfKb4vU+1yh9sF8lQUUyLC0+V/gz32xA3dsLWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/import": "7.1.7", - "@graphql-tools/utils": "^10.10.3", - "globby": "^11.0.3", - "tslib": "^2.4.0", - "unixify": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/graphql-tag-pluck": { - "version": "8.3.25", - "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.25.tgz", - "integrity": "sha512-b8oTBe0mDQDh3zPcKCkaTPmjLv1TJslBUKXPNLfu5CWS2+gL8Z/z0UuAhCe5gTveuKDJYjkEO7xcct9JfcDi4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", - "@graphql-tools/utils": "^10.10.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/import": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.7.tgz", - "integrity": "sha512-AKhJrNugn2TlPylmQ4pqbs2w82j0Bwi54Tlpc0TQoO1F942kjxoXqNGpxgXbFgdk+1Ds1pHmpWzQgbmYwlnAgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.10.3", - "@theguild/federation-composition": "^0.20.2", - "resolve-from": "5.0.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/json-file-loader": { - "version": "8.0.24", - "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.24.tgz", - "integrity": "sha512-S2XKpUVAzY84hniaMpv6V0of2joPfLPaeY4XXUQZfi4w0uiPSzHWA/EnXohgojJsQLgN+FP4dXFfp2yA5GG6VA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.10.3", - "globby": "^11.0.3", - "tslib": "^2.4.0", - "unixify": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/load": { - "version": "8.1.6", - "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.6.tgz", - "integrity": "sha512-/bUYqGdB2Y6BflW42IjmauBDzxjec3LQmVAuImVGeiOqw1Rca/DDP7KRQe3vEv8yf/xMVj/PkIl+YRjoo12YxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/schema": "^10.0.29", - "@graphql-tools/utils": "^10.10.3", - "p-limit": "3.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/merge": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.1.5.tgz", - "integrity": "sha512-eVcir6nCcOC/Wzv7ZAng3xec3dj6FehE8+h9TvgvUyrDEKVMdFfrO6etRFZ2hucWVcY8S6drx7zQx04N4lPM8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/utils": "^10.10.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/optimize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-2.0.0.tgz", - "integrity": "sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/prisma-loader": { - "version": "8.0.17", - "resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-8.0.17.tgz", - "integrity": "sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==", - "deprecated": "This package was intended to be used with an older versions of Prisma.\\nThe newer versions of Prisma has a different approach to GraphQL integration.\\nTherefore, this package is no longer needed and has been deprecated and removed.\\nLearn more: https://www.prisma.io/graphql", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/url-loader": "^8.0.15", - "@graphql-tools/utils": "^10.5.6", - "@types/js-yaml": "^4.0.0", - "@whatwg-node/fetch": "^0.10.0", - "chalk": "^4.1.0", - "debug": "^4.3.1", - "dotenv": "^16.0.0", - "graphql-request": "^6.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "jose": "^5.0.0", - "js-yaml": "^4.0.0", - "lodash": "^4.17.20", - "scuid": "^1.1.0", - "tslib": "^2.4.0", - "yaml-ast-parser": "^0.0.43" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/relay-operation-optimizer": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.0.25.tgz", - "integrity": "sha512-1S7qq9eyO6ygPNWX2lZd+oxbpl63OhnTTw8+t5OWprM2Tzws9HEosLUpsMR85z1gbezeKtUDt9a2bsSyu4MMFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ardatan/relay-compiler": "^12.0.3", - "@graphql-tools/utils": "^10.10.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/schema": { - "version": "10.0.29", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.0.29.tgz", - "integrity": "sha512-+Htiupnq6U/AWOEAJerIOGT1pAf4u43Q3n2JmFpqFfYJchz6sKWZ7L9Lpe/NusaaUQty/IOF+eQlNFypEaWxhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/merge": "^9.1.5", - "@graphql-tools/utils": "^10.10.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/url-loader": { - "version": "8.0.33", - "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.33.tgz", - "integrity": "sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/executor-graphql-ws": "^2.0.1", - "@graphql-tools/executor-http": "^1.1.9", - "@graphql-tools/executor-legacy-ws": "^1.1.19", - "@graphql-tools/utils": "^10.9.1", - "@graphql-tools/wrap": "^10.0.16", - "@types/ws": "^8.0.0", - "@whatwg-node/fetch": "^0.10.0", - "@whatwg-node/promise-helpers": "^1.0.0", - "isomorphic-ws": "^5.0.0", - "sync-fetch": "0.6.0-2", - "tslib": "^2.4.0", - "ws": "^8.17.1" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/utils": { - "version": "10.10.3", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.10.3.tgz", - "integrity": "sha512-2EdYiefeLLxsoeZTukSNZJ0E/Z5NnWBUGK2VJa0DQj1scDhVd93HeT1eW9TszJOYmIh3eWAKLv58ri/1XUmdsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.1", - "@whatwg-node/promise-helpers": "^1.0.0", - "cross-inspect": "1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-tools/wrap": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.1.4.tgz", - "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/delegate": "^10.2.23", - "@graphql-tools/schema": "^10.0.25", - "@graphql-tools/utils": "^10.9.1", - "@whatwg-node/promise-helpers": "^1.3.0", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "license": "MIT", - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@inquirer/external-editor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", - "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^2.1.1", - "iconv-lite": "^0.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", - "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@remix-run/router": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.1.tgz", - "integrity": "sha512-vDbaOzF7yT2Qs4vO6XV1MHcJv+3dgR1sT+l3B8xxOVhUC336prMvqrvsLL/9Dnw2xr6Qhz4J0dmS0llNAbnUmQ==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@repeaterjs/repeater": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", - "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.47", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.47.tgz", - "integrity": "sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", - "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@theguild/federation-composition": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@theguild/federation-composition/-/federation-composition-0.20.2.tgz", - "integrity": "sha512-QI4iSdrc4JvCWnMb1QbiHnEpdD33KGdiU66qfWOcM8ENebRGHkGjXDnUrVJ8F9g1dmCRMTNfn2NFGqTcDpeYXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "constant-case": "^3.0.4", - "debug": "4.4.3", - "json5": "^2.2.3", - "lodash.sortby": "^4.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "graphql": "^16.0.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/js-yaml": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", - "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.0.tgz", - "integrity": "sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.48.0", - "@typescript-eslint/type-utils": "8.48.0", - "@typescript-eslint/utils": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.48.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.0.tgz", - "integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.48.0", - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/typescript-estree": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.0.tgz", - "integrity": "sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.48.0", - "@typescript-eslint/types": "^8.48.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz", - "integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz", - "integrity": "sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.0.tgz", - "integrity": "sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/typescript-estree": "8.48.0", - "@typescript-eslint/utils": "8.48.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz", - "integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz", - "integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.48.0", - "@typescript-eslint/tsconfig-utils": "8.48.0", - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/visitor-keys": "8.48.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.0.tgz", - "integrity": "sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.48.0", - "@typescript-eslint/types": "8.48.0", - "@typescript-eslint/typescript-estree": "8.48.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz", - "integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.48.0", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.1.tgz", - "integrity": "sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.5", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.47", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.18.0" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/@whatwg-node/disposablestack": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", - "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@whatwg-node/promise-helpers": "^1.0.0", - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@whatwg-node/fetch": { - "version": "0.10.13", - "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.13.tgz", - "integrity": "sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@whatwg-node/node-fetch": "^0.8.3", - "urlpattern-polyfill": "^10.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@whatwg-node/node-fetch": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.8.4.tgz", - "integrity": "sha512-AlKLc57loGoyYlrzDbejB9EeR+pfdJdGzbYnkEuZaGekFboBwzfVYVMsy88PMriqPI1ORpiGYGgSSWpx7a2sDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@fastify/busboy": "^3.1.1", - "@whatwg-node/disposablestack": "^0.0.6", - "@whatwg-node/promise-helpers": "^1.3.2", - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@whatwg-node/promise-helpers": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz", - "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@wry/caches": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@wry/caches/-/caches-1.0.1.tgz", - "integrity": "sha512-bXuaUNLVVkD20wcGBWRyo7j9N3TxePEWFZj2Y+r9OoUzfqmavM84+mFykRicNsBqatba5JLay1t48wxaXaWnlA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@wry/context": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.4.tgz", - "integrity": "sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@wry/equality": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.7.tgz", - "integrity": "sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@wry/trie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.5.0.tgz", - "integrity": "sha512-FNoYzHawTMk/6KMQoEG5O4PuioX19UbwdQKF44yw0nLfOypfQdjtfZzo/UIJWAJ23sNIFbD1Ug9lbaDGMwbqQA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/auto-bind": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", - "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.22", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", - "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.27.0", - "caniuse-lite": "^1.0.30001754", - "fraction.js": "^5.3.4", - "normalize-range": "^0.1.2", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.31", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", - "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "baseline-browser-mapping": "^2.8.25", - "caniuse-lite": "^1.0.30001754", - "electron-to-chromium": "^1.5.249", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.1.4" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001757", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", - "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/capital-case": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz", - "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/change-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz", - "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "camel-case": "^4.1.2", - "capital-case": "^1.0.4", - "constant-case": "^3.0.4", - "dot-case": "^3.0.4", - "header-case": "^2.0.4", - "no-case": "^3.0.4", - "param-case": "^3.0.4", - "pascal-case": "^3.1.2", - "path-case": "^3.0.4", - "sentence-case": "^3.0.4", - "snake-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/change-case-all": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.15.tgz", - "integrity": "sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "change-case": "^4.1.2", - "is-lower-case": "^2.0.2", - "is-upper-case": "^2.0.2", - "lower-case": "^2.0.2", - "lower-case-first": "^2.0.2", - "sponge-case": "^1.0.1", - "swap-case": "^2.0.2", - "title-case": "^3.0.3", - "upper-case": "^2.0.2", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/chardet": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/class-variance-authority": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", - "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", - "license": "Apache-2.0", - "dependencies": { - "clsx": "^2.1.1" - }, - "funding": { - "url": "https://polar.sh/cva" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/constant-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", - "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case": "^2.0.2" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", - "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "^2.7.0" - } - }, - "node_modules/cross-inspect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz", - "integrity": "sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/dataloader": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.3.tgz", - "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/detect-indent": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", - "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", - "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dset": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.260", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.260.tgz", - "integrity": "sha512-ov8rBoOBhVawpzdre+Cmz4FB+y66Eqrk6Gwqd8NGxuhv99GQ8XqMAr351KEkOt7gukXWDg6gJWEMKgL2RLMPtA==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", - "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", - "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz", - "integrity": "sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fbjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", - "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/graphql": { - "version": "16.12.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", - "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==", - "license": "MIT", - "peer": true, - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, - "node_modules/graphql-config": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.5.tgz", - "integrity": "sha512-mG2LL1HccpU8qg5ajLROgdsBzx/o2M6kgI3uAmoaXiSH9PCUbtIyLomLqUtCFaAeG2YCFsl0M5cfQ9rKmDoMVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-tools/graphql-file-loader": "^8.0.0", - "@graphql-tools/json-file-loader": "^8.0.0", - "@graphql-tools/load": "^8.1.0", - "@graphql-tools/merge": "^9.0.0", - "@graphql-tools/url-loader": "^8.0.0", - "@graphql-tools/utils": "^10.0.0", - "cosmiconfig": "^8.1.0", - "jiti": "^2.0.0", - "minimatch": "^9.0.5", - "string-env-interpolation": "^1.0.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">= 16.0.0" - }, - "peerDependencies": { - "cosmiconfig-toml-loader": "^1.0.0", - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - }, - "peerDependenciesMeta": { - "cosmiconfig-toml-loader": { - "optional": true - } - } - }, - "node_modules/graphql-config/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/graphql-config/node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/graphql-config/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/graphql-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-6.1.0.tgz", - "integrity": "sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphql-typed-document-node/core": "^3.2.0", - "cross-fetch": "^3.1.5" - }, - "peerDependencies": { - "graphql": "14 - 16" - } - }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/graphql-ws": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-6.0.6.tgz", - "integrity": "sha512-zgfER9s+ftkGKUZgc0xbx8T7/HMO4AV5/YuYiFc+AtgcO5T0v8AxYYNQ+ltzuzDZgNkYJaFspm5MMYLjQzrkmw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=20" - }, - "peerDependencies": { - "@fastify/websocket": "^10 || ^11", - "crossws": "~0.3", - "graphql": "^15.10.1 || ^16", - "uWebSockets.js": "^20", - "ws": "^8" - }, - "peerDependenciesMeta": { - "@fastify/websocket": { - "optional": true - }, - "crossws": { - "optional": true - }, - "uWebSockets.js": { - "optional": true - }, - "ws": { - "optional": true - } - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/header-case": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz", - "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "capital-case": "^1.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hermes-estree": "0.25.1" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", - "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz", - "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/inquirer": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", - "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/external-editor": "^1.0.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-2.0.2.tgz", - "integrity": "sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-upper-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz", - "integrity": "sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/isomorphic-ws": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", - "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/jose": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz", - "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-to-pretty-yaml": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz", - "integrity": "sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "remedial": "^1.0.7", - "remove-trailing-spaces": "^1.0.6" - }, - "engines": { - "node": ">= 0.2.0" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jwt-decode": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", - "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.5", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lower-case-first": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz", - "integrity": "sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/meros": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/meros/-/meros-1.3.2.tgz", - "integrity": "sha512-Q3mobPbvEx7XbwhnC1J1r60+5H6EZyNccdzSz0eGexJRwouUtTZxPVRGdqKtxlpD84ScK4+tIGldkqDtCKdI0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=13" - }, - "peerDependencies": { - "@types/node": ">=13" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true, - "license": "ISC" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/oidc-client-ts": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/oidc-client-ts/-/oidc-client-ts-3.4.1.tgz", - "integrity": "sha512-jNdst/U28Iasukx/L5MP6b274Vr7ftQs6qAhPBCvz6Wt5rPCA+Q/tUmCzfCHHWweWw5szeMy2Gfrm1rITwUKrw==", - "license": "Apache-2.0", - "dependencies": { - "jwt-decode": "^4.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optimism": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.18.1.tgz", - "integrity": "sha512-mLXNwWPa9dgFyDqkNi54sjDyNJ9/fTI6WGBLgnXku1vdKY/jovHfZT5r+aiVeFFLOz+foPNOm5YJ4mqgld2GBQ==", - "license": "MIT", - "dependencies": { - "@wry/caches": "^1.0.0", - "@wry/context": "^0.7.0", - "@wry/trie": "^0.5.0", - "tslib": "^2.3.0" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz", - "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", - "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.0" - } - }, - "node_modules/react-refresh": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.30.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.2.tgz", - "integrity": "sha512-H2Bm38Zu1bm8KUE5NVWRMzuIyAV8p/JrOaBJAwVmp37AXG72+CZJlEBw6pdn9i5TBgLMhNDgijS4ZlblpHyWTA==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.23.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.30.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.2.tgz", - "integrity": "sha512-l2OwHn3UUnEVUqc6/1VMmR1cvZryZ3j3NzapC2eUXO1dB0sYp5mvwdjiXhpUbRb21eFow3qSxpP8Yv6oAU824Q==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.23.1", - "react-router": "6.30.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/relay-runtime": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-12.0.0.tgz", - "integrity": "sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.0.0", - "fbjs": "^3.0.0", - "invariant": "^2.2.4" - } - }, - "node_modules/remedial": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz", - "integrity": "sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "engines": { - "node": "*" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "license": "ISC" - }, - "node_modules/remove-trailing-spaces": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.9.tgz", - "integrity": "sha512-xzG7w5IRijvIkHIjDk65URsJJ7k4J95wmcArY5PRcmjldIOl7oTvG8+X2Ag690R7SfwiOcHrWZKVc1Pp5WIOzA==", - "dev": true, - "license": "MIT" - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup": { - "version": "4.53.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.53.3", - "@rollup/rollup-android-arm64": "4.53.3", - "@rollup/rollup-darwin-arm64": "4.53.3", - "@rollup/rollup-darwin-x64": "4.53.3", - "@rollup/rollup-freebsd-arm64": "4.53.3", - "@rollup/rollup-freebsd-x64": "4.53.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", - "@rollup/rollup-linux-arm-musleabihf": "4.53.3", - "@rollup/rollup-linux-arm64-gnu": "4.53.3", - "@rollup/rollup-linux-arm64-musl": "4.53.3", - "@rollup/rollup-linux-loong64-gnu": "4.53.3", - "@rollup/rollup-linux-ppc64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-gnu": "4.53.3", - "@rollup/rollup-linux-riscv64-musl": "4.53.3", - "@rollup/rollup-linux-s390x-gnu": "4.53.3", - "@rollup/rollup-linux-x64-gnu": "4.53.3", - "@rollup/rollup-linux-x64-musl": "4.53.3", - "@rollup/rollup-openharmony-arm64": "4.53.3", - "@rollup/rollup-win32-arm64-msvc": "4.53.3", - "@rollup/rollup-win32-ia32-msvc": "4.53.3", - "@rollup/rollup-win32-x64-gnu": "4.53.3", - "@rollup/rollup-win32-x64-msvc": "4.53.3", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/scuid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz", - "integrity": "sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/sentence-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz", - "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true, - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/signedsource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", - "integrity": "sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/snake-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", - "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sponge-case": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sponge-case/-/sponge-case-1.0.1.tgz", - "integrity": "sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-env-interpolation": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", - "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/sucrase": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", - "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "tinyglobby": "^0.2.11", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swap-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz", - "integrity": "sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/sync-fetch": { - "version": "0.6.0-2", - "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz", - "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "node-fetch": "^3.3.2", - "timeout-signal": "^2.0.0", - "whatwg-mimetype": "^4.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/sync-fetch/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "node_modules/tailwind-merge": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz", - "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "3.4.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", - "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.7", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tailwindcss-animate": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", - "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/timeout-signal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/timeout-signal/-/timeout-signal-2.0.0.tgz", - "integrity": "sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/title-case": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz", - "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/ts-log": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.7.tgz", - "integrity": "sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.48.0.tgz", - "integrity": "sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.48.0", - "@typescript-eslint/parser": "8.48.0", - "@typescript-eslint/typescript-estree": "8.48.0", - "@typescript-eslint/utils": "8.48.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.41", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", - "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "dev": true, - "license": "MIT" - }, - "node_modules/unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "normalize-path": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unixify/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/upper-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz", - "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/upper-case-first": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz", - "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urlpattern-polyfill": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", - "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==", - "dev": true, - "license": "MIT" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz", - "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "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" - }, - "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 - } - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-mimetype": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", - "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, - "node_modules/yaml-ast-parser": { - "version": "0.0.43", - "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", - "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", - "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", - "dev": true, - "license": "MIT", - "peer": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - } - } -} diff --git a/fictionarchive-web/package.json b/fictionarchive-web/package.json deleted file mode 100644 index a7863bc..0000000 --- a/fictionarchive-web/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "fictionarchive-web", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc -b && vite build", - "codegen": "graphql-codegen --config codegen.ts -r dotenv/config --use-system-ca", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "@apollo/client": "^4.0.9", - "@radix-ui/react-slot": "^1.1.2", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "graphql": "^16.12.0", - "oidc-client-ts": "^3.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "react-router-dom": "^6.27.0", - "tailwind-merge": "^2.5.4" - }, - "devDependencies": { - "@eslint/js": "^9.39.1", - "@graphql-codegen/cli": "^5.0.3", - "@graphql-codegen/typed-document-node": "^6.1.1", - "@graphql-codegen/typescript": "^4.0.9", - "@graphql-codegen/typescript-operations": "^4.0.9", - "@types/node": "^24.10.1", - "@types/react": "^19.2.5", - "@types/react-dom": "^19.2.3", - "@vitejs/plugin-react": "^5.1.1", - "autoprefixer": "^10.4.20", - "dotenv": "^16.4.5", - "eslint": "^9.39.1", - "eslint-plugin-react-hooks": "^7.0.1", - "eslint-plugin-react-refresh": "^0.4.24", - "globals": "^16.5.0", - "postcss": "^8.4.49", - "tailwindcss": "^3.4.16", - "tailwindcss-animate": "^1.0.7", - "typescript": "~5.9.3", - "typescript-eslint": "^8.46.4", - "vite": "^7.2.4" - } -} diff --git a/fictionarchive-web/postcss.config.cjs b/fictionarchive-web/postcss.config.cjs deleted file mode 100644 index 33ad091..0000000 --- a/fictionarchive-web/postcss.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/fictionarchive-web/public/favicon-180.png b/fictionarchive-web/public/favicon-180.png deleted file mode 100644 index 9be76866590d96f2298b07e772a556cc5e309cf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37217 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 XhC~;DAJD#p00000NkvXXu0mjfAaQhF diff --git a/fictionarchive-web/public/favicon.png b/fictionarchive-web/public/favicon.png deleted file mode 100644 index 0af88b5693f622bd2b62a31ecc759c4772ca8e9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355795 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 z 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 diff --git a/fictionarchive-web/public/vite.svg b/fictionarchive-web/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/fictionarchive-web/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/fictionarchive-web/src/App.css b/fictionarchive-web/src/App.css deleted file mode 100644 index f741c23..0000000 --- a/fictionarchive-web/src/App.css +++ /dev/null @@ -1,158 +0,0 @@ -.page { - max-width: 960px; - margin: 0 auto; - padding: 2.5rem 1.5rem 3rem; -} - -.card { - background: #ffffff; - border: 1px solid #e2e8f0; - border-radius: 16px; - padding: 1.5rem; - box-shadow: 0 18px 60px -30px rgba(15, 23, 42, 0.3); -} - -.card + .card { - margin-top: 1.25rem; -} - -.intro { - text-align: left; -} - -.eyebrow { - text-transform: uppercase; - letter-spacing: 0.08em; - font-size: 0.75rem; - color: #475569; - margin: 0 0 0.35rem; -} - -.lede { - color: #475569; - margin: 0.5rem 0 0; -} - -.header { - display: flex; - align-items: flex-start; - justify-content: space-between; - gap: 1rem; -} - -.pill { - display: inline-flex; - align-items: center; - gap: 0.4rem; - padding: 0.3rem 0.7rem; - border-radius: 999px; - background: #eef2ff; - color: #312e81; - border: 1px solid #c7d2fe; - font-weight: 600; -} - -.muted { - color: #475569; - margin: 0.35rem 0 0; -} - -.query-form { - margin: 1rem 0; - display: grid; - gap: 0.35rem; -} - -.label { - font-weight: 600; - color: #0f172a; -} - -.field-row { - display: flex; - gap: 0.5rem; - align-items: center; -} - -.field-row input { - flex: 1; - padding: 0.65rem 0.75rem; - border: 1px solid #cbd5e1; - border-radius: 12px; - font-size: 1rem; - color: #0f172a; - background: #f8fafc; -} - -.field-row input:focus { - outline: none; - border-color: #6366f1; - box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15); -} - -.field-row button { - padding: 0.65rem 0.9rem; - border: 1px solid #312e81; - background: linear-gradient(135deg, #4338ca, #312e81); - color: #fff; - border-radius: 12px; - font-weight: 700; - cursor: pointer; - transition: transform 150ms ease, box-shadow 150ms ease; -} - -.field-row button:hover { - transform: translateY(-1px); - box-shadow: 0 8px 24px -10px rgba(49, 46, 129, 0.6); -} - -.field-row button:active { - transform: translateY(0); - box-shadow: none; -} - -.country { - margin-top: 1rem; -} - -.country__headline { - display: flex; - align-items: center; - gap: 0.8rem; - margin-bottom: 1rem; -} - -.country h3 { - margin: 0.2rem 0 0; -} - -.emoji { - font-size: 2rem; -} - -.grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); - gap: 1rem; -} - -dt { - font-size: 0.9rem; - color: #475569; - margin-bottom: 0.2rem; -} - -dd { - margin: 0; - font-weight: 600; - color: #0f172a; -} - -.error { - color: #b91c1c; - background: #fef2f2; - border: 1px solid #fecdd3; - border-radius: 12px; - padding: 0.75rem 1rem; - margin: 0.75rem 0 0; -} diff --git a/fictionarchive-web/src/App.tsx b/fictionarchive-web/src/App.tsx deleted file mode 100644 index 0faa5aa..0000000 --- a/fictionarchive-web/src/App.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { Route, Routes } from 'react-router-dom' -import { AppLayout } from './layouts/AppLayout' -import { NovelsPage } from './pages/NovelsPage' -import { NovelDetailPage } from './pages/NovelDetailPage' -import { NotFoundPage } from './pages/NotFoundPage' - -function App() { - return ( - - }> - } /> - } /> - } /> - - - ) -} - -export default App diff --git a/fictionarchive-web/src/apolloClient.ts b/fictionarchive-web/src/apolloClient.ts deleted file mode 100644 index 058e4e0..0000000 --- a/fictionarchive-web/src/apolloClient.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { ApolloClient, HttpLink, InMemoryCache } from '@apollo/client' -import {SetContextLink} from '@apollo/client/link/context' -import { userManager } from './auth/oidcClient' - -const uri = import.meta.env.VITE_GRAPHQL_URI ?? 'https://localhost:5001/graphql' - -const httpLink = new HttpLink({ uri }) - -const authLink = new SetContextLink(async ({ headers }) => { - if (!userManager) return { headers } - try { - const user = await userManager.getUser() - const token = user?.access_token - if (!token) return { headers } - return { - headers: { - ...headers, - Authorization: `Bearer ${token}`, - }, - } - } catch (error) { - console.warn('Failed to load user for auth header', error) - return { headers } - } -}) - -export const apolloClient = new ApolloClient({ - link: authLink.concat(httpLink), - cache: new InMemoryCache(), -}) diff --git a/fictionarchive-web/src/assets/react.svg b/fictionarchive-web/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/fictionarchive-web/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/fictionarchive-web/src/auth/AuthContext.tsx b/fictionarchive-web/src/auth/AuthContext.tsx deleted file mode 100644 index e46345e..0000000 --- a/fictionarchive-web/src/auth/AuthContext.tsx +++ /dev/null @@ -1,168 +0,0 @@ -import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, type ReactNode } from 'react' -import type { User } from 'oidc-client-ts' -import { isOidcConfigured, userManager } from './oidcClient' - -// Cookie management helper functions -function setCookieFromUser(user: User) { - if (!user?.access_token) return - - const isProduction = window.location.hostname !== 'localhost' - const domain = isProduction ? '.orfl.xyz' : undefined - const secure = isProduction - const sameSite = isProduction ? 'None' : 'Lax' - - // Set cookie with JWT token from user - const cookieValue = `fa_session=${user.access_token}; path=/; ${secure ? 'secure; ' : ''}samesite=${sameSite}${domain ? `; domain=${domain}` : ''}` - document.cookie = cookieValue -} - -function clearFaSessionCookie() { - const isProduction = window.location.hostname !== 'localhost' - const domain = isProduction ? '.orfl.xyz' : undefined - - // Clear cookie by setting expiration date in the past - const cookieValue = `fa_session=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT${domain ? `; domain=${domain}` : ''}` - document.cookie = cookieValue -} - -type AuthContextValue = { - user: User | null - isLoading: boolean - isConfigured: boolean - login: () => Promise - logout: () => Promise -} - -const AuthContext = createContext(undefined) - -export function AuthProvider({ children }: { children: ReactNode }) { - const [user, setUser] = useState(null) - const [isLoading, setIsLoading] = useState(!!userManager) - const callbackHandledRef = useRef(false) - - useEffect(() => { - if (!userManager) { - return - } - - let cancelled = false - userManager - .getUser() - .then((loadedUser) => { - if (!cancelled) { - setUser(loadedUser ?? null) - if (loadedUser) { - setCookieFromUser(loadedUser) - } - } - }) - .finally(() => { - if (!cancelled) setIsLoading(false) - }) - - return () => { - cancelled = true - } - }, []) - - useEffect(() => { - const manager = userManager - if (!manager) return - - const handleLoaded = (nextUser: User) => { - setUser(nextUser) - setCookieFromUser(nextUser) - } - const handleUnloaded = () => { - setUser(null) - clearFaSessionCookie() - } - - manager.events.addUserLoaded(handleLoaded) - manager.events.addUserUnloaded(handleUnloaded) - manager.events.addUserSignedOut(handleUnloaded) - - return () => { - manager.events.removeUserLoaded(handleLoaded) - manager.events.removeUserUnloaded(handleUnloaded) - manager.events.removeUserSignedOut(handleUnloaded) - } - }, []) - - useEffect(() => { - const manager = userManager - if (!manager || callbackHandledRef.current) return - - const url = new URL(window.location.href) - const hasAuthParams = - url.searchParams.has('code') || - url.searchParams.has('id_token') || - url.searchParams.has('error') - - if (!hasAuthParams) return - - callbackHandledRef.current = true - manager - .signinRedirectCallback() - .then((nextUser) => { - setUser(nextUser ?? null) - if (nextUser) { - setCookieFromUser(nextUser) - } - }) - .catch((error) => { - console.error('Failed to complete sign-in redirect', error) - }) - .finally(() => { - const cleanUrl = `${url.origin}${url.pathname}` - window.history.replaceState({}, document.title, cleanUrl) - }) - }, []) - - const login = useCallback(async () => { - const manager = userManager - if (!manager) { - console.warn('OIDC is not configured; set VITE_OIDC_* environment variables.') - return - } - await manager.signinRedirect() - }, []) - - const logout = useCallback(async () => { - const manager = userManager - if (!manager) { - console.warn('OIDC is not configured; set VITE_OIDC_* environment variables.') - return - } - try { - await manager.signoutRedirect() - } catch (error) { - console.error('Failed to sign out via redirect, clearing local session instead.', error) - await manager.removeUser() - setUser(null) - clearFaSessionCookie() - } - }, []) - - const value = useMemo( - () => ({ - user, - isLoading, - isConfigured: isOidcConfigured, - login, - logout, - }), - [isLoading, login, logout, user], - ) - - return {children} -} - -// eslint-disable-next-line react-refresh/only-export-components -export function useAuth() { - const context = useContext(AuthContext) - if (!context) { - throw new Error('useAuth must be used within an AuthProvider') - } - return context -} diff --git a/fictionarchive-web/src/components/AuthenticationDisplay.tsx b/fictionarchive-web/src/components/AuthenticationDisplay.tsx deleted file mode 100644 index 1de4ba0..0000000 --- a/fictionarchive-web/src/components/AuthenticationDisplay.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { useEffect, useMemo, useRef, useState } from 'react' -import { useAuth } from '../auth/AuthContext' -import { Button } from './ui/button' - -export function AuthenticationDisplay() { - const { user, isConfigured, isLoading, login, logout } = useAuth() - const [isOpen, setIsOpen] = useState(false) - const menuRef = useRef(null) - - const email = useMemo( - () => - user?.profile?.email ?? - user?.profile?.preferred_username ?? - user?.profile?.name ?? - user?.profile?.sub ?? - null, - [user], - ) - - useEffect(() => { - if (!isOpen) return - - const handleClickOutside = (event: MouseEvent) => { - if (!menuRef.current) return - if (!menuRef.current.contains(event.target as Node)) { - setIsOpen(false) - } - } - - const handleEscape = (event: KeyboardEvent) => { - if (event.key === 'Escape') setIsOpen(false) - } - - document.addEventListener('mousedown', handleClickOutside) - document.addEventListener('keydown', handleEscape) - - return () => { - document.removeEventListener('mousedown', handleClickOutside) - document.removeEventListener('keydown', handleEscape) - } - }, [isOpen]) - - if (isLoading) { - return ( - - ) - } - - if (!isConfigured) { - return ( - - ) - } - - if (!user) { - return ( - - ) - } - - return ( -

- ) -} diff --git a/fictionarchive-web/src/components/Navbar.tsx b/fictionarchive-web/src/components/Navbar.tsx deleted file mode 100644 index a6b13cd..0000000 --- a/fictionarchive-web/src/components/Navbar.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { Link, NavLink } from 'react-router-dom' -import { AuthenticationDisplay } from './AuthenticationDisplay' -import { Button } from './ui/button' -import { Input } from './ui/input' - -export function Navbar() { - return ( - - ) -} diff --git a/fictionarchive-web/src/components/NovelCard.tsx b/fictionarchive-web/src/components/NovelCard.tsx deleted file mode 100644 index 5f3a807..0000000 --- a/fictionarchive-web/src/components/NovelCard.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import type { NovelsQuery } from '../__generated__/graphql' -import { Card, CardContent, CardHeader, CardTitle } from './ui/card' - -type NovelNode = NonNullable['edges']>[number]['node'] - -type NovelCardProps = { - novel: NovelNode -} - -function pickText(novelText?: NovelNode['name'] | NovelNode['description']) { - const texts = novelText?.texts ?? [] - const english = texts.find((t) => t.language === 'EN') - return (english ?? texts[0])?.text ?? 'No description available.' -} - -export function NovelCard({ novel }: NovelCardProps) { - const title = pickText(novel.name) - const description = pickText(novel.description) - const cover = novel.coverImage - - const coverSrc = cover?.newPath ?? cover?.originalPath - - return ( - - {coverSrc ? ( -
- {title} -
- ) : ( -
- )} - - - {title} - - - -

- {description} -

-
- - ) -} diff --git a/fictionarchive-web/src/components/ui/badge.tsx b/fictionarchive-web/src/components/ui/badge.tsx deleted file mode 100644 index fa47ef3..0000000 --- a/fictionarchive-web/src/components/ui/badge.tsx +++ /dev/null @@ -1,35 +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 shadow hover:bg-primary/90', - secondary: - 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80', - outline: 'text-foreground', - }, - }, - defaultVariants: { - variant: 'default', - }, - } -) - -export interface BadgeProps - extends React.HTMLAttributes, - VariantProps {} - -function Badge({ className, variant, ...props }: BadgeProps) { - return ( -
- ) -} - -// eslint-disable-next-line react-refresh/only-export-components -export { Badge, badgeVariants } diff --git a/fictionarchive-web/src/components/ui/button.tsx b/fictionarchive-web/src/components/ui/button.tsx deleted file mode 100644 index ab026f2..0000000 --- a/fictionarchive-web/src/components/ui/button.tsx +++ /dev/null @@ -1,55 +0,0 @@ -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' - -const buttonVariants = cva( - 'inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium 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 ring-offset-background', - { - variants: { - variant: { - default: 'bg-primary text-primary-foreground shadow hover:bg-primary/90', - secondary: - 'bg-secondary text-secondary-foreground hover:bg-secondary/80', - outline: - 'border border-input bg-background hover:bg-accent hover:text-accent-foreground shadow-sm', - ghost: 'hover:bg-accent hover:text-accent-foreground', - }, - size: { - default: 'h-10 px-4 py-2', - sm: 'h-9 rounded-md px-3', - lg: 'h-11 rounded-md px-8', - icon: 'h-10 w-10', - }, - }, - defaultVariants: { - variant: 'default', - size: 'default', - }, - } -) - -export interface ButtonProps - extends React.ButtonHTMLAttributes, - VariantProps { - asChild?: boolean -} - -const Button = React.forwardRef( - ({ className, variant, size, asChild = false, ...props }, ref) => { - const Comp = asChild ? Slot : 'button' - return ( - - ) - } -) -Button.displayName = 'Button' - -// eslint-disable-next-line react-refresh/only-export-components -export { Button, buttonVariants } diff --git a/fictionarchive-web/src/components/ui/card.tsx b/fictionarchive-web/src/components/ui/card.tsx deleted file mode 100644 index f324f21..0000000 --- a/fictionarchive-web/src/components/ui/card.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import * as React from 'react' - -import { cn } from '../../lib/utils' - -const Card = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
-)) -Card.displayName = 'Card' - -const CardHeader = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
-)) -CardHeader.displayName = 'CardHeader' - -const CardTitle = React.forwardRef< - HTMLParagraphElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -

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

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

-)) -CardContent.displayName = 'CardContent' - -const CardFooter = React.forwardRef< - HTMLDivElement, - React.HTMLAttributes ->(({ className, ...props }, ref) => ( -
-)) -CardFooter.displayName = 'CardFooter' - -export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } diff --git a/fictionarchive-web/src/components/ui/input.tsx b/fictionarchive-web/src/components/ui/input.tsx deleted file mode 100644 index 3e75349..0000000 --- a/fictionarchive-web/src/components/ui/input.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import * as React from 'react' - -import { cn } from '../../lib/utils' - -export type InputProps = React.InputHTMLAttributes - -const Input = React.forwardRef( - ({ className, type, ...props }, ref) => { - return ( - - ) - } -) -Input.displayName = 'Input' - -export { Input } diff --git a/fictionarchive-web/src/index.css b/fictionarchive-web/src/index.css deleted file mode 100644 index 8e1eb11..0000000 --- a/fictionarchive-web/src/index.css +++ /dev/null @@ -1,69 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -:root { - --background: 210 40% 98%; - --foreground: 222 47% 11%; - --muted: 214 32% 91%; - --muted-foreground: 215 16% 47%; - --popover: 0 0% 100%; - --popover-foreground: 222 47% 11%; - --card: 0 0% 100%; - --card-foreground: 222 47% 11%; - --border: 214 32% 91%; - --input: 214 32% 91%; - --primary: 243 75% 59%; - --primary-foreground: 0 0% 100%; - --secondary: 240 33% 94%; - --secondary-foreground: 222 47% 11%; - --accent: 220 70% 96%; - --accent-foreground: 222 47% 11%; - --destructive: 0 84% 60%; - --destructive-foreground: 0 0% 100%; - --ring: 243 75% 59%; - --radius: 12px; - --font-sans: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif; -} - -.dark { - --background: 222 47% 11%; - --foreground: 210 40% 98%; - --muted: 222 47% 14%; - --muted-foreground: 215 20% 65%; - --popover: 222 47% 11%; - --popover-foreground: 210 40% 98%; - --card: 222 47% 11%; - --card-foreground: 210 40% 98%; - --border: 222 47% 20%; - --input: 222 47% 20%; - --primary: 243 75% 70%; - --primary-foreground: 222 47% 11%; - --secondary: 222 47% 20%; - --secondary-foreground: 210 40% 98%; - --accent: 222 47% 20%; - --accent-foreground: 210 40% 98%; - --destructive: 0 84% 60%; - --destructive-foreground: 210 40% 98%; - --ring: 243 75% 70%; -} - -* { - @apply border-border; -} - -body { - @apply bg-background text-foreground min-h-screen antialiased; - background-image: radial-gradient(circle at 20% 20%, #eef2ff, transparent 32%), - radial-gradient(circle at 80% 10%, #dcfce7, transparent 25%), - radial-gradient(circle at 50% 80%, #fee2e2, transparent 20%), - linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(248, 250, 252, 0.95)); -} - -a { - @apply text-primary font-medium; -} - -a:hover { - @apply underline; -} diff --git a/fictionarchive-web/src/layouts/AppLayout.tsx b/fictionarchive-web/src/layouts/AppLayout.tsx deleted file mode 100644 index 841545e..0000000 --- a/fictionarchive-web/src/layouts/AppLayout.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { Outlet } from 'react-router-dom' -import { Navbar } from '../components/Navbar' - -export function AppLayout() { - return ( -
- -
- -
-
- ) -} diff --git a/fictionarchive-web/src/lib/utils.ts b/fictionarchive-web/src/lib/utils.ts deleted file mode 100644 index d32b0fe..0000000 --- a/fictionarchive-web/src/lib/utils.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { type ClassValue, clsx } from 'clsx' -import { twMerge } from 'tailwind-merge' - -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)) -} diff --git a/fictionarchive-web/src/main.tsx b/fictionarchive-web/src/main.tsx deleted file mode 100644 index 9745d00..0000000 --- a/fictionarchive-web/src/main.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { StrictMode } from 'react' -import { createRoot } from 'react-dom/client' -import './index.css' -import App from './App.tsx' -import { ApolloProvider } from '@apollo/client/react' -import { apolloClient } from './apolloClient.ts' -import { AuthProvider } from './auth/AuthContext' -import { BrowserRouter } from 'react-router-dom' - -createRoot(document.getElementById('root')!).render( - - - - - - - - - , -) diff --git a/fictionarchive-web/src/pages/NotFoundPage.tsx b/fictionarchive-web/src/pages/NotFoundPage.tsx deleted file mode 100644 index 5d0c1bd..0000000 --- a/fictionarchive-web/src/pages/NotFoundPage.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { Card, CardContent, CardHeader, CardTitle } from '../components/ui/card' - -export function NotFoundPage() { - return ( - - - Page not found - - -

- The page you are looking for does not exist. Head back to the novels - list to continue. -

-
-
- ) -} diff --git a/fictionarchive-web/src/pages/NovelDetailPage.tsx b/fictionarchive-web/src/pages/NovelDetailPage.tsx deleted file mode 100644 index 1d59e9d..0000000 --- a/fictionarchive-web/src/pages/NovelDetailPage.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { Card, CardContent, CardHeader, CardTitle } from '../components/ui/card' - -export function NovelDetailPage() { - return ( - - - Novel details - - -

- Detail view coming soon. Select a novel to explore chapters and - metadata once implemented. -

-
-
- ) -} diff --git a/fictionarchive-web/src/pages/NovelsPage.tsx b/fictionarchive-web/src/pages/NovelsPage.tsx deleted file mode 100644 index e93208f..0000000 --- a/fictionarchive-web/src/pages/NovelsPage.tsx +++ /dev/null @@ -1,111 +0,0 @@ -import { useMemo } from 'react' - -import { useQuery } from '@apollo/client/react' -import { NovelsDocument } from '../__generated__/graphql' -import { NovelCard } from '../components/NovelCard' -import { Button } from '../components/ui/button' -import { Card, CardContent, CardHeader, CardTitle } from '../components/ui/card' - -const PAGE_SIZE = 12 - -export function NovelsPage() { - const { data, loading, error, fetchMore } = useQuery(NovelsDocument, { - variables: { first: PAGE_SIZE, after: null }, - notifyOnNetworkStatusChange: true, - }) - - const pageInfo = data?.novels?.pageInfo - const hasNextPage = pageInfo?.hasNextPage ?? false - const endCursor = pageInfo?.endCursor ?? null - - const novels = useMemo( - () => (data?.novels?.edges ?? []).map((edge) => edge?.node).filter(Boolean), - [data?.novels?.edges] - ) - - async function handleLoadMore() { - if (!hasNextPage || !endCursor) return - await fetchMore({ - variables: { after: endCursor, first: PAGE_SIZE }, - updateQuery: (prev, { fetchMoreResult }) => { - if (!fetchMoreResult?.novels?.edges) return prev - const mergedEdges = [ - ...(prev.novels?.edges ?? []), - ...fetchMoreResult.novels.edges, - ] - return { - ...prev, - novels: { - ...fetchMoreResult.novels, - edges: mergedEdges, - }, - } - }, - }) - } - - return ( -
- - - Latest Novels -

- Novels that have recently been updated. -

-
-
- - {loading && !data && ( - - -
-
-
- - - )} - - {error && ( - - -

- Could not load novels: {error.message} -

-
-
- )} - - {!loading && novels.length === 0 && !error && ( - - -

- No novels found yet. Try adding content to the gateway. -

-
-
- )} - - {novels.length > 0 && ( -
- {novels.map( - (novel) => - novel && - )} -
- )} - - {hasNextPage && ( -
- -
- )} -
- ) -} diff --git a/fictionarchive-web/tailwind.config.cjs b/fictionarchive-web/tailwind.config.cjs deleted file mode 100644 index 2f4e182..0000000 --- a/fictionarchive-web/tailwind.config.cjs +++ /dev/null @@ -1,69 +0,0 @@ -const { fontFamily } = require('tailwindcss/defaultTheme') - -/** @type {import('tailwindcss').Config} */ -module.exports = { - darkMode: ['class'], - content: ['./index.html', './src/**/*.{ts,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)', - }, - fontFamily: { - sans: ['var(--font-sans)', ...fontFamily.sans], - }, - keyframes: { - 'accordion-down': { - from: { height: '0' }, - to: { height: 'var(--radix-accordion-content-height)' }, - }, - 'accordion-up': { - from: { height: 'var(--radix-accordion-content-height)' }, - to: { height: '0' }, - }, - }, - animation: { - 'accordion-down': 'accordion-down 0.2s ease-out', - 'accordion-up': 'accordion-up 0.2s ease-out', - }, - }, - }, - plugins: [require('tailwindcss-animate')], -} diff --git a/fictionarchive-web/tsconfig.app.json b/fictionarchive-web/tsconfig.app.json deleted file mode 100644 index a9b5a59..0000000 --- a/fictionarchive-web/tsconfig.app.json +++ /dev/null @@ -1,28 +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 - }, - "include": ["src"] -} diff --git a/fictionarchive-web/tsconfig.json b/fictionarchive-web/tsconfig.json deleted file mode 100644 index 1ffef60..0000000 --- a/fictionarchive-web/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "files": [], - "references": [ - { "path": "./tsconfig.app.json" }, - { "path": "./tsconfig.node.json" } - ] -} diff --git a/fictionarchive-web/tsconfig.node.json b/fictionarchive-web/tsconfig.node.json deleted file mode 100644 index 8a67f62..0000000 --- a/fictionarchive-web/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/fictionarchive-web/vite.config.ts b/fictionarchive-web/vite.config.ts deleted file mode 100644 index 1d4b6a5..0000000 --- a/fictionarchive-web/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' -import path from 'node:path' - -// https://vite.dev/config/ -export default defineConfig({ - plugins: [react()], - resolve: { - alias: { - react: path.resolve(__dirname, 'node_modules/react'), - 'react-dom': path.resolve(__dirname, 'node_modules/react-dom'), - 'react/jsx-runtime': path.resolve( - __dirname, - 'node_modules/react/jsx-runtime' - ), - 'react/jsx-dev-runtime': path.resolve( - __dirname, - 'node_modules/react/jsx-dev-runtime' - ), - }, - }, -}) From b2f454880770369866052f93659b84eac41dd7c1 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Sun, 30 Nov 2025 23:00:40 -0500 Subject: [PATCH 2/3] Should be mostly working, doing some additional QOL --- fictionarchive-web-astro/package-lock.json | 242 +++++++++++++++--- fictionarchive-web-astro/package.json | 5 +- .../src/lib/components/HeroSection.svelte | 21 ++ .../src/lib/components/HomePage.svelte | 38 +++ .../src/lib/components/Navbar.svelte | 26 +- .../src/lib/components/NavigationCard.svelte | 80 ++++++ .../src/lib/components/NovelCard.svelte | 110 ++++++-- .../components/RecentlyUpdatedSection.svelte | 81 ++++++ .../components/ui/navigation-menu/index.ts | 28 ++ .../navigation-menu-content.svelte | 21 ++ .../navigation-menu-indicator.svelte | 22 ++ .../navigation-menu-item.svelte | 17 ++ .../navigation-menu-link.svelte | 20 ++ .../navigation-menu-list.svelte | 17 ++ .../navigation-menu-trigger.svelte | 34 +++ .../navigation-menu-viewport.svelte | 22 ++ .../ui/navigation-menu/navigation-menu.svelte | 32 +++ .../src/lib/components/ui/tooltip/index.ts | 18 ++ .../ui/tooltip/tooltip-content.svelte | 24 ++ .../src/lib/graphql/__generated__/graphql.ts | 4 +- .../src/lib/graphql/queries/novels.graphql | 11 + .../src/lib/utils/time.ts | 23 ++ .../src/pages/index.astro | 6 +- .../src/pages/novels/index.astro | 10 + 24 files changed, 839 insertions(+), 73 deletions(-) create mode 100644 fictionarchive-web-astro/src/lib/components/HeroSection.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/HomePage.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/NavigationCard.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/RecentlyUpdatedSection.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/index.ts create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu.svelte create mode 100644 fictionarchive-web-astro/src/lib/components/ui/tooltip/index.ts create mode 100644 fictionarchive-web-astro/src/lib/components/ui/tooltip/tooltip-content.svelte create mode 100644 fictionarchive-web-astro/src/lib/utils/time.ts create mode 100644 fictionarchive-web-astro/src/pages/novels/index.astro diff --git a/fictionarchive-web-astro/package-lock.json b/fictionarchive-web-astro/package-lock.json index 763c194..8e90ed0 100644 --- a/fictionarchive-web-astro/package-lock.json +++ b/fictionarchive-web-astro/package-lock.json @@ -16,6 +16,7 @@ "astro": "^5.16.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "date-fns": "^4.1.0", "graphql": "^16.12.0", "oidc-client-ts": "^3.4.1", "svelte": "^5.45.2", @@ -28,7 +29,9 @@ "@graphql-codegen/typed-document-node": "^6.1.3", "@graphql-codegen/typescript": "^5.0.5", "@graphql-codegen/typescript-operations": "^5.0.5", - "@lucide/svelte": "^0.555.0", + "@internationalized/date": "^3.10.0", + "@lucide/svelte": "^0.544.0", + "bits-ui": "^2.14.4", "dotenv": "^16.6.1", "tailwind-variants": "^3.2.2", "tw-animate-css": "^1.4.0" @@ -939,6 +942,34 @@ "dev": true, "license": "MIT" }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@graphql-codegen/add": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-6.0.0.tgz", @@ -1025,21 +1056,21 @@ } }, "node_modules/@graphql-codegen/client-preset": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.2.0.tgz", - "integrity": "sha512-I8mcyNmuEoQGaUGiJHl9lAgyqCkMD/3TyUU3W2DS/aF4pwCpys378ZyYIE/Tw0Ods/tdPUvq/6p+JRkPlxtk1A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-5.2.1.tgz", + "integrity": "sha512-6qFjHQQUWrEH+MVvWs5sPUgme8X+Ivg3WfzaCESooRBQZ4/EnSFlXkPWUTbOKYLRUoMv4g6iTRcZQf6u1wtHZA==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/template": "^7.20.7", "@graphql-codegen/add": "^6.0.0", - "@graphql-codegen/gql-tag-operations": "5.1.0", + "@graphql-codegen/gql-tag-operations": "5.1.1", "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/typed-document-node": "^6.1.3", - "@graphql-codegen/typescript": "^5.0.5", - "@graphql-codegen/typescript-operations": "^5.0.5", - "@graphql-codegen/visitor-plugin-common": "^6.2.0", + "@graphql-codegen/typed-document-node": "^6.1.4", + "@graphql-codegen/typescript": "^5.0.6", + "@graphql-codegen/typescript-operations": "^5.0.6", + "@graphql-codegen/visitor-plugin-common": "^6.2.1", "@graphql-tools/documents": "^1.0.0", "@graphql-tools/utils": "^10.0.0", "@graphql-typed-document-node/core": "3.2.0", @@ -1092,14 +1123,14 @@ "license": "0BSD" }, "node_modules/@graphql-codegen/gql-tag-operations": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.1.0.tgz", - "integrity": "sha512-acb0AKLSpNd5Wx3nl1pWR8+AckMTlzggOzQ7GUORznGkpK5mZBTNaOmIiUqT5bbu0fxADZfYpsiz+xmocFNedg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-5.1.1.tgz", + "integrity": "sha512-XewD0XxN2sgKieEIFeGWV5yT5X2aNy+eg+K8bHlUD7QfyrN2bi67rv/O5Edu7LVDOJR69uqVBp++18d742mn3Q==", "dev": true, "license": "MIT", "dependencies": { "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/visitor-plugin-common": "6.2.0", + "@graphql-codegen/visitor-plugin-common": "6.2.1", "@graphql-tools/utils": "^10.0.0", "auto-bind": "~4.0.0", "tslib": "~2.6.0" @@ -1172,14 +1203,14 @@ "license": "0BSD" }, "node_modules/@graphql-codegen/typed-document-node": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.3.tgz", - "integrity": "sha512-U1+16S3EWnR4T5b9219pu/47InfDB3UZ2E/CihJXgkeSklNteNBtw3D8m9R+ZanIq/GIsEin2hYpR++PO6neLQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-6.1.4.tgz", + "integrity": "sha512-ITWsA+qvT7R64z7KmYHXfgyD5ff069FAGq/hpR0EWVfzXT4RW1Xn/3Biw7/jvwMGsS1BTjo8ZLSIMNM8KjE3GA==", "dev": true, "license": "MIT", "dependencies": { "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/visitor-plugin-common": "6.2.0", + "@graphql-codegen/visitor-plugin-common": "6.2.1", "auto-bind": "~4.0.0", "change-case-all": "1.0.15", "tslib": "~2.6.0" @@ -1199,15 +1230,15 @@ "license": "0BSD" }, "node_modules/@graphql-codegen/typescript": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.5.tgz", - "integrity": "sha512-NwrUTjKALbeOrFyL/741DP/uRfcHKLD+kYL+e1de+X9b1wa1CfpMIdRIhGTuivuD5y6PYh3VePrE98Q5qz0+Ww==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-5.0.6.tgz", + "integrity": "sha512-rKW3wYInAnmO/DmKjhW3/KLMxUauUCZuMEPQmuoHChnwIuMjn5kVXCdArGyQqv+vVtFj55aS+sJLN4MPNNjSNg==", "dev": true, "license": "MIT", "dependencies": { "@graphql-codegen/plugin-helpers": "^6.1.0", "@graphql-codegen/schema-ast": "^5.0.0", - "@graphql-codegen/visitor-plugin-common": "6.2.0", + "@graphql-codegen/visitor-plugin-common": "6.2.1", "auto-bind": "~4.0.0", "tslib": "~2.6.0" }, @@ -1219,15 +1250,15 @@ } }, "node_modules/@graphql-codegen/typescript-operations": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.0.5.tgz", - "integrity": "sha512-4PpndN6teJ/mN/QxGYhaBwkpN+Q3/lOeM5sArZ5tiDDI4ItxjPRCEm/gOGv52nRHmB6xoQ5/9uqY52KWcf9AWA==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-5.0.6.tgz", + "integrity": "sha512-pkR/82qWO50OHWeV3BiDuVxNFxiJerpmNjFep71VlabADXiU3GIeSaDd6G9a1/SCniVTXZQk2ivCb0ZJiuwo1A==", "dev": true, "license": "MIT", "dependencies": { "@graphql-codegen/plugin-helpers": "^6.1.0", - "@graphql-codegen/typescript": "^5.0.5", - "@graphql-codegen/visitor-plugin-common": "6.2.0", + "@graphql-codegen/typescript": "^5.0.6", + "@graphql-codegen/visitor-plugin-common": "6.2.1", "auto-bind": "~4.0.0", "tslib": "~2.6.0" }, @@ -1259,9 +1290,9 @@ "license": "0BSD" }, "node_modules/@graphql-codegen/visitor-plugin-common": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.2.0.tgz", - "integrity": "sha512-8mx5uDDEwhP3G1jdeBdvVm4QhbEdkwXQa1hAXBWGofL87ePs5PUhz4IuQpwiS/CfFa4cqxcAWbe0k74x8iWfKw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-6.2.1.tgz", + "integrity": "sha512-5QT1hCV3286mrmoIC7vlFXsTlwELMexhuFIkjh+oVGGL1E8hxkIPAU0kfH/lsPbQHKi8zKmic2pl3tAdyYxNyg==", "dev": true, "license": "MIT", "dependencies": { @@ -2605,6 +2636,17 @@ } } }, + "node_modules/@internationalized/date": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.10.0.tgz", + "integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -2651,9 +2693,9 @@ } }, "node_modules/@lucide/svelte": { - "version": "0.555.0", - "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.555.0.tgz", - "integrity": "sha512-aqTOMjBjf/HNwrhggRdb83T0QslZdpJTyTwr/chtXTGw7u4Hcu4zQb/5uA+csF0KKawKWVnsNI1MdHEHeEXTcQ==", + "version": "0.544.0", + "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.544.0.tgz", + "integrity": "sha512-9f9O6uxng2pLB01sxNySHduJN3HTl5p0HDu4H26VR51vhZfiMzyOMe9Mhof3XAk4l813eTtl+/DYRvGyoRR+yw==", "dev": true, "license": "ISC", "peerDependencies": { @@ -3093,9 +3135,9 @@ "license": "MIT" }, "node_modules/@sveltejs/acorn-typescript": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.7.tgz", - "integrity": "sha512-znp1A/Y1Jj4l/Zy7PX5DZKBE0ZNY+5QBngiE21NJkfSTyzzC5iKNWOtwFXKtIrn7MXEFBck4jD95iBNkGjK92Q==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.8.tgz", + "integrity": "sha512-esgN+54+q0NjB0Y/4BomT9samII7jGwNy/2a3wNZbT2A2RpmXsXwUt24LvLhx6jUq2gVk4cWEvcRO6MFQbOfNA==", "license": "MIT", "peerDependencies": { "acorn": "^8.9.0" @@ -3787,9 +3829,9 @@ "license": "MIT" }, "node_modules/astro": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.2.tgz", - "integrity": "sha512-NFXqhB1UgBvleF5rLZ7a31Qzprf1lSch+k8o2XTvsw1d97gxGrjVVeWa8AnZUFtirz84YPW6+5NbLVNzS2y+uQ==", + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.16.3.tgz", + "integrity": "sha512-KzDk41F9Dspf5fM/Ls4XZhV4/csjJcWBrlenbnp5V3NGwU1zEaJz/HIyrdKdf5yw+FgwCeD2+Yos1Xkx9gnI0A==", "license": "MIT", "peer": true, "dependencies": { @@ -3987,6 +4029,31 @@ "baseline-browser-mapping": "dist/cli.js" } }, + "node_modules/bits-ui": { + "version": "2.14.4", + "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.14.4.tgz", + "integrity": "sha512-W6kenhnbd/YVvur+DKkaVJ6GldE53eLewur5AhUCqslYQ0vjZr8eWlOfwZnMiPB+PF5HMVqf61vXBvmyrAmPWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.1", + "@floating-ui/dom": "^1.7.1", + "esm-env": "^1.1.2", + "runed": "^0.35.1", + "svelte-toolbelt": "^0.10.6", + "tabbable": "^6.2.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/huntabyte" + }, + "peerDependencies": { + "@internationalized/date": "^3.8.1", + "svelte": "^5.33.0" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -4785,6 +4852,16 @@ "dev": true, "license": "MIT" }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, "node_modules/debounce": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.2.0.tgz", @@ -6199,6 +6276,13 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "dev": true, + "license": "MIT" + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -6991,6 +7075,16 @@ "yallist": "^3.0.2" } }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, "node_modules/magic-string": { "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", @@ -8935,6 +9029,31 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/runed": { + "version": "0.35.1", + "resolved": "https://registry.npmjs.org/runed/-/runed-0.35.1.tgz", + "integrity": "sha512-2F4Q/FZzbeJTFdIS/PuOoPRSm92sA2LhzTnv6FXhCoENb3huf5+fDuNOg1LNvGOouy3u/225qxmuJvcV3IZK5Q==", + "dev": true, + "funding": [ + "https://github.com/sponsors/huntabyte", + "https://github.com/sponsors/tglide" + ], + "license": "MIT", + "dependencies": { + "dequal": "^2.0.3", + "esm-env": "^1.0.0", + "lz-string": "^1.5.0" + }, + "peerDependencies": { + "@sveltejs/kit": "^2.21.0", + "svelte": "^5.7.0" + }, + "peerDependenciesMeta": { + "@sveltejs/kit": { + "optional": true + } + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -9284,6 +9403,16 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -9324,6 +9453,27 @@ "node": ">=18" } }, + "node_modules/svelte-toolbelt": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.10.6.tgz", + "integrity": "sha512-YWuX+RE+CnWYx09yseAe4ZVMM7e7GRFZM6OYWpBKOb++s+SQ8RBIMMe+Bs/CznBMc0QPLjr+vDBxTAkozXsFXQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/huntabyte" + ], + "dependencies": { + "clsx": "^2.1.1", + "runed": "^0.35.1", + "style-to-object": "^1.0.8" + }, + "engines": { + "node": ">=18", + "pnpm": ">=8.7.0" + }, + "peerDependencies": { + "svelte": "^5.30.2" + } + }, "node_modules/svelte2tsx": { "version": "0.7.45", "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.45.tgz", @@ -9407,6 +9557,13 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/tabbable": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz", + "integrity": "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==", + "dev": true, + "license": "MIT" + }, "node_modules/tailwind-merge": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", @@ -10365,9 +10522,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "devOptional": true, "license": "ISC", "peer": true, @@ -10376,6 +10533,9 @@ }, "engines": { "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { diff --git a/fictionarchive-web-astro/package.json b/fictionarchive-web-astro/package.json index 73e0bbe..d7ca864 100644 --- a/fictionarchive-web-astro/package.json +++ b/fictionarchive-web-astro/package.json @@ -18,6 +18,7 @@ "astro": "^5.16.2", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", + "date-fns": "^4.1.0", "graphql": "^16.12.0", "oidc-client-ts": "^3.4.1", "svelte": "^5.45.2", @@ -30,7 +31,9 @@ "@graphql-codegen/typed-document-node": "^6.1.3", "@graphql-codegen/typescript": "^5.0.5", "@graphql-codegen/typescript-operations": "^5.0.5", - "@lucide/svelte": "^0.555.0", + "@internationalized/date": "^3.10.0", + "@lucide/svelte": "^0.544.0", + "bits-ui": "^2.14.4", "dotenv": "^16.6.1", "tailwind-variants": "^3.2.2", "tw-animate-css": "^1.4.0" diff --git a/fictionarchive-web-astro/src/lib/components/HeroSection.svelte b/fictionarchive-web-astro/src/lib/components/HeroSection.svelte new file mode 100644 index 0000000..c465591 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/HeroSection.svelte @@ -0,0 +1,21 @@ + + +
+

+ {greeting} +

+

+ Your personal fiction library +

+
diff --git a/fictionarchive-web-astro/src/lib/components/HomePage.svelte b/fictionarchive-web-astro/src/lib/components/HomePage.svelte new file mode 100644 index 0000000..3ddc7b1 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/HomePage.svelte @@ -0,0 +1,38 @@ + + +
+ + + + + +
diff --git a/fictionarchive-web-astro/src/lib/components/Navbar.svelte b/fictionarchive-web-astro/src/lib/components/Navbar.svelte index db7b066..94d1f24 100644 --- a/fictionarchive-web-astro/src/lib/components/Navbar.svelte +++ b/fictionarchive-web-astro/src/lib/components/Navbar.svelte @@ -1,7 +1,16 @@
@@ -10,12 +19,15 @@ FA FictionArchive - - - -
- -
+ + + + Novels + + + +
+
diff --git a/fictionarchive-web-astro/src/lib/components/NavigationCard.svelte b/fictionarchive-web-astro/src/lib/components/NavigationCard.svelte new file mode 100644 index 0000000..644c673 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/NavigationCard.svelte @@ -0,0 +1,80 @@ + + + + +{#if disabled} +
+
+ +
+
+ {title} + {description} +
+ + Coming soon + +
+{:else} + +
+ +
+
+ {title} + {description} +
+ + + +
+{/if} diff --git a/fictionarchive-web-astro/src/lib/components/NovelCard.svelte b/fictionarchive-web-astro/src/lib/components/NovelCard.svelte index e5512a5..dcc2a48 100644 --- a/fictionarchive-web-astro/src/lib/components/NovelCard.svelte +++ b/fictionarchive-web-astro/src/lib/components/NovelCard.svelte @@ -1,15 +1,39 @@ - - {#if coverSrc} -
- {title} + + +
+ {#if coverSrc} +
+ {title} +
+ {:else} +
+ {/if} + + {statusLabel} +
- {:else} -
- {/if} - - - {title} - - - -

- {description} -

-
-
+ + + {title} + + + +

+ {description} +

+ {#if chapterDisplay || relativeTime} +
+ {#if chapterDisplay} + {chapterDisplay} + {/if} + {#if chapterDisplay && relativeTime} + + {/if} + {#if relativeTime && absoluteTime} + + + + + + + {absoluteTime} + + + + {/if} +
+ {/if} +
+ +
diff --git a/fictionarchive-web-astro/src/lib/components/RecentlyUpdatedSection.svelte b/fictionarchive-web-astro/src/lib/components/RecentlyUpdatedSection.svelte new file mode 100644 index 0000000..11382a1 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/RecentlyUpdatedSection.svelte @@ -0,0 +1,81 @@ + + +
+
+
+ +

Recently Updated

+
+ + View all + +
+ + {#if fetching} +
+
+
+ {:else if error} +
+

Could not load novels: {error}

+
+ {:else if novels.length === 0} +
+

No novels found yet.

+
+ {:else} +
+ {#each novels as novel (novel.id)} + + + + {/each} +
+ {/if} +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/index.ts b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/index.ts new file mode 100644 index 0000000..bbc250f --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/index.ts @@ -0,0 +1,28 @@ +import Root from "./navigation-menu.svelte"; +import Content from "./navigation-menu-content.svelte"; +import Indicator from "./navigation-menu-indicator.svelte"; +import Item from "./navigation-menu-item.svelte"; +import Link from "./navigation-menu-link.svelte"; +import List from "./navigation-menu-list.svelte"; +import Trigger from "./navigation-menu-trigger.svelte"; +import Viewport from "./navigation-menu-viewport.svelte"; + +export { + Root, + Content, + Indicator, + Item, + Link, + List, + Trigger, + Viewport, + // + Root as NavigationMenuRoot, + Content as NavigationMenuContent, + Indicator as NavigationMenuIndicator, + Item as NavigationMenuItem, + Link as NavigationMenuLink, + List as NavigationMenuList, + Trigger as NavigationMenuTrigger, + Viewport as NavigationMenuViewport, +}; diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte new file mode 100644 index 0000000..e246772 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte @@ -0,0 +1,21 @@ + + + diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte new file mode 100644 index 0000000..6190a3f --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte @@ -0,0 +1,22 @@ + + + +
+
diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte new file mode 100644 index 0000000..b00b4b4 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte @@ -0,0 +1,17 @@ + + + diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte new file mode 100644 index 0000000..867851e --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte @@ -0,0 +1,20 @@ + + + diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte new file mode 100644 index 0000000..c2c5880 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte @@ -0,0 +1,17 @@ + + + diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte new file mode 100644 index 0000000..68c5a8f --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte @@ -0,0 +1,34 @@ + + + + + + {@render children?.()} + + diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte new file mode 100644 index 0000000..99d1efc --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte @@ -0,0 +1,22 @@ + + +
+ +
diff --git a/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu.svelte b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu.svelte new file mode 100644 index 0000000..69c3d13 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/navigation-menu/navigation-menu.svelte @@ -0,0 +1,32 @@ + + + + {@render children?.()} + + {#if viewport} + + {/if} + diff --git a/fictionarchive-web-astro/src/lib/components/ui/tooltip/index.ts b/fictionarchive-web-astro/src/lib/components/ui/tooltip/index.ts new file mode 100644 index 0000000..3b1f184 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/tooltip/index.ts @@ -0,0 +1,18 @@ +import { Tooltip as TooltipPrimitive } from 'bits-ui'; +import Content from './tooltip-content.svelte'; + +const Root = TooltipPrimitive.Root; +const Trigger = TooltipPrimitive.Trigger; +const Provider = TooltipPrimitive.Provider; + +export { + Root, + Trigger, + Content, + Provider, + // + Root as Tooltip, + Trigger as TooltipTrigger, + Content as TooltipContent, + Provider as TooltipProvider +}; diff --git a/fictionarchive-web-astro/src/lib/components/ui/tooltip/tooltip-content.svelte b/fictionarchive-web-astro/src/lib/components/ui/tooltip/tooltip-content.svelte new file mode 100644 index 0000000..88598cf --- /dev/null +++ b/fictionarchive-web-astro/src/lib/components/ui/tooltip/tooltip-content.svelte @@ -0,0 +1,24 @@ + + + + + diff --git a/fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts b/fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts index 1ec658e..4eb8a76 100644 --- a/fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts +++ b/fictionarchive-web-astro/src/lib/graphql/__generated__/graphql.ts @@ -779,7 +779,7 @@ export type NovelsQueryVariables = Exact<{ }>; -export type NovelsQuery = { novels: { edges: Array<{ cursor: string, node: { id: any, url: string, name: { texts: Array<{ language: Language, text: string }> }, description: { texts: Array<{ language: Language, text: string }> }, coverImage: { originalPath: string, newPath: string | null } | null } }> | null, pageInfo: { hasNextPage: boolean, endCursor: string | null } } | null }; +export type NovelsQuery = { novels: { edges: Array<{ cursor: string, node: { id: any, url: string, rawStatus: NovelStatus, lastUpdatedTime: any, name: { texts: Array<{ language: Language, text: string }> }, description: { texts: Array<{ language: Language, text: string }> }, coverImage: { originalPath: string, newPath: string | null } | null, chapters: Array<{ order: any, name: { texts: Array<{ language: Language, text: string }> } }> } }> | null, pageInfo: { hasNextPage: boolean, endCursor: string | null } } | null }; -export const NovelsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Novels"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"after"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"novels"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"after"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"name"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"texts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"description"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"texts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"coverImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"originalPath"}},{"kind":"Field","name":{"kind":"Name","value":"newPath"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}}]}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file +export const NovelsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"Novels"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"after"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"novels"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"after"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"name"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"texts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"description"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"texts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"coverImage"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"originalPath"}},{"kind":"Field","name":{"kind":"Name","value":"newPath"}}]}},{"kind":"Field","name":{"kind":"Name","value":"rawStatus"}},{"kind":"Field","name":{"kind":"Name","value":"lastUpdatedTime"}},{"kind":"Field","name":{"kind":"Name","value":"chapters"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"order"}},{"kind":"Field","name":{"kind":"Name","value":"name"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"texts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"language"}},{"kind":"Field","name":{"kind":"Name","value":"text"}}]}}]}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"endCursor"}}]}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/fictionarchive-web-astro/src/lib/graphql/queries/novels.graphql b/fictionarchive-web-astro/src/lib/graphql/queries/novels.graphql index d7a2592..74c5b20 100644 --- a/fictionarchive-web-astro/src/lib/graphql/queries/novels.graphql +++ b/fictionarchive-web-astro/src/lib/graphql/queries/novels.graphql @@ -21,6 +21,17 @@ query Novels($first: Int, $after: String) { originalPath newPath } + rawStatus + lastUpdatedTime + chapters { + order + name { + texts { + language + text + } + } + } } } pageInfo { diff --git a/fictionarchive-web-astro/src/lib/utils/time.ts b/fictionarchive-web-astro/src/lib/utils/time.ts new file mode 100644 index 0000000..807a626 --- /dev/null +++ b/fictionarchive-web-astro/src/lib/utils/time.ts @@ -0,0 +1,23 @@ +import { formatDistanceToNow, format, differenceInDays } from 'date-fns'; + +/** + * Formats a date as relative time (e.g., "2 hours ago") if within 7 days, + * otherwise returns an absolute date (e.g., "Mar 15"). + */ +export function formatRelativeTime(date: Date | string): string { + const d = typeof date === 'string' ? new Date(date) : date; + const daysDiff = differenceInDays(new Date(), d); + + if (daysDiff <= 7) { + return formatDistanceToNow(d, { addSuffix: true }); + } + return format(d, 'MMM d'); +} + +/** + * Formats a date as an absolute timestamp (e.g., "Mar 15, 2024, 3:30 PM"). + */ +export function formatAbsoluteTime(date: Date | string): string { + const d = typeof date === 'string' ? new Date(date) : date; + return format(d, 'PPpp'); +} diff --git a/fictionarchive-web-astro/src/pages/index.astro b/fictionarchive-web-astro/src/pages/index.astro index 52bfa60..f2cf1fc 100644 --- a/fictionarchive-web-astro/src/pages/index.astro +++ b/fictionarchive-web-astro/src/pages/index.astro @@ -2,9 +2,9 @@ export const prerender = true; // Static page import AppLayout from '../layouts/AppLayout.astro'; -import NovelsPage from '../lib/components/NovelsPage.svelte'; +import HomePage from '../lib/components/HomePage.svelte'; --- - - + + diff --git a/fictionarchive-web-astro/src/pages/novels/index.astro b/fictionarchive-web-astro/src/pages/novels/index.astro new file mode 100644 index 0000000..83dd387 --- /dev/null +++ b/fictionarchive-web-astro/src/pages/novels/index.astro @@ -0,0 +1,10 @@ +--- +export const prerender = true; // Static page + +import AppLayout from '../../layouts/AppLayout.astro'; +import NovelsPage from '../../lib/components/NovelsPage.svelte'; +--- + + + + From c60aaf2bdb84b1ad76029679b968661261247a7c Mon Sep 17 00:00:00 2001 From: gamer147 Date: Mon, 1 Dec 2025 07:26:38 -0500 Subject: [PATCH 3/3] [FA-misc] Should be good --- fictionarchive-web-astro/eslint.config.js | 35 + fictionarchive-web-astro/package-lock.json | 1535 ++++++++++++++++- fictionarchive-web-astro/package.json | 14 +- .../src/lib/components/NovelCard.svelte | 10 +- .../src/lib/utils/sanitize.ts | 12 + 5 files changed, 1598 insertions(+), 8 deletions(-) create mode 100644 fictionarchive-web-astro/eslint.config.js create mode 100644 fictionarchive-web-astro/src/lib/utils/sanitize.ts diff --git a/fictionarchive-web-astro/eslint.config.js b/fictionarchive-web-astro/eslint.config.js new file mode 100644 index 0000000..7ea35fa --- /dev/null +++ b/fictionarchive-web-astro/eslint.config.js @@ -0,0 +1,35 @@ +import js from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import svelte from 'eslint-plugin-svelte'; +import astro from 'eslint-plugin-astro'; +import globals from 'globals'; + +export default tseslint.config( + js.configs.recommended, + ...tseslint.configs.recommended, + ...svelte.configs['flat/recommended'], + ...astro.configs.recommended, + { + languageOptions: { + globals: { + ...globals.browser, + ...globals.node + } + } + }, + { + files: ['**/*.svelte'], + languageOptions: { + parserOptions: { + parser: tseslint.parser + } + }, + rules: { + // Disabled because we sanitize HTML with DOMPurify before rendering + 'svelte/no-at-html-tags': 'off' + } + }, + { + ignores: ['node_modules/', 'dist/', '.astro/', 'src/lib/graphql/__generated__/'] + } +); diff --git a/fictionarchive-web-astro/package-lock.json b/fictionarchive-web-astro/package-lock.json index 8e90ed0..ba4484a 100644 --- a/fictionarchive-web-astro/package-lock.json +++ b/fictionarchive-web-astro/package-lock.json @@ -17,6 +17,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^4.1.0", + "dompurify": "^3.3.0", "graphql": "^16.12.0", "oidc-client-ts": "^3.4.1", "svelte": "^5.45.2", @@ -25,16 +26,23 @@ "typescript": "^5.9.3" }, "devDependencies": { + "@eslint/js": "^9.39.1", "@graphql-codegen/cli": "^6.1.0", "@graphql-codegen/typed-document-node": "^6.1.3", "@graphql-codegen/typescript": "^5.0.5", "@graphql-codegen/typescript-operations": "^5.0.5", "@internationalized/date": "^3.10.0", "@lucide/svelte": "^0.544.0", + "@types/dompurify": "^3.0.5", "bits-ui": "^2.14.4", "dotenv": "^16.6.1", + "eslint": "^9.39.1", + "eslint-plugin-astro": "^1.5.0", + "eslint-plugin-svelte": "^3.13.0", + "globals": "^16.5.0", "tailwind-variants": "^3.2.2", - "tw-animate-css": "^1.4.0" + "tw-animate-css": "^1.4.0", + "typescript-eslint": "^8.48.0" } }, "node_modules/@0no-co/graphql.web": { @@ -80,7 +88,8 @@ "version": "2.13.0", "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/@astrojs/internal-helpers": { "version": "0.7.5", @@ -935,6 +944,211 @@ "node": ">=18" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@fastify/busboy": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.0.tgz", @@ -1820,6 +2034,58 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@img/colour": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", @@ -2746,6 +3012,19 @@ "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", "license": "MIT" }, + "node_modules/@pkgr/core": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" + } + }, "node_modules/@repeaterjs/repeater": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.6.tgz", @@ -3476,6 +3755,16 @@ "@types/ms": "*" } }, + "node_modules/@types/dompurify": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.5.tgz", + "integrity": "sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -3500,6 +3789,13 @@ "@types/unist": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/mdast": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", @@ -3533,6 +3829,13 @@ "undici-types": "~7.16.0" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "devOptional": true, + "license": "MIT" + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -3549,6 +3852,251 @@ "@types/node": "*" } }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.0.tgz", + "integrity": "sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.48.0", + "@typescript-eslint/type-utils": "8.48.0", + "@typescript-eslint/utils": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.48.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.0.tgz", + "integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.48.0", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.0.tgz", + "integrity": "sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.48.0", + "@typescript-eslint/types": "^8.48.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz", + "integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz", + "integrity": "sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.0.tgz", + "integrity": "sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0", + "@typescript-eslint/utils": "8.48.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz", + "integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz", + "integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.48.0", + "@typescript-eslint/tsconfig-utils": "8.48.0", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/visitor-keys": "8.48.0", + "debug": "^4.3.4", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.0.tgz", + "integrity": "sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.48.0", + "@typescript-eslint/types": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz", + "integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.48.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", @@ -3649,6 +4197,33 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -3915,6 +4490,46 @@ "sharp": "^0.34.0" } }, + "node_modules/astro-eslint-parser": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/astro-eslint-parser/-/astro-eslint-parser-1.2.2.tgz", + "integrity": "sha512-JepyLROIad6f44uyqMF6HKE2QbunNzp3mYKRcPoDGt0QkxXmH222FAFC64WTyQu2Kg8NNEXHTN/sWuUId9sSxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.0.0", + "@typescript-eslint/scope-manager": "^7.0.0 || ^8.0.0", + "@typescript-eslint/types": "^7.0.0 || ^8.0.0", + "astrojs-compiler-sync": "^1.0.0", + "debug": "^4.3.4", + "entities": "^6.0.0", + "eslint-scope": "^8.0.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.0", + "fast-glob": "^3.3.3", + "is-glob": "^4.0.3", + "semver": "^7.3.8" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + } + }, + "node_modules/astro-eslint-parser/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/astro/node_modules/p-limit": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", @@ -3954,6 +4569,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/astrojs-compiler-sync": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/astrojs-compiler-sync/-/astrojs-compiler-sync-1.1.1.tgz", + "integrity": "sha512-0mKvB9sDQRIZPsEJadw6OaFbGJ92cJPPR++ICca9XEyiUAZqgVuk25jNmzHPT0KF80rI94trSZrUR5iHFXGGOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "synckit": "^0.11.0" + }, + "engines": { + "node": "^18.18.0 || >=20.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "@astrojs/compiler": ">=0.27.0" + } + }, "node_modules/auto-bind": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", @@ -4652,6 +5286,13 @@ "node": ">=4.0.0" } }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, "node_modules/constant-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", @@ -4740,6 +5381,21 @@ "node": ">=16.0.0" } }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/crossws": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", @@ -4911,6 +5567,13 @@ "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", "license": "MIT" }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -5097,6 +5760,15 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.0.tgz", + "integrity": "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/domutils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", @@ -5305,12 +5977,286 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", + "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.1", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-compat-utils": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.5.tgz", + "integrity": "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-compat-utils/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-astro": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-astro/-/eslint-plugin-astro-1.5.0.tgz", + "integrity": "sha512-IWy4kY3DKTJxd7g652zIWpBGFuxw7NIIt16kyqc8BlhnIKvI8yGJj+Maua0DiNYED3F/D8AmzoTTTA6A95WX9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@jridgewell/sourcemap-codec": "^1.4.14", + "@typescript-eslint/types": "^7.7.1 || ^8", + "astro-eslint-parser": "^1.0.2", + "eslint-compat-utils": "^0.6.0", + "globals": "^16.0.0", + "postcss": "^8.4.14", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": ">=8.57.0" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.13.0.tgz", + "integrity": "sha512-2ohCCQJJTNbIpQCSDSTWj+FN0OVfPmSO03lmSNT7ytqMaWF6kpT86LdzDqtm4sh7TVPl/OEWJ/d7R87bXP2Vjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.6.1", + "@jridgewell/sourcemap-codec": "^1.5.0", + "esutils": "^2.0.3", + "globals": "^16.0.0", + "known-css-properties": "^0.37.0", + "postcss": "^8.4.49", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^7.0.0", + "semver": "^7.6.3", + "svelte-eslint-parser": "^1.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^8.57.1 || ^9.0.0", + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-svelte/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/esm-env": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", "license": "MIT" }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/esrap": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.0.tgz", @@ -5320,6 +6266,29 @@ "@jridgewell/sourcemap-codec": "^1.4.15" } }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, "node_modules/estree-walker": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", @@ -5329,6 +6298,16 @@ "@types/estree": "^1.0.0" } }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -5373,6 +6352,20 @@ "node": ">=8.6.0" } }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, "node_modules/fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", @@ -5457,6 +6450,19 @@ "node": "^12.20 || >= 14.13" } }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5470,6 +6476,44 @@ "node": ">=8" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, "node_modules/flattie": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", @@ -5593,6 +6637,19 @@ "node": ">= 6" } }, + "node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -5620,6 +6677,13 @@ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, "node_modules/graphql": { "version": "16.12.0", "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", @@ -6270,6 +7334,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -6510,6 +7584,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, "node_modules/isomorphic-ws": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", @@ -6577,6 +7658,13 @@ "node": ">=6" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -6584,6 +7672,20 @@ "dev": true, "license": "MIT" }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-to-pretty-yaml": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz", @@ -6620,6 +7722,16 @@ "node": ">=18" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", @@ -6629,6 +7741,27 @@ "node": ">=6" } }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/lightningcss": { "version": "1.30.2", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", @@ -6878,6 +8011,16 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", @@ -6940,6 +8083,22 @@ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", "license": "MIT" }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -6947,6 +8106,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", @@ -8071,6 +9237,13 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, "node_modules/neotraverse": { "version": "0.6.18", "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", @@ -8288,6 +9461,24 @@ "regex-recursion": "^6.0.2" } }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -8304,6 +9495,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-queue": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", @@ -8454,6 +9661,26 @@ "tslib": "^2.0.3" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", @@ -8530,6 +9757,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -8539,6 +9767,124 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/prismjs": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", @@ -8590,6 +9936,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -9194,6 +10550,29 @@ "node": ">=10" } }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/shell-quote": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", @@ -9403,6 +10782,19 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/style-to-object": { "version": "1.0.14", "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", @@ -9453,6 +10845,36 @@ "node": ">=18" } }, + "node_modules/svelte-eslint-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.4.0.tgz", + "integrity": "sha512-fjPzOfipR5S7gQ/JvI9r2H8y9gMGXO3JtmrylHLLyahEMquXI0lrebcjT+9/hNgDej0H7abTyox5HpHmW1PSWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.0", + "postcss": "^8.4.49", + "postcss-scss": "^4.0.9", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0", + "pnpm": "10.18.3" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, "node_modules/svelte-toolbelt": { "version": "0.10.6", "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.10.6.tgz", @@ -9557,6 +10979,22 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.9" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, "node_modules/tabbable": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.3.0.tgz", @@ -9715,6 +11153,19 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/ts-log": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.7.tgz", @@ -9758,6 +11209,19 @@ "url": "https://github.com/sponsors/Wombosvideo" } }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-fest": { "version": "4.41.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", @@ -9784,6 +11248,30 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.48.0.tgz", + "integrity": "sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.48.0", + "@typescript-eslint/parser": "8.48.0", + "@typescript-eslint/typescript-estree": "8.48.0", + "@typescript-eslint/utils": "8.48.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/ua-parser-js": { "version": "1.0.41", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", @@ -10184,6 +11672,16 @@ "tslib": "^2.0.3" } }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/urlpattern-polyfill": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz", @@ -10191,6 +11689,13 @@ "dev": true, "license": "MIT" }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, "node_modules/vfile": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", @@ -10375,6 +11880,22 @@ "webidl-conversions": "^3.0.0" } }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/which-pm-runs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", @@ -10405,6 +11926,16 @@ "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==", "license": "MIT" }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", diff --git a/fictionarchive-web-astro/package.json b/fictionarchive-web-astro/package.json index d7ca864..7b6f097 100644 --- a/fictionarchive-web-astro/package.json +++ b/fictionarchive-web-astro/package.json @@ -7,7 +7,9 @@ "build": "astro build", "preview": "astro preview", "astro": "astro", - "codegen": "graphql-codegen --config codegen.ts -r dotenv/config --use-system-ca" + "codegen": "graphql-codegen --config codegen.ts -r dotenv/config --use-system-ca", + "lint": "eslint .", + "lint:fix": "eslint . --fix" }, "dependencies": { "@astrojs/node": "^9.5.1", @@ -19,6 +21,7 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "date-fns": "^4.1.0", + "dompurify": "^3.3.0", "graphql": "^16.12.0", "oidc-client-ts": "^3.4.1", "svelte": "^5.45.2", @@ -27,15 +30,22 @@ "typescript": "^5.9.3" }, "devDependencies": { + "@eslint/js": "^9.39.1", "@graphql-codegen/cli": "^6.1.0", "@graphql-codegen/typed-document-node": "^6.1.3", "@graphql-codegen/typescript": "^5.0.5", "@graphql-codegen/typescript-operations": "^5.0.5", "@internationalized/date": "^3.10.0", "@lucide/svelte": "^0.544.0", + "@types/dompurify": "^3.0.5", "bits-ui": "^2.14.4", "dotenv": "^16.6.1", + "eslint": "^9.39.1", + "eslint-plugin-astro": "^1.5.0", + "eslint-plugin-svelte": "^3.13.0", + "globals": "^16.5.0", "tailwind-variants": "^3.2.2", - "tw-animate-css": "^1.4.0" + "tw-animate-css": "^1.4.0", + "typescript-eslint": "^8.48.0" } } diff --git a/fictionarchive-web-astro/src/lib/components/NovelCard.svelte b/fictionarchive-web-astro/src/lib/components/NovelCard.svelte index dcc2a48..9fd8263 100644 --- a/fictionarchive-web-astro/src/lib/components/NovelCard.svelte +++ b/fictionarchive-web-astro/src/lib/components/NovelCard.svelte @@ -34,6 +34,7 @@ TooltipProvider } from '$lib/components/ui/tooltip'; import { formatRelativeTime, formatAbsoluteTime } from '$lib/utils/time'; + import { sanitizeHtml } from '$lib/utils/sanitize'; let { novel }: NovelCardProps = $props(); @@ -44,7 +45,8 @@ } const title = $derived(pickText(novel.name)); - const description = $derived(pickText(novel.description)); + const descriptionRaw = $derived(pickText(novel.description)); + const descriptionHtml = $derived(sanitizeHtml(descriptionRaw)); const coverSrc = $derived(novel.coverImage?.newPath ?? novel.coverImage?.originalPath); const latestChapter = $derived( @@ -87,9 +89,9 @@ -

- {description} -

+
+ {@html descriptionHtml} +
{#if chapterDisplay || relativeTime}
{#if chapterDisplay} diff --git a/fictionarchive-web-astro/src/lib/utils/sanitize.ts b/fictionarchive-web-astro/src/lib/utils/sanitize.ts new file mode 100644 index 0000000..943a0be --- /dev/null +++ b/fictionarchive-web-astro/src/lib/utils/sanitize.ts @@ -0,0 +1,12 @@ +import DOMPurify from 'dompurify'; + +/** + * Sanitizes HTML content, allowing only safe inline formatting elements. + * Removes scripts, event handlers, iframes, and other risky elements. + */ +export function sanitizeHtml(html: string): string { + return DOMPurify.sanitize(html, { + ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'br', 'p', 'span'], + ALLOWED_ATTR: [] + }); +}